#container{
    background: linear-gradient(180deg, rgba(204, 204, 204, 1) 10%, rgba(255, 255, 255, 1) 30%);
}
.about_inner{
    max-width: 1200px;
    margin: 100px auto 0;
    padding: 0 3em;
    padding-bottom: 0px;
}
.about .menu-box{
    column-gap: 50px;
    row-gap: 80px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 100px auto 150px;
}
.about .menu{
  flex: 1 1 calc(33.333% - 50px); /* 3個並び、gapを考慮 */
  display: flex;
  justify-content: center;
}
.about .menu a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;            /* 正円の直径 */
  aspect-ratio: 1 / 1;     /* 正円維持 */
  background-color: #4e4e4e;
  color: #fff;
  border-radius: 50%;      /* 丸にする */
  text-align: center;
  line-height: 1.4;
  font-size: 2rem;
  padding: 10px;           /* テキストに余裕 */
  box-sizing: border-box;
  text-align: justify;
}
.about .content_inner{
    margin: 100px auto 0;
    padding: 0 3em;
    padding-bottom: 100px;
}
.about .content_inner .title{
    font-size: 3rem;
}
.about .content_inner > div:first-of-type {
    margin-right: 5%;
}
.about .content_inner .img-wrap {
    width: 45%;
}
.about .content_inner .desc {
    font-size: 1.4rem;
    line-height: 2.342857;
    margin-top: 3.63238095238em;
}

.ta-center {
    text-align: center;
}
.ai-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.about-nav {
    margin-top: 6em;
}
.about-nav > div {
    border: 1px solid #000;
    border-radius: 50%;
    height: 10em;
    margin: 0 2em;
    transition: border ease .3s, color ease .3s;
    width: 10em;
}
.about-nav > div:hover, .about-nav > .active {
    border: 1px solid #808080;
    color: #808080;
    opacity: 0.8;
}
.about-nav a {
    font-weight: bold;
    line-height: 1.5;
    height: 100%;
    width: 100%;
    color: #000;
}
.about-nav .active a{
    color: #808080;
    opacity: 0.8;
}
.about-nav > div:nth-of-type(2) > a {
    -webkit-transform: translateY(.2em);
    transform: translateY(.2em);
}
.main_title{
    text-align: center;
    font-size: 3.5rem;
    color: #666666;
    margin: 50px auto;
}
.info_p{
    text-align: center;
    font-size: 1.8rem;
    line-height: 30px;
}
.flow-img{
    width: 90%;
    margin: auto!important;
}

@media screen and (max-width:767px) {
    .under{
        padding: 0 1.5em;
    }
    .about_inner{
        padding: 0;
    }
    .about_inner .sp-fw-wrap{
        flex-wrap: wrap;
        row-gap: 50px;
    }
    .about_inner .sp-fw-wrap-reverse{
        flex-wrap: wrap-reverse;
        row-gap: 50px;
    }
    .about .content_inner{
        padding: 0;
        margin: 50px auto 0;
    }
    .about .content_inner .sp-fw-wrap {
        flex-wrap: wrap;
        row-gap: 50px;
    }
    .under .head.flex{
        margin: 100px auto 50px;
        flex-wrap: wrap;
        row-gap: 20px;
    }
    .under .title{
        font-size: 3rem;
    }
    .under .subtitle{
        letter-spacing: 2px;
    }
    .under .line-box{
        width: 50px;
        margin-right: 70vw;
        margin-left: 0;
    }
    .about .menu-box {
        column-gap: 20px;
        row-gap: 30px;
    }
    .about .menu {
        flex: unset;
        width: 46%;
    }
    .about .menu a{
        font-size: 1.3rem;
    }
    .under .line-title{
        margin-top: 0;
        letter-spacing: 2px;
    }
    .about .content_inner > div:first-of-type {
        margin-right: 0%;
    }
    .about .content_inner .img-wrap{
        width: 100%;
    }
    .about .content_inner .img-wrap.sp{
        margin-top: 20px;
    }
    .about .content_inner .title{
        text-align: justify;
        line-height: 40px;
    }
    .about-menu{
        width: 85%;
    }
    .about .content_inner .desc {
        margin-top: 1.632381em;
    }
    .about-nav > div {
        height: 6em;
        margin: 0 1em;
        width: 6em;
    }
    .about-nav {
        margin-top: 4em;
    }
    .main_title{
        font-size: 2.5rem;
        line-height: 40px;
    }
    .about .content_inner h2.sp-title{
        text-align: justify;
        line-height: 40px;
        display: block;
        font-size: 2rem;
        margin-left: 0;
        padding: 0;
    }
    .info_p{
        text-align: justify;
        font-size: 1.3rem;
    }
}