

/*                         group                       */

.group_contents {
 background-color: #fff;
}
.group_top {
 width:  min(108rem,calc(1080vw/12.8));
 margin: 0 auto;
 text-align: justify;
 padding:  min(5rem,calc(50vw/12.8)) 0 min(9rem,calc(90vw/12.8));
}
.group_top_ttl{
    font-size: 2.8rem;
    font-weight: 600;
    color: #b5002b;
    letter-spacing: 0.06em;
    margin-bottom: min(1.6rem, calc(16vw / 12.8));
}
.group_top_txt {
font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 2;
}

.group_top_img_ttl {
 background-color: #B5002B;
 color: #fff;
 font-size: 2.4rem;
 font-weight: 600;
 display: inline-block;
 text-align: center;
 letter-spacing: 0.08em;
 padding: min(.6rem,calc(6vw/12.8)) min(4rem,calc(40vw/12.8));
 margin: min(8rem,calc(80vw/12.8)) 0 min(5.6rem,calc(56vw/12.8));;
}
.group_top_img {
 width: min(68.5rem,calc(685vw/12.8));
 margin: 0 auto;
}

.group_main {
 background-color: #F1EEEE;
 padding: min(8rem,calc(80vw/12.8)) 0  min(9rem,calc(90vw/12.8));
}
.group_main_inner {
 width:  min(108rem,calc(1080vw/12.8));
 margin: 0 auto;
}
.group_main_ttl {
 text-align: left;
 font-size: 2.8rem;
 font-weight: 600;
 color: #575352;
 letter-spacing: 0.06em;
}
.group_flex {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin-top: min(4rem,calc(40vw/12.8));
}
.group_item {
 width:  min(53rem,calc(530vw/12.8));
 margin-bottom:  min(5.5rem,calc(55vw/12.8));
 position: relative;
}
.group_item:last-of-type,
.group_item:nth-last-of-type(2){
 margin-bottom: 0;

}
.group_item a {
 width: 100%;
 background-color: #fff;
 border-radius:  min(.7rem,calc(7vw/12.8));
 display: block;
 box-shadow: 0  min(.3rem,calc(3vw/12.8))  min(.6rem,calc(6vw/12.8)) #00000026;
 overflow: hidden;
 transition: .4s;
 display: flex;
 flex-direction: column;
 height: 100%;
}
.group_logo {
 width:  min(26rem,calc(260vw/12.8));
 margin: 0 auto;
 padding: min(4.5rem,calc(45vw/12.8)) 0;
 box-sizing: border-box;
 transition: .4s;
 position: relative;
}
.group_item .tag {
 font-size: 1.4rem;
 color: #4B4948;
 font-weight: 500;
 position: absolute;
 top: min(1.5rem,calc(15vw/12.8));
 left: min(2.4rem,calc(24vw/12.8));
 color: #B00A2F;
 z-index: 1;
}
.group_detail {
 background-color: #F1EEEE4d;
 box-sizing: border-box;
 padding:min(1.6rem,calc(16vw/12.8)) min(3.5rem,calc(35vw/12.8)) min(6rem,calc(60vw/12.8));
 text-align: left;
 position: relative;
 flex: 1;
}

.group_detail .name {
 font-size: 2.6rem;
 font-weight: 600;
 color: #000000;
 line-height: 1.5;
 letter-spacing: 0.04em;
 margin-bottom: min(1.5rem,calc(15vw/12.8)) ;
}
.group_detail .txt {
 font-size: 1.6rem;
 font-weight: 600;
 color: #000000;
 line-height: 1.6;
 letter-spacing: 0.02em;
 margin-bottom: min(4rem,calc(40vw/12.8)) ;
}
.group_detail .job {
 font-size: 2rem;
 font-weight: 500;
 color: #575352;
 line-height: 1.5;
}
.group_detail .link_txt {
 font-size: 1.8rem;
 letter-spacing: 0.06em;
 font-weight: 600;
 color: #B5002B;
 display: flex;
 align-items: center;
 justify-content: flex-end;
 margin-top: min(5rem,calc(50vw/12.8)) ;
 position: absolute;
 bottom: min(2rem,calc(20vw/12.8));
 right: min(3.2rem,calc(32vw/12.8));
}
.group_detail .link_txt::after {
 content: '';
 width: min(.8rem,calc(8vw/12.8)) ;
 height: min(.8rem,calc(8vw/12.8)) ;
 border-top: min(.3rem,calc(3vw/12.8)) solid #B5002B;
 border-right: min(.3rem,calc(3vw/12.8)) solid #B5002B;
 transform: rotate(45deg);
 margin-left: min(1rem,calc(10vw/12.8));
 margin-top: min(0.3rem,calc(3vw / 12.8));
}


@media (hover: hover)  and (pointer: fine){
 .group_item  a:where(:any-link, :enabled, summary):hover .group_logo{
  transform: scale(1.1);
 }
 .group_item  a:where(:any-link, :enabled, summary):hover{
  box-shadow: none;
 }

}


@media screen and (max-width: 767px) {
 /*                         group                       */
.group_top {
width: 100%;
padding: 2.4rem 2.8rem 4rem;
box-sizing: border-box;
}
.group_top_ttl{
 font-size: 1.6rem;
}
.group_top_txt {
 font-size: 1.4rem;
 margin-top:1rem;
 letter-spacing: 0.06em;
}

.group_top_img_ttl {
font-size: 1.6rem;
        text-align: left;
        padding: .8rem 1.4rem 1.2rem;
        margin: 3.2rem 0 2.4rem;
        line-height: 1.6;
}
.group_top_img {
 width: 100%;
}

.group_main {
 padding: 4rem 0  7rem;
}
.group_main_inner {
width: 100%;
padding: 0 2.8rem;
box-sizing: border-box;
}
.group_main_ttl {
 font-size: 1.6rem;
 line-height: 1.6;
}
.group_flex {
 margin-top: 2.4rem
}
.group_item {
 width:  100%;
 margin-bottom:  2rem;
}

.group_item:nth-last-of-type(2){
 margin-bottom: 2rem;
}

.group_item a {
 border-radius: .3rem;
 box-shadow: 0  .2rem  .3rem #00000026;
}
.group_logo {
 width: 20rem;
 padding: 3.2rem 0 2.4rem;
}
.group_item .tag {
 font-size: 1.2rem;
 top: .5rem;
 left: 1.2rem;
}
.group_detail {
 padding: 1.6rem 1.8rem 4rem;
}

.group_detail .name {
 font-size: 1.6rem;
 margin-bottom: 1rem;
}
.group_detail .txt {
 font-size: 1.3rem;
 margin-bottom: 1.6rem;
}
.group_detail .job {
 font-size: 1.4rem;
}
.group_detail .link_txt {
 font-size: 1.3rem;
 bottom: 1rem;
 right:2rem;
}
.group_detail .link_txt::after {
 width:.6rem;
 height:.6rem;
 border-top: .2rem solid #B5002B;
 border-right: .2rem solid #B5002B;
margin-left: 0.6rem;
}

footer {
 margin-top: 0;
}
}
