@charset "utf-8";

.header_item{
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-top: 0.3rem;
    position: fixed;
    padding-right: 120px;
    z-index: 44;
    align-items: center;
}

.header_logo_img{
    margin-left: 0.5rem;
}

.header_sns_links{
    display:flex;
    align-items: center;
}

.res_sns_links{
    display: none;
}

.header_logo_div{
    display: flex;
}

.sns_icon{
    width: 0.3rem;
    margin-left: 0.3rem;
}

/* サイズの小さいsnsアイコン調整 */

.sns_icon_small {
    width: 0.5rem;
    margin-left: 0.25rem;
}

.change_JP{
    font-family: 'Advent Pro', sans-serif;
    font-size: 0.15rem;
    margin-right:0.05rem;
    color:#000000;
    text-decoration: none;
}

.change_EN{
    font-family: 'Advent Pro', sans-serif;
    font-size: 0.15rem;
    margin-left: 0.05rem;
    color:#D9D9D9;
    cursor: pointer;
}

.change_EN:hover{
    text-decoration: underline #000 solid 1px;
}

.change_boredr{
    font-family: 'Advent Pro', sans-serif;
    font-size: 0.15rem;
}

.change_the_language{
    font-size: 20px;
    margin-right: 5px;
}



@media (max-width: 750px) {

    .res_sns_links a{
        display: block;
    }

    .res_sns_links .sns_icon{
        width: 2rem;
        background-color: #fff;
        margin: initial;
        padding: 5%;
        height: 30px;
        width: auto;
    }

    .change_EN{
        color: gray;
        font-size: 2rem;
        margin-left: 1.25rem;
    }

    .change_JP{
        color: white;
        font-size: 2rem;
        margin-left: 1.25rem;
    }

    .change_the_language{
        color: white;
        margin-left: 1.25rem;
        margin-top: 0.5rem;
    }

    .change_boredr{
        color: white;
        font-size: 2rem;
        margin-left: 1.25rem;
    }

    .menu_language{
        display: flex; /* 要素を横に並べる */
        margin-left: 3rem;
    }

    .header_logo_img{
        display: none;
    }

    }


/* 背景動画 */
.bg_video_wrap {
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
}
.bg_video_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: url(../images/bg_video_dot.png) repeat 50% 50%;
}
.bg_video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    object-fit: cover;
    font-family: 'object-fit: cover;'; /*IE対策*/
}
@media (min-width: 751px) {
    .bg_video_wrap {
        position: fixed;
        height: 100%;
    }
    
    .responsive_language{
        display: none;
    }
}
@media (max-width: 750px) {
    .bg_video_wrap {
        position: absolute;
        height: 100vh;
    }
}

/* decoration */
.decoration_1 {
    position: absolute;
    left: 50%;
}
.decoration_2 {
    position: absolute;
    left: 50%;
}
.decoration_3 {
    position: absolute;
    left: 50%;
}
.decoration_4 {
    position: absolute;
    left: 50%;
}
@media (min-width: 751px) {
    .decoration_1 {
        width: 3.86rem;
        height: auto;
        top: -0.78rem;
        margin-left: 2.35rem;
    }
    .decoration_2 {
        width: 2.81rem;
        height: auto;
        top: -0.32rem;
        margin-left: -8.6rem;
        z-index: 1;
    }
    .decoration_3 {
        width: 2.81rem;
        height: auto;
        top: -0.28rem;
        margin-left: 5.8rem;
        z-index: 1;
    }
    .decoration_4 {
        width: 2.81rem;
        height: auto;
        top: -1.05rem;
        margin-left: -6.82rem;
    }
}
@media (max-width: 750px) {
    .decoration_1 {
        top: -4rem;
        margin-left: -0.6rem;
        width: 19.4rem;
        height: auto;
    }
    .decoration_2 {
        top: -0.8rem;
        margin-left: -27.5rem;
        width: 13.8rem;
        height: auto;
    }
    .decoration_3 {
        top: -2.2rem;
        margin-left: 11.7rem;
        width: 14rem;
        height: auto;
        z-index: 1;
    }
    .decoration_4 {
        top: -3.6rem;
        margin-left: -25.8rem;
        width: 14rem;
        height: auto;
        z-index: 1;
    }

    .res_sns_links{
        display: flex;
        text-align: center;
        justify-content: center;
        gap: 4%;
    }

    .header_sns_links{
        display: none;
    }

    .header_icon{
        height: 2rem;
        width: 2rem;
    }

}

/* 共通 */
.content_subttl_wrap {
    font-size: 0;
    line-height: 0;
}
.content_subttl {
    display: inline-block;
    position: relative;
    font-style: italic;
    color: #333;
    font-weight: 700;
}
.content_subttl::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #333;
}
.content_center_subttl_wrap {
    font-size: 0;
    line-height: 0;
    text-align: center;
}
.content_center_subttl {
    display: inline-block;
    position: relative;
    font-style: italic;
    color: #333;
    font-weight: 700;
}
.content_center_subttl::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    background: #333;
}

.content_b_subttl {
    font-weight: 700;
}
.content_b_txt {
    font-weight: 500;
}
.p_set {
    display: block;
}
@media (min-width: 751px) {
    .content_subttl {
        font-size: 0.48rem;
        line-height: 0.48rem;
        padding-top: 0.24rem;
    }
    .content_subttl::before {
        height: 0.04rem;
        width: 0.4rem;
    }
    .content_center_subttl {
        font-size: 0.48rem;
        line-height: 0.48rem;
        padding-top: 0.24rem;
        width: 100%;
    }
    .content_center_subttl::before {
        height: 0.04rem;
        width: 0.4rem;
        margin-left: -0.2rem;
    }
    .content_b_subttl {
        font-size: 0.32rem;
        line-height: 1.42;
    }
    .content_b_txt {
        font-size: 0.19rem;
        margin-top: 0.2rem;
        margin-bottom: 0.12rem;
        line-height: 0.32rem;
    }
    .p_set + .p_set {
        margin-top: 0.12rem;
    }
}
@media (max-width: 750px) {
    .content_subttl {
        font-size: 2.4rem;
        line-height: 2.4rem;
        padding-top: 1.2rem;
    }
    .content_subttl::before {
        height: 0.2rem;
        width: 2rem;
    }
    .content_center_subttl {
        font-size: 2.4rem;
        line-height: 2.4rem;
        padding-top: 1.3rem;
        width: 100%;
    }
    .content_center_subttl::before {
        height: 0.2rem;
        width: 2rem;
        margin-left: -1rem;
    }
    .content_b_subttl {
        font-size: 2rem;
        line-height: 3.6rem;
    }
    .content_b_txt {
        font-size: 1.25rem;
        margin-top: 1.6rem;
        line-height: 2.85rem;
    }
    .p_set + .p_set {
        margin-top: 0.5rem;
    }
}

/* mv */
.mv {
    position: relative;
}
.mv_ttl {
    position: absolute;
    font-size: 0;
    line-height: 0;
}
.mv_ttl_x {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}
.mv_ttl_1_path {
    fill: none;
    stroke: #000;
    fill-rule: evenodd;
}
.is_animation_load .mv_ttl_1_path {
    transition: stroke-dashoffset 2s 0s cubic-bezier(0.65, 0, 0.35, 1);
}
.mv_ttl_2 {
    width: 100%;
    height: auto;
}
.mv_ttl_2_cover {
    position: relative;
}
.mv_ttl_2_inner {
    position: relative;
}
.is_animation_ready .mv_ttl_2_cover {
    clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
    opacity: 0;
}
.is_animation_load .mv_ttl_2_cover {
    clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
    opacity: 1;
    transition: clip-path 0.8s 1.2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0s 1.2s cubic-bezier(0.65, 0, 0.35, 1);
}

.is_animation_ready .mv_txt_1 {
    clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
    opacity: 0;
}
.is_animation_load .mv_txt_1 {
    clip-path: polygon(0% 0%, 0% 100%, 100% 100%, 100% 0%);
    opacity: 1;
    transition: clip-path 0.8s 2s cubic-bezier(0.65, 0, 0.35, 1), opacity 0s 2s cubic-bezier(0.65, 0, 0.35, 1);
}
.mv_ttl_2_path {
    fill-rule: evenodd;
}
.mv_scroll {
    position: absolute;
}
.mv_scroll_bar_wrap {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1px;
    overflow: hidden;
}
.mv_scroll_bar_wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0%;
    height: 100%;
    width: 100%;
    background: #000;
    transform: translateY(-100%);
}
.is_animation_load .mv_scroll_bar_wrap::after {
    animation: scroll_animation 3s infinite;
}
@keyframes scroll_animation {
    0% {
        transform: translateY(-100%);
    }
    70% {
        transform: translateY(100%);
    }
    100% {
        transform: translateY(100%);
    }
}
.mv_txt_1 {
    position: absolute;
    font-style: italic;
    color: #000;
    font-weight: 700;
}
@media (min-width: 751px) {
    .mv {
        min-height: 6rem;
        height: 100vh;
    }
    .mv_ttl {
        bottom: 0.89rem;
        left: 0.29rem;
        width: 12rem;
    }
    .mv_ttl_1_path {
        stroke-width: 2px;
        stroke-dasharray: 15rem;
    }
    .is_animation_ready .mv_ttl_1_path {
        stroke-dashoffset: 15rem;
    }
    .is_animation_load .mv_ttl_1_path {
        stroke-dashoffset: 0rem;
    }
    .mv_scroll {
        right: 1.35rem;
        bottom: 0;
        width: 12px;
        height: 172px;
    }
    .mv_scroll_txt {
        font-size: 14px;
        line-height: 1;
        letter-spacing: -0.05em;
    }
    .mv_scroll_bar_wrap {
        height: 121px;
        width: 1px;
    }
    .mv_ttl_txt {
        position: absolute;
        top: 0.1rem;
        left: 7rem;
        font-size: 0.43rem;
        line-height: 0.43rem;
        font-feature-settings: 'palt';
        font-style: italic;
    }
    .mv_txt_1 {
        left: 0.24rem;
        bottom: 0.31rem;
        font-size: 0.32rem;
        line-height: 1;
        letter-spacing: 0.14em;
    }
}
@media (max-width: 750px) {

    .responsive_language{
        position: absolute;
        top:1.35rem;
        right:6rem;
        border: 1px solid black;
        padding:1px 3px 2px 3px;
    }

    .mv {
        height: 100vh;
    }
    .mv_ttl {
        bottom: 53.2%;
        left: 2rem;
        width: 30rem;
        transform: translateY(50%);
    }
    .mv_ttl_1_path {
        stroke-width: 1px;
        stroke-dasharray: 300rem;
    }
    .is_animation_ready .mv_ttl_1_path {
        stroke-dashoffset: 300rem;
    }
    .is_animation_load .mv_ttl_1_path {
        stroke-dashoffset: 0rem;
    }

    .mv_scroll {
        right: 48.7%;
        bottom: 0;
        width: 1rem;
        height: 9.2rem;
    }
    .mv_scroll_txt {
        font-size: 0.9rem;
        line-height: 1.4;
        letter-spacing: -0.05em;
    }
    .mv_scroll_bar_wrap {
        height: 6.1rem;
        width: 1px;
    }
    .mv_ttl_txt {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 1.6rem;
        line-height: 1.6rem;
        font-feature-settings: 'palt';
        font-style: italic;
    }
    .mv_txt_1 {
        left: 1.8rem;
        bottom: 41.2%;
        font-size: 1.2rem;
        line-height: 1.8;
        letter-spacing: 0.08em;
        transform: translateY(50%);
    }
}

/* description */
.description {
    position: relative;
}
.description_box_wrap {
    display: flex;
}
.description_box_right {
    position: relative;
    background: #fff;
    width: 100%;
}
.description_logo {
    height: auto;
}
.description_path {
    fill-rule: evenodd;
}
.description_path {
    opacity: 0.1;
    background: #000;
    transition: opacity 0.4s;
}
[data-step='1'] .description_path_1 {
    opacity: 1;
}
[data-step='2'] .description_path_2 {
    opacity: 1;
}
[data-step='3'] .description_path_3 {
    opacity: 1;
}
.description_step_x_wrap {
    display: block;
}
.description_step_x {
    opacity: 0.2;
    transition: opacity 0.4s;
}
[data-step='0'] .description_step_0 {
    opacity: 1;
}
[data-step='1'] .description_step_1 {
    opacity: 1;
}
[data-step='2'] .description_step_2 {
    opacity: 1;
}
[data-step='3'] .description_step_3 {
    opacity: 1;
}

.description_box_txt {
    color: #333;
    vertical-align: baseline;
    font-feature-settings: 'palt';
    text-align: justify;
    height: 100%;
}
.description_box_txt_str {
    font-size: 0.3rem;
}
.description_step_x {
    display: block;
}
.description_step_x {
    position: relative;
    opacity: 0;
    transform: scale(0.98) translateY(0.5rem);
    transition: 1.2s;
}
.description_step_x.is_show {
    opacity: 1;
    transform: scale(1) translateY(0rem);
}
.description_step_x.is_end {
    opacity: 0.2;
}
.description_step_x_end {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
}
.description_logo_img{
    margin-top: 0.1rem;
}



@media (min-width: 751px) {
    .description {
        padding-bottom: 1.8rem;
    }
    .description_box_wrap {
        margin-top: 1.76rem;
    }
    .description_box_left {
        width: 3rem;
    }
    .description_box_right {
        padding: 0.7rem 0 0.7rem 0.8rem;
        flex: 1;
    }
    .description_box_right::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 100%;
        background: #fff;
        height: 100%;
        width: 100vw;
    }
    .description_logo {
        width: 2.25rem;
        margin-top: 0.94rem;
    }
    .description_box_txt {
        font-size: 0.2rem;
        font-weight: 700;
        line-height: 0.48rem;
        letter-spacing: 0.1em;
        height: 100%;
        margin-top: 1.125rem;
    }
    .description_box_txt_str {
        font-size: 0.3rem;
    }
    .description_step_x {
        transform: scale(0.98) translateY(0.5rem);
    }
    .description_step_x {
        margin-bottom: 1.125rem;
    }
    .description_step_x_end {
        bottom: -0.9rem;
    }
}
@media (max-width: 750px) {
    .description {
        padding-bottom: 16.2rem;
    }
    .description_box_wrap {
        margin-top: 8rem;
        flex-direction: column;
    }
    .description_box_left {
        width: 100%;
        position: relative;
        z-index: 1;
    }
    .description_box_right {
        padding: 4.5rem 1.9rem 1rem;
    }
    .description_logo {
        width: 11.25rem;
        margin-left: 1.7rem;
        margin-top: 4rem;
    }
    .description_box_txt {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 3rem;
        letter-spacing: 0em;
        height: 100%;
    }
    .description_box_txt_str {
        font-size: 1.9rem;
    }
    .description_step_x {
        transform: scale(0.98) translateY(2.5rem);
    }
    .description_step_x {
        margin-bottom: 4.5rem;
    }
    .description_step_x_end {
        bottom: -3.5rem;
    }
}

/* guidelines */
.guidelines {
    position: relative;
}
.guidelines_box {
    position: relative;
    background: #fff;
}
.guidelines_list {
    display: flex;
}
.guidelines_list > li {
    background: url(../images/guidelines_item_bg.svg) no-repeat 50% 50% / contain;
}
.guidelines_item_inner {
    display: flex;
    align-items: center;
    position: relative;
}
.guidelines_box_2 {
    position: relative;
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    height: 3rem;
    width: 100%;
    margin-top: -1.15rem;
}
.guidelines_box_2_inner {
    display: flex;
}
.guidelines_img {
    height: auto;
}
.guidelines_box_2_text {
    color: #fff;
}
@media (min-width: 751px) {
    .guidelines {
        padding-bottom: 1.8rem;
    }
    .guidelines_box {
        padding: 1.2rem 0.2rem 0.7rem 0rem;
        height: 7.4rem;
        width: 100%;
    }
    .guidelines_box::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        right: 100%;
        background: #fff;
        height: 100%;
        width: 100vw;
    }
    .guidelines_list {
        margin-top: 0.84rem;
    }
    .guidelines_list > li {
        width: 2.8rem;
        height: 2.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .guidelines_list > li + li {
        margin-left: 0.7rem;
    }
    .guidelines_list > li:nth-child(2) {
        margin-top: 0.2rem;
    }
    .guidelines_list > li:nth-child(3) {
        margin-top: 0.4rem;
    }
    .guidelines_list_bottom{
        display: flex;
        justify-content: space-around;
    }
    .guidelines_list_bottom > li {
        width: 265.13px;
        height: 2.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .guidelines_item_inner {
        justify-content: center;
        width: 140%;
        margin-left: -20%;
        font-size: 0.24rem;
        font-weight: 700;
        line-height: 0.43rem;
        left: 0.3rem;
    }
    .guidelines_item_bottom {
        padding: 10px;
        margin-bottom: 10px;
        background-color: #000000;
        justify-content: center;
        width: 140%;
        font-size: 0.17rem;
        color: #fff;
        font-weight: 700;
        line-height: 0.3rem;
        margin-left: 0.3rem;
        margin-right: 0.3rem;
        text-align: center;
    }
    .guidelines_box_2 {
        height: 3rem;
        width: 100%;
        margin-top: -1.17rem;
    }
    .guidelines_box_2::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 100%;
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        background: linear-gradient(#335976 0%, #003054 100%);
        height: 100%;
        width: 100vw;
    }

    .guidelines_box_2_img_wrap {
        width: 5rem;
    }
    .guidelines_img {
        width: 5rem;
    }
    .guidelines_box_2_text {
        margin-left: 0.4rem;
        margin-top: 0.54rem;
        flex: 1;
    }
}
@media (max-width: 750px) {
    .guidelines {
        padding-bottom: 6.2rem;
    }
    .guidelines_box {
        padding: 6rem 2rem 0rem;
        height: 56.6rem;
        width: 35.5rem;
    }
    .guidelines_list {
        flex-direction: column;
        align-items: start;
        margin-top: 4rem;
    }
    .guidelines_list > li {
        width: 13.9rem;
        height: 11.6rem;
    }
    .guidelines_list > li:nth-child(2) {
        margin-top: 1.5rem;
    }
    .guidelines_list > li:nth-child(3) {
        margin-top: 1.6rem;
    }
    .guidelines_item_inner {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 2.8rem;
        justify-content: start;
        width: 27rem;
        margin-left: 4rem;
        height: 100%;
    }
    .guidelines_box_2 {
        padding: 0rem 0rem 0rem;
        height: 50rem;
        width: 35.5rem;
        margin-top: -1.17rem;
    }
    .guidelines_box_2_inner {
        flex-direction: column;
    }
    .guidelines_box_2_img_wrap {
        width: 100%;
        font-size: 0;
    }
    .guidelines_img {
        width: 100%;
    }
    .guidelines_box_2_text {
        margin-left: 2rem;
        margin-right: 2rem;
        margin-top: 3rem;
    }
}

/* business */
.business {
    position: relative;
}
.business_box {
    background: #fff;
    position: relative;
}
.business_contents_image{
    width:100%;
    margin-top: 0.5rem;
}
.business_txt_set {
    display: block;
    text-align: justify;
}
.business_txt_set > dt {
    font-weight: 700;
    text-align: center;
}
.business_txt_set > dd {
    font-weight: 500;
}
.business_box_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.business_box_item_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
.business_box_item_cover {
    position: relative;
    text-align: center;
}
.business_icon_wrap_top {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 0.3rem;
}

.business_icon_wrap_bottom {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 0.3rem;
}

.business_icon_wrap {
    text-align: center;
    justify-content: center;
}

.business_icon{
    height: 0.7rem;
}

.business_box_item_txt {
    position: relative;
    font-weight: 700;
}
.business_box_item_txt_cap {
    font-weight: 400;
}
.business_box_2 {
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    position: relative;
    color: #fff;
}
.business_box_item_ttl {
    color: #fff;
    font-weight: 700;
    text-align: center;
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
}
.business_box_item_list {
  width: 100%;
  justify-content: center;
}


.lp_link {
    border: 0.01rem solid #ffffff;
    font-size: 0.16rem;
    width: 30%;
    margin-top: 0.5rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.lp_link a{
    text-decoration: none;
    font-style: italic;
    display: block;
    font-weight: 700;
    text-align: center;
    color: #fff;
    padding: 0.2rem;
    position: relative;

}

.lp_link a::after{
    content: '＞';
    font-style: normal;
    font-weight: 400;
    color: #fff;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right:10px;

}

.lp_link::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right:0px;
    background: #ffffff;
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}

  .lp_link a:hover {
    color: #003054;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
  }

  .lp_link:hover::after {
    transform: scale(1, 1);
  }
   
  .lp_link a:hover::after{
    color: #003054;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
}


.recruit_link {
    border: 0.01rem solid #ffffff;
    font-size: 0.16rem;
    width: 60%;
    margin-top: 0.5rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.recruit_link a{
    text-decoration: none;
    font-style: italic;
    display: block;
    font-weight: 700;
    text-align: center;
    color: #fff;
    padding: 0.2rem;
    position: relative;

}

.recruit_link a::after{
    content: '＞';
    font-style: normal;
    font-weight: 400;
    color: #fff;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right:10px;

}

.recruit_link::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right:0px;
    background: #ffffff;
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}

  .recruit_link a:hover {
    color: #003054;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
  }

  .recruit_link:hover::after {
    transform: scale(1, 1);
  }
   
  .recruit_link a:hover::after{
    color: #003054;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
}

@media (min-width: 751px) {
    .business {
        padding-bottom: 1.76rem;
    }
    .business_box {
        width: 100%;
        height:13.8rem;
        padding: 1.2rem 0rem 0;
    }
    .business_box::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 100%;
        background: #fff;
        height: 100%;
        width: 100vw;
    }
    .business_box::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        right: 100%;
        background: #fff;
        height: 100%;
        width: 100vw;
    }
    .business_txt_set {
        margin-top: 0.84rem;
    }
    .business_txt_set > dt {
        font-size: 0.23rem;
        line-height: 0.28rem;
    }
    .business_txt_set > dd {
        font-size: 0.19rem;
        line-height: 0.32rem;
        margin-top: 0.3rem;
    }
    .business_box_list {
        margin-top: 0.81rem;
        justify-content: space-between;
    }
    .business_box_list > li {
        width: 5rem;
    }
    .business_box_list > li:nth-child(n + 3) {
        margin-top: 0.48rem;
    }
    .business_box_item_cover {
        margin-top: -0.1rem;
    }


    .business_box_item_txt {
        margin-top: 0.12rem;
        font-size: 0.17rem;
        line-height: 0.24rem;
    }
    .business_box_item_txt_cap {
        font-size: 0.14rem;
        line-height: 0.18rem;
    }
    .business_box__1 {
        margin-top: 0.68rem;
        height: 1.6rem;
    }
    .business_box__1::after {
        border: 0.5rem solid transparent;
        bottom: -0.9rem;
        margin-left: -0.5rem;
        border-top-color: #f2f2f2;
    }
    .business_box__1_1 {
        top: 0.66rem;
        left: 0.5rem;
        font-size: 0.24rem;
        line-height: 1;
    }
    .business_box__1_2 {
        top: 0.38rem;
        left: 5.6rem;
        border-radius: 0.08rem;
        font-size: 0.18rem;
        line-height: 0.24rem;
        width: 2.15rem;
        padding: 0.07rem 0;
    }
    .business_box__1_3 {
        top: 0.38rem;
        left: 8.15rem;
        border-radius: 0.08rem;
        font-size: 0.18rem;
        line-height: 0.24rem;
        width: 2.15rem;
        padding: 0.07rem 0;
    }
    .business_box__1_4 {
        top: 1.03rem;
        left: 6.14rem;
        font-size: 0.18rem;
        line-height: 0.24rem;
        width: 4.7rem;
    }
    .business_box__1_4::after {
        top: -0.17rem;
        left: 1.78rem;
        width: 3.58rem;
        margin-left: -1.2rem;
        height: 0.1rem;
    }
    .business_box__2 {
        margin-top: 0.7rem;
        height: 3.75rem;
    }
    .business_box__2_1 {
        top: 0.32rem;
        left: 0.48rem;
        font-size: 0.24rem;
    }
    .business_box__2_2 {
        top: 0.85rem;
        left: 0.5rem;
        width: 9.78rem;
    }
    .business_box__2_2 > li {
        width: 2.14rem;
    }
    .business_box__2_2 h3 {
        border-radius: 0.08rem;
        padding: 0.08rem 0;
        font-size: 0.18rem;
        line-height: 0.24rem;
    }
    .business_box__2_2_list {
        margin-top: 0.15rem;
        font-size: 0.18rem;
        line-height: 0.32rem;
        margin-left: 0.1rem;
    }
    .business_box__2_2_list > li {
        padding-left: 0.28rem;
        text-indent: -0.18rem;
    }
    .business_box__2_2_list_cap {
        font-size: 0.14rem;
        line-height: 0.32rem;
        margin-left: 0.05rem;
        margin-top: -0.07rem;
    }
    .business_box__2_3 {
        top: 3.12rem;
        left: 0rem;
        font-size: 0.2rem;
        line-height: 0.24rem;
    }
    .business_box__2_3::after {
        top: -0.33rem;
        left: 0.5rem;
        width: 9.8rem;
        height: 0.2rem;
        font-size: 0.2rem;
    }

    .business_box_2 {
        width: 100%;
        padding: 1rem 0.78rem;
    }
    .business_box_2::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 100%;
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        background: linear-gradient(#335976 0%, #003054 100%);
        height: 100%;
        width: 100vw;
    }
    .business_box_2::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        right: 100%;
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        background: linear-gradient(#335976 0%, #003054 100%);
        height: 100%;
        width: 100vw;
        z-index: 1;
    }
    .business_box_item_ttl {
        font-size: 0.2rem;
        line-height: 0.24rem;
        padding: 0.1rem;
    }
    .business_box_item_list {
        margin-top: 0rem;
    }
    .business_box_item_list > li + li {
        margin-left: 0.8rem;
    }

    .business_box_list > li:last-child{
        margin:0 auto;
        margin-top: 0.48rem;
    }
}
@media (max-width: 750px) {
    .business {
        padding-bottom: 6rem;
    }
    .business_box {
        width: 33.5rem;
        margin: 3rem auto 0;
        padding: 5.8rem 0rem 4rem;
    }
    .business_txt_set {
        margin: 3.5rem 2rem 0rem;
    }
    .business_txt_set > dt {
        font-size: 1.23rem;
        line-height: 2.4rem;
    }
    .business_txt_set > dd {
        font-size: 1.2rem;
        line-height: 2.2rem;
        margin-top: 1rem;
    }
    .business_box_list {
        margin-top: 4rem;
        position: relative;
        z-index: 1;
    }
    .business_box_list {
        margin-top: 4.1rem;
        flex-direction: column;
    }
    .business_box_list > li + li {
        margin-top: 2.6rem;
    }
    .business_box_item_cover {
        margin-top: 0rem;
    }
    .business_icon_wrap {
        height: 8.8rem;
    }

    .business_icon{
        height: 4rem;
    }
    
    .business_icon_wrap_top {
        margin-top: 2rem;
    }

    .business_icon_wrap_bottom {
        margin-top: 2rem;
    }

    .business_box_item_txt {
        margin-top: 0.3rem;
        font-size: 1.3rem;
        line-height: 1.9rem;
    }
    .business_box_item_txt_cap {
        font-size: 1.2rem;
        line-height: 1.5rem;
    }
    .business_box__1 {
        margin-top: 2.7rem;
        height: 22rem;
    }
    .business_box__1::after {
        border: 2.5rem solid transparent;
        bottom: -4.3rem;
        margin-left: -2.5rem;
        border-top-color: #f2f2f2;
    }
    .business_box__1_1 {
        top: 3.8rem;
        left: 5.5rem;
        font-size: 1.6rem;
        line-height: 1;
    }
    .business_box__1_2 {
        top: 7.5rem;
        left: 3.9rem;
        border-radius: 0.4rem;
        font-size: 1.3rem;
        line-height: 1.34rem;
        width: 27.6rem;
        padding: 0.8rem 0;
    }
    .business_box__1_3 {
        top: 11.6rem;
        left: 3.9rem;
        border-radius: 0.4rem;
        font-size: 1.3rem;
        line-height: 1.34rem;
        width: 27.6rem;
        padding: 0.8rem 0;
    }
    .business_box__1_4 {
        top: 16.6rem;
        left: 2.9rem;
        font-size: 1.4rem;
        line-height: 1.4rem;
        width: 27.6rem;
    }
    .business_box__1_4::after {
        top: -2.1rem;
        left: -0.2rem;
        width: 4rem;
        height: 2.88rem;
        border-right: none;
    }
    .business_box__1_4::before {
        content: '';
        position: absolute;
        border: 1px solid #003054;
        top: -7.6rem;
        left: -0.9rem;
        width: 1.4rem;
        height: 5.6rem;
        border-right: none;
    }
    .business_box__2 {
        margin-top: 2.8rem;
        height: 62.75rem;
    }
    .business_box__2_1 {
        top: 3.5rem;
        left: 4rem;
        font-size: 1.6rem;
    }
    .business_box__2_2 {
        top: 7.6rem;
        left: 3.9rem;
        width: 27.4rem;
        flex-direction: column;
    }
    .business_box__2_2 > li {
        width: 100%;
    }
    .business_box__2_2 > li + li {
        margin-top: 1.9rem;
    }
    .business_box__2_2 h3 {
        border-radius: 0.4rem;
        padding: 0.9rem 0;
        font-size: 1.3rem;
        line-height: 1.2rem;
    }
    .business_box__2_2_list {
        margin-top: 0.9rem;
        font-size: 1.3rem;
        line-height: 2rem;
        margin-left: -0.1rem;
    }
    .business_box__2_2_list > li {
        padding-left: 0.28rem;
        text-indent: -0.18rem;
    }
    .business_box__2_2_list_cap {
        font-size: 1.2rem;
        line-height: 2rem;
        margin-left: 1.2rem;
        margin-top: -0.2rem;
    }
    .business_box__2_3 {
        top: 52.1rem;
        left: 0rem;
        font-size: 1.6rem;
        line-height: 2.3rem;
        text-align: center;
        width: 33.3rem;
    }
    .business_box__2_3::after {
        top: -3.1rem;
        left: 2.5rem;
        width: 1.2rem;
        height: 4.4rem;
        border-right: none;
    }
    .business_box__2_3::before {
        content: '';
        display: block;
        position: absolute;
        border: 2px solid #003054;
        top: -44.6rem;
        left: 1.9rem;
        width: 1.4rem;
        height: 41.7rem;
        border-right: none;
    }
    .business_box_2 {
        width: 33.5rem;
        margin: 0 auto;
        padding: 3rem 2rem;
    }
    .business_box_item_ttl {
        font-size: 1.4rem;
        line-height: 1.9rem;
        padding: 1.1rem;
    }
    .business_box_item_list {
        width: 100%;
    }
    .business_box_item_list > li {
        width: 50%;
    }

    .lp_link {
        width: 100%;
        padding: 1.2rem 0;
        margin-top: 1.5rem;
    }

    .lp_link a{
        font-size: 1.25rem;
    }

    .recruit_link{
        width: 100%;
        padding: 1.2rem 0;
        margin-top: 1.5rem;
    }

    .recruit_link a {
        font-size: 1.25rem;
    }


    
}

/* flow */
.flow {
    position: relative;
}
.flow_box {
    background: #fff;
    position: relative;
}
.flow_box_list > li {
    position: relative;
}
.flow_box_item_ttl {
    font-weight: 700;
    color: #333;
}
.flow_box_item_txt {
    font-weight: 500;
    color: #333;
}
.flow_box_list > li:nth-child(1)::before {
    content: '';
    display: block;
    position: absolute;
    background: url(../images/flow_box_item_num_1.svg) no-repeat 50% 50% / contain;
}
.flow_box_list > li:nth-child(2)::before {
    content: '';
    display: block;
    position: absolute;
    background: url(../images/flow_box_item_num_2.svg) no-repeat 50% 50% / contain;
}
.flow_box_pattern_list > li {
    position: relative;
}
.flow_box_pattern_list_arrow {
    position: absolute;
    background: #e5e5e5;
}
.flow_box_pattern_list_arrow::after {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
}
.flow_box_pattern {
    display: inline-block;
    border: 1px solid #000;
    color: #333;
}
.flow_box_pattern_txt {
    font-weight: 500;
    color: #333;
    margin-top: 0.14rem;
}
.flow_box_pattern_detail_list > li {
    font-weight: 500;
    color: #333;
}

.flow_box_2 {
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    position: relative;
    color: #fff;
}

.recruit_inner{
    width: 55%;
    display: block;
}

.left_content{
   padding: 0.78rem 1.5rem; 
   margin-right: -300px;

}

.flow_box_3 {
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    margin-bottom: 1.8rem;
    display: flex;
    justify-content:space-between;
    color: #fff;
}


.recruit_ph img{
    height: 4rem;
}

.recruit_wrapper{
    display: flex;
    justify-content: flex-end;
}
  
.recruit_ph_sponly{
    display: none;
}


@media (min-width: 751px) {
    .flow {
        padding-bottom: 1.8rem;
    }
    .flow_box {
        width: 100%;
        padding: 1.22rem 0.8rem;
    }
    .flow_box::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 100%;
        background: #fff;
        height: 100%;
        width: 100vw;
    }
    .flow_box_list {
        margin-top: 0.85rem;
        width: 108.5%;
    }
    .flow_box_list > li {
        padding-left: 2.55rem;
    }
    .flow_box_list > li + li {
        margin-top: 0.94rem;
    }
    .flow_box_item_ttl {
        font-size: 0.24rem;
        line-height: 0.35rem;
    }
    .flow_box_item_txt {
        font-size: 0.16rem;
        line-height: 0.32rem;
        margin-top: 0.3rem;
    }
    .flow_box_item_txt_cover {
        display: flex;
    }
    .flow_box_list > li:nth-child(1)::before {
        top: 0rem;
        left: 0rem;
        width: 1.4rem;
        height: 1.4rem;
    }
    .flow_box_list > li:nth-child(2)::before {
        top: 0rem;
        left: 0rem;
        width: 1.7rem;
        height: 1.6rem;
    }
    .flow_box_pattern_list {
        margin-top: 0.38rem;
    }
    .flow_box_pattern_list > li + li {
        margin-top: 0.3rem;
    }
    .flow_box_pattern_list_arrow {
        top: 0.55rem;
        left: 0.07rem;
        width: 0.02rem;
        height: 75.4%;
    }
    .flow_box_pattern_list_arrow::after {
        margin-left: -0.1rem;
        border: 0.1rem solid transparent;
        border-bottom: none;
        border-top-color: #e5e5e5;
    }
    .flow_box_pattern {
        font-size: 0.16rem;
        line-height: 0.26rem;
        padding: 0 0.1rem;
    }
    .flow_box_pattern_txt {
        font-size: 0.16rem;
        line-height: 0.32rem;
        margin-top: 0.14rem;
        margin-left: 0.4rem;
    }
    .flow_box_pattern_detail_list {
        margin-left: 0.7rem;
    }
    .flow_box_pattern_detail_list > li {
        font-size: 0.16rem;
        line-height: 0.32rem;
    }
    .flow_box_2 {
        width: 100%;
        height: 5.8rem;
        padding: 0.78rem 0.78rem;
    }
    .flow_box_2::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        right: 100%;
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        background: linear-gradient(#335976 0%, #003054 100%);
        height: 100%;
        width: 100vw;
    }
    .flow_box_2_data_wrap {
        margin-top: 0.3rem;
        border-top: 1px solid #506e85;
    }
    .flow_box_2_data {
        display: flex;
        padding: 0.34rem 0;
        border-bottom: 1px solid #506e85;
    }
    .flow_box_2_data > dt {
        padding-left: 0.26rem;
        width: 3rem;
        font-size: 0.16rem;
        font-weight: 700;
        line-height: 0.32rem;
        color: #a9b2bb;
    }
    .flow_box_2_data > dd {
        flex: 1;
        font-size: 0.16rem;
        font-weight: 700;
        line-height: 0.32rem;
        color: #fff;
    }

    .recruit_inner{
        width: 70%;
        display: block;
    }
    

    .flow_box_3 {
        height: 4rem;
        position: relative;

    }

    
    .flow_box_3_data_wrap {
        margin-top: 0.3rem;
        border-top: 1px solid #506e85;
    }
    .flow_box_3_data {
        display: flex;
        padding: 0.34rem 0;
        border-bottom: 1px solid #506e85;
    }
    .flow_box_3_data > dt {
        padding-left: 0.26rem;
        width: 3rem;
        font-size: 0.16rem;
        font-weight: 700;
        line-height: 0.32rem;
        color: #a9b2bb;
    }
    .flow_box_3_data > dd {
        flex: 1;
        font-size: 0.16rem;
        font-weight: 700;
        line-height: 0.32rem;
        color: #fff;
    }

    .indent_text{
        padding-left: 1.2em;

    }

    
}
@media (max-width: 750px) {
    .flow {
        padding-bottom: 7.3rem;
    }
    .flow_box {
        width: 100%;
        height: 115rem;
        padding: 5.6rem 1.9rem 3rem;
    }

    .flow_box_list {
        margin-top: 4.2rem;
        width: 100%;
    }

    .flow_box_list > li + li {
        margin-top: 9.5rem;
    }
    .flow_box_item_ttl {
        font-size: 1.6rem;
        line-height: 2.5rem;
        margin-top: 9rem;
    }
    .flow_box_item_txt {
        font-size: 1.4rem;
        line-height: 2.2rem;
        margin-top: 1.7rem;
        margin-left: 2rem;
        width: 31.5rem;
        text-align: justify;
    }
    .flow_box_item_txt_cover + .flow_box_item_txt_cover {
        margin-top: 1.2rem;
    }
    .flow_box_item_txt_cover > dd {
        margin-left: 1.6rem;
    }
    .flow_box_list > li:nth-child(1)::before {
        top: -5rem;
        left: 0rem;
        width: 7.4rem;
        height: 7.4rem;
    }
    .flow_box_list > li:nth-child(2)::before {
        top: -5rem;
        left: 0rem;
        width: 9.1rem;
        height: 7.4rem;
    }
    .flow_box_pattern_list_arrow {
        top: 3.6rem;
        left: 0.7rem;
        width: 0.1rem;
        height: 91.2%;
    }
    .flow_box_pattern_list_arrow::after {
        margin-left: -0.6rem;
        border: 0.6rem solid transparent;
        border-bottom: none;
        border-top-color: #e5e5e5;
    }
    .flow_box_pattern_list {
        margin-top: 2.1rem;
    }
    .flow_box_pattern_list > li + li {
        margin-top: 3.4rem;
    }
    .flow_box_pattern {
        font-size: 1.4rem;
        line-height: 1.8rem;
        padding: 0 0.9rem;
    }
    .flow_box_pattern_txt {
        font-size: 1.4rem;
        line-height: 2.2rem;
        margin-top: 1.1rem;
    }
    .flow_box_pattern_list > li:not(:last-child) .flow_box_pattern_txt {
        margin-left: 2.1rem;
        width: 31.3rem;
    }
    .flow_box_pattern_detail_list {
        margin-top: 1.1rem;
        width: 30rem;
    }
    .flow_box_pattern_list > li:not(:last-child) .flow_box_pattern_detail_list {
        margin-left: 3.2rem;
    }
    .flow_box_pattern_list > li:last-child .flow_box_pattern_detail_list {
        margin-left: 1.2rem;
    }

    .flow_box_pattern_detail_list > li {
        font-size: 1.4rem;
        line-height: 2.2rem;
        padding-left: 0.3rem;
        text-indent: -0.1rem;
    }
    .flow_box_pattern_detail_list_sp_set {
        display: inline-block;
        width: 23.7rem;
        vertical-align: top;
    }
    .flow_box_pattern_detail_list_sp_set_inner {
        width: 102%;
        display: block;
    }
    .flow_box_pattern_detail_list > li + li {
        margin-top: 1.1rem;
    }

    .flow_box_2 {
        width: 35.5rem;
        height: 54rem;
        margin-left: 2rem;
        padding: 3rem 2rem;
    }
    .flow_box_2_data_wrap {
        margin-top: 3.4rem;
        border-top: 1px solid #506e85;
    }
    .flow_box_2_data {
        border-bottom: 1px solid #506e85;
        padding: 1.8rem 0;
    }
    .flow_box_2_data > dt {
        padding-left: 0rem;
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.4rem;
        color: #a9b2bb;
    }
    .flow_box_2_data > dd {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 2.2rem;
        color: #fff;
        margin-top: 0.7rem;
        margin-left: 1.5em;
        width: 94%;
    }

    .flow_box_3 {
        display: block;
        height: fit-content;
        position: relative;
    }

    .flow_box_3_data_wrap {
        margin-top: 3.4rem;
        border-top: 1px solid #506e85;
    }
    .flow_box_3_data {
        border-bottom: 1px solid #506e85;
        padding: 1.8rem 0;
    }
    .flow_box_3_data > dt {
        padding-left: 0rem;
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 1.4rem;
        color: #a9b2bb;
    }
    .flow_box_3_data > dd {
        font-size: 1.4rem;
        font-weight: 700;
        line-height: 2.2rem;
        color: #fff;
        margin-top: 0.7rem;
        margin-left: 1.5em;
        width: 94%;
    }

    .recruit_inner{
        width: 90%;
        display: block;
    }

    .left_content{
        padding: 0.78rem 1.5rem; 
        margin-right: initial;
        padding: 3rem 2rem;
     
     }

    .recruit_ph{
        display: none;
    }

    .recruit_ph_sponly{
        display: block;
    }

    .recruit_ph_sponly img{
        width: 100%;
    }


}

/* case */

#case{
    margin: 1.2rem auto 0;
}
.case_title{
    font-size: 0.2rem;
    line-height: 0.35rem;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.case_desc{
    font-size: 0.19rem;
    line-height: 0.32rem;
}



.case_wrapper{
    margin: 0.84rem 0 1.8rem;
}

.case_box{
    display: flex;
    margin-bottom: 1.2rem;
    position: relative;
    align-items: center;

}

.case_txt{
    background-color: #fff;
    position: absolute;
    right: 0;
    height: 130%;
    width: 75%;
    padding: 0.3rem 0.5rem 0.2rem 1.5rem;
}


.case_box img{
    display: block;
    width: 35%;
    flex-basis: 35%;
    z-index: 2;
}

.case_link {
    border: 0.01rem solid #000000;
    font-size: 0.16rem;
    width: 40%;
    margin-top: 0.2rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.case_link a{
    text-decoration: none;
    font-style: italic;
    display: block;
    font-weight: 700;
    text-align: center;
    color: #000;
    padding: 0.1rem;
    position: relative;

}

.case_link a::after{
    content: '＞';
    font-style: normal;
    font-weight: 400;
    color: #000;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    right:10px;

}

.case_link::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right:0px;
    background: #000;
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}

  .case_link a:hover {
    color: #FFF;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
  }

  .case_link:hover::after {
    transform: scale(1, 1);
  }
   
  .case_link a:hover::after{
    color: #fff;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
}

.case_wrap{
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.case_block{
    width:calc(100%/3);/* 横幅を3等分 */
    height:auto;
    display:flex;/* 高さを揃えるための指定 */
    flex-direction:column;
    margin-bottom: 0.6rem;
    text-decoration: none;
    color: #000;
   
}

.case_image{
    width: 3.25rem;
    height:2.25rem;
    display: block;
    margin: auto;
}

.case_image_2{
    width: 3.25rem;
    height:2.25rem;
    display: block;
    margin:0 auto;
}

.case_content{
    background-color: white;
    width: 80%;
    display: block;
    margin:auto;
    margin-top: -0.5rem;
}

.case_content_text_box{
    margin-left: 0.15rem;
    margin-top: 0.15rem;
    margin-bottom: 0.25rem;
    margin-right: 0.15rem;
}


.case_content_text {
    display: flex;
    flex-wrap: wrap; /* flex-wrapをwrapに変更 */
    
    align-items: center;
}

.case_content_text p {
    display: flex;
    box-sizing: border-box;
    white-space: nowrap; /* 要素内での改行を防ぐ */
    text-align:center;
    margin-top: 0.05rem;
    border:solid #003054 1px;
    margin-right: 0.05rem;
    padding: 0.035rem 0.1rem;
    color: #003054;
}



h3.case_title{
    margin-top: 0.15rem;
    margin-bottom: 0.1rem;
}

.case_detail_text{
    font-size: 0.175rem;
}

.all_case_button{
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    padding:0.25rem 1rem;
    font-weight: bold;
    margin:0.25rem;
    color:#ffffff;
    border: 1px solid #003054;
    margin-top: -0.5rem;
    font-size: 0.175rem;
}

/* .case_check{
    display: none;
} */

.case_links{
    text-decoration: none;
    color: inherit;
    z-index: 1; 
}

.case_category_box{
    display: flex;
    align-items: center;
}

.case_article_category_01{
    background-color: #335976;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}

.case_article_category_02{
    background-color: #567A6F;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}

.case_article_category_03{
    background-color: #763344;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}

.case_article_category_04{
    background-color: #FF7F50;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}

.case_article_category_05{
    background-color: #8B008B;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}

.case_article_category_06{
    background-color: #567A6F;
    color:white;
    padding: 0.035rem 0.1rem;
    margin-right: 0.15rem;
    font-weight: 400;
    margin-top: 0.05rem;
    margin-right: 0.05rem;
}



@media (max-width: 750px){
    .case_wrap{
        
        margin-top: 3rem;
        justify-content: center;
        align-items: center;
        display: flex;

    }

    .case_image{
        margin:0;
        width: 15rem;
        height: 12rem;
    }

    .case_image_2{
        margin:0;
        width: 15rem;
        height: 12rem;
    }

    .case_block{
        margin-top: 2rem;
        display: flex;
        width: 100%;
        flex-direction: row;
        align-items:stretch;
    }

    .case_content{
        background-color:#E5E5E5;
        padding: 0.25rem;
        height:12rem;
        margin: 0;
        text-align:left;
    }

    h3.case_title{
        font-size: 1.25rem;
        line-height: 2rem;
    }

    .case_detail_text{
        font-size: 1.15rem;
        margin-top: initial;
    }

    .case_01_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_02_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_03_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_04_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_05_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_06_text{
        padding:0.1rem 0.75rem;
        font-size: 1rem;
    }

    .case_category_text{
        font-size: 1rem;
        margin-right: 0.5rem;
    }

    /* .case_detail_text{
        margin-top: -1.5rem;
    } */

    .all_case_button{
        padding: 1rem 3rem;
        font-size: 1rem;
        margin-top: 1rem;
    }

    .case_box{
        display: block;
    }

    .case_box img{
        width: 100%;
    }

    .case_txt{
        position: initial;
        background-color: initial;
        width: 100%;
        padding: initial;
    }

    .case_title{
        line-height: 4rem;
        font-size: 1.6rem;


    }

    .case_desc{
        line-height: 2.2rem;
        font-size: 1.25rem;
    }

    .case_wrapper{
        margin: 3.5rem 0;
    }

    .case_link{
        margin: 2rem auto 3rem;
        text-align: center;
        width: 50%;
    }

    .case_link a{
        padding: 1.1rem 0;
        font-size: 1.25rem;
    }

    #case{
        padding:5.6rem 1.9rem 3rem ;
    }

    .case_content_text p {
        display: flex;
        box-sizing: border-box;
        white-space: nowrap; /* 要素内での改行を防ぐ */
        text-align:center;
        margin-top: 0.5rem;
        border:solid #003054 1px;
        margin-right: 0.5rem;
        padding: 0.055rem 0.5rem;
        color: #003054;
    }

    .case_article_category_01{
       font-size:1rem;
       margin-top: 0.5rem;
       margin-right: 0.5rem;
       padding: 0.055rem 0.5rem;
    }

    .case_article_category_02{
            font-size:1rem;
            margin-top:0.5rem;
            margin-right:0.5rem;
            padding:0.055rem 0.5rem;
    }

    .case_article_category_03{
        font-size:1rem;
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        padding: 0.055rem 0.5rem;
    }

    .case_article_category_04{
        font-size:1rem;
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        padding: 0.055rem 0.5rem;
    }

    .case_article_category_05{
        font-size:1rem;
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        padding: 0.055rem 0.5rem;
    }

    .case_article_category_07{
        font-size:1rem;
        margin-top: 0.5rem;
        margin-right: 0.5rem;
        padding: 0.055rem 0.5rem;
    }
    

    .case_article_category_{
        font-size:1rem;
        margin-top:0.5rem;
        margin-right:0.5rem;
        padding:0.055rem 0.5rem;
    }

    h2.case_title{
        margin-top: 2rem;
    }

}




/* news */
.news {
    background-color: #ffffff;
    padding: 0.4rem;
}
.news_title {
    margin-bottom: 0.3rem;
}
.news_content {
    height: 250px;
    overflow-y: scroll;
}
.news_list {
    list-style: none outside;
    margin: 0;
    padding: 0;
}
.news_list .item a {
    display: flex;
    flex-wrap: wrap;
    flex-wrap: nowrap;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #CCC;
    padding: 20px 20px;
    width: 100%;
}
.news_list .item:first-child a {
    border-top: 1px solid #CCC;
}
.news_list .item .date {
    margin: 0;
    min-width: 140px;
    font-size: 16px;
    color: #999;
    padding: 0 20px 0 0;
}
.news_list .item .category {
    margin: 0;
    min-width: 140px;
    padding: 0 20px 0 0;
}
.news_list .item .category span {
    background: #999;
    color: #FFF;
    text-align: center;
    display: inline-block;
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1;
}
.news_list .item .text {
    margin: 0;
    width: 100%;
}
.news_list .item a:hover {
    background-color: #f2f2f2;
}
.news_list .item .press_release span {
    background-color: #335976;
}
.news_list .item .publish span {
    background-color: #8b008b;
}

.news_list .item .case span {
    background-color: #763344;
}

/* news,events 個別ページ */
.pub_date{
    text-align: right;
    margin-top: 0.1rem;
}

.pub_lead{
    color: #999;
    margin-top: 0.2rem;
}

.pub_desc{
    margin-top: 0.5rem;
}

.pub_appendix{
    background-color: #e5e5e5;
    padding: 0.2rem;
}

.pub_img{
    display: block;
    margin: 0.5rem auto 0;
}


@media (max-width: 750px) {
    .news {
        margin-right: 2rem;
        padding: 1.6rem 1.9rem 3rem;
        background-color: #f2f2f2;
    }
    .news_content {
        margin-top: 2rem;
        height: 350px;
    }
    .news_list .item a {
        flex-wrap: wrap;
    }
    .news_list .item .date {
        min-width: 100px;
    }
    .news_list .item .text {
        margin-top: 10px;
    }

    .pub_lead{
        margin-top: 1.2rem;
    }

    .pub_img{
        margin: 1.5rem auto 0;
    }

    .pub_desc{
        margin-top: 2.5rem ;
    }

}

/* events */
.events {
    background-color: #ffffff;
    padding: 0.4rem;
}
.events_title {
    margin-bottom: 0.3rem;
}
.events_content {
    height: 250px;
    overflow-y: scroll;
}
.events_list {
    list-style: none outside;
    margin: 0;
    padding: 0;
}
.events_list .item a {
    display: flex;
    flex-wrap: wrap;
    flex-wrap: nowrap;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #CCC;
    padding: 20px 20px;
    width: 100%;
}
.events_list .item:first-child a {
    border-top: 1px solid #CCC;
}
.events_list .item .date {
    margin: 0;
    min-width: 140px;
    font-size: 16px;
    color: #999;
    padding: 0 20px 0 0;
}
.events_list .item .category {
    margin: 0;
    min-width: 140px;
    padding: 0 20px 0 0;
}
.events_list .item .category span {
    background: #999;
    color: #FFF;
    text-align: center;
    display: inline-block;
    padding: 5px 20px;
    font-size: 12px;
    line-height: 1;
}
.events_list .item .text {
    margin: 0;
    width: 100%;
}
.events_list .item a:hover {
    background-color: #f2f2f2;
}
.events_list .item .event span {
    background-color: #FF7F50;
}
.events_list .item .seminar span {
    background-color: #567a6f;
}



@media (max-width: 750px) {
    .events {
        margin-right: 2rem;
        padding: 1.6rem 1.9rem 3rem;
        background-color: #f2f2f2;
    }
    .events_content {
        margin-top: 2rem;
        height: 350px;
    }
    .events_list .item a {
        flex-wrap: wrap;
    }
    .events_list .item .date {
        min-width: 100px;
    }
    .events_list .item .text {
        margin-top: 10px;
    }
}


/* about */
.about {
    position: relative;
}
.about_box {
    background: #fff;
    position: relative;
}
.about_set_v {
    border-bottom: 1px solid #ccc;
}
.about_set_wrap {
    position: relative;
}
.about_img {
    position: absolute;
    height: auto;
}

.about_set {
    display: flex;
    background: #fff;
}
.about_set:last-child {
    border-bottom: 1px solid #ccc;
}
.about_set > dt {
    font-weight: 700;
    color: #adadad;
}
.about_set > dd {
    flex: 1;
    font-weight: 500;
    color: #333;
    font-feature-settings: normal;
}

.about_set_v >dd{
    flex: initial;
}

.about_set_v >dd:first-of-type{
    width: 50%;;
}

.about_set_c {
    display: block;
    text-align: justify;
}

@media (min-width: 751px) {
    .about {
        padding-bottom: 1.8rem;
    }
    .about_box {
        width: 100%;
        height: fit-content;
        padding: 1.18rem 0.8rem;
    }
    .about_set_wrap {
        margin-top: 0.84rem;
    }
    .about_set {
        padding: 0.34rem 0;
        border-top: 1px solid #ccc;
    }

    .about_set > dt {
        padding-left: 0.24rem;
        width: 1.4rem;
        font-size: 0.16rem;
        line-height: 0.25rem;
    }
    .about_set > dd {
        font-size: 0.16rem;
        line-height: 0.25rem;
        margin-right: 0.2rem;
    }
    .about_set_c + .about_set_c {
        margin-top: 0.22rem;
    }

    .about_set_v img{
        width: 30%;
    }
    
}
@media (max-width: 750px) {
    .about {
        padding-bottom: 1.8rem;
    }
    .about_box {
        width: 100%;
        height: fit-content;
        margin-top: 8.2rem;
        z-index: 1;
        padding-top: 1px;
    }
    .about_box .content_center_subttl_wrap {
        margin-top: -3.8rem;
    }
    .about_set_wrap {
        margin-top: 4rem;
    }
    .about_img {
        width: 100%;
        position: initial;
        height: 250px;
        object-fit: cover;
        object-position: 0 15%;

    }
    .about_set {
        padding: 1.6rem 0;
        margin-left: 1.7rem;
        position: relative;
        width: 34rem;
    }
    .about_set > dt {
        padding-left: 0.24rem;
        width: 8.8rem;
        font-size: 1.4rem;
        line-height: 1.7rem;
    }
    .about_set > dd {
        font-size: 1.4rem;
        line-height: 2.4rem;
    }
    .about_set_v {
        flex-direction: column;
    }
    .about_set_v > dd {
        margin-top: 1.2rem;
        margin-left: 0.3rem;
        margin-right: 0.3rem;
    }
    .about_set_c {
        font-feature-settings: 'plat';
    }
    .about_set_c + .about_set_c {
        margin-top: 1.1rem;
    }
    .about_set_wrap {
        overflow: hidden;
    }
    .about_set_v >dd:first-of-type{
        width: 100%;;
    }
}


/* 事例記事ページ */
#article{
    padding: 100px 0 0;
}

#article2{
    padding-bottom: 100px;
}

.article_bg{
    width: 9.5rem;
    margin: 0 auto;
}

.all_article_div{
    padding-bottom: 1rem;
    display: grid;
    place-items: center;
}


.all_article_div a{
    text-decoration: none;
}


.all_article_button{
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    padding:0.25rem;
    font-weight: bold;
    margin:0.25rem;
    color:#ffffff;
    border: 1px solid #003054;
    display: flex;
    align-items: center;
}



.case_intro{
    font-size: 0.19rem;
    line-height: 0.32rem;
    margin-top: 0.84rem;
    margin-bottom: 0.84rem;
    text-align: center;
}

.case_inner{
    background-color: #fff;
    padding: 0.6rem;
}

.case_inner_box{
    display: flex;
}


.case_inner h2{
    font-size: 0.32rem;
    line-height: 1.42;
    letter-spacing: 0.02rem;
    padding-bottom: 30px;
}

/* .case_inner p{
    font-size: 0.16rem;
    line-height: 2;
} */

.next_txt_left{
    font-size: 0.16rem;
}


.article_info .pub_icon_area img{
    height: 50px;
    border-radius: 50%;
    margin-right: 10px;
}

.pub_icon_area{
    display: flex;
    align-items: center;
}

.article_info{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 30px;
}

.sns_share img{
    width: 28px;
    margin-left: 15px;
}

.sns_share{
    text-align: right;
    margin-bottom: 10px;
}

.sns_share a{
    text-decoration: none;
    display: inline-block;
}

.bottom_share{
    margin-top: 50px;
    text-align: center;
}

.article_img{
    width: 100%;
}

.article_img_2{
    width: 30%;
    margin-top: 0.5rem;
}

.article_img_sm{
    width: 50%;
    display: block;
    margin: 0 auto;
}

.article_top{
    margin: 50px 0;
}

.bef_af p{
    font-size: 0.19rem;
    font-weight: 700;
}

.bef_af{
    display: flex;
    align-items: center;
}

.bef_af img{
    margin-right: 30px;
}

.article_summary{
    width: fit-content;
    margin: 0 auto;
}

.bef_af_arrow {
    position: relative;
    margin-bottom: 20px;
  }

  .bef_af_arrow::after {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -60px;
    background: linear-gradient(
      to top,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.9) 100%
    );
    width: 120px; /*::beforeのborder-left border-rightの合計*/
    height: 25px; /*::beforeのborder-top*/
  }
  
  .bef_af_arrow::before {
    border-top: 25px solid #003054; /*borderの値で三角形の大きさを調整する*/
    border-left: 60px solid transparent; 
    border-right: 60px solid transparent;
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -60px;
  }


.index_title{
    font-size: 0.19rem;
    font-weight: 700;
    margin-bottom: 20px;
}

.article_index{
    border: solid #e5e5e5 1px;
    padding: 0.4rem;
    margin-top: 50px;
}
.article_index ul{
    list-style: square;
    font-size: 0.16rem;
    line-height: 2;
    list-style-position: inside;
}

.article_index ul a{
    color:#000;
}

.index_target{
    font-size: 0.19rem;
    font-weight: 700;
    margin: 50px 0 20px;
    line-height: 1.62;
    border-bottom: #003054 3px solid;
    width: fit-content;
}

.bold{
    font-weight: 700;
}

.bold_case{
    font-size: 0.16rem;
    font-weight: 700;
}

.white_space{
    height: 40px;
}


.white_space_2{
    height: 40px;
    display: block;

}

.img_desc {
    display: block;
    border-left: #e5e5e5 solid 5px;
    padding-left: 10px;
    color: #555;
}

/* .next_link{
    display: flex;
    width: 100%;
    align-items: center;
    border: #e5e5e5 solid 1px;
    padding: 0.075rem;
    text-decoration: none;
    margin-top: 0.5rem;
    height: auto;
} */

/* .next_link:hover{
    background-color: #e5e5e5;
    transition: 0.5s;
}


.next_link img{
    width: 30%;
    margin-right: 20px;
}

.next_link p{
    color: #000;

} */

/* .next_txt{
    width: 50%;
    margin-right: 0;
    margin-left: auto;
} */

.other_case_box{
    display: flex;
    width: 100%;
}

.other_case_img{
    width: auto;
    height:1.25rem;
    
}

.other_case_text{
    font-size: 0.14rem;
    line-height: 1.5rem
}

h4.other_case_subtitle {
    margin-bottom: 0.1rem;
    font-size:0.2rem;

}

.other_case_content{
    margin-top: 0.25rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;

}

.other_case_box_left{
    height:1.25rem;
}

.other_case_box_right{
    width:70%;
    height:1.25rem;
    background-color:#E5E5E5 ;
    padding: 0.2rem;
    display: flex;
    align-items: center;
}

.other_case_link{
    text-decoration: none;
    color:inherit;
    width: 49%;
    margin-bottom: 0.15rem;
}

.back_link {
    border: 0.01rem solid #000000;
    font-size: 0.16rem;
    width: 40%;
    margin-top: 0.2rem;
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin: 50px auto 0;
}

.back_link a{
    text-decoration: none;
    font-style: italic;
    display: block;
    font-weight: 700;
    text-align: center;
    color: #000;
    padding: 0.1rem;
    position: relative;

}

.back_link a::after{
    content: '＜';
    font-style: normal;
    font-weight: 400;
    color: #000;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left:10px;

}

.back_link::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right:0px;
    background: #000;
    width: 100%;
    height: 100%;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
    z-index: -1;
}

  .back_link a:hover {
    color: #FFF;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
  }

  .back_link:hover::after {
    transform: scale(1, 1);
  }
   
  .back_link a:hover::after{
    color: #fff;
    transition: .4s cubic-bezier(0.45, 0, 0.55, 1);
}

#case_dl{
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    width: 100vw;
    padding: 1rem 0;
}

#case_dl h2{
    display: block;
    width: fit-content;
    margin: 0 auto;
}


.cta_subttl{
    font-size: 0.19rem;
    font-weight: 700;
    line-height: 1.62;
    color: #fff;
    text-align: center;
    margin-bottom: 20px;
}

.cta_desc{
    font-size: 0.16rem;
    line-height: 1.62;
    color: #fff;
    text-align: center;
    margin-top: 40px;
}

.cta_inner{
    width: 9.5rem;
    margin: 0.4rem auto 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cta_inner_img img{
    width: 100%;
    padding-right: 40px;
}

.cta_inner_img img:first-child {
    margin-bottom: 70px; /* 任意の余白の値 */
  }

.cta_inner_img{
    flex: 4;
}

iframe{
    flex :5;
}


#case_dl .content_center_subttl{
    color: #fff;
    font-size: 0.32rem;
    padding-top: 0.1rem;
}

#case_dl .content_center_subttl::before{
    background-color: #fff;
}

.sp_only{
    display: none;
}

.other_case_title{
    text-align: center;
}

.other_case_text{
    font-size: 0.16rem;
    line-height: 2;
}

.case_category_article_01{
    background-color: #335976;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

.case_category_article_02{
    background-color: #567A6F;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

.case_category_article_03{
    background-color: #763344;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

.case_category_article_04{
    background-color: #FF7F50;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

.case_category_article_05{
    background-color: #8B008B;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

.case_category_article_06{
    background-color: #567A6F;
    position: absolute;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
}

body {
    font-family: Arial, sans-serif;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

.article_index_2 {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: solid #e5e5e5 1px;
    padding: 0.3rem;
    margin-top:50px;
    margin-bottom: 50px;
    
}

.member-title, .member {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.member-title img {
    max-width: 50%;
    height: auto;
}

.member {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.member-info, .member-position {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    margin-top: 10px;
}

.member-info img, .member-position img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    margin-right: 10px;
}

.member-details p, .member-position p {
    margin: 0;
}

.article_summary_2{
    width: fit-content;
    margin: 0 ;
}






@media (max-width: 1024px) {
    .cta_inner{
        display: block;
        max-width: 100%;
    }

    .cta_inner_img img:first-child {
        margin-bottom: initial;
      }

    .cta_inner_img{
        display: flex;
        width: 100%;
        gap: 20px;
    }

    .cta_inner_img img {
        flex-grow: 1;
        padding-right: initial;
        width: 0;
        max-width: 100%;
    }

    .sp_only{
        display: none;
    }
    



}


@media (max-width: 750px) {
    .case_intro{
        line-height: 1.5;
        margin-top: 3rem;
        margin-bottom: 3rem;
        font-size: 1.4rem;
    }

    .case_inner{
        padding:5.6rem 1.9rem 3rem ;
    }

    
    .case_inner h2{
        font-size: 1.6rem;
        text-align: center;
    }

    .index_target{
        font-size: 1.4rem;
    }

    .bef_af{
        display: block;
        text-align: center;
    }

    .bef_af p{
        margin-top: 10px;
    }

    .bef_af_arrow{
        margin-top: 20px;
        padding-bottom: 20px;
    }

    .article_index{
        font-size: 1.4rem;
        padding:1.9rem;
    }

    .index_title {
        font-size: 1.6rem;
    }
    
    .article_index ul{
        font-size: 1.4rem;
    }

    .article_index_2 {
        display: block;

    }

    .member{
        width: 75%;
        margin: 0 auto;
    }

    .bef_af p{
        font-size: 1.6rem;
    }

    .bold_case {
        font-size: 1.6rem;
    }
    
    /* .next_txt{
        margin-right: initial;
        margin-left: initial;
    } */

    .next_link{
        width: 100%;
        padding: 0.8rem;
    }

    .article_info .pub_icon_area img{
        height: 35px;
    }

    .sns_share img{
        height: 28px;
        width: auto;
        margin-left: 10px;
    }

    
    
    .back_link a{
        padding: 1.1rem 0;
        font-size: 1.25rem;
    }
    
    .article_cta_btn{
        position: fixed;
    }

    .article_bg{
        width: initial;
    }

    #case_dl{
        padding: 2.5rem 1rem;
    }

    #case_dl .content_center_subttl{
        font-size: 2.4rem;
        line-height: 2.4rem;
        padding-top: 1.3rem;
    }

    .cta_subttl{
        font-size: 1.6rem;
    }

    .cta_desc{
        font-size: 1.6rem;
    }

    .cta_inner{
        width: initial;
    }

    .cta_inner_img{
        display: none;

    }

    .sp_only{
        display: block;
        width: 100%;
        margin-top: 40px;
    }

    .all_article_button{
        font-size: 12px;
        padding: 1rem 2rem;
        margin:1rem 0;
    }

    .case_inner_box{
        flex-direction: column;
    }

    /* .article_bottom{
        margin-top: 1.25rem;
    } */

    .other_case_content{
        display: block;
    }
    .other_case_img{
        height: 7.25rem;
    }
    
    .other_case_box_right{
        height: 7.25rem;
    }

    .other_case_box{
        margin-bottom: 2rem;
    }

    
    

      .case_content_text p{
        font-size: 1rem;
    }

      .article_info p{
        font-size: 1.4rem;
    }

    .other_case_text p{
        font-size: 2rem;
    }

    .next_txt_left{
        font-size: 2rem;
    }

    .next_txt_left{
        font-size: 1.5rem;
    }

    .other_case_text{
        font-size: 1.25rem;
        line-height: 1.75rem;
        margin-top: 0.5rem;
    }

    .case_category_article_01{
        background-color: #335976;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }
    
    .case_category_article_02{
        background-color: #567A6F;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }
    
    .case_category_article_03{
        background-color: #763344;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }
    
    .case_category_article_04{
        background-color: #FF7F50;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }
    
    .case_category_article_05{
        background-color: #8B008B;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }
    
    .case_category_article_06{
        background-color: #567A6F;
        position: absolute;
        padding: 3px 5px;
        color: white;
        font-weight: 500;
    }

    .white_space_2 {
        display: none;
    }
   

}

/*特命事例ページ*/

.case_slide_1{
    margin-top: 1rem;
}

.case_slide_2{
    margin-top:0.5rem;
}

.case_title{
    margin-top: 0.35rem;
}

.case_category_01{
    background-color: #335976;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_02{
    background-color: #567A6F;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_03{
    background-color: #763344;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_04{
    background-color: #FF7F50;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_05{
    background-color: #8B008B;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_06{
    background-color: #567A6F;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}

.case_category_07{
    background-color: #000000;
    position: absolute;
    margin-top: 0.15rem;
    padding: 5px 15px;
    color: white;
    font-weight: 500;
    margin-left: 0.35rem;
}





/* ComingSoonページ */
.coming_soon_bg{
    background-color: #fff;
    width: 10.8rem;
    margin: 200px auto;
    padding: 1rem 0.4rem;
    text-align: center;
    
}

.coming_soon_bg h1{
    font-size: 0.5rem;
}

.coming_soon_bg p{
    font-size: 0.16rem;
    line-height: 0.8rem;
}


@media (max-width: 750px) {
    .coming_soon_bg{
        width: 100%;
    }

    .coming_soon_bg h1{
        font-size: 2rem;
    }

    .coming_soon_bg p{
        font-size: 1.2rem;
        margin-top: 2rem;
    }

    .case_category_01{
        margin:0;
    }

    .case_category_02{
        margin:0;
    }

    .case_category_03{
        margin:0;
    }

    .case_category_04{
        margin:0;
    }

    .case_category_05{
        margin:0;
    }

    .case_category_06{
        margin:0;
    }

    .case_category_07{
        margin:0;
    }

}


/* 30min講座登録フォーム */

.service_logo{
    width: 100%;
}

.service_bg{
    padding: 0.2rem;
    margin-bottom: 0.5rem;
}

.lesson_form{
    text-align: center;
}

.lesson_form h1{
    padding-bottom: 0.2rem;
}

.thumbnail_list{
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 30px;
}

.thumbnail_list img{
    width: 48%;
}

/* 公式LINE */
.line_h2{
    color: #4E7856;
}

.line_add{
    display: flex;
    width: 85%;
    margin: 0 auto;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

.line_ico{
    width: 6%;
    height: 100%;
    padding-bottom: 30px;
}

.line_btn{
    padding-bottom: 30px;
}

.line_mock_bg{
    display: flex;
    background-color:#E3EAE5 ;
    width: 48%;
    align-items: center;
    color: #4E7856;
    font-weight: 700;
    justify-content: space-between;
}

.line_mock_bg p{
    padding: 0 10px 0 40px;
}

.line_mock_bg img{
    padding: 10px 30px 0 0;
    width: 40%;
}

.mock_wrap{
    margin-bottom: 0.7rem;
}
.mock_list{
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 30px;
}

.line_stamp{
    text-align: center;
    color: #4E7856;
    margin-top: 0.7rem;
}

.line_h3{
    font-size: 0.24rem;
    color: #75977C;
    padding-bottom: 10px;
}

.line_way{
    display: flex;
    gap: 50px;
    padding-bottom: 20px;
}

.line_qr{
    width: 116px;
}


.line_stamp_btn{
    display: block;
    width: fit-content;
    margin: 0 auto;

}

.line_stamp_btn.bg {
    position: relative;
    overflow: hidden;
  }
  .line_stamp_btn.bg::before,
  .line_stamp_btn.bg::after {
    content: "";
    display: block;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    margin: auto;
    transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
    opacity: 0;
  }
  .line_stamp_btn.bg::before {
    background: rgba(229,229,229,.6);
    width: 100%;
    height: 100%;
  }

  
  .line_stamp_btn.bg:hover::before,
  .line_stamp_btn.bg:hover::after {
    opacity: 1;
  }
  

@media (max-width: 1024px) {
    .line_mock_bg p {
        padding: 0 10px 0 17px;
    }

    .line_ico{
        display: none;
    }
}

@media (max-width: 750px) {
    .service_bg{
        padding: 1.2rem;
        margin-bottom: 5rem;
    }

    .lesson_form h1{
        padding-bottom: 3rem;
    }

    .line_add{
        width: 100%;
    }

    .mock_list{
        display: block;
    }

    .line_mock_bg{
        width: 100%;
        margin-bottom: 30px;
    }

    .line_mock_bg p {
        padding: 0 10px 0 30px;
    }

    .line_h3{
        font-size: 1.6rem;
        text-align: center;
    }

    .line_way{
        display: block;
        margin-bottom: 20px;
        text-align: center;
    }

    .line_way p{
        margin-bottom: 20px;
    }


    .line_stamp{
        margin-top: 80px;
    }

    .ine_way_noflex{
        text-align: center;
    }


    
    .other_case_content{
        display: block;
    }

    .other_case_box_right{
        padding:0.5rem;
    }

    h4.other_case_subtitle{
        font-size: 1.5rem;
    }
    
    

}

/* IE対応 */
.is_ie .bg_video {
    display: none;
}
.is_ie .bg_video_wrap {
    background: url(../images/bg_dummy.jpg) no-repeat 50% 50% / cover;
}
.is_ie .mv_ttl_1 {
    width: 100%;
    padding-top: 10%;
}
.is_ie .mv_ttl_2 {
    width: 100%;
    padding-top: 10%;
}
.is_ie .mv_ttl_1 {
    display: none;
}
.is_ie .mv_ttl_2 {
    display: none;
}
.ie_mv_ttl_2 {
    display: none;
}
.is_ie .ie_mv_ttl_2 {
    display: block;
    width: 100%;
}



/*街盛プロジェクト*/

.business_box_city{
    margin:0 auto ;
    position: relative;
}


.town_images {
    display: flex;
    width: 100%;
    margin: 1rem auto;
    gap: 30px;
}

.town_images a {
    position: relative;
    display: inline-block;
}

.town_images img {
    display: block;
    width: 100%;
    height: auto;
}

[class^="town_text_"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s;
    background-color: rgba(0, 48, 84, 0.6);
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size:0.25rem;
}

[class^="town_text_"] p:first-child {
    border-bottom: 1px solid white;
    padding-bottom: 5px;
    margin-bottom: 5px;
}

.town_images a:hover [class^="town_text_"] {
    opacity: 1;
}

.town_p{
    font-weight: 400;
    font-size: 0.23rem;
}

.scheme_example_box{
    background: white;
    margin:1.5rem 0;
}

.scheme_content_box{
    display: flex;
    justify-content: space-between; /* 子要素を均等に配置 */
}

.scheme_division {
    margin: 0.25rem 0.15rem; /* 中央寄せ */
    justify-content: center; /* 画像を水平方向に中央に配置 */
    align-items:stretch; /* コンテンツを中央に配置 */
    text-align: center; /* テキストを中央寄せ */
    width: calc(33.33% - 10px); /* Subtracting margin */
    flex-direction: column; /* 列方向に要素を配置 */

}

.scheme_division_img{
    text-align: center; /* テキストとインライン要素を中央に配置 */
    display: flex;
    justify-content: center; /* 画像を水平方向に中央に配置 */
    align-items: center; /* 画像を垂直方向に中央に配置 */
}

.divixion_1_1 {
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    margin:0.1rem 0;
}

.divixion_1_1 img{
    margin: 0;
}

.division_1_p{
    border: 1px solid #000; /* 四角形の線のスタイルを設定 */
    padding:0.05rem 0.25rem; /* テキストと線の間に余白を追加 */
    text-align: center;
    font-size: 85%;
    
}

.division_1_2_p{
    color: #E5E5E5;
    text-align: center;
    font-family: 'Advent Pro', sans-serif;
    font-size: 0.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.division_1_2 {
    display: flex; /* 子要素を横に並べる */
    align-items: center; /* 子要素の高さを揃える */
    justify-content: center;
}

.division_1_2_2_p{
    color: #000;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.17rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-align: left;
    margin-left: 0.17rem;
}

.scheme_division_2{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.scheme_division_2_2_text p {
    margin-right: 10px;
}



.scheme_division_text_2{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.division_3_p{
    border: 1px solid #000; /* 四角形の線のスタイルを設定 */
    padding:0.05rem 0.25rem; /* テキストと線の間に余白を追加 */
    text-align: center;
    margin:0.05rem;
    font-size: 85%;
    display: inline-block;
}

.division_3_p_sub{
    border: 1px solid #000; /* 四角形の線のスタイルを設定 */
    padding: 0.05rem; /* テキストと線の間に余白を追加 */
    text-align: center;
    margin:0.05rem;
    font-size:85%;
    width: 0.75rem;
    
}

.division_3_p_text{
    border: 1px solid #000; /* 四角形の線のスタイルを設定 */
    padding:0.05rem 0.25rem; /* テキストと線の間に余白を追加 */
    text-align: center;
    margin:0.05rem;
    font-size: 85%;
}

.building_1{
    width:1rem;
    height: auto;
    margin-top: 0.35rem;
}

.scheme_2_content {
   height: 2.05rem;
   margin: 0 auto;
}

.scheme_3_content{
    height: 2.05rem;
    display: flex;
    align-items: center;
}

.division_2_img {
    width: 30%;
}

.scheme_2_item {
    display: flex;
    margin-left:5%;
}

.scheme_2_item > div {
    display: flex;
    align-items: center;
}

.scheme_2_item img {
    margin-right: 10px; /* Adjust the margin as needed */
}

.mini_building{
    width: 0.7rem;
    height: auto;
}

.scheme_2_item{
    margin-top:0.35rem;
}

.scheme_2_list{
    display: flex;
    align-items: center; /* アイテムを垂直方向に中央揃え */
    margin-top: 0.05rem;
    line-height: 0.27rem;
}

.scheme_item_2_img{
    width: 0.2rem;
    height: auto;
    margin-right: 0.1rem;
}
.scheme_2_list_p{
    margin-right: 0.1rem;
    color: #003054;
}

.mini_2_building{
    width: 0.6rem;
    height: auto;
    margin: 0 18px 0 20px;
}

.scheme_3_list{
    display: flex;
    align-items: center;
    text-align: center;
    margin-left:53%;
}

.scheme_type_3{
    font-size: 0.25rem;
    color: #003054;
}

.scheme_item_3_img{
    width: 0.5rem;
    height: auto;
}

.division_1_1_item{
    width: 0.75rem;
    height: auto;
    margin-right:0.5rem;
}

.division_1_2_item{
    width: 0.5rem;
    height: auto;
    padding: 0 8px;
}

.division_3_1_item{
    width: 1rem;
    height: auto;
}

.divixion_3_1 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.division_3_p_box{
    display: flex;
    align-items: center;
    justify-content: center;
}

.scheme_2_box {
    display: flex;
    flex-direction: column;
}

@media (max-width: 1024px){
    .divixion_3_1{
        gap: 0;
    }

    .scheme_division_2_text{
        gap: 13px;
    }
}

@media (max-width: 750px) {

    .business_box_city{
        margin:3rem auto;
        width: 90%;
        text-align: center;
    }

    .town_images {
        display: flex;
        flex-direction: column; /* 縦に並べるためにcolumnを指定 */
        margin-top: 3rem;
    }
    
    .town_images a {
        margin-bottom:5px; /* 各画像の下に余白を設ける */
    }


    .city_box_item_ttl{
    color: #fff;
    font-weight: 700;
    text-align: center;
    background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
    background: -webkit-linear-gradient(#335976 0%, #003054 100%);
    background: linear-gradient(#335976 0%, #003054 100%);
    margin-top: 3rem;
    }

    .scheme_example_box{
        margin:3rem auto;
        width: 90%;
        text-align: center;
    }

    .scheme_content_box {
        display: flex;
        flex-direction: column; /* scheme_divisionを縦に配置 */
    }
    
    .scheme_division {
        display: flex;
        flex-direction: column; /* 子要素を縦に配置 */
        margin:3rem 0; /* 各scheme_divisionの下に余白を設ける */
        align-items: center;
    }

    .building_1{
        width: 3rem;
        height: auto;
    }
    
    .town_p{
        font-size: 2rem;
    }
    

    .scheme_content_box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
      
      .scheme_division {
        margin-top:3rem;/* 適切なマージンを設定 */
        display: flex;
        flex-direction: column;
        width: 100%;
    }
      
      .scheme_2_content,
      .scheme_3_content,
      .scheme_2_box,
      .scheme_division_2,
      .scheme_3_list,
      .divixion_3_1 {
        display: flex;
        justify-content: center;
        text-align: center;
        height: fit-content;
        width: fit-content;
    }
      
      .divixion_1_1,
      .divixion_1_2,
      .divixion_3_1 {
        /* flex-direction: column; */
        align-items: center;
        text-align: center;
    }
      
      .scheme_2_list,
      .scheme_division_text_2 {
        display: flex;
        align-items: center;
        text-align: center;
    }
      
      .scheme_division_2_text,
      .division_3_p_box {
        text-align: center;
    }

    .scheme_2_content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
      
      .scheme_division_img,
      .divixion_1_1 {
        margin-bottom: 10px; /* 適切なマージンを設定 */
    }

    .division_1_1_item{
        width: 30%;
    }

    .division_1_2_item{
        width: 15%;
    }

    .building_1{
        width: 8rem;
        height: auto;
        margin-top: 2rem;
    }

    .division_1_2_2_p{
        color: #000;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
        text-align: left;
        margin-left: 1.5rem;
    }

    .division_1_p{
        padding: 0.05rem 1.25rem;
    }

    .division_1_2_p{
        font-size: 5.5rem;
    }

    .mini_building{
        width: 6rem;
    }

    .scheme_2_list{
        line-height: 1.5;
    }
    
    .scheme_item_2_img{
        width: 1.2rem;
    }

    .scheme_type{
        font-size: 1.1rem;
    }

    .scheme_3_content{
        gap: 5px;
        justify-content: space-between;
    }

    .division_3_1_item{
        width: 6rem;
    }

    .division_3_p,
    .division_3_p_sub,
    .division_3_p_text{
        padding: 0.05rem 0.25rem;
        width: 6.75rem;

    }

    .mini_2_building{
        width: 4rem;
    }

    .scheme_type_3{
        font-size: 2.25rem;
    }

    .scheme_item_3_img{
        width: 2.5rem;

    }

    .scheme_3_list{
        margin-left: 36%;
    }


}


/* 研修事業 */

.business_box_train{
    position: relative;
    background:white;
    padding-top: 1rem;
}

.business_box_train::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 100%;
    background: #fff;
    height: 100%;
    width: 100vw;
}

.business_box_train::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 100%;
    background: #fff;
    height: 100%;
    width: 100vw;
}

.business_txt_set_train{
    text-align: center;
}


.training_dt{
    text-align: center;
}

.do_start{
    width:0.25rem ;
    height: auto;
}

.other_train_div {
    display: flex; /* 要素をフレックスコンテナにする */
    align-items: center; /* 子要素を縦方向に中央寄せ */

}

.other_train_div a {
    display: flex; /* a要素をフレックスコンテナにする */
    align-items: center; /* 子要素を縦方向に中央寄せ */
    text-decoration: none; /* リンクの下線を削除 */
    position: relative;
    color: #ffffff; /* テキストの初期色 */
    overflow: hidden; /* 要素内のオーバーフローを非表示にする */
    z-index: 1; /* テキストが枠線の上に表示されるように */
}

.other_train_div a img {
    height: 100%; /* a要素内のimgの高さを100%に設定 */
    margin-right: 10px; /* 必要に応じてアイコンとテキストの間隔を調整 */
}

.other_train_div a::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%; /* 初期状態で左側に非表示 */
    width: 100%;
    height: 100%;
    background-color: #fff; /* ホバー時の背景色 */
    transition: left 0.4s ease; /* アニメーションの設定 */
    z-index: -1;
}

.other_train_div a:hover {
    color: #003054; /* ホバー時の文字色を黒に変更 */
}


.other_train_div a:hover::before {
    left: 0; /* ホバー時に左側から右にアニメーションで表示 */
    background-color: #fff; /* 背景色を白に変更 */
}

.other_train_div{
    padding:0.5rem 0;
    display: grid;
    place-items: center;
}


.train_box_wrap{
    display: flex;
    flex-wrap: wrap; /* ボックスが行をまたぐように設定 */
}

.train_box_list{
    flex: 1; /* ボックスを均等に分配 */
    box-sizing: border-box;
    margin-bottom: 1rem;
    min-width: calc(50% - 20px); /* 幅を50%以下に制限 */
    position: relative;
    z-index:1;
}

.train_box_title{
    font-weight: 1000;
    font-size:0.35rem;
    margin-top: 0.1rem;
}

.train_box_subtitle{
    font-weight: 500;
    font-size:0.165rem;
}

.train_box_text{
    margin-top: 0.15rem;
    font-size:0.175rem;
    margin-right:1rem;
}

.train_lp_link {
    text-decoration: none; /* 下線を削除 */
    color: #000000; /* テキストの色を黒に設定 */
    font-size: 0.16rem; /* フォントサイズを設定 */
    width: 30%; /* 幅を30%に設定 */
    margin-top: 0.5rem; /* 上部マージンを設定 */
    position: relative; /* 相対位置に設定 */
    overflow: hidden; /* コンテンツのはみ出しを隠す */
    z-index: 1; /* Zインデックスを設定 */
    border: 1px solid #000000; /* 枠線のスタイルを設定 */
    padding: 5px; /* 枠線とテキストの間に余白を設定 */
    display: inline-block; /* ブロック要素として表示（必要に応じて調整） */
    text-align: center;
}


.train-image{
    position: absolute;
    top: 50%;
    left: 70%;
    transform: translate(-50%,-50%);
    width:1.5rem;
    height: auto;
    z-index:-1; /* 画像を背面に配置 */
}

.modaal-video .modaal-inner-wrapper{
	padding:0;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
	background:#ccc;	
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#666;
}

.modaal-close:hover:before {
    background: #000;
}

.material-symbols-outlined{
    margin-right: 0.15rem;
}

@media (max-width: 750px) {
    .train_box_wrap {
        flex-direction: column; /* 縦方向に要素を配置 */
        margin-top: 0.5rem;
    }

    .train_box_list{
        margin-top: 1rem;
    }

    .train-image{
        width:5rem;
        height: auto;
    }

    .business_box_train{
        margin:3rem auto;
        width: 90%;
    }

    .train-image{
        position: absolute;
        top: 25%;
        left: 80%;
        transform: translate(-50%,-50%);
        width:12.5rem;
        height: auto;
    }

    .train_box_list{
        margin:2rem 0;
    }

    .train_box_title{
        font-size: 1.6rem;
    }

    .train_box_subtitle{
        margin-top: 0.25rem;
        font-size: 1.2rem;
    }

    .train_box_text{
        margin:0.75rem 0;
        font-size: 1.25rem;
    }

}


/*matimori.svg部分*/



.matimori_section {
    position: absolute; /* 相対位置に設定 */
    margin-left: 1.2rem;
}

.matimori_text_p{
    font-size: 0.14rem;
}


.matimori_title{
   
    z-index: 1; /* 地図よりも上に表示 */
    padding-top: 0.35rem;
    margin-top: 0.5rem;
}

.matimori_text{
    z-index: 1; /* 地図よりも上に表示 */
    padding-top: 0.25rem;
    font-size: 0.19rem;
    line-height: 0.32rem;
    margin-top: 0.3rem;
}


.matimori_case_image{
    width: 2.25rem;
    height: auto;
}


.matimori_case{
    /* display: none; */
    z-index: 2;
    padding-top: 0.5rem;
}

.matimori_case.visible {
    display: flex;
}

.matimori_case.description_step_x.is_show{
    display: flex;
    margin-top: 2rem;
}

.matimori_case > div {
    margin-right: 0; /* 右側の間隔を0に設定 */
}

.matimori_case > div:last-child {
    margin-right: 0; /* 最後の子要素の間隔を0に設定 */
}

.matimori_content_box{
    display: flex;
}

.matimori_section_box{
    margin-left: 0.35rem;
}

.matimori_text_box p {
    display: inline-block;
}

.matimori_category_make{
    background-color:#335976 ;
    color: white;
    padding: 2px 5px;
    font-weight: bold; /* テキストを太くする */
}

.matimori_category_mix{
    background-color:#763344 ;
    color: white;
    padding: 2px 5px;
    font-weight: bold; /* テキストを太くする */
}


.matimori_category_use{
    background-color:#567A6F ;
    color: white;
    padding: 2px 5px;
    font-weight: bold; /* テキストを太くする */
}

.matimori_town_name{
    border: 2px solid #003054; /* 枠線を追加し、色を指定 */
    color: #003054;
    padding: 0px 5px;
    margin-left: 0.2rem;
}

.matimori_subtitle{
    font-size: 0.2rem;
    margin-top: 0.15rem;
}

.matimori_p{
    margin-top: 0.15rem;
}

.matimori_link{
    color: black; /* 文字色を黒色に設定 */
        text-decoration: none; /* 下線を消去 */
}

.matimori_section_mobile{
    display: none;
}


@media (max-width: 750px) {

    #JAPAN_MAP {
        display: none;
      }

    .matimori_section{
        display: none;
    }  

      .matimori_section_mobile{
        display: block;
    }  

    .all_japan_case{
        margin-top: 5rem;
        width: 100%;
        margin: 3rem auto; /* 左右のマージンを自動で設定して中央に配置 */
        
    }

    .east_japan_button,
    .west_japan_button {
        display: grid;
        grid-gap: 0.5rem;
        justify-content: center;
        grid-template-columns: repeat(auto-fit, 7.5rem);
    }

    .east_japan_button p,
    .west_japan_button p {
    flex-basis: calc(25% - 10px); /* 要素の幅を四分割して、間隔が広がるように設定 */
    margin: 0 0.15rem; /* 左右に5pxの間隔を設定 */
    }
      
      .east_japan_button p {
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        color:white;
        font-weight: bold; /* 太字にする */
        padding:0.5rem 1rem;
        margin-top: 0.25rem;
      }
      
      .west_japan_button p {
        background: -webkit-gradient(linear, left top, left bottom, from(#335976), to(#003054));
        background: -webkit-linear-gradient(#335976 0%, #003054 100%);
        color:white;
        font-weight: bold; /* 太字にする */
        padding:0.5rem 1rem;
        margin-top: 0.25rem;
      }

      .west_japan{
        margin-top: 2rem;
      }

      .overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒色 */
        display: none; /* 初期状態では非表示 */
        z-index: 500; /* モーダルの下に来るように設定 */
      }
      
      .matimori_case {
        position: fixed;
        top: 10%;
        left: 10%;
        width: 90%;
        background-color: white;
        border: 1px solid #ccc;
        display: none;
        z-index: 1000; /* オーバーレイより上に表示 */
        padding: 20px;
      }
      
      .matimori_case {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%; /* 適切な幅に調整 */
        max-width: 600px; /* 最大幅の制限 */
        background-color: white; /* モーダルの背景を白く設定 */
        padding: 20px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        display: none; /* 初期状態では非表示 */
        z-index: 1001; /* オーバーレイより高いz-index */
      }

      .modal-open{
        text-decoration: none;
        color: white;
      }

      .matimori_content_box{
        width: 100%;
      }

    .matimori_case_image{
        width:100%;
        height: auto;
    }

    .modaal-content-container{
        padding:5px;
    }

    .matimori_p{
        font-size: 1.5rem;
        margin-top: 1.5rem;
    }

    .matimori_subtitle{
        font-size:1.5rem;
        margin-top: 1.25rem;
    }

   

    .matimori_content_box {
        display: flex;
        flex-direction: column; /* 子要素を縦に並べる */
    }

    .matimori_section_box{
        margin-top: 1.5rem;
    }


    

      

}