@charset "utf-8";

@media print, screen {
  #about {
    background-color: var(--grayf2-color);
  }
  #about .tit__jp {
    margin: 0 auto;
    width: 86.98%;
    color: var(--main-color);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.03em;
    text-indent: 0.03em;
  }
  #about .title__area02 {
    margin: 45px auto 120px;
    padding: 35px 0 60px;
    width: 100%;
    max-width: 1480px;
    text-align: center;
    background-color: var(--white);
  }
  #about .title__area02 .title {
    padding: 0 0 6px;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    background: url(../../images/src/about/title_line.png) no-repeat center
      bottom;
    background-size: 60px auto;
  }
  #about .title__area02 .anchor__menu {
    margin: 0 auto;
    width: 100%;
    max-width: 898px;
  }
  #about .title__area02 .anchor__menu li {
    width: 22.5%;
    max-width: 202px;
    text-align: left;
  }
  #about .title__area02 .anchor__menu li a {
    display: block;
    padding: 15px 0;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    background-image: url(../../images/src/about/icon01.svg);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 21px auto;
    border-bottom: 1px solid var(--grayf1-color);
    transition: 0.5s;
  }
  #about .title__area02 .anchor__menu li a:hover {
    background-image: url(../../images/src/about/icon02.svg);
  }
}
@media screen and (max-width: 1600px) {
  #about .title__area02 {
    margin: 2.812vw auto 7.5vw;
    padding: 2.187vw 0 3.75vw;
    width: 92.6%;
    max-width: 1480px;
  }
}
@media screen and (max-width: 1000px) {
  #about .tit__jp {
    font-size: 4vw;
  }
  #about .title__area02 .title {
    padding: 0 0 0.6vw;
    font-size: 4.8vw;
    background-size: 6vw auto;
  }
  #about .title__area02 .anchor__menu {
    width: 89.8%;
  }
  #about .title__area02 .anchor__menu li a {
    padding: 1.5vw 0;
    font-size: 1.8vw;
    background-size: 2.1vw auto;
  }
}
@media screen and (max-width: 768px) {
  #about .tit__jp {
    font-size: 6.28vw;
    width: auto;
  }
  #about .title__area02 {
    margin: 0 auto 14.5vw;
    padding: 7.85vw 0 7.246vw;
    width: 82.125%;
    max-width: inherit;
  }
  #about .title__area02 .title {
    padding: 0 0 2.898vw;
    font-size: 5.797vw;
    background-size: 9.66vw auto;
  }
  #about .title__area02 .anchor__menu {
    width: 52.94%;
    max-width: inherit;
  }
  #about .title__area02 .anchor__menu li {
    gap: 4.83vw 0;
    width: 100%;
    max-width: inherit;
  }
  #about .title__area02 .anchor__menu li a {
    padding: 1.57vw 0;
    font-size: 3.864vw;
    background-size: 5vw auto;
  }
}

@media print, screen {
  #about .sec01 {
    margin: 0 auto 120px;
    width: 100%;
  }
  #about .sec01 .inner {
    margin: 0 auto;
    width: 95.833%;
    max-width: 1840px;
  }
  #about .sec01 .inner .block {
    padding: 100px 0;
    width: 100%;
    background-color: #f3f3f3;
  }
  #about .sec01 .inner .block .box {
    margin: 0 auto;
    width: 80.434%;
    max-width: 1480px;
  }
  #about .sec01 .inner .block .box .box__text {
    width: 54.6%;
    max-width: 808px;
  }
  #about .sec01 .inner .block .box .box__text .title {
    margin-bottom: 40px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.03em;
  }
  #about .sec01 .inner .block .box .box__text .copy {
    margin-bottom: 40px;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.77;
    letter-spacing: 0.06em;
  }
  #about .sec01 .inner .block .box .box__text .copy span {
    color: var(--orange-color);
    font-weight: 700;
  }
  #about .sec01 .inner .block .box .box__text .text {
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #about .sec01 .inner .block .box .box__img {
    width: 40.54%;
    max-width: 600px;
  }
  #about .sec01 .inner .block .text02 {
    margin: 0 auto;
    padding: 10px 0 0;
    width: 80.434%;
    max-width: 1480px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 1600px) {
  #about .sec01 {
    margin: 0 auto 7.5vw;
  }
  #about .sec01 .inner .block {
    padding: 6.25vw 0;
  }
  #about .sec01 .inner .block .box .box__text .title {
    margin-bottom: 2.5vw;
    font-size: 1.5vw;
  }
  #about .sec01 .inner .block .box .box__text .copy {
    margin-bottom: 2.5vw;
    font-size: 2.25vw;
  }
  #about .sec01 .inner .block .box .box__text .text {
    font-size: 1.125vw;
  }
  #about .sec01 .inner .block .text02 {
    padding: 0.625vw 0 0;
    font-size: 1.125vw;
  }
}
@media screen and (max-width: 768px) {
  #about .sec01 {
    margin: 0 auto 14.5vw;
  }
  #about .sec01 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec01 .inner .block {
    padding: 8.454vw 0;
  }
  #about .sec01 .inner .block .box {
    width: 87.18%;
    max-width: inherit;
  }
  #about .sec01 .inner .block .box .box__text {
    width: 100%;
    max-width: inherit;
  }
  #about .sec01 .inner .block .box .box__text .title {
    margin-bottom: 6vw;
    font-size: 3.864vw;
  }
  #about .sec01 .inner .block .box .box__text .copy {
    margin-bottom: 6vw;
    font-size: 4.347vw;
  }
  #about .sec01 .inner .block .box .box__text .sp__img {
    margin: 6vw 0;
    width: 100%;
  }
  #about .sec01 .inner .block .box .box__text .text {
    font-size: 3.864vw;
  }
  #about .sec01 .inner .block .box .box__img {
    display: none;
  }
  #about .sec01 .inner .block .text02 {
    padding: 4vw;
    width: 96%;
    max-width: inherit;
    font-size: 3.864vw;
  }
}
@media print, screen {
  #about .sec02 {
    margin: 0 auto;
    width: 100%;
  }
  #about .sec02 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1670px;
  }
  #about .sec02 .inner .block {
    padding: 110px 95px;
    width: 100%;
    background-color: var(--white);
    box-sizing: border-box;
  }
  #about .sec02 .inner .block + .block {
    margin-top: 120px;
  }
  #about .sec02 .inner .block .tit__jp {
    margin-bottom: 70px;
  }
  #about .sec02 .inner .block .block__inner {
    justify-content: flex-end;
    padding: 0 0 75px;
    width: 100%;
    border-bottom: 1px solid var(--main-color);
  }
  #about .sec02 .inner .block .block__inner .block__text {
    padding: 0 60px 0 0;
    width: 65.16%;
    max-width: 808px;
  }
  #about .sec02 .inner .block .block__inner .block__text .title {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #about .sec02 .inner .block .block__inner .block__text .text {
    margin-bottom: 40px;
    line-height: 2;
  }
  #about .sec02 .inner .block .block__inner .block__text .text p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
  }
  #about .sec02 .inner .block .block__inner .block__text .post {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #about .sec02 .inner .block .block__inner .block__text .post span {
    font-size: 18px;
    font-weight: 700;
  }
  #about .sec02 .inner .block .block__inner .block__img {
    width: 29.838%;
    max-width: 370px;
  }
  #about .sec02 .inner .block .block__text02 {
    margin: 0 auto;
    padding: 80px 0 0;
    width: 67.3%;
    max-width: 996px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #about .sec02 .inner .block .block__text02 span {
    display: block;
    padding: 0 0 10px;
  }
}
@media screen and (max-width: 1700px) {
  #about .sec02 .inner {
    width: 98.235%;
  }
  #about .sec02 .inner .block {
    padding: 6.47vw 5.588vw;
  }
  #about .sec02 .inner .block + .block {
    margin-top: 7.05vw;
  }
  #about .sec02 .inner .block .tit__jp {
    margin-bottom: 4.117vw;
    font-size: 2.352vw;
  }
  #about .sec02 .inner .block .block__inner {
    padding: 0 0 4.411vw;
  }
  #about .sec02 .inner .block .block__inner .block__text {
    padding: 0 3.529vw 0 0;
  }
  #about .sec02 .inner .block .block__inner .block__text .title {
    margin-bottom: 1.764vw;
    font-size: 1.411vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .text {
    margin-bottom: 2.352vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .text p {
    font-size: 1.058vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .post {
    font-size: 1.411vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .post span {
    font-size: 1.058vw;
  }
  #about .sec02 .inner .block .block__text02 {
    padding: 5.176vw 0 0;
    font-size: 1.058vw;
  }
  #about .sec02 .inner .block .block__text02 span {
    padding: 0 0 0.588vw;
  }
}
@media screen and (max-width: 768px) {
  #about .sec02 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec02 .inner .block {
    padding: 8.454vw 0;
    width: 100%;
  }
  #about .sec02 .inner .block + .block {
    margin-top: 14.5vw;
  }
  #about .sec02 .inner .block .tit__jp {
    margin-bottom: 6vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec02 .inner .block .block__inner {
    justify-content: flex-start;
    flex-direction: column-reverse;
    margin: 0 auto;
    padding: 0 0 7.246vw;
    width: 87.18%;
  }
  #about .sec02 .inner .block .block__inner .block__text {
    padding: 8.454vw 0 0;
    width: 100%;
    max-width: inherit;
  }
  #about .sec02 .inner .block .block__inner .block__text .title {
    margin-bottom: 5.434vw;
    font-size: 4.347vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .text {
    margin-bottom: 5.434vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .text p {
    font-size: 3.864vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .text p + p {
    margin-top: 4vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .post {
    font-size: 4.83vw;
  }
  #about .sec02 .inner .block .block__inner .block__text .post span {
    font-size: 3.864vw;
  }
  #about .sec02 .inner .block .block__inner .block__img {
    margin: 0 auto;
    width: 70.588%;
    max-width: inherit;
  }
  #about .sec02 .inner .block .block__text02 {
    padding: 7.246vw 0 0;
    width: 87.18%;
    max-width: inherit;
    font-size: 3.864vw;
  }
  #about .sec02 .inner .block .block__text02 span {
    display: block;
    padding: 0 0 3vw;
  }
}
@media print, screen {
  #about .sec03 {
    margin: 0 auto;
    padding: 130px 0 140px;
    width: 100%;
  }
  #about .sec03 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1480px;
  }
  #about .sec03 .inner .tit__jp {
    margin-bottom: 50px;
  }
  #about .sec03 .inner .block__table {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
  }
  #about .sec03 .inner .block__table table,
  #about .sec03 .inner .block__table table th,
  #about .sec03 .inner .block__table table td {
    border: 0;
    border-collapse: collapse;
  }
  #about .sec03 .inner .block__table table {
    margin: 0 0 40px;
    width: 100%;
  }
  #about .sec03 .inner .block__table table th,
  #about .sec03 .inner .block__table table td {
    padding: 20px 0 20px 40px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.08em;
    border-bottom: 1px solid var(--grayf3-color);
    box-sizing: border-box;
  }
  #about .sec03 .inner .block__table table th {
    width: 20%;
    font-weight: 500;
  }
  #about .sec03 .inner .block__table table td {
    width: 80%;
  }
  #about .sec03 .inner .block__table table td small {
    font-size: 14px;
  }
  #about .sec03 .inner .block__activity {
    margin: 0 auto;
    padding: 40px;
    width: 100%;
    max-width: 1200px;
    background-color: #f3f3f3;
    border-radius: 14px;
    box-sizing: border-box;
  }
  #about .sec03 .inner .block__activity dt {
    width: 17.857%;
    max-width: 200px;
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.08em;
  }
  #about .sec03 .inner .block__activity dd {
    width: 78.93%;
    max-width: 884px;
  }
  #about .sec03 .inner .block__activity dd ul li {
    padding: 0 0 0 40px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.08em;
    background-repeat: no-repeat;
    background-position: left center;
  }
  #about .sec03 .inner .block__activity dd ul li:first-of-type {
    background-image: url(../../images/src/about/icon03.svg);
  }
  #about .sec03 .inner .block__activity dd ul li:nth-of-type(2) {
    background-image: url(../../images/src/about/icon04.svg);
  }
  #about .sec03 .inner .block__activity dd ul li:nth-of-type(3) {
    background-image: url(../../images/src/about/icon05.svg);
  }
  #about .sec03 .inner .block__activity dd ul li:nth-of-type(4) {
    background-image: url(../../images/src/about/icon06.svg);
  }
}
@media screen and (max-width: 1600px) {
  #about .sec03 {
    padding: 8.125vw 0 8.75vw;
  }
  #about .sec03 .inner {
    width: 92.5%;
  }
  #about .sec03 .inner .tit__jp {
    margin-bottom: 3.125vw;
    font-size: 2.5vw;
  }
  #about .sec03 .inner .block__table {
    width: 75%;
  }
  #about .sec03 .inner .block__table table {
    margin: 0 0 2.5vw;
  }
  #about .sec03 .inner .block__table table th,
  #about .sec03 .inner .block__table table td {
    padding: 1.25vw 0 1.25vw 2.5vw;
    font-size: 1.125vw;
  }
  #about .sec03 .inner .block__table table td small {
    font-size: 0.875vw;
  }
  #about .sec03 .inner .block__activity {
    padding: 2.5vw;
    width: 75%;
  }
  #about .sec03 .inner .block__activity dt {
    font-size: 1.125vw;
  }
  #about .sec03 .inner .block__activity dd ul li {
    padding: 0 0 0 2.5vw;
    font-size: 1.125vw;
    background-size: 1.375vw auto;
  }
}
@media screen and (max-width: 768px) {
  #about .sec03 {
    padding: 18.12vw 0 140px;
  }
  #about .sec03 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec03 .inner .tit__jp {
    margin-bottom: 6vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec03 .inner .block__table {
    margin: 0 auto;
    width: 87.18%;
    max-width: inherit;
  }
  #about .sec03 .inner .block__table table {
    margin: 0 0 40px;
  }
  #about .sec03 .inner .block__table table th,
  #about .sec03 .inner .block__table table td {
    padding: 3vw 0;
    font-size: 3.864vw;
  }
  #about .sec03 .inner .block__table table td small {
    display: block;
    font-size: 2.898vw;
  }
  #about .sec03 .inner .block__activity {
    margin: 0 auto;
    padding: 4.83vw 6vw;
    width: 100%;
    max-width: inherit;
  }
  #about .sec03 .inner .block__activity dt {
    margin-bottom: 3vw;
    width: 100%;
    max-width: inherit;
    font-size: 4.347vw;
  }
  #about .sec03 .inner .block__activity dd {
    width: 100%;
    max-width: inherit;
  }
  #about .sec03 .inner .block__activity dd ul li {
    padding: 0 0 0 9vw;
    font-size: 4.347vw;
    background-position: left top 2.5vw;
    background-size: 4.347vw auto;
  }
}
@media print, screen {
  #about .sec04 {
    margin: 0 auto;
    padding: 60px 0;
    width: 100%;
    background-image: url(../../images/src/about/bg_sec04.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
  }
  #about .sec04 .inner {
    margin: 0 auto;
    padding: 100px 0;
    width: 86.98%;
    max-width: 1670px;
    background-color: var(--white);
  }
  #about .sec04 .inner .block {
    margin: 0 auto;
    width: 92.5%;
    max-width: 1480px;
  }
  #about .sec04 .inner .block .tit__jp {
    margin-bottom: 75px;
  }
  #about .sec04 .inner .block .tit__jp span {
    margin-left: 30px;
    font-size: 24px;
    font-weight: 700;
  }
  #about .sec04 .inner .block .box {
    margin: 0 auto;
    width: 100%;
    max-width: 1000px;
  }
  #about .sec04 .inner .block .box .copy {
    margin-bottom: 25px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #about .sec04 .inner .block .box .text {
    line-height: 2;
  }
  #about .sec04 .inner .block .box .text p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.17em;
  }
}
@media screen and (max-width: 1200px) {
  #about .sec04 {
    padding: 5vw 0;
  }
  #about .sec04 .inner {
    padding: 8.333vw 0;
  }
  #about .sec04 .inner .block .tit__jp {
    margin-bottom: 6.25vw;
    font-size: 3.333vw;
  }
  #about .sec04 .inner .block .tit__jp span {
    margin-left: 2.5vw;
    font-size: 2vw;
  }
  #about .sec04 .inner .block .box {
    width: 83.333%;
  }
  #about .sec04 .inner .block .box .copy {
    margin-bottom: 2.08vw;
    font-size: 2vw;
  }
  #about .sec04 .inner .block .box .text {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #about .sec04 {
    padding: 9.66vw 0;
    background-image: url(../../images/src/about/sp/bg_sec04.png);
    background-size: 100% auto;
  }
  #about .sec04 .inner {
    padding: 9.66vw 0;
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec04 .inner .block {
    width: 87.18%;
    max-width: inherit;
  }
  #about .sec04 .inner .block .tit__jp {
    margin-bottom: 7.246vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec04 .inner .block .tit__jp span {
    display: block;
    margin-left: 0;
    padding: 2vw 0 0;
    font-size: 3.864vw;
  }
  #about .sec04 .inner .block .box {
    width: 100%;
    max-width: inherit;
  }
  #about .sec04 .inner .block .box .copy {
    margin-bottom: 6.642vw;
    font-size: 4.347vw;
    text-align: center;
  }
  #about .sec04 .inner .block .box .text p {
    font-size: 3.864vw;
  }
  #about .sec04 .inner .block .box .text p + p {
    margin-top: 4vw;
  }
}
@media print, screen {
  #about .sec05 {
    margin: 0 auto;
    padding: 130px 0 137px;
    width: 100%;
  }
  #about .sec05 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1480px;
  }
  #about .sec05 .inner .tit__jp {
    margin-bottom: 75px;
  }
  #about .sec05 .inner .block {
    margin: 0 auto;
    width: 100%;
    max-width: 1100px;
  }
  #about .sec05 .inner .block .attribute_list {
    width: 100%;
    justify-content: center;
    gap: 0 70px;
  }
  #about .sec05 .inner .block .attribute_list li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 220px;
    height: 220px;
    color: var(--white);
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.03em;
    background-color: var(--main-color);
    border-radius: 100%;
  }
  #about .sec05 .inner .block .attribute_list li span {
    display: block;
    padding: 5px 0 0;
    font-size: 40px;
    font-weight: 700;
  }
  #about .sec05 .inner .block .attribute_list li span small {
    font-size: 18px;
    font-weight: 500;
  }
  #about .sec05 .inner .block .attribute_note {
    padding: 10px 0 57px;
    font-size: 14px;
    text-align: right;
  }
  #about .sec05 .inner .block .gray__box {
    margin-bottom: 100px;
    padding: 40px 0;
    width: 100%;
    line-height: 2;
    text-align: center;
    background-color: #f3f3f3;
  }
  #about .sec05 .inner .block .gray__box p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
  }
  #about .sec05 .inner .ratio_img {
    margin: 0 auto;
    width: 100%;
    max-width: 1280px;
  }
}
@media screen and (max-width: 1600px) {
  #about .sec05 {
    padding: 8.125vw 0 8.562vw;
  }
  #about .sec05 .inner {
    width: 92.5%;
  }
  #about .sec05 .inner .tit__jp {
    margin-bottom: 4.687vw;
    font-size: 2.5vw;
  }
  #about .sec05 .inner .block {
    width: 68.75%;
  }
  #about .sec05 .inner .block .attribute_list {
    width: 100%;
  }
  #about .sec05 .inner .block .attribute_list li {
    width: 13.75vw;
    height: 13.75vw;
    font-size: 1.5vw;
  }
  #about .sec05 .inner .block .attribute_list li span {
    padding: 0.312vw 0 0;
    font-size: 2.5vw;
  }
  #about .sec05 .inner .block .attribute_list li span small {
    font-size: 1.125vw;
  }
  #about .sec05 .inner .block .attribute_note {
    padding: 0.625vw 0 3.562vw;
    font-size: 0.875vw;
  }
  #about .sec05 .inner .block .gray__box {
    margin-bottom: 6.25vw;
    padding: 2.5vw 0;
    font-size: 1.125vw;
  }
  #about .sec05 .inner .ratio_img {
    width: 75%;
  }
}
@media screen and (max-width: 768px) {
  #about .sec05 {
    padding: 19.323vw 0 18.12vw;
  }
  #about .sec05 .inner {
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec05 .inner .tit__jp {
    margin-bottom: 8.454vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec05 .inner .block {
    width: 100%;
    max-width: inherit;
  }
  #about .sec05 .inner .block .attribute_list {
    gap: 4.38vw 0;
    width: 100%;
    justify-content: space-between;
  }
  #about .sec05 .inner .block .attribute_list li {
    width: 47.435%;
    height: 44.685vw;
    font-size: 4.83vw;
  }
  #about .sec05 .inner .block .attribute_list li span {
    padding: 1vw 0 0;
    font-size: 7.729vw;
  }
  #about .sec05 .inner .block .attribute_list li span small {
    font-size: 3.864vw;
  }
  #about .sec05 .inner .block .attribute_note {
    padding: 4vw 0 8.454vw;
    font-size: 2.898vw;
    text-align: right;
  }
  #about .sec05 .inner .block .gray__box {
    margin-bottom: 0;
    padding: 4.83vw;
    text-align: left;
    box-sizing: border-box;
  }
  #about .sec05 .inner .block .gray__box p {
    font-size: 4.347vw;
  }
  #about .sec05 .inner .block .gray__box p + p {
    margin-top: 4vw;
  }
  #about .sec05 .inner .ratio_img {
    width: 100%;
    max-width: inherit;
  }
}
@media print, screen {
  #about .sec06 {
    margin: 0 auto;
    padding: 130px 0 120px;
    width: 100%;
    background-color: var(--white);
  }
  #about .sec06 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1480px;
  }
  #about .sec06 .inner .tit__jp {
    margin-bottom: 50px;
  }
  #about .sec06 .inner .block {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
  }
  #about .sec06 .inner .block__table {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
  }
  #about .sec06 .inner .block__table table,
  #about .sec06 .inner .block__table table th,
  #about .sec06 .inner .block__table table td {
    border: 0;
    border-collapse: collapse;
  }
  #about .sec06 .inner .block__table table {
    margin: 0 0 40px;
    width: 100%;
  }
  #about .sec06 .inner .block__table table th,
  #about .sec06 .inner .block__table table td {
    padding: 20px 0 20px 40px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.08em;
    border-bottom: 1px solid var(--grayf3-color);
    box-sizing: border-box;
  }
  #about .sec06 .inner .block__table table th {
    width: 20%;
    font-weight: 500;
  }
  #about .sec06 .inner .block__table table td {
    width: 80%;
  }
  #about .sec06 .inner .block__table table td small {
    font-size: 14px;
  }
}
@media screen and (max-width: 1600px) {
  #about .sec06 {
    padding: 8.125vw 0 7.5vw;
  }
  #about .sec06 .inner {
    width: 92.5%;
  }
  #about .sec06 .inner .tit__jp {
    margin-bottom: 3.125vw;
    font-size: 2.5vw;
  }
  #about .sec06 .inner .block {
    width: 75%;
  }
  #about .sec06 .inner .block__table {
    width: 75%;
  }
  #about .sec06 .inner .block__table table {
    margin: 0 0 2.5vw;
  }
  #about .sec06 .inner .block__table table th,
  #about .sec06 .inner .block__table table td {
    padding: 1.25vw 0 1.25vw 2.5vw;
    font-size: 1.125vw;
  }
  #about .sec06 .inner .block__table table td small {
    font-size: 0.875vw;
  }
}
@media screen and (max-width: 768px) {
  #about .sec06 {
    padding: 9vw 0 9vw;
  }
  #about .sec06 .inner {
    width: 87.18%;
    max-width: inherit;
  }
  #about .sec06 .inner .tit__jp {
    margin-bottom: 5.434vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec06 .inner .block {
    width: 100%;
    max-width: inherit;
  }
  #about .sec06 .inner .block__table {
    width: 100%;
    max-width: inherit;
  }
  #about .sec06 .inner .block__table table {
    margin: 0;
  }
  #about .sec06 .inner .block__table table th,
  #about .sec06 .inner .block__table table td {
    padding: 2.415vw 0;
    font-size: 3.864vw;
  }
}
@media print, screen {
  #about .sec07 {
    margin: 0 auto;
    padding: 130px 0 140px;
    width: 100%;
    overflow: hidden;
  }
  #about .sec07 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1480px;
  }
  #about .sec07 .inner .tit__jp {
    margin-bottom: 50px;
  }
  #about .sec07 .inner .block {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    position: relative;
  }
  #about .sec07 .inner .block .box {
    padding: 0 0 60px;
    width: 100%;
  }
  #about .sec07 .inner .block .box .box__left {
    width: 46.9%;
    max-width: 563px;
    font-size: 32px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #about .sec07 .inner .block .box .box__right {
    width: 48.333%;
    max-width: 580px;
    line-height: 2;
  }
  #about .sec07 .inner .block .box .box__right p {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.16em;
  }
  #about .sec07 .inner .block .box .box__right p + p {
    margin-top: 25px;
  }
  #about .sec07 .inner .block .leader__list {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  #about .sec07 .inner .block .leader__circle {
    width: 100%;
    max-width: 404px;
    position: absolute;
    right: -302px;
    bottom: -96px;
    z-index: 0;
  }
}
@media screen and (max-width: 1600px) {
  #about .sec07 {
    padding: 8.125vw 0 8.75vw;
  }
  #about .sec07 .inner {
    width: 92.5%;
  }
  #about .sec07 .inner .tit__jp {
    margin-bottom: 3.125vw;
  }
  #about .sec07 .inner .block {
    width: 75%;
  }
  #about .sec07 .inner .block .box {
    padding: 0 0 3.75vw;
  }
  #about .sec07 .inner .block .box .box__left {
    font-size: 2vw;
  }
  #about .sec07 .inner .block .box .box__right p {
    font-size: 1.125vw;
  }
  #about .sec07 .inner .block .box .box__right p + p {
    margin-top: 1.562vw;
  }
  #about .sec07 .inner .block .leader__circle {
    width: 100%;
    max-width: 25.25vw;
    right: -18.875vw;
    bottom: -6vw;
  }
}
@media screen and (max-width: 768px) {
  #about .sec07 {
    padding: 19.323vw 0;
  }
  #about .sec07 .inner {
    margin: 0 auto;
    width: 100%;
    max-width: inherit;
  }
  #about .sec07 .inner .tit__jp {
    margin-bottom: 9.66vw;
    font-size: 6.28vw;
    line-height: 1.38;
    text-align: center;
  }
  #about .sec07 .inner .block {
    width: 82.125%;
    max-width: inherit;
  }
  #about .sec07 .inner .block .box {
    padding: 0;
    width: 100%;
  }
  #about .sec07 .inner .block .box .box__left {
    margin-bottom: 7.246vw;
    width: 100%;
    max-width: inherit;
    font-size: 4.347vw;
  }
  #about .sec07 .inner .block .box .box__right {
    width: 100%;
    max-width: inherit;
  }
  #about .sec07 .inner .block .box .box__right p {
    font-size: 3.864vw;
  }
  #about .sec07 .inner .block .box .box__right p + p {
    margin-top: 4vw;
  }
  #about .sec07 .inner .block .box .box__right .sp__img {
    width: 100%;
  }
  #about .sec07 .inner .block .leader__list {
    display: none;
  }
  #about .sec07 .inner .block .leader__circle {
    display: none;
  }
}
@media print, screen {
  #about .sec08 {
    margin: 0 auto;
    padding: 0 0 120px;
    width: 100%;
  }
  #about .sec08 .inner {
    margin: 0 auto;
    padding: 110px 0;
    width: 100%;
    max-width: 1670px;
    background-color: var(--white);
  }
  #about .sec08 .inner + .inner {
    margin-top: 120px;
  }
  #about .sec08 .inner .block {
    margin: 0 auto;
    width: 100%;
    max-width: 1480px;
  }
  #about .sec08 .inner .block .tit__jp {
    margin-bottom: 70px;
  }
  #about .sec08 .inner .block .box {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
  }
  #about .sec08 .inner .block .box .case__list {
    width: 100%;
    list-style-type: disc;
  }
  #about .sec08 .inner .block .box .case__list li {
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  #about .sec08 .inner .block .box .research__text {
  }
  #about .sec08 .inner .block .box .research__text dl {
    margin-bottom: 20px;
    padding: 0 0 15px;
    width: 100%;
    border-bottom: 1px solid var(--grayf3-color);
  }
  #about .sec08 .inner .block .box .research__text dl:last-of-type {
    margin-bottom: 40px;
  }
  #about .sec08 .inner .block .box .research__text dl dt {
    margin-bottom: 10px;
    width: 100%;
    font-size: 18px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.08em;
  }
  #about .sec08 .inner .block .box .research__text dl dd {
    width: 100%;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.08em;
  }
  #about .sec08 .inner .block .box .box__note {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
    text-align: center;
  }
  #about .sec08 .inner .block .box .box__note a {
    text-decoration: underline;
  }
  #about .sec08 .inner .block .box .box__note a:hover {
    text-decoration: none;
  }
  #about .sec08 .inner .block .column__three {
    margin: 0 auto 50px;
    width: 100%;
    max-width: 1280px;
  }
  #about .sec08 .inner .block .column__three li {
    width: 33.333%;
    max-width: 400px;
  }
  #about .sec08 .inner .block .column__three li .column__img {
    margin: 0 auto 20px;
    width: 48.5%;
    max-width: 194px;
  }
  #about .sec08 .inner .block .column__three li .column__text {
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    text-align: center;
  }
  #about .sec08 .inner .block .column__three li .column__text span {
    display: block;
    font-size: 16px;
    font-weight: 500;
  }
  #about .sec08 .inner .block .column__three li .column__text small {
    display: block;
    font-size: 14px;
  }
  #about .sec08 .inner .block .other__book {
    font-size: 18px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    text-align: center;
  }
  #about .sec08 .inner .block .book__list {
    letter-spacing: 0.06em;
    text-indent: 0.06em;
    text-align: center;
  }
  #about .sec08 .inner .block .book__list dt {
    margin-bottom: 5px;
    width: 100%;
    font-size: 18px;
    font-weight: 700;
  }
  #about .sec08 .inner .block .book__list dd {
    margin-bottom: 10px;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
  }
  #about .sec08 .common__btn {
    margin: 116px auto 148px;
    max-width: 880px;
  }
}
@media screen and (max-width: 1700px) {
  #about .sec08 .inner {
    padding: 6.47vw 0;
    width: 98.235%;
    max-width: 1670px;
  }
  #about .sec08 .inner .block {
    width: 87%;
  }
}
@media screen and (max-width: 1300px) {
  #about .sec08 {
    padding: 0 0 9.23vw;
  }
  #about .sec08 .inner + .inner {
    margin-top: 9.23vw;
  }
  #about .sec08 .inner .block .tit__jp {
    margin-bottom: 5.384vw;
  }
  #about .sec08 .inner .block .box {
    width: 92.3%;
  }
  #about .sec08 .inner .block .box .case__list li {
    font-size: 1.23vw;
  }
  #about .sec08 .inner .block .box .research__text dl {
    margin-bottom: 1.238vw;
    padding: 0 0 1.153vw;
  }
  #about .sec08 .inner .block .box .research__text dl:last-of-type {
    margin-bottom: 3.07vw;
  }
  #about .sec08 .inner .block .box .research__text dl dt {
    margin-bottom: 0.769vw;
    font-size: 1.384vw;
  }
  #about .sec08 .inner .block .box .research__text dl dd {
    font-size: 1.23vw;
  }
  #about .sec08 .inner .block .box .box__note {
    font-size: 1.076vw;
  }
  #about .sec08 .inner .block .column__three {
    margin: 0 auto 3.846vw;
    width: 98.461%;
  }
  #about .sec08 .inner .block .column__three li .column__img {
    margin: 0 auto 1.538vw;
  }
  #about .sec08 .inner .block .column__three li .column__text {
    font-size: 1.384vw;
  }
  #about .sec08 .inner .block .column__three li .column__text span {
    font-size: 1.23vw;
  }
  #about .sec08 .inner .block .column__three li .column__text small {
    font-size: 1.076vw;
  }
  #about .sec08 .inner .block .other__book {
    font-size: 1.384vw;
  }
  #about .sec08 .inner .block .book__list dt {
    margin-bottom: 0.384vw;
    font-size: 1.384vw;
  }
  #about .sec08 .inner .block .book__list dd {
    margin-bottom: 0.769vw;
    font-size: 1.23vw;
  }
  #about .sec08 .common__btn {
    margin: 8.923vw auto 11.384vw;
    width: 92.3%;
  }
}
@media screen and (max-width: 768px) {
  #about .sec08 {
    padding: 0 0 19vw;
  }
  #about .sec08 .inner {
    padding: 9vw 0;
    width: 94.2%;
    max-width: inherit;
  }
  #about .sec08 .inner + .inner {
    margin-top: 14.5vw;
  }
  #about .sec08 .inner .block {
    max-width: inherit;
  }
  #about .sec08 .inner .block .tit__jp {
    margin-bottom: 6vw;
    font-size: 6.28vw;
    text-align: center;
  }
  #about .sec08 .inner .block .box {
    width: 87.18%;
    max-width: inherit;
  }
  #about .sec08 .inner .block .box .case__list li {
    font-size: 3.381vw;
    line-height: 1.5;
  }
  #about .sec08 .inner .block .box .case__list li + li {
    margin-top: 2vw;
  }
  #about .sec08 .inner .block .box .research__text {
  }
  #about .sec08 .inner .block .box .research__text dl {
    margin-bottom: 3vw;
    padding: 0 0 3vw;
  }
  #about .sec08 .inner .block .box .research__text dl:last-of-type {
    margin-bottom: 4vw;
  }
  #about .sec08 .inner .block .box .research__text dl dt {
    margin-bottom: 2vw;
    font-size: 3.864vw;
  }
  #about .sec08 .inner .block .box .research__text dl dd {
    font-size: 3.381vw;
  }
  #about .sec08 .inner .block .box .box__note {
    font-size: 2.898vw;
  }
  #about .sec08 .inner .block .box .box__note a {
    text-decoration: underline;
  }
  #about .sec08 .inner .block .box .box__note a:hover {
    text-decoration: none;
  }
  #about .sec08 .inner .block .column__three {
    gap: 8vw 0;
    margin: 0 auto 8.454vw;
    max-width: inherit;
  }
  #about .sec08 .inner .block .column__three li {
    width: 100%;
    max-width: inherit;
  }
  #about .sec08 .inner .block .column__three li .column__img {
    margin: 0 auto 3vw;
    width: 36.764%;
    max-width: inherit;
  }
  #about .sec08 .inner .block .column__three li .column__text {
    font-size: 3.864vw;
  }
  #about .sec08 .inner .block .column__three li .column__text span {
    font-size: 3.381vw;
  }
  #about .sec08 .inner .block .column__three li .column__text small {
    font-size: 2.898vw;
  }
  #about .sec08 .inner .block .other__book {
    font-size: 3.864vw;
  }
  #about .sec08 .inner .block .book__list dt {
    margin-bottom: 2vw;
    font-size: 3.864vw;
  }
  #about .sec08 .inner .block .book__list dd {
    margin-bottom: 4vw;
    font-size: 3.381vw;
  }
  #about .sec08 .common__btn {
    margin: 19.323vw auto;
    max-width: inherit;
  }
}
