@media screen and (max-width:991px) {
    .section_title h2 {
        margin-top: 1.5rem;
        font-weight: 500;
    }
    #index .section_title h2 {
        margin-top: 2.5rem;
        font-weight: 500;
    }
    .text_border {
        position: relative;
        width: 100%;
    }
    /*
    .text_border::after {
        display: none !important;
    }
    */
    .gsap-text-reveal .en_title {
        margin-bottom: 0.8rem;
    }
}


/**=================
index
==================**/
#index {
    overflow: hidden;
}
.bg_img01 {
    background-image: url("../img/bg_img01.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
}
.bg_img03 {
    background-image: url("../img/bg_img03.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    padding-bottom: 7.5rem;
}

@media screen and (max-width:991px) {
    .bg_img03 {
        background-image: url("../img/bg_img03.png");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: bottom;
        padding-bottom: 5rem;
    }
}



/***main_img_zone**/
#index .main_img_zone {
    padding-top: 10rem;
    position: relative;
}
#index .main_img_zone .main_img_01 {
    margin-top: 4rem;
}
#index .main_img_zone .main_img_02 {
    margin-top: 0rem;
}
#index .main_img_zone .main_img_03 {
    margin-right: 0;
}
#index .main_img_zone .main_img_03 img {
    border-radius:  10px 0 0 10px;
}
#index .main_img_zone .main_down_wrap {
    justify-content: flex-end;    
    margin-top: 2rem;
}
#index .main_img_zone .main_down_wrap .main_text_wrap {
    margin-inline: auto;
}
/*
#index .main_img_zone p {
    font-size: 1.2rem;
}
*/
#index .main_img_zone h2 {
    display: inline-block;
    position: absolute;
    width:auto;
    top: 32.5%;
    right: 10%;
    z-index: 2;
    font-size: 3.5rem;
    line-height: 1.3;
}

#index .main_img_zone h2>span {
    display: block;
    overflow: hidden;
}


/** sunrise_ani **/
.sunrise_ani>span>span {
    display: block;
    clip-path: inset(0 0 100% 0);
    transform: translateY(0.8em);
    animation: sunriseText 1s ease-out forwards;
}
.sunrise_ani>span:nth-child(1) > span {
    animation-delay: 0s;
}
.sunrise_ani>span:nth-child(2) > span {
    animation-delay: 0.35s;
}
.sunrise_ani>span:nth-child(3) > span {
    animation-delay: 0.7s;
}
@keyframes sunriseText {
    0% {
        clip-path: inset(0 0 100% 0);
        transform: translateY(0.8em);
    }
    100% {
        clip-path: inset(0 0 0 0);
        transform: translateY(0);
    }
}






div.colorbox {
    position: relative;
    overflow: hidden;
    display: inline-block;
    height: fit-content;
}

div.colorbox img {
    display: block;
    width: 100%;
    visibility: hidden;
}

div.colorbox::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 0;
    height: 100%;
    background: linear-gradient(
        90deg,
        rgba(46, 156, 240, 0) 0%,
        rgba(46, 156, 240, 0.6) 30%,
        #2E9CF0 100%
    );
    pointer-events: none;
}

div.colorbox.is-show img {
    animation: showImage 0s linear 0.8s forwards;
}
div.colorbox.is-show::before {
    animation: colorMask 0.4s ease-out forwards, colorMaskHide 0.2s ease-out 0.6s forwards;
}

@keyframes colorMask {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}

@keyframes colorMaskHide {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes showImage {
    0% {
        visibility: hidden;
    }
    100% {
        visibility: visible;
    }
}


@media screen and (max-width:991px) {
    #index .main_img_zone {
        padding-top: 5rem;
        position: relative;
    } 
    #index .main_img_zone h2 {
        display: inline-block;
        position: absolute;
        width: auto;
        top: 21%;
        right: initial;
        left:1%;
        z-index: 2;
        font-size: 2.5rem;
        line-height: 1.3;
    }
    #index .main_img_zone .main_down_wrap {
        justify-content: left;
        margin-top: 0rem;
    }
    #index .main_img_zone .main_img_01 {
        border-radius: 0 10px 10px 0;
        padding-left: 0;
        padding-right: 0;
        margin-left: 0;
    }
    #index .main_img_zone .main_img_02 {
        margin: auto;
        margin-right: -10px;
        margin-top: 8rem;
        padding-right: 0;
        border-radius: 0 10px 10px 0;
    }
    #index .main_img_zone .main_text_zone {
        margin:auto;
    }
    #index .main_down_wrap .main_text_zone p {
        text-align: justify;
    }
}

@media screen and (max-width:540px) {
    #index .main_img_zone .main_img_02 {
        margin: auto;
        margin-right: 0px;
        margin-top: 8rem;
        padding-right: 0;
        border-radius: 0 10px 10px 0;
    }
}

/**intro**/
#index .intro_wrap .link_title {
    background-color: #6F0000;
    color: #fff;
    border-radius: 10px;
    text-align: center;
    font-size: 1rem;
    padding: 0.4rem 8rem;
    position: absolute;
    top: 0%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    width: fit-content;
}
img.phone_img {
    width: 0.7rem;
    height: auto;
    margin-right: 10px;
}


#index .intro-link-zone {
    position: relative;
    padding-top: 1rem;
    color: var(--white);
    margin-top: -15%;
}


#index .intro-link-zone__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

#index .emergency-card {
    position: relative;
    isolation: isolate;
    min-height: 341px;
    overflow: hidden;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: 0.5s;
}
#index .emergency-card::before,
#index .emergency-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
}
#index .emergency-card.card01::after {
    z-index: -1;
    background: #76b9ec;
    opacity: 0.7;
    transition: opacity 0.5s ease;
}
#index .emergency-card.card01 {
  background-image: url("../img/top_intro_img01.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}
#index .emergency-card.card01:hover::after {
  background: #76b9ec;
  opacity: 0.2;
  transition: 0.5s;
}
#index .emergency-card.card02::after {
    z-index: -1;
    background: #2E9CF0;
    opacity: 0.7;
    transition: opacity 0.5s ease;
  }
#index .intro-link-zone .card02 {
  background-image: url("../img/top_intro_img02.jpg");
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
}
#index .emergency-card.card02:hover::after{
  background: #2E9CF0;
  opacity: 0.2;
  transition: 0.5s;
}

#index .emergency-card__body {
    min-height: 341px;
    padding: 55px 40px 33px 49px;
    display: flex;
    flex-direction: column;
}

#index .emergency-card__title {
    color: #fff;
    margin: 0;
    padding-bottom: 20px;
    border-bottom: 2px solid #fff;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.5;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  }

  #index .emergency-card__text {
    color: #fff;
    margin: 22px 0 0;
    font-size: 1rem;
    line-height: 1.5;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  }

  #index .emergency-card__text strong {
    color: #ff0000;
  }

  #index .emergency-card__note {
    margin-top: auto;
    color: #fff;
    letter-spacing: 0;
  }

  #index .emergency-card__lead {
    margin: 22px 0 0;
    font-size: 18px;
    line-height: 1.47;
    letter-spacing: 0;
  }

  #index .emergency-card__support {
    margin: 12px 0 0;
    font-size: 25px;
    line-height: 1.25;
    letter-spacing: 0;
  }

  #index .emergency-card__arrow {
    position: absolute;
    top: initial !important; 
    right: 1.8rem !important;
    bottom:0.5rem !important;
  }

@media screen and (max-width:1280px) {
    #index .emergency-card {
        position: relative;
        isolation: isolate;
        min-height: initial;
        overflow: hidden;
        border-radius: 8px;
        text-decoration: none;
        color: inherit;
        transition: 0.5s;
    }
    #index .emergency-card__body {
        min-height: initial;
        padding: 55px 30px 33px 30px;
        display: flex;
        flex-direction: column;
    }

}


@media screen and (max-width:991px) {
    #index .intro_wrap .text_zone {
        position: relative;
        margin: auto;
    }
    #index .intro_wrap .text_zone p {
        position: absolute;
        top: 0;
    }
    #index .intro_wrap div.res_991 .img_zone {
        margin: auto;
        margin-top: 5rem;
        margin-right: -8%;
    }
     #index .intro_wrap div.res_991 .img_zone .button-container {
        margin: 0;
        margin-top: -1rem;
        margin-left: -2.5rem;
     }
}





/** reason_wrap **/
#index .reason_wrap {
    justify-content: center;
    row-gap: 0;
}
#index .reason_wrap__heading,
#index .reason_wrap__lead,
#index .reason_wrap__cards {
    width: 100%;
}
#index .reason_wrap__heading {
    text-align: center;
}
#index .reason_wrap__heading h2 {
    display: inline-block;
    width: 38rem;
    margin: 0;
}

#index .reason_wrap__heading h2::before {
    left: 0.3rem;
    width: 17rem;
}
#index .reason_wrap__heading h2::after {
    right: 0.5rem;
    width: 17rem;
}
#index .reason_wrap__heading span {
    color: #004988;
    font-size: 1.42em;
    line-height: 0;
    }
#index .reason_wrap__lead {
    text-align: center;
}
/*
#index .reason_wrap__lead p {
    font-size: 1.2rem;
    line-height: 2.05;
}
    */
#index .reason_wrap__lead strong {
    color: #FF0000;
    font-weight: 500;
}
#index .reason_wrap__cards {
    display: grid;
    gap: 0.3rem;
        grid-template-columns: repeat(4, minmax(0, 1fr));
            grid-auto-rows: 1fr;
}
#index .reason_card {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
}
#index .reason_card::before {
    content: "";
    inset: 0;
    position: absolute;
}
#index .reason_card--history {
    background-image: url("../img/reason_bgimg01.png");
    background-position: center bottom;
}
#index .reason_card--staff {
     background-image: url("../img/reason_bgimg02.png");
}
#index .reason_card--company {
    background-image: url("../img/reason_bgimg03.png");
}
#index .reason_card--group {
    background-image: url("../img/reason_bgimg04.png");
    background-position: center;
    }
#index .reason_card__inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    min-height: inherit;
    padding: 6.2rem 2.5rem 3rem;
    position: relative;
    text-align: center;
    z-index: 1;
}
#index .reason_card__number {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 0.85;
}

#index .reason_card__number span {
    font-family: "din-condensed", sans-serif;
    color: #004988;
    font-size: 5rem;
    font-weight: 500;
    letter-spacing: -5px;
}
#index .reason_card h3 {
    font-size: 1.7rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}
#index .reason_card__inner > p:last-child {
    /*font-size: 1rem;*/
    text-align: left;
}


@media screen and (max-width:1280px) {
    #index .reason_card__number span {
        color: #004988;
        font-size: 5rem;
        font-weight: 500;
        letter-spacing: -2px;
    }
}

@media screen and (max-width:991px) {
    #index .reason_wrap.res_991 {
        width:55%;
    }
    #index .reason_wrap__heading h2 {
        display: inline-block;
        width: 20rem;
        margin: auto;
    }
    #index .reason_wrap__lead {
        text-align: left;
    }
    #index .reason_card__inner {
        align-items: center;
        display: flex;
        flex-direction: column;
        min-height: inherit;
        padding:2.5rem;
        position: relative;
        text-align: center;
        z-index: 1;
    }
    /*
    #index .reason_card__inner:last-child {
        padding-bottom: 0;
    }
        */
    #index .reason_card {
        /*background-position: top;*/
        background-repeat: no-repeat;
        /*background-size: contain;*/
        background-position: center;
        background-size: cover;
        border-radius: 0px;
        overflow: hidden;
        position: relative;
    }

    #index .reason_card--history {
        background-image: url("../img/reason_bgimg01_res.png");
    }
    #index .reason_card--staff {
        background-image: url("../img/reason_bgimg02_res.png");
    }
    #index .reason_card--company {
        background-image: url("../img/reason_bgimg03_res.png");
    }
    #index .reason_card--group {
        background-image: url("../img/reason_bgimg04_res.png");
    }

    #index .reason_wrap__cards {
        display: grid;
        gap: 0rem;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    #index .reason_wrap.res_991 .reason_wrap__cards > article:nth-child(3) .reason_card__inner {
        height: 100%;
        justify-content: center;
        margin: auto;
    }
    #index .reason_wrap__cards .res_group_flex {
        display: flex !important;
        align-items: baseline;
        margin-bottom: 1.5rem;
    }
    #index .reason_card h3 {
        font-size: 1.7rem;
        font-weight: 500;
        margin-bottom: 0;
        margin-left: 2rem;
    }
}

@media screen and (max-width:540px) {
    #index .reason_wrap__heading h2 {
        display: inline-block;
        width: 21rem;
        margin: auto;
    }
    #index .reason_wrap__heading h2::before,
    #index .reason_wrap__heading h2::after {
        width: 9rem;
    }
    #index .reason_wrap__cards {
        grid-template-columns: 1fr;
    }
    #index .reason_card h3 {
        font-size: 1.7rem;
        font-weight: 600;
        margin-bottom: 0;
        margin-left: 2rem;
    }
    #index .reason_card__number {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 2rem;
        font-weight: 600;
        letter-spacing: 0;
        line-height: 0.85;
    }
    #index .reason_card__inner {
        padding: 2rem;
    }
    #index .reason_card__number {
        font-size: 1.9rem;
    }
    #index .reason_card__number span {
        color: #004988;
        font-size: 4rem;
        font-weight: 500;
        margin-right: 0.5rem;
        letter-spacing: -3px;
    }
    #index .reason_card h3 {
        font-size: 2rem;
        margin-left: 1.5rem;
    }
    #index .reason_card__inner > p:last-child {
       text-align: justify;
    }
    #index .reason_wrap.res_991 {
        width:100%;
    }
}







/*******staff******/
.bg_img02 {
    background-image: url("../img/bg_img02.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
}

.staff_wrap .section_title p.text_border::after {
    width:15rem;
    left:4rem;
}

/** staff_loop **/
.slide_wrap {
    overflow: hidden;
    padding: 0 0 5rem 0;
    width: 100%;
}

.staff_loop {
    overflow: hidden;
    width: 100%;
}
.staff_loop__track {
    display: flex;
    width: max-content;
    will-change: transform;
}
.staff_loop__set {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: clamp(3.8rem, 5vw, 6.5rem);
    padding-right: clamp(3.8rem, 5vw, 6.5rem);
}
.staff_loop__item {
    border-radius: 8px;
    /*flex: 0 0 auto;
    width: 14rem;*/
    height:auto;
    line-height: 0;
    margin: 0;
    overflow: hidden;
   /**clamp(最小値, 基準値, 最大値)**/
    flex: 0 0 clamp(11rem, 16vw, 21rem);
    width: clamp(11rem, 16vw, 21rem);
}

@media screen and (max-width:991px) {
    .staff_loop__item {
        flex-basis: clamp(11rem, 32vw, 17rem);
        width: clamp(11rem, 32vw, 17rem);
    }
}

@media screen and (max-width:540px) {
    .staff_loop__item {
        flex-basis: clamp(9.5rem, 46vw, 13rem);
        width: clamp(9.5rem, 46vw, 13rem);
    }
}


.staff_loop__set figure:nth-child(1) {
    margin-top: 3rem;
}
.staff_loop__set figure:nth-child(2) {
    margin-top: 1rem;
}
.staff_loop__set figure:nth-child(3) {
    margin-top: 3rem;
}
.staff_loop__set figure:nth-child(4) {
    margin-top: 0rem;
}
.staff_loop__set figure:nth-child(5) {
    margin-top: 3em;
}
.staff_loop__item--wide {
    height: clamp(16rem, 21vw, 21rem);
    width: clamp(25rem, 32vw, 32rem);
}
.staff_loop__item img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}


@media screen and (max-width:991px) {
    .bg_img02 {
        background-image: url(../img/bg_img02.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .slide_wrap {
        margin-top: 0rem;
        padding: 5rem 0 5rem;
    }

    .staff_loop__set {
        gap: 2rem;
        padding-right: 2rem;
    }
    .staff_loop__item {
        
    }

}
@media screen and (max-width:540px) {
    .slide_wrap {
        padding: 5rem 0 5rem;
    }
    .staff_loop__set {
        gap: 2rem;
        padding-right: 2rem;
    }
    .staff_loop__item {
        
    }
}






/** service_wrap **/
#index .service_wrap {
    background: transparent;
    flex: none;
}

#index .service_block {
    align-items: center;
    display: grid;
    gap: 6rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    width: 100%;
}
#index .service_block__text h2 {
    line-height: 1.5;
}
#index .service_wrap p.text_border::after {
    width: 15rem;;
    left:4.5rem;
}
#index .service_block--insurance a {
    line-height: 1.5;
    padding: 1.3rem 4rem;
}
#index .service_block a span.btn-text {
    padding-right: 3rem;
}
#index .service_block small {
    font-size: 0.9rem;
    line-height: 1;
}
#index .service_insurance__title {
    text-align: center;
}
#index .service_insurance__title p {
    font-size: 1.5rem;
    font-weight: 600;
}
#index .service_insurance__title span {
    display: block;
}
#index .service_askul h3 {
    width:16rem;
    height: auto;
    margin: auto;
}
#index .service_askul .service_askul__grid {
    width:32rem;
}

@media screen and (max-width:991px) {
    #index .service_block {
        gap: 0rem;
        grid-template-columns: 1fr;
    }
    #index .service_block + .service_block {
        margin-top: 5rem;
        display: block;
    }
    #index .service_block__text p {
        margin-top: 3rem;
    }
    #index .service_wrap .button-container {
        margin-left: 0;
    }
    #index .service_insurance__title {
        text-align: left;
    }
    #index .service_askul{
        margin-top: 5rem;
        
    }
    
    #index .service_askul h3 {
        width:20rem;
        height: auto;
        margin: auto;
    }
    #index .service_wrap p.text_border {
        position: relative;
    }
    #index .service_wrap p.text_border::after {
        width: 15rem;
        left:4.5rem;
    }

    .staff_wrap .section_title p.text_border::after {
        width: 79%;
        left: 6rem;
    }
    #index .service_wrap p.text_border::after {
        width: 78%;
        left: 6.5rem;
    }
    #index .service_askul .service_askul__grid {
        width:100%;
    }


}

@media screen and (max-width:540px) {
    #index .service_block small {
        font-size: 1rem;
        line-height: 1;
    }
    #index .service_wrap__heading span {
        width: 12rem;
    }
    #index .service_block + .service_block {
        margin-top: 5rem;
        display: block;
    }
    #index .service_block__text h2 {
        font-size: 3rem;
    }
    #index .service_block__text p {
        font-size: 1.3rem;
    }
    #index .service_askul .service_askul__grid {
        width: 100%;
    }

    #index .service_btn {
        max-width: 100%;
        padding: 1.2rem 2rem;
    }
    #index .service_btn span {
        font-size: 1.2rem;
    }
    #index .service_insurance__logos {
        transform: scale(1);
        transform-origin: top center;
    }
    #index .service_askul__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}








/** succession_wrap **/
.succession_wrap {
    align-items: center;
    margin-top: 9rem;
}
.succession_wrap .section_title p.text_border::after {
    width:8rem;
    left:11rem;
}

.succession_wrap h2 {
    line-height: 1.5;
    margin-top: 0 !important;
}
/*
.succession_wrap__lead {
    font-size: 1.2rem;
}
    */
.succession_wrap .position {
    position: relative;
    padding-bottom: 6rem;
}
.succession_wrap__image {
    position: absolute;
    bottom: 0;  
    right: -10.5%;
}
.succession_wrap__image img {
    border-radius: 8px;
    display: block;
    height: auto;
    width: 100%;
}
/*
.bg_img02 a.gradient-slide-btn {
    font-size: 1.2rem;
}
*/
@media screen and (max-width:991px) {
    .succession_wrap {
        align-items: center;
        margin-top: 5rem;
    }
    #succession.succession_wrap .succession_wrap__eyebrow {
        font-size: 1rem;
    }
    .succession_wrap__text,
    .succession_wrap__image {
        padding-left: 0;
        padding-right: 0;
    }
    .succession_wrap__image {
        position: relative;
        margin: auto;
        margin-top: 3rem;
        margin-right: -3rem;
        padding-bottom: 2rem;
        right: initial;
    }
    .succession_wrap__image img.img_shadow {
        box-shadow: 3px 3px 6px #868686;
    }
    .succession_wrap .button-container {
        position: absolute;
        bottom: 0rem;
        left: 0rem;
    }
    .succession_wrap a.gradient-slide-btn {
        font-size: 1.2rem;
    }
    .succession_wrap .position {
        position: initial;
        padding-bottom: 0rem;
    }
    .succession_wrap .section_title p.text_border::after {
        width: 51%;
        left: 15rem;
    }

}

@media screen and (max-width:540px) {

}










/** group_wrap **/
/** group_wrap **/
#index .group_wrap {
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 8rem;
    row-gap: 7rem;
}
#index .group_panel {
    display: flex;
    flex-direction: column;
}
#index .group_panel--sumihei {
    padding-right: 3rem;
}
#index .group_panel--sumihei p.text_border::after {
    left:8rem;
}
#index .group_panel--compliance {
    margin-top: 8.5rem;
    padding-left: 3rem;
}
#index .group_panel--compliance  p.text_border::after {
    left:6.5rem; 
    width: 10rem;
}
#index .group_panel h2 {
    letter-spacing: 0;
}
#index .group_panel__card {
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 6px;
    display: block;
    min-height: 22rem;
    position: relative;
    text-decoration: none;
}
#index .group_panel__card::before {
    content: "";
    inset: 0;
    position: absolute;
}
#index .group_panel__card--sumihei {
    background-image: url("../img/index_group_img01.png");
}
#index .group_panel__card--compliance {
    background-image: url("../img/index_group_img02.png");
}


#index .group_panel__card-body {
    background: linear-gradient(90deg, #97BAE4 0%, #7c97dd 50%, #7c97dd 100%);
    border-radius: 10px;
    bottom: 30%;
    min-width: min(30rem, 60%);
    overflow: hidden;
    padding: 1.5rem 2.5rem;
    position: absolute;
    right: -1rem;
    transform: translateY(28%);
    z-index: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}

#index .group_panel__card-body::before {
    background: linear-gradient(90deg, #7c97dd 0%, #5f79cf 100%);
    border-radius: inherit;
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: opacity 0.5s ease;
    z-index: 0;
}

#index .group_panel__card:hover .group_panel__card-body::before {
    opacity: 1;
}

#index  .group_panel__card:hover .group_panel__card-body{
    color: #fff;
}
#index .group_panel__card-title {
    align-items: center;
    color: #fff;
    display: flex;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    justify-content: space-between;
    line-height: 1.5;
    padding-bottom: 0.8rem;
    position: relative;
    z-index: 1;
}
#index .group_panel__card-title::after {
    background: rgba(255, 255, 255, 0.9);
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
}
#index .group_panel__card-title span {
    background: #fff;
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 auto;
    height: 1.5rem;
    margin-left: 1rem;
    position: relative;
    width: 1.5rem;
}
#index .group_panel__card-title span::before {
    border-bottom: 0.3rem solid transparent;
    border-left: 0.5rem solid #004988;
    border-top: 0.3rem solid transparent;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-42%, -50%);
}
#index .group_panel__card-text {
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 0.8rem;
    position: relative;
    transition: color 0.3s ease;
    z-index: 1;
}



@media screen and (max-width:1280px) {
    #index .group_panel__card-body {
        min-width: min(32rem, 78%);
        padding-inline: 2.6rem;
    }
}

@media screen and (max-width:991px) {
    #index .group_wrap {
        margin-top: 5rem;
    }
    #index .group_panel--compliance {
        margin-top: 8.5rem;
        padding-left:0rem;
    }
    #index .group_panel--sumihei {
        padding-right: 9px;
    }
    #index .group_panel--sumihei p.text_border::after {
        left:11rem;
        width:64%;
    }
    #index .group_panel--compliance p.text_border::after {
        left: 9rem;
        width: 70%;
    }
    #index .group_panel--compliance {
        margin-top: 5rem;
        padding-left: 9px;
    }
    .group_wrap__image {
        position: relative;
        margin: auto;
        margin-top: 3rem;
        margin-left: auto;
        margin-right: -3rem;
        padding-bottom: 2rem;
        padding-left: 0;
        padding-right: 0;
    }
     .group_wrap__image img {
        margin-right: -3rem;
     }
    .group_wrap__image img.img_shadow {
        box-shadow: 3px 3px 6px #868686;
    }
    #index .group_panel__card--sumihei {
        background-image: initial;
    }
    #index .group_panel__card::before {
        content: "";
        inset: 0;
        position: initial;
    }
    #index .group_panel__card--compliance {
        background-image:initial;
    }
    #index .group_panel__card {
        background-position: initial;
        background-repeat: initial;
        background-size:initial;
        border-radius: 10px;
        display: block;
        min-height: initial;
        position: relative;
        text-decoration: none;
    }
    #index .group_panel__card-body {
        background: #9fbee8;
        border-radius: 6px;
        min-width: min(34rem, 72%);
        padding: 1.75rem 3.8rem 1.6rem;
        position: absolute;
        right: initial;
        left: 0;
        transform: translateY(28%);
        z-index: 1;
        transition: 0.5s;
    }
    .group_wrap .button-container {
        position: absolute;
        bottom: 0rem;
        left: 0rem;
    }
    .group_wrap .button-container a{
        padding: 1.1rem 2.5rem;
    }
    .group_wrap .button-container span {
        top: 31%;
        line-height: 1.5;
    }





}

@media screen and (max-width:540px) {
    #index .group_panel__heading {
        gap: 1.6rem;
    }
    #index .group_panel__en {
        font-size: 2rem;
    }
    /*
    #index .group_panel h2 {
            font-size: 3rem;
    }
            */
    #index .group_panel__text {
        font-size: 1.3rem;
    }
    #index .group_panel__card {
        min-height: 22rem;
    }
    #index .group_panel__card-body {
        min-width: 86%;
        padding: 1.5rem 2rem;
        right: -0.8rem;
    }
    #index .group_panel__card-title {
        font-size: 1.45rem;
    }
    #index .group_panel__card-text {
        font-size: 1rem;
    }
    .group_wrap__image {
        position: relative;
        margin: auto;
        margin-top: 3rem;
        margin-right: -3rem;
        padding-bottom: 4rem;
        padding-left: 0;
        padding-right: 0;
    }
}

#index .contact_wrap .link_zone div.tel_zone {
    top: 0rem;
    left: 0;
}



/**=======================
about us 
========================**/

#aboutus {
    overflow: hidden;
}
#aboutus .bg_img01 {
    background-position: bottom;
}
#aboutus .about_hero {
    padding-top: 14rem;
}
#aboutus .about_hero > .row {
    align-items: center;
    gap: 4rem;
    /*min-height: 38rem;*/
}
#aboutus .about_hero__image  {
    padding:0;
}
#aboutus .about_hero__image img {
    display: block;
    object-fit: cover;
    object-position: center;
}

#aboutus .about_hero__text {
    margin-left: auto;
}
#aboutus .en_title {
    font-size: 1.05rem;
   /* line-height: 1;*/
}

#aboutus .text_border {
    display: inline-flex;
    align-items: center;
    gap: 1.8rem;
}
#aboutus .text_border::after {
    background: #004988;
    content: "";
    display: inline-block;
    height: 1px;
    width: 14rem;
}

#aboutus .about_message {
    align-items: flex-end;
    justify-content: space-between;
}

#aboutus .about_message p.sub_comment {
    font-size: 1.5rem;
    line-height: 1.5;
}

#aboutus .about_message__photo {
    margin-left: auto;
}

#aboutus .about_message__photo img {
    aspect-ratio: auto;
    display: block;
    object-fit: cover;
    object-position: 68% center;
}

#aboutus .about_message__photo p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.8rem;
    margin-top: 0.5rem;
    text-align: right;
}

#aboutus .about_company .about_block__heading  {
    text-align: end;
}

#aboutus .about_block {
    align-items: flex-start;
    justify-content: space-between;
}
/*
#aboutus .about_block__heading h2 {
    margin-top: 1.5rem;
}
*/
#aboutus .about_table {
    /*margin-top: 3.7rem;*/
    margin-top: 4.8rem;
}
#aboutus .about_table dl {
    margin: 0;
}

#aboutus .about_table dl div {
    border-top: 1px dashed rgba(31, 27, 27, 0.25);
    display: grid;
    grid-template-columns: 12rem 1fr;
    gap: 2.6rem;
    padding: 1.5rem 0 1.5rem 6rem;
}

#aboutus .about_table dl div:last-child {
    border-bottom: 1px dashed rgba(31, 27, 27, 0.25);
}

#aboutus .about_table dt,
#aboutus .about_table dd {
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
}

#aboutus .about_access {
    justify-content: space-between;
}
#aboutus .about_access .about_block__heading {
    align-items: center;
}
#aboutus .about_access .about_access__map {
    margin-inline: auto;
    margin-left: 0;
}
#aboutus .about_access__map iframe {
    aspect-ratio: 500 / 260;
    border: 0;
    display: block;
    width: 100%;
    height: 20rem;
}

#aboutus .about_access__text p {
    line-height: 1.8;
}
#aboutus .about_access__text p + p {
    margin-top: 1.5rem;
}
#aboutus .about_access__text .button-container{
    margin-top: 2rem;
}
#aboutus .about_group {
    background-image:url("../img/about_mission_bgimg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
    padding: 7.5rem 0;
}

#aboutus .about_group > .row {
    align-items: center;
}
#aboutus .about_group_title {
    padding-bottom: 1rem;
    position: relative;
}
#aboutus .about_group_title::after {
    position: absolute;
    width: 98%;
    height: 1px; 
    content: "";
    background-color: #fff;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#aboutus .about_group__logo_title p {
    color: #fff;
    margin-bottom: 3rem;
}
#aboutus .about_group__logo {
    text-align: center;
}
#aboutus .about_group__logo img {
    width:17rem;
}
 /* 
#aboutus .about_faq {
  border-top: 1px solid #707070;
    padding-top: 7.5rem;
}*/
#aboutus .about_contents {
    padding-bottom: 7.5rem;
}

#aboutus  .contact_wrap .link_zone div.tel_zone {
    top: -1rem;
    left: 0;
}
#aboutus .footer_bgimg {
    margin-top: 0;
}

@media screen and (max-width:991px) {
    #aboutus .about_hero__image img {
        aspect-ratio: initial;
        display: block;
        object-fit: cover;
        object-position: center;
    }
    #aboutus .en_title {
        font-size: 1.05rem;
        line-height: 2;
        margin-bottom: 0.8rem;
    }

    #aboutus .about_message_sp {
        box-sizing: border-box;
        padding: 0 0 0;
    }

    #aboutus .about_message_sp__header {
        align-items: flex-start;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 52.6%;
        width: 100%;
    }

    #aboutus .about_message_sp__title {
        padding-top: 0.1rem;
    }

    #aboutus .about_message_sp__title .en_title {
        line-height: 1;
        margin: 0 0 0.9rem;
    }

    #aboutus .about_message_sp__title h2 {
        line-height: 1.35;
        margin-top: 1.5rem;
    }

    #aboutus .about_message_sp__photo {
        position: relative;
    }

    #aboutus .about_message_sp__photo img {
        aspect-ratio: 170 / 173;
        display: block;
        height: auto;
        object-fit: cover;
        object-position: center top;
    }

    #aboutus .about_message_sp__photo p {
        bottom: 0rem;
        font-size: 0.9rem;
        left: -8.15rem;
        line-height: 1.65;
        margin: 0;
        position: absolute;
        width: 7rem;
        text-align: right;
    }

    #aboutus .about_message_sp__lead {
        line-height: 1.5;
        font-size: 2rem;
        margin-top: 3rem;
    }
    #aboutus .about_hero > .row {
        gap: 0rem;
        min-height: auto;
    }
    #aboutus .about_hero__image {
        margin-top: 3rem;
        padding-right: 0;
        margin-left: 10px;
    }
    #aboutus .about_hero__image img {
        border-radius:10px 0px 0px 10px;
    }

    #aboutus .about_table {
        margin-top: 3rem;
    }
    #aboutus .about_table dl div {
        grid-template-columns: 1fr;
        gap: 0.5rem;
        border-top: 1px dashed rgba(31, 27, 27, 0.25);
        display: block;
        padding: 1.5rem 0 1.5rem 0;
    }
    #aboutus #history dt {
        color: #895F00;
    }
    #aboutus #company dt {
        color: #004988;
    }
    #aboutus .about_company .about_block__heading {
        order: -1;
    }

    #aboutus .about_block {
        align-items: flex-start;
        justify-content: space-between;
        margin-left: 0;
        margin-right: 0;
    }

    #aboutus .about_access__text p {
        line-height: 1.8;
        margin-bottom: 3rem;
    }
    #aboutus .about_access__text {
        margin-top: 2.5rem;
    }


    #aboutus .about_hero {
        padding-top: 10rem;
    }

    #aboutus .text_border::after {
        width: 9rem;
    }

    #aboutus .about_faq {
        border-top:none;
        padding-top: 0rem;
    }
    #aboutus .about_group {
        background-image: url(../img/about_mission_bgimg.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        color: #fff;
        padding: 5rem 0;
    }


    #aboutus .about_group .section_group {
        margin-left: 0;
        margin-right: 0;
    }
    #aboutus .about_group__logo {
        text-align: center;
        margin-bottom: 3rem;
    }
    #aboutus .about_group__logo img {
        width: 16rem;
    }
    #aboutus .about_group .section_group .button-container {
        margin-left: 0;
    }
    #aboutus .about_contents {
        padding-bottom: 5rem;
    }
    #aboutus .about_contents h2 {
        margin-top: 0.3rem;
    }
}



@media screen and (max-width:540px) {
    #aboutus .about_hero__text {
        margin-left: auto;
        margin: auto;
    }
    #aboutus .about_hero > .row {
        gap: 0rem;
        min-height: auto;
        justify-content: right;
    }
    #aboutus .about_hero__image {
        margin-top: 3rem;
        padding-right: 0;
        width: 93%;
    }
}

























/**=======================
compliance
========================**/
#compliance {
    overflow: hidden;
}
#compliance .compliance_hero {
    padding-top: 14rem;
}
#compliance .en_title {
    line-height: 1;
}

#compliance .compliance-doc {
    /*border-top: 1px solid rgba(31, 27, 27, 0.32);*/
    padding: 5rem 0 5rem;
    margin: auto;
    position: relative;
}
#compliance .compliance-doc::before {
    position: absolute;
    content: "";
    background-color: #707070;
    width: 98%;
    height: 1px;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#compliance .compliance-doc:last-child {
   /*border-bottom: 1px solid rgba(31, 27, 27, 0.32);*/
    padding: 5rem 0 7.5rem 0;
}
#compliance .compliance-doc:last-child::after {
    position: absolute;
    content: "";
    background-color: #707070;
    width: 98%;
    height: 1px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#compliance .compliance-doc__num {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    line-height: 1;
    margin: 0 0 0.45rem;
    font-size: 3rem;
    letter-spacing: 5px;
    color: #4E4E4E;
}
#compliance .compliance-doc h2 {
    color: #004988;
}
#compliance .compliance-doc__text {
    margin-top: 3rem;
}
#compliance .compliance-doc__action {
    align-items: center;
    display: flex;
    gap: 2.4rem;
}
#compliance .compliance-doc__btn {
    align-items: center;
    background: #004988;
    border-radius: 10px;
    color: #fff;
    display: inline-flex;
    font-weight: 500;
    justify-content: space-between;
    line-height: 1.4;
    min-width: 17rem;
    padding: 0.8rem 2rem;
    text-decoration: none;
    transition: 0.5s;
}
#compliance .compliance-doc__btn:hover {
    background: #002e55;
    transition: 0.5s;
}
#compliance .compliance-doc--05 .compliance-doc__btn {
    min-width: 32rem;
}
#compliance .compliance-doc__btn span {
    background: #fff;
    border-radius: 50%;
    display: inline-block;
    height: 1.25rem;
    margin-left: 0.9rem;
    position: relative;
    width: 1.25rem;
}
#compliance .compliance-doc__btn span::before {
    border-bottom: 0.24rem solid transparent;
    border-left: 0.38rem solid #004988;
    border-top: 0.24rem solid transparent;
    content: "";
    left: 54%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

#compliance .compliance-doc__date {
    font-size:0.8rem;
    line-height: 1.6;
    margin: 0.45rem 0 0;
}
#compliance .contact_wrap {
    padding-bottom: 7.5rem;
    position: relative;
}
#compliance .contact_wrap::after {
    position: absolute;
    content: "";
    width: 98%;
    height: 1px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #707070;
}

@media screen and (max-width:991px) {
    #compliance .compliance_hero {
        padding-top: 10rem;
    }
    #compliance .compliance_hero h1 {
        margin-top: 0;
    }
 
    #compliance .contact_wrap {
        padding-bottom: 5rem;
        position: relative;
    }
    #compliance .contact_wrap::after {
        position: absolute;
        content: "";
        width: 95%;
        height: 1px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background-color: #707070;
    }
    #compliance .compliance_docs {
        margin-top: 5rem;
    }
    #compliance .compliance-doc::before {
        position: absolute;
        content: "";
        background-color: #707070;
        width: 95%;
        height: 1px;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    #compliance .compliance-doc:last-child {
        padding: 5rem 0 5rem 0;
        /*border-bottom: none;*/
    }
    #compliance .compliance-doc:last-child::after {
        position: absolute;
        content: "";
        background-color: #707070;
        width: 95%;
        height: 1px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    #compliance .compliance-doc__num {
        font-size: 4rem;
    }
    #compliance .compliance-doc__date {
        font-size: 1rem;
        line-height: 1.6;
        margin: 0.45rem 0 0;
    }
    #compliance .compliance-doc__btn.res_991 {
        display: flex !important;
    }
    #compliance .compliance-doc--05 .compliance-doc__btn {
        min-width: 25rem;
    }
    #compliance .compliance-doc__btn {
        align-items: center;
        background: #004988;
        border-radius: 10px;
        color: #fff;
        display: inline-flex;
        font-weight: 500;
        justify-content: space-between;
        line-height: 2;
        min-width: initial;
        padding: 0.8rem 4rem;
        text-decoration: none;
        transition: 0.5s;
        font-size: 1rem;
    }
    #compliance .compliance-doc__btn p {
        font-size: 1.2rem;
    }
}

@media screen and (max-width:540px) {
    #compliance .compliance_bg {
        padding-top: 5.4rem;
    }
    #compliance .compliance_hero {
        margin-left: auto;
        margin-right: auto;
        /*padding-top: 3.2rem;*/
        width: 88%;
    }
    #compliance .compliance_hero p.en_title {
        margin-bottom: 0.8rem;
    }
/*
    #compliance .compliance_hero h1:first-child {
        line-height: 1.45;
        margin-top: 0.85rem;
    }*/
    #compliance .compliance_hero__lead {
        line-height: 2;
        margin-top: 1.8rem;
    }
    #compliance .compliance_docs {
        margin-left: auto;
        margin-right: auto;
        margin-top: 3rem;
        width: 88%;
    }
    #compliance .compliance-doc {
        padding: 3rem 0;
    }

    #compliance .compliance-doc h2 {
        line-height: 1.5;
    }
    #compliance .compliance-doc__text {
        line-height: 2;
    }
    #compliance .compliance-doc__action {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.65rem;
    }
    #compliance .compliance-doc__btn,
    #compliance .compliance-doc--05 .compliance-doc__btn {
        /*min-width: 0;
        padding: 0.62rem 0.65rem 0.62rem 1rem;
        width: 90%;*/
        align-items: center;
        background: #004988;
        border-radius: 10px;
        color: #fff;
        display: inline-flex;
        font-weight: 500;
        justify-content: space-between;
        line-height: 2;
        min-width: initial;
        padding: 0.8rem 3rem 0.8rem 2.5rem;
        text-decoration: none;
        transition: 0.5s;
        font-size: 1.2rem;
    }
    #compliance .compliance-doc__ok,
    #compliance .compliance-doc__pages {
        display: none;
    }
    #compliance .compliance-doc__date {
        font-size:1rem;
        line-height: 1.6;
        margin: 0.45rem 0 0;
    }

    #compliance .compliance-doc__btn span {
        background: #fff;
        border-radius: 50%;
        display: inline-block;
        height: 1.5rem;
        margin-left: 1.5rem;
        position: relative;
        width: 1.5rem;
    }

}








/**=========================

sumihei group

===========================**/


/*
#sumihei_group {
    background: #dff7ff;
    overflow: hidden;
}

#sumihei_group .group_bg {
    background: linear-gradient(180deg, #d8f5ff 0%, #effbff 42%, #fff 58%, #dff7ff 100%);
    padding-top: 7rem;
}
    */
#sumihei_group .group_hero {

    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    justify-content: space-between;
    position: relative;
}
#sumihei_group .group_hero .gsap-image-reveal {
    width: fit-content;
    height: fit-content;
}
#sumihei_group .group_hero__left {
    position: relative;
    padding: 0;
    padding-top: 5rem;
}
#sumihei_group .group_hero img.hero_img01 {
    width: 20rem;
}
#sumihei_group .group_hero img.hero_img02 {
    width: 12rem;
    position: absolute;
    right: 0;
    top: 0;
}
#sumihei_group .group_hero img.hero_img03 {
    width: 35rem;
}
#sumihei_group .group_hero__bottom {
    position: absolute;
    bottom: 0;
    right: 8rem;
}
#sumihei_group .group_hero__right {
    padding-top: 5rem;
}
#sumihei_group .group_hero img.hero_img04 {
    width: 17rem;
}
#sumihei_group .group_hero__copy {
    align-self: center;
    grid-column: 2 / 3;
    padding: 0 3rem;
}
#sumihei_group .group_hero__copy p.en_title {
    text-align: center;
}
#sumihei_group .group_hero__copy h1 {
    text-align: center;
}
/*
#sumihei_group .group_hero__copy p:not(.en_title) {
}
*/
#sumihei_group .group_hero__visual img,
#sumihei_group .group_hero__truck img {
    border-radius: 4px;
    display: block;
    object-fit: cover;
    width: 100%;
}
#sumihei_group .group_hero__visual--left {
    align-self: center;
    grid-column: 1 / 2;
    transform: translateX(-2rem);
}
#sumihei_group .group_history .text_zone h2 {
    font-size: 2.2rem;
}
#sumihei_group .group_numbers {
   display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(4, 1fr);
}

#sumihei_group .group_expansion .wrap { 
    position: relative; 
    /*min-height: 36rem; */
}

#sumihei_group .group_expansion .section_title {
    position: absolute;
    top:0;
    left: 0;
}

#sumihei_group .group_circles {
    margin-inline: auto;
    margin-right: 0;
    /*inset: 2rem 0 0 24rem;
    position: absolute;*/
}

img.arrow_bu {
    width:0.6rem;
    height: auto;
    transform: rotate(-45deg);
    transition: 0.5s;
}
#sumihei_group .group_intro__list {
    display: grid;
    gap: 3rem 5rem;
    grid-template-columns: repeat(2, minmax(0,1fr));
}
#sumihei_group .group_intro__col h3 {
    color: #004988;
    font-size: 2.2rem;
    line-height: 1.5;
    padding-left: 2rem;
    position: relative;
}
#sumihei_group .group_intro__col h3::after {
    position: absolute;
    content: "";
    width: 66%;
    height: 1px;
    left: 2rem;
    bottom: 0;
    background-color: #707070;
}
#sumihei_group .group_intro ul { 
    list-style: none;

}

#sumihei_group .group_intro li a {
    font-family: "kozuka-mincho-pr6n", serif;
    font-weight: 400;
    display: flex;
    justify-content: flex-start;
    padding: 0.3rem 0;
    position: relative;
    transition: 0.5s;
}
#sumihei_group .group_intro li a.intro:hover {
    color: #004988;
    font-weight: 700;
}
#sumihei_group .group_intro li a:hover img {
    transform: rotate(0deg);
    transition: 0.5s;
}
#sumihei_group .group_intro li img.arrow_bu {
    /*margin-left: 3rem;
    padding-top: 0.85rem;*/
    position: absolute;
    right:2rem;
    top:0;
    bottom: 0;
    margin: auto;
}

#sumihei_group .group_statement {
   background-image: url("../img/group_statment_bgimg.jpg");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   padding-top: 7.5rem;
   padding-bottom: 7.5rem;
}
#sumihei_group .group_statement h2 { 
    line-height: 1.5; 
    position: relative;
    padding-bottom: 2.2rem;
}
#sumihei_group .group_statement h2::after {
    position: absolute;
    bottom: 0;
    left: 0.8rem;
    margin: auto;
    width: 65%;
    height: 1px;
    content: "";
    background-color: #707070;
}

#sumihei_group .group_contents,
#sumihei_group .group_contact {
    margin-top: 6rem;
}
#sumihei_group .group_contents h2,
#sumihei_group .group_contact h2 { font-size: 1.65rem; margin-top: 2rem; }
#sumihei_group .group_contents__cards {
    display: grid;
    gap: 0.35rem;
    grid-template-columns: repeat(3,1fr);
    margin-top: 4rem;
}
#sumihei_group .group_contents__card {
    background-position: center;
    background-size: cover;
    border-radius: 5px;
    color: #fff;
    min-height: 10rem;
    overflow: hidden;
    padding: 5.8rem 1.6rem 1.4rem;
    position: relative;
    text-decoration: none;
}

#sumihei_group .contact_wrap .link_zone div.tel_zone {
    /* top: 0; */
    top: 0rem;
    left: 0;
}

@media screen and (max-width:991px) {
    #sumihei_group .group_hero {
        padding-top: 10rem;
        padding-bottom: 0;
    }
    #sumihei_group .group_hero__copy {
        align-self:left;
        grid-column:initial;
        padding: 0;
    }
    #sumihei_group .group_hero__copy p.en_title {
        text-align: left;
    }
    #sumihei_group .group_hero__image {
        padding-right: 0;
        margin-top: 3rem;
    }
    #sumihei_group .group_hero__image img {
        border-radius: 10px 0 0px 10px;
    }
    #sumihei_group .group_history .text_zone h2 {
        font-size: 2rem;
        line-height: 1.5;
    }

    #sumihei_group .group_numbers {
        display: grid;
        gap: 0.9rem;
        grid-template-columns: repeat(2, 1fr);
        margin-left: 0;
    }
    #sumihei_group .group_expansion .section_title {
        position:initial;
    }
    /*
    #sumihei_group .group_expansion .group_circles {
        padding: 0;
    }*/
    #sumihei_group .group_expansion .group_circles {
        margin-inline: auto;
        margin-left: 0;
        width: 55%;
    }

    #sumihei_group .group_intro .button-container {
        margin-left: 0;
    }
    #sumihei_group .group_intro__list {
        display: grid;
        gap: 3rem 5rem;
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    #sumihei_group .group_intro p.question {
        color: #004988;
        font-size: 2rem;
        line-height: 1.5;
        padding-left: 0;
        position: relative;
    }
    #sumihei_group .group_intro .accordion section {
        border-bottom: 1px solid #707070;
    }
    #sumihei_group .group_intro ul.box  {
        padding-left: 0;
    }

    img.arrow_bu {
        width:0.8rem;
        height: auto;
        transform: rotate(-45deg);
        transition: 0.5s;
    }
    #sumihei_group .group_intro li img.arrow_bu {
        position: absolute;
        right: -5px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    #sumihei_group .group_statement {
        background-image: url(../img/group_statment_bgimg_res.jpg);
        background-repeat: no-repeat;
        /**background-position: center;
        background-size: cover;**/
        background-position: left;
        background-size: 75%;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    #sumihei_group .group_statement h2 {
        line-height: 1.5;
        position: relative;
        padding-bottom: 2.5rem;
        font-size: 2rem;
    }
}


@media screen and (max-width:540px) {
    #sumihei_group .group_hero .group_hero__text {
        margin: auto;
    }
    #sumihei_group .group_hero .group_hero__image {
        margin-inline: auto;
        margin-right: 0;
        width:  96%;
    }
    #sumihei_group .group_history .text_zone h2 {
        font-size: 1.8rem;
    }
    #sumihei_group .group_statement h2 {
        line-height: 1.5;
        position: relative;
        padding-bottom: 2.5rem;
        font-size: 2rem;
    }
    #sumihei_group .group_statement h2::after {
        width: 98%;
        left:0;
        right: 0;
        margin: auto;
    }
    #sumihei_group .group_expansion .group_circles {
        margin-inline: auto;
        margin-left: 0;
        width: 100%;
    }
        #sumihei_group .group_statement {
        background-image: url(../img/group_statment_bgimg_res.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}





/**===================

Insurance 

===================**/

#insurance { 
    overflow:hidden; 
}
#insurance .bg_img01 {
    background-position: bottom;
}

#insurance .insurance_hero {
    padding-top:14em; 
}
#insurance .insurance_hero__image {
    margin-inline: auto;
    margin-right: 0;
}
#insurance .insurance_hero__image img {
    display:block; 
    object-fit:cover; 
    width:100%; 
}


#insurance .insurance_worry__tabs {
    display:flex; 
    margin:2rem 0 2.5rem auto; 
    width:34rem; 
}
#insurance .insurance_worry__tabs span { 
    flex:1; 
    font-weight:600; 
    padding:0.85rem; 
    text-align:center; 
}
#insurance .insurance_worry__tabs span {
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 1.3rem;
    margin-left: 0.3rem;
}
#insurance .insurance_worry__tabs span.bu_zone {
    background-image: url("../img/insurance_hukidasi_bu.png");
    color:#fff; 
}
#insurance .insurance_worry__tabs span.ye_zone {
    background-image: url("../img/insurance_hukidasi_ye.png");
    color: #4E4E4E;
}


#insurance .insurance_worry__grid { 
    display:grid; 
    gap:3rem; 
    grid-template-columns:repeat(3,1fr); 
}
#insurance .insurance_worry__card { 
    background:#fff; 
    border-radius:10px; 
    padding: 3rem 2rem 2rem 2rem; 
    text-align:center; 
    position: relative;
}
#insurance .insurance_worry__tag { 
    border-radius:999px; 
    display:inline-block; 
    font-weight:700; 
    margin:0 0 1rem; 
    padding:0.5rem 1.5rem; 
    position: absolute;
    left:2rem;
    top: -1rem;
}
#insurance .insurance_worry__tag.company {
    background:#004988; 
    color:#fff; 
}
#insurance .insurance_worry__tag.person {
    background:#FFEB03; 
    color: #4E4E4E;
}

#insurance .insurance_worry__card p {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
}
#insurance .insurance_worry__card p.sub_title {
    position: relative;
    display: block;
    text-align: center;
    margin-top: 1.5rem;
}
#insurance .insurance_worry__card p.sub_title::before {
    position: absolute;
    content: "";
    width: 3rem;
    height: 1px;
    background-color: #707070;
    left: 2rem;
    top: 0; 
    bottom: 0;
    margin: auto;
}
#insurance .insurance_worry__card h3 { 
    line-height:1.5; 
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
}
#insurance .insurance_worry__card ul { 
    display: inline-block;
    list-style:none; 
    padding:0; 
    text-align:left; 
    margin-bottom: 0;
    margin-top: 1.5rem;
}
#insurance .insurance_worry__card li { 
    line-height:1.8; 
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
   /* padding-bottom: 0.5rem;*/
}
#insurance .insurance_worry__card li img.worry_deco {
    margin-right: 1rem;
    vertical-align: text-top;
}
#insurance .insurance_worry__card p.under_title { 
    background:#E8E8E8; 
    color:#004988; 
    display:inline-block; 
    width: 80%;
    border-radius: 10px;
    font-weight:700; 
    padding:0.5rem 1rem; 
    text-decoration:none; 
    line-height: 1.5;
    margin-top: 1.5rem;
}
#insurance .insurance_worry__card p.under_title span {
    font-size: 0.8rem;
}
#insurance .insurance_worry__card .under_text ul {
    list-style: disc;
    color: #004988;
}
#insurance .insurance_worry__card:last-child h3 {
    font-size: 1.4rem;
}
img.worry_deco {
    width:1.5rem;
    height: auto;
}

#insurance .insurance_evolution {
    position: relative;
    padding-bottom: 7.5rem;
}
#insurance .insurance_evolution::after {
    position: absolute;
    content: "";
    background-color: #707070;
    width: 98%;
    height: 1px;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0;
}
#insurance .insurance_evolution .insurance_evolution__diagram { 
    margin: auto;
}

#insurance .insurance_online__cards { 
    display:grid;
    gap:2rem; 
    grid-template-columns:repeat(2,1fr); 
}


#insurance .insurance_online__cards a { 
    align-items:center; 
    background:#fff; 
    border-radius:10px; 
    display:flex; 
    gap:3rem; 
    grid-template-columns:8rem 1fr; 
    padding:1.5rem 3rem 1.5rem 3rem; 
    text-decoration:none; 
}
#insurance .insurance_online__cards img { 
    width: 10rem;
    height:auto; 
    object-fit:cover; 
}
#insurance .insurance_online__cards p {
    line-height: 1.5;
    font-size: 0.7rem;
    position:relative;
    padding-bottom: 0.5rem;
}
#insurance .insurance_online__cards p::after {
    content: "";
    display: block;
    position: absolute;
    width: 95%;
    height: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-color: transparent;
    border-bottom: 1px dashed #707070;
}
#insurance .insurance_online__cards p span { 
    color:#004988; 
    font-size: 2rem;
    display:block; 
    font-weight:600; 
}
#insurance .insurance_online__cards p span.bu_arrow {
    position: initial;
}
#insurance .insurance_online__cards p span.bu_arrow::before {
    content: "";
    position: absolute;
    top: 25%;
    right: 1rem;
    width: 0;
    height: 0;
    border-top: .4rem solid transparent;
    border-bottom: .4rem solid transparent;
    border-left: 0.8rem solid #004988;
    transform: initial;
    transition: 0.5s;
}
#insurance .insurance_online__cards .text_zone {
    min-width: 65%;
}
#insurance .insurance_online__cards small { 
    display:block; 
    line-height:1.5; 
    margin-top: 0.5rem;
    font-weight: 500;
    width: 97%;
}

#insurance .insurance_online .attention ul {
    list-style: disc;
    padding-left: 1.2rem;
}
#insurance .insurance_online .attention small {
    font-size: 0.75rem;
}
#insurance .insurance_online .attention ul li, 
#insurance .insurance_online .attention p {
    line-height: 1.5;
}
#insurance .insurance_online .attention p {
    padding-left: 1.2rem;
}

.flow__steps { 
    display:grid; 
    grid-template-columns:repeat(4,1fr); 
    gap: 0.2rem;
    /*margin-top:3rem; */
    position: relative;
}
.flow__steps div.step { 
    background:#fff; 
    border-right:1px solid rgba(0,73,136,0.2); 
    /*padding:3rem 1.5rem 1.5rem 1.5rem; */
    padding: 3rem 2.5rem;
    text-align:center; 
    position: relative;
    border-radius: 10px;
}
.flow__steps::before {
    position: absolute;
    width: 76%;
    height: 1px;
    background-color: #707070;
    content: "";
    left: 0;
    right: 0;
    margin: auto;
    top: 3.5rem;
    z-index: 3;
}
img.stpe_img {
    height: 5rem;
    width: auto;
    object-fit: contain;
}
.flow__steps strong { 
    color:#004988; 
    display:block; 
    line-height: 0.9;
    font-size:2rem; 
    position: absolute;
    top: -1rem;
    left: 0;
    right: 0;
    margin: auto;
}
.steps strong span{
    font-size: 1.1rem;
}
.flow__steps .text_zone {
    position: relative;
    padding-top: 2.5rem;
}
.flow__steps .text_zone:before {
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    width: 1rem;
    height: 1rem;
    background-color: #707070;
    border-radius: 50px;
}
.flow__steps h3 { 
    font-family: "Noto Sans JP", sans-serif;
    font-size:1.3rem; 
    line-height:1.5; 
    margin-top:0.8rem; 
}
.flow__steps p { 
    line-height:1.5; 
}
#insurance .insurance_company .insurance_company__logos ul {
    padding-left: 0;
    /*
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;*/
    display: flex;
    gap: 3rem;
    align-items: center;
}







#insurance .insurance_faq {
    padding-bottom: 7.5rem;
    border-bottom: 1px solid #707070;
}


@media screen and (max-width:991px) {
    #insurance .insurance_hero {
        padding-top: 10em;
    }
    #insurance .insurance_hero h1 {
        margin-top: 0;
    }
    #insurance .insurance_hero__image {
        margin-inline: initial;
        margin-right: 0;
        padding-left: 15px;
        margin-left: 10px;
    }
    #insurance .insurance_worry__card .under_text ul li {
        font-size: 1.5rem;
    }
    #insurance .insurance_worry__tabs span {
        background-position: left bottom;
        background-size: cover;
        background-repeat: no-repeat;
        padding-bottom: 1.3rem;
        margin-left: 0.3rem;
        font-size: 1.2rem;
    }
    #insurance .insurance_worry__tabs {
        display: flex;
        margin: 2rem 0 2.5rem auto;
        width: 30rem;
        margin-left: 0;
    }
    .res_series_slide {
       /* width: 51.5%;
        margin-left: 0%;*/
        width: 100%;
        padding-right: 44%;
    }
    .series-section {
        margin: 1.5rem 0 1.5rem 0;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    }
    #insurance .insurance_worry__tag {
        border-radius: 999px;
        display: inline-block;
        font-size: 1.2rem;
        font-weight: 700;
        margin: 0 0 1rem;
        /*padding: 0.2rem 1.3rem 0.35rem 1.3rem;*/
        padding: 0.45rem 1.5rem;
        position: absolute;
        left: 2rem;
        top: -1rem;
    }
    #insurance .insurance_worry__card:last-child h3 {
        font-size: 1.6rem;
    }
    #insurance .insurance_worry__card p.sub_title {
        position: relative;
        display: block;
        text-align: center;
        width: 100%;
        margin-top: 1.5rem;
    }
    #insurance .insurance_worry__card p.sub_title::before {
        position: absolute;
        content: "";
        width: 3rem;
        height: 1px;
        background-color: #707070;
        left: 0rem;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    #insurance .insurance_worry__card p.under_title {
        background: #E8E8E8;
        color: #004988;
        display: inline-block;
        width: 90%;
        border-radius: 10px;
        font-weight: 700;
        padding: 0.5rem 1rem;
        text-decoration: none;
        line-height: 1.5;
        margin-top: 1.5rem;
        text-align: center;
    }
    .slide-container {
        display: flex;
        overflow-x: auto;          
        scroll-behavior: smooth;   
        webkit-overflow-scrolling: touch; 
        scrollbar-width: none;     
        -ms-overflow-style: none;  
        margin-left: 1rem;
        margin-right: 1rem;
        /*padding-left: 1rem;*/
        scroll-snap-type: x mandatory;
        padding-top: 1.5rem; 
    }

    .insurance_worry__card {
        /*display: flex;*/
        text-decoration: none;  
        color: inherit;         
        width: 50%;
        flex: 0 0 85%;
        margin-right: 16px;
        background: #fdfcf8;
        border-radius: 8px;
        padding: 2rem;
        box-sizing: border-box;
        scroll-snap-align: start;
        flex-direction: column;
        align-items: center;
        justify-content: end;
    }
     .insurance_worry__card li {
        font-size: 1.15rem;
     }
    #insurance .insurance_worry__card .under_text ul {
        list-style: disc;
        color: #004988;
        margin-left: 1rem;
    }

    .res_series_slide .res-series-pagination {
        display: flex;
        gap: 0.5rem;
        justify-content: center;
        margin-top: 1.2rem;
        width: 100%;
    }

    .res_series_slide .res-series-pagination button {
        appearance: none;
        background: transparent;
        border: 2px solid #004988;
        border-radius: 50%;
        height: 0.78rem;
        padding: 0;
        width: 0.78rem;
    }

    .res_series_slide .res-series-pagination button.is-active {
        background: #004988;
    }
    #insurance .insurance_evolution {
        padding-bottom: 5rem;
    }
    #insurance .insurance_evolution::after {
        position: absolute;
        content: "";
        background-color: #707070;
        width: 95%;
        height: 1px;
        margin: auto;
        bottom: 0;
        left: 0;
        right: 0;
    }
    #insurance .insurance_online__cards {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(1, 1fr);
    }
    #insurance .insurance_online__cards p {
        line-height: 1.5;
        font-size: 1rem;
        position: relative;
        padding-bottom: 0.5rem;
    }
    #insurance .insurance_online__cards p span { 
        color:#004988; 
        font-size: 1.8rem;
        display:block; 
        font-weight:600; 
    }
    #insurance .insurance_online__cards small {
        display: block;
        line-height: 1.5;
        margin-top: 0.5rem;
        font-weight: 500;
        width: 98%;
    }
    #insurance .insurance_faq {
        padding-bottom: 0rem;
        border-bottom: none;
    }
    #insurance .insurance_online__cards a {
        align-items: center;
        background: #fff;
        border-radius: 10px;
        display: flex;
        gap: 1.5rem;
        grid-template-columns: 8rem 1fr;
        padding: 1.5rem ;
        text-decoration: none;
        justify-content: space-between;
    }
    #insurance .insurance_online__cards img { 
        width: 7rem;
        height:auto; 
        aspect-ratio: 2 / 3;
        object-fit:cover; 
    }
    #insurance .insurance_online__cards p span.bu_arrow::before {
        content: "";
        position: absolute;
        top: 20%;
        right: 1rem;
        width: 0;
        height: 0;
        border-top: .4rem solid transparent;
        border-bottom: .4rem solid transparent;
        border-left: 0.8rem solid #004988;
        transform: initial;
        transition: 0.5s;
    }
    #insurance .insurance_online .attention small {
        font-size: 1.05rem;
    }
   
    #insurance .insurance_company .insurance_company__logos ul {
        display: flex;
        flex-wrap: wrap;
        gap: 2rem;
        align-items: center;
    }

  #insurance .insurance_company .insurance_company__logos li {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }

  /* 1〜4番目：2個ずつ */
  /*
  #insurance .insurance_company .insurance_company__logos li:nth-child(-n + 4) {
    flex: 0 0 calc((100% - 1rem) / 2);
  }

  /* 5〜7番目：3個 */
  /*
  #insurance .insurance_company .insurance_company__logos li:nth-child(n + 5) {
    flex: 0 0 calc((100% - 2rem) / 3);
  }
    */
  #insurance .insurance_company .insurance_company__logos img {
    display: block;
    width: auto !important;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(1) img,
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(2) img,
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(3) img {
    height: 3.5rem;
  }
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(4) img,
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(5) img {
    height: 4rem;
  }
  #insurance .insurance_company .insurance_company__logos ul li:nth-child(6) img {
        height:5rem;
  }
   #insurance .insurance_company .insurance_company__logos ul li:nth-child(7) img {
        height: 5rem;
  }
}



@media screen and (max-width:540px) {
    #insurance .insurance_hero__image {
        margin-right: 0;
        margin-left: 10px;
        padding-left: 15px;
    }
    
    #insurance .slide-container {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin-left: 1rem;
        margin-right: 0;
        /* padding-left: 1rem; */
        scroll-snap-type: x mandatory;
        padding-top: 1.5rem;
    }
    #insurance .res_series_slide {
        width: 100%;
        margin-left: 0%;
        padding-right: 0;
    }
    #insurance .insurance_worry__card {
        /* display: flex; */
        text-decoration: none;
        color: inherit;
        width: 50%;
        flex: 0 0 85%;
        margin-right: 10px;
        background: #fdfcf8;
        border-radius: 8px;
        padding: 3rem 2rem;
        box-sizing: border-box;
        scroll-snap-align: start;
        flex-direction: column;
        align-items: center;
        justify-content: end;
    }
     #insurance .insurance_worry__card p.sub_title::before {
        position: absolute;
        content: "";
        width: 3rem;
        height: 1px;
        background-color: #707070;
        left: 0rem;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    #insurance .insurance_online__cards p span.bu_arrow::before {
        content: "";
        position: absolute;
        top: 20%;
        right: 1rem;
        width: 0;
        height: 0;
        border-top: .4rem solid transparent;
        border-bottom: .4rem solid transparent;
        border-left: 0.8rem solid #004988;
        transform: initial;
        transition: 0.5s;
    }
    #insurance .insurance_company .insurance_company__logos ul {
        display: flex;
        flex-wrap: wrap;
        column-gap: 2rem;
        align-items: center;
    }

}











/**==============================

askul style

===============================**/

#askul { 
    overflow:hidden; 
}
#askul .bg_img01 {
    background-position: bottom;
}

#askul .askul_hero {
    padding-top:14em; 
}
#askul .askul_hero__image {
    margin-inline: auto;
    margin-right: 0;
}
#askul .askul_hero__image img {
    display:block; 
    object-fit:cover; 
    width:100%; 
}

#askul .askul_features h2,
#askul .askul_how h2,
#askul .askul_flow h2 {  
    line-height:1.5; 
}
#askul .askul_features__grid {
    display:grid; 
    gap:2rem 3rem; 
    grid-template-columns:repeat(2,1fr); 
}
#askul .askul_features__grid .img_zone {
    margin-block: auto;
}
#askul .askul_features__grid article {
    background:#fff; 
    border:1px solid #014889; 
    border-radius:10px; 
    min-height:10rem; 
    padding:3rem 2rem 2rem ; 
    position:relative; 
    display: flex;
    justify-content: space-around;
}
#askul .askul_features__grid article img.feature_img {
    width: 6rem;
    height: auto;
    margin-block: auto;
    margin-right: 2rem;
}
#askul .askul_features__grid b { 
    font-family: "Noto Sans JP", sans-serif;
    background:#004988; 
    border-radius:999px; 
    color:#fff; 
    font-weight: 500;
    font-size:1rem; 
    left:2rem; 
    padding:0.45rem 1.5rem; 
    position:absolute; 
    top:-1.05rem; 
}
#askul .askul_features__grid h3 { 
    color:#004988; 
    font-family: "Noto Sans JP", sans-serif;
    line-height:1.5; 

}


#askul .askul_features__grid p { 
    margin-top:0.5rem; 
    position: relative;
    padding-top: 0.5rem;
}
#askul .askul_features__grid p::before {
    position: absolute;
    content: "";
    width: 98%;
    top: 0;
    left:0;
    border-bottom: 1px dashed #707070;
}

#askul .askul_features__grid span{
    font-size: 0.9rem;
}


#askul .askul_how { 
    display: flex;
    justify-content: space-between;
}



@media screen and (max-width:991px) {
    #askul .askul_hero {
        padding-top: 10em;
    }
    #askul .askul_hero h1 {
        margin-top: 0;
    }
    #askul .askul_hero__image{
        margin-inline: initial;
        margin-right: 0;
        padding-left: 15px;
        margin-left: 10px;
    }
    #askul .askul_features__grid {
        display: grid;
        gap: 2rem 3rem;
        grid-template-columns: repeat(1, 1fr);
    }
    #askul .askul_features__grid article {
        display: block;
    }
    #askul .askul_features__grid b {
        font-family: "Noto Sans JP", sans-serif;
        background: #004988;
        border-radius: 999px;
        color: #fff;
        font-weight: 600;
        font-size: 1.2rem;
        /*left: initial;
        right: 2rem;*/
        padding: 0.45rem 1.5rem;
        position: absolute;
        top: -1.05rem;
    }
    #askul .askul_features__grid .img_zone {
        display: flex;
        justify-content:center;
        align-items: center;
    }
    #askul .askul_features__grid article img.feature_img {
        /*width: 4rem;
        height: auto;
        margin-block: auto;
        margin-right: 2rem;
        margin-bottom: 0;*/
        display: none !important;
    }
    #askul .askul_features__grid h3 {
        color: #004988;
        font-family: "Noto Sans JP", sans-serif;
        line-height: 1.1;
        margin-bottom: 0;
        font-size: 2rem;
        text-align: center;
        font-weight: 600;
    }
    #askul .askul_features__grid p {
        margin-top: 1.5rem;
        position: relative;
        padding-top: 1rem;
    }
    #askul .askul_features__grid span {
        font-size: 1rem;
    }
    #askul .askul_process .askul_how__diagram {
        margin-top: 3rem;
    }
    #askul .askul_how { 
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    #askul .contact_wrap {
        padding-bottom: 0;
    }

}




@media screen and (max-width:540px) {
    #askul .askul_hero__image{
        margin-left: 10px;
        margin-right: 0;
        padding-left: 15px;
    }
}








/**==============================

sucession style

===============================**/
#sucession { 
    overflow:hidden; 
}
#sucession .bg_img01 {
    background-position: bottom;
    padding-bottom: 7.5rem;
}

#sucession .sucession_hero {
    padding-top:14em; 
}
#sucession .sucession_hero__image {
    margin-inline: auto;
    margin-right: 0;
}
#sucessionl .sucession_hero__image img {
    display:block; 
    object-fit:cover; 
    width:100%; 
}








#sucession .sucession_target h2,
#sucession .sucession_worry h2,
#sucession .sucession_reason h2,
#sucession .sucession_flow h2 { 
    line-height:1.5;
}

#sucession .sucession_target p.sucession_lead {
    font-size: 1.5rem;
}

#sucession .sucession_target__cards { 
    display:grid; 
    gap:2.5rem; 
    grid-template-columns:repeat(3,1fr); 
}
#sucession .sucession_target__cards article { 
    background:#fff; 
    border-radius:10px; 
    padding:2.2rem 2rem; 
    text-align:center; 
}
#sucession .sucession_target__cards h3 { 
    color:#004988; 
    font-size:1.7rem; 
    line-height:1.5; 
    font-family: "Noto Sans JP", sans-serif;
}
#sucession .sucession_target__cards p { 
    text-align:left; 
    border-top: 1px dashed #707070;
    padding-top: 1rem;
    margin-top: 1rem;
}


#sucession .sucession_worry__grid { 
    display:grid; 
    gap:2.5rem 4rem; 
    grid-template-columns:repeat(2,1fr); 
}
#sucession .sucession_worry__grid article { 
    background:#fff; 
    border-radius:10px; 
    min-height:10rem; 
    padding:3rem 2rem 2rem; 
    position:relative; 
}
#sucession .sucession_worry__grid span {
    font-family: "Noto Sans JP", sans-serif;
    background:#fff000; 
    border-radius:999px; 
    color:#004988; 
    display:inline-block; 
    font-size:1rem; 
    font-weight:500; 
    left:2rem; 
    padding:0.45rem 1.5rem; 
    position:absolute; 
    top:-1.05rem; 
}
#sucession .sucession_worry__grid h3 { 
    font-size:1rem; 
    line-height:1.5; 
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500
}
#sucession .sucession_worry__grid p.text_border {
    font-weight: 500;
    font-size: 0.9rem;
}
#sucession .sucession_worry__grid p.text_border::after {
    width: 5rem;
    left: 7rem;
}
#sucession .sucession_worry__grid p { 
    /*line-height:1.5; */
    margin-top:1rem; 
}
#sucession .sucession_reason { 
    align-items:center; 
    display:grid; 
    gap:5rem; 
    grid-template-columns:1fr 1fr;
    position: relative;
    padding-bottom: 7.5rem;
}
#sucession .sucession_reason::after{
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #707070;
    width: 98%;
    height: 1px;
}
#sucession .contact_wrap .link_zone div.tel_zone {
    top: 6rem;
}
#sucession .contact_wrap .link_zone div.form_zone {
   /*right: 2rem;*/
    bottom: 5rem;
}


@media screen and (max-width:991px) {
    #sucession .sucession_hero {
        padding-top:10em; 
    }
    #sucession .sucession_hero h1 {
        margin-top: 0.2rem;
    }
    #sucession .bg_img01 {
        background-position: bottom;
        padding-bottom: 5rem;
    }
    #sucession .sucession_hero__image{
        margin-inline: initial;
        margin-right: 0;
        padding-left: 15px;
        margin-left: 10px;
    }
    #sucession .sucession_hero .sucession_hero__copy h1.res_991 {
        font-size: 2.3rem;
    }
    #sucession p.en_title {
        line-height: 1.5rem
    }
    #sucession .sucession_target p.sucession_lead {
        font-size: 1.3rem;
    }
    #sucession .sucession_target__cards {
        display: grid;
        gap: 1.5rem;
        grid-template-columns: repeat(1, 1fr);
    }
    #sucession .sucession_target__cards h3 {
        color: #004988;
        font-size: 2rem;
        line-height: 1.5;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 700;
    }
    #sucession .sucession_worry__grid {
        display: grid;
        gap: 2.5rem;
        grid-template-columns: repeat(1, 1fr);
    }
    #sucession .sucession_worry__grid article {
        background: #fff;
        border-radius: 10px;
        min-height: 10rem;
        padding: 4rem 2rem 2rem;
        position: relative;
    }
    #sucession .sucession_worry__grid span {
        font-family: "Noto Sans JP", sans-serif;
        background:#fff000; 
        border-radius:999px; 
        color:#004988; 
        display:inline-block; 
        font-size:1.2rem; 
        font-weight:700; 
        left:2rem; 
        padding:0.45rem 1.5rem; 
        position:absolute; 
        top:-1.05rem; 
    }
    #sucession .sucession_worry__grid h3 {
        font-size: 1.7rem;
        line-height: 1.5;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 600;
    }
    #sucession .sucession_worry__grid p {
        line-height: 1.5;
        margin-top: 1rem;
    }

    #sucession .sucession_worry__grid p.text_border {
        font-weight: 500;
        font-size:1.2rem;

    }
    #sucession .sucession_worry__grid p.text_border::after {
        display: block !important;
        width: 5rem;
        left: 9rem;
    }

    #sucession .sucession_reason {
        display: block;
        padding-bottom: 0rem;
    }
    #sucession .sucession_reason::after{
        display: none;
    }
    #sucession .sucession_reason .sucession_reason__graphic {
        margin-top:2.5rem;
    }















    #sucession .sucession_reason_res {
        overflow: hidden;
        padding: 0;
        position: relative;
        margin: auto;
        margin-left: 0;
        margin-top: 5rem;
    }

    #sucession .sucession_reason_res > img {
        display: block;
        height: 57rem;
        object-fit: cover;
        width: 100%;
    }

    #sucession .sucession_reason_res::after {
        background: rgba(0, 44, 88, 0.76);
        content: "";
        inset: 0;
        position: absolute;
    }

    #sucession .sucession_reason_res .text_zone {
        color: #fff;
        inset: 0;
        padding: 5rem 3rem;
        position: absolute;
        z-index: 1;
    }

    #sucession .sucession_reason_res .reason_res_head {
        align-items: center;
        display: flex;
        gap: 2rem;
        justify-content: center;
    }

    #sucession .sucession_reason_res .reason_res_head img {
        display: block;
        width: 9.8rem;
    }

    #sucession .sucession_reason_res .reason_res_head p {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 500;
        line-height: 1.5;
        font-size: 2rem;
        margin: 0;
    }
    #sucession .sucession_reason_res .reason_res_history {
        margin-top: 2.5rem;
    }

     #sucession .sucession_reason_res .reason_res_history p:first-child,
    #sucession .sucession_reason_res .reason_res_block h3 {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 2.15rem;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.5;
        margin: 0;
        margin-top: 2.5rem;
    }

    #sucession .sucession_reason_res .reason_res_history p:last-child {
        align-items: flex-end;
        color: #fff;
        display: flex;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1;
        margin: 1.2rem 0 0;
    }

    #sucession .sucession_reason_res .reason_res_history span {
        color: #fff;
        font-family: "din-condensed", sans-serif;
        font-size: 5rem;
        font-weight: 500;
        line-height: 0.85;
        letter-spacing: -3px;
        margin-right: 0.5rem;
        margin-bottom: -6px;
    }

    #sucession .sucession_reason_res .reason_res_block p {
        color: #fff;
        font-family: "Noto Sans JP", sans-serif;
        font-size: 1.3rem;
        font-weight: 500;
        line-height: 1.5;
        margin: 1rem 0 0;
    }



}


@media screen and (max-width: 991px) {
    #sucession .sucession_reason_res .text_zone {
        color: #fff;
        inset: 0;
        padding: 5rem 2.5rem;
        position: absolute;
        z-index: 1;
    }
}