@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

*, *:before, *:after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  background-color: #F5F5F3;
  font-family: "Zen Kaku Gothic New", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-feature-settings: "palt" 1;
  font-size: 1.4rem;
  color: #221815;
  line-height: 1.6;
  overflow-x: hidden;
}

a:link {
  text-decoration: none;
  transform: all 0.12s ease-in;
}

a:visited {
  color: inherit;
}

a:hover {
  color: #746CD5;
}

.inside-sec {
  padding-left: max(7.03vw, 6rem);
  padding-right: max(7.03vw, 6rem);
}

.header {
  opacity: 0; /*初期*/
  width: 100%;
  padding-top: max(3.4vw, 4.2rem);
  padding-left: max(7.03vw, 6rem);
  padding-right: max(7.03vw, 6rem);
}
.header__inner {
  max-width: 1100px;
  margin: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
}
.header__inner li:first-child {
  -webkit-box-flex: 1;
  flex-grow: 1;
}
.header__inner li:nth-of-type(2) {
  -webkit-box-flex: 3.4;
  flex-grow: 3.4;
}
.header__inner li:last-child {
  -webkit-box-flex: 0.65;
  flex-grow: 0.65;
}

.header__logo a {
  display: block;
  text-decoration: none;
  padding: 2px 6px;
}
.header__logo--left {
  display: inline-block;
  width: 50px;
  margin-right: 2.4rem;
}
.header__logo--left img {
  max-width: 100%;
}
.header__logo--right {
  display: inline-block;
  width: 155px;
}
.header__logo--right img {
  max-width: 100%;
}

.header__gnav {
  color: #221815;
  text-align: center;
}
.header__gnav ul li {
  display: inline-block;
  margin-right: 1.9vw;
  margin-left: 1.9vw;
  font-size: 1.6rem;
  font-weight: 500;
}

.header__contactlink {
  display: inline-block;
  height: 3em;
  line-height: 3em;
  padding: 0 3.2rem;
  background-color: #746CD5;
  color: #FFF;
  font-size: 1.6rem;
  border-radius: 3.2rem;
  letter-spacing: 0.06em;
  transform: translateX(1.87vw);
  transition: all 0.12s 0.1s ease-in;
  cursor: pointer;
}

.header__contactlink:hover {
  color: #FFF;
  background-color: #4B468A;
}

.footer {
  width: 100%;
  margin-top: 9rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  background-image: url("../images/common/footer-bg.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.footer__inner {
  display: -webkit-box;
  display: flex;
  max-width: 110rem;
  margin: auto;
  padding: min(3.12vw, 4rem);
  background-color: #FFF;
  border-radius: 3rem;
}
.footer__logoarea {
  width: 14.5%;
}
.footer__logoarea p {
  margin-bottom: 1.5rem;
  font-weight: 500;
  font-size: 1.6rem;
}
.footer__logoarea p span {
  font-size: 1.4rem;
}
.footer__logoarea img {
  width: min(50.5%, 11.2rem);
}
.footer__linkarea {
  width: 85.5%;
}
.footer__linkarea__list {
  display: -webkit-box;
  display: flex;
  gap: 3.65%;
}
.footer__linkarea__list__item .ttl {
  display: inline-block;
  margin-bottom: 0.8rem;
  font-size: 1.2rem;
  font-weight: 500;
}
.footer__linkarea__list__item .ttl::before {
  content: " ";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.2em;
  border: 2px solid #000;
  border-radius: 50%;
  line-height: 1.8rem;
  transform: translateY(1px);
}
.footer__linkarea__list__item .col01::before {
  border-color: #55B558;
}
.footer__linkarea__list__item .col02::before {
  border-color: #55C1DE;
}
.footer__linkarea__list__item .col03::before {
  border-color: #FFF352;
}
.footer__linkarea__list__item .col04::before {
  border-color: #171C61;
}
.footer__linkarea__list__item .col05::before {
  border-color: #EE742F;
}
.footer__linkarea__list__item .normallinks {
  margin-top: 0.4rem;
}
.footer__linkarea__list__item .normallinks li {
  margin-bottom: 1.5rem;
}
.footer__linkarea__list__item .normallinks li a {
  display: block;
  position: relative;
  font-size: 1.2rem;
  font-weight: 500;
}
.footer__linkarea__list__item .normallinks li a p {
  padding-left: 1.6em;
}
.footer__linkarea__list__item .normallinks li a p::before {
  content: " ";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: calc(0.7rem - 3px);
  width: 6px;
  height: 6px;
  background-image: url("../images/common/arrow-right.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
  z-index: 1;
}
.footer__linkarea__list__item .normallinks li a p::after {
  content: " ";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #746CD5;
  border-radius: 50%;
  transform: translateY(-50%);
  z-index: 0;
}
.footer__linkarea__list__item .busilinks li {
  margin-bottom: 0.72rem;
}
.footer__linkarea__list__item .busilinks li a {
  display: block;
  padding: 0.3rem 0.4rem;
  font-size: 0.9rem;
  color: #3D3D3D;
  background-color: #F3F3F3;
}
.footer__linkarea__list__item .busilinks li a p::before {
  content: "-";
  display: inline-block;
}

.footer-bottomlink {
  padding-top: 2.4rem;
  padding-bottom: 8.4rem;
}
.footer-bottomlink__inner {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.footer-bottomlink__nav li {
  display: inline-block;
  margin-right: 3.2rem;
  font-size: 1.1rem;
  color: #656563;
}
.footer-bottomlink__nav li a {
  text-decoration: underline;
  padding: 0.2rem 0.5em;
}
.footer-bottomlink__nav li a:hover {
  text-decoration: none;
  color: #000;
}
.footer-bottomlink__copy {
  color: #221815;
  font-size: 1.1rem;
  text-align: right;
}

/* ===============
section mainvisual
=============== */
.mainvisual {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  width: 100vw;
}
.mainvisual__inner {
  max-width: 42rem;
  margin-top: 5.4vw; /*見た目調整*/
}

.centerlogo {
  position: relative;
  min-width: 26.7rem;
}

.centerlogo svg {
  position: absolute;
  top: 0;
  left: 50%;
  width: min(20vw, 26rem);
  transform: translateX(-50%);
}
.centerlogo svg .motionpath {
  fill: none;
  stroke: #221815;
  stroke-width: 1px;
}

.centerlogo .fullpath {
  opacity: 0; /*初期*/
  position: absolute;
  top: 0;
  left: 50%;
  width: min(20vw, 26rem);
  transform: translateX(-50%);
}

.centercopy {
  position: absolute;
  top: min(20vw, 26rem);
  width: 100%;
  font-size: min(1.5vw, 2rem);
  text-align: center;
}

.after-load {
  opacity: 0; /*初期*/
}

.illust-bg {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: -1;
}
.illust-bg__inner {
  width: 100vw;
  height: min(600px, 50vw);
}
.illust-bg__inner__img {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%) translateY(0%);
}
.illust-bg__inner::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("../images/front/main-building.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  transform: translateY(20%);
  z-index: -10;
}

/* ===============
section message
=============== */
.message {
  position: relative;
  margin-top: -50px;
}

.morphing-wrap {
  position: absolute;
  width: 100vw;
  min-height: 200px;
  margin-top: -100px;
  z-index: 0;
}
.morphing-wrap .shape {
  position: absolute;
  top: 50%;
  height: auto;
  transform: translateX(-50%);
}
.morphing-wrap .mo-01 {
  fill: #55B558;
  width: 48rem;
  left: 17.5vw;
  top: 90%;
}
.morphing-wrap .mo-02 {
  fill: #55C1DE;
  width: 42rem;
  left: 12.5vw;
  top: 20%;
}
.morphing-wrap .mo-03 {
  fill: #171C61;
  width: 23.3vw;
  left: 21.8vw;
}
.morphing-wrap .mo-04 {
  fill: #FFF352;
  width: 35.5vw;
  left: 37.5vw;
}
.morphing-wrap .mo-05 {
  fill: #EE742F;
  width: 40.8vw;
  left: 41.2vw;
  top: 70%;
}
.morphing-wrap .mo-06 {
  fill: #55C1DE;
  width: 42vw;
  left: 71.7vw;
  top: 46.3%;
}
.morphing-wrap .mo-07 {
  fill: #55B558;
  width: 40.8vw;
  left: 76.5vw;
  top: 90%;
}
.morphing-wrap .mo-08 {
  fill: #171C61;
  width: 37.8vw;
  left: 87.8vw;
}
.morphing-wrap .mo-09 {
  fill: #EE742F;
  width: 22.7vw;
  left: 93vw;
}

.message-box {
  position: relative;
  display: block;
  max-width: 55.7vw;
  margin: 0 auto;
  padding: 4.2rem;
  background-color: #FFF;
  border: 1px solid #221815;
  border-radius: 1rem;
  font-size: 1.8rem;
  text-align: center;
  opacity: 0; /*初期*/
  z-index: 20;
}

.philosophy {
  margin-bottom: 7.5rem;
}
.philosophy__inner {
  max-width: max(55.3vw, 71rem);
  margin: 10px auto;
}
.philosophy__title {
  margin-bottom: 4rem;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
}
.philosophy__desc {
  font-size: 1.6rem;
  line-height: 2;
}
.philosophy__sign {
  text-align: center;
}
.philosophy__sign__img {
  width: max(10.9vw, 13.5rem);
  height: max(10.9vw, 13.5rem);
  margin: 2rem auto 1.8rem;
}
.philosophy__sign__img img {
  width: 100%;
  height: 100%;
}
.philosophy__sign__txt p {
  margin-bottom: 0.2rem;
  font-size: 1.6rem;
}
.philosophy__sign__txt h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.1;
}
.philosophy__sign__txt h3 span {
  font-size: 1.4rem;
  font-weight: 400;
}

.aboutus {
  position: relative;
}
.aboutus__inner {
  max-width: max(55.3vw, 71rem);
  margin: 0 auto;
}
.aboutus__ttl {
  margin-bottom: 2.4rem;
  font-size: 2.4rem;
}
.aboutus__ttl span {
  display: block;
  font-size: 1.6rem;
}
.aboutus__bgspinner {
  display: block;
  position: absolute;
  top: 0;
  right: 5vw;
  width: min(37.2vw, 42rem);
  height: min(39.7vw, 48rem);
  transform-origin: center;
}
.aboutus__bgspinner img {
  width: min(37.2vw, 42rem);
  height: min(39.7vw, 48rem);
}
.aboutus__copy {
  margin-bottom: 2.4rem;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.8;
}
.aboutus__txt {
  margin-left: 0.32em;
  font-size: 1.6rem;
  line-height: 1.8;
}
.aboutus__thinkmap {
  margin: 4.4rem auto 10.7rem;
  width: min(100.9rem, 78.8vw);
  text-align: center;
}
.aboutus__thinkmap__inner {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: stretch;
  align-items: stretch;
  margin-top: 2.4rem;
}
.aboutus__thinkmap__inner__item {
  position: relative;
  width: 32%;
  padding-top: 9rem;
  padding-left: 4.2rem;
  padding-right: 4.2rem;
  padding-bottom: 9.6rem;
  z-index: 1;
}
.aboutus__thinkmap__inner__item .num {
  position: absolute;
  top: 0;
  left: 50%;
  text-align: center;
  transform: translateX(-50%);
}
.aboutus__thinkmap__inner__item .num span {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  z-index: 2;
}
.aboutus__thinkmap__inner__item .num::before {
  content: " ";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  width: 8rem;
  height: 8rem;
  transform: translateX(-50%) translateY(-50%);
  border: 10px solid #FFF;
  border-radius: 50%;
  background-color: #FFF352;
  z-index: 1;
}
.aboutus__thinkmap__inner__item .name {
  margin-bottom: 2rem;
  font-weight: 500;
  font-size: 2rem;
}
.aboutus__thinkmap__inner__item .txt {
  font-size: 1.5rem;
  line-height: 1.7;
  text-align: left;
}
.aboutus__thinkmap__inner__item::after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF352;
  border-radius: 9999px;
  animation: mochimochi 2.5s infinite;
  z-index: -1;
}
@keyframes mochimochi {
  0% {
    transform: scale(1, 0.92);
    border-radius: 9999px;
  }
  50% {
    transform: scale(0.94, 1.03);
    border-radius: 9990px;
  }
  80% {
    transform: scale(1.05, 0.94);
    border-radius: 9999px;
  }
  100% {
    transform: scale(1, 0.92);
    border-radius: 9999px;
  }
}

.ourprojects {
  padding: 7.8rem 0 10.6rem;
  background-color: #E9E9E9;
  line-height: 0.04em;
  text-align: center;
}
.ourprojects__ttl {
  position: relative;
  display: inline-block;
  letter-spacing: 0.08em;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 500;
}
.ourprojects__ttl::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -1em;
  width: 2.3rem;
  height: 1px;
  background-color: #221815;
  transform: translateX(-50%) translateY(-50%) rotate(60deg);
}
.ourprojects__ttl::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: -0.7em;
  width: 2.3rem;
  height: 1px;
  background-color: #221815;
  transform: translateX(50%) translateY(-50%) rotate(-60deg);
}
.ourprojects .splide-top {
  margin-top: 4.2rem;
}
.ourprojects .splide-top li.item {
  width: 27rem;
  height: 27rem;
  overflow: hidden;
}
.ourprojects .splide-top li.item .slide-inner {
  position: relative;
  width: 24.5rem;
  height: 24.5rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 100%;
  border-radius: 50%;
  background-color: #FFF;
}
.ourprojects .splide-top li.item .slide-inner::after {
  content: " ";
  display: inline-block;
  position: absolute;
  bottom: 14.95%;
  right: 14.95%;
  width: max(5.7%, 1.4rem);
  height: max(5.7%, 1.4rem);
  background-image: url("../images/common/arrow-right.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(50%) translateY(50%);
}
.ourprojects .splide-top li.item .slide-inner::before {
  content: " ";
  display: block;
  position: absolute;
  bottom: 14.95%;
  right: 14.95%;
  width: max(13%, 3.2rem);
  height: max(13%, 3.2rem);
  border-radius: 50%;
  background-color: #746CD5;
  transform: translateX(50%) translateY(50%);
}
.ourprojects .splide-top .top-pager {
  bottom: -6.8rem;
}
.ourprojects .splide-top .top-pager li .splide__pagination__page {
  background-color: #FFF;
}
.ourprojects .splide-top .top-pager li button[aria-selected=true] {
  background-color: #746CD5;
}

.ourbusiness {
  padding-top: 4.2rem;
  padding-bottom: 16.2rem;
}
.ourbusiness__flex {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.ourbusiness__ttl {
  margin-bottom: 6.2rem;
  padding-left: max(7.03vw, 6rem);
  text-align: left;
  font-size: min(5.92vw, 8.8rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #FFF;
}
.ourbusiness__nav {
  width: 26.6%;
  padding-left: max(7.03vw, 6rem);
}
.ourbusiness__nav__ttl {
  margin-bottom: 4.2vw;
}
.ourbusiness__nav__ttl--span {
  font-size: 1.6rem;
}
.ourbusiness__nav__ttl--p {
  font-size: 2.4rem;
  font-weight: 500;
}
.ourbusiness__nav__list__item {
  display: -webkit-box;
  display: flex;
  margin-left: 1rem;
  margin-bottom: calc(1.5em + 1.5rem);
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
}
.ourbusiness__nav__list__item span.num {
  width: 3em;
  position: relative;
  font-size: 1.4rem;
  color: #FFF;
  text-align: center;
}
.ourbusiness__nav__list__item span.num::before {
  position: absolute;
  content: " ";
  top: 50%;
  left: 50%;
  display: block;
  width: 3em;
  height: 3em;
  background-color: #221815;
  border-radius: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: -1;
}
.ourbusiness__nav__list__item span.strong {
  padding-left: 1.1rem;
}
.ourbusiness__nav__list .current {
  color: #221815;
}
.ourbusiness__cards {
  width: 73.4%;
  margin-top: 5.6rem;
}
.ourbusiness__cards__list {
  padding-top: 5.4rem;
  padding-left: 4.8vw;
  padding-right: max(7.03vw, 6rem);
  padding-bottom: 5.4rem;
  background-color: #FFF;
  border-radius: 4.8rem 0 0 4.8rem;
}
.ourbusiness__cards__list__item {
  position: relative;
}
.ourbusiness__cards__list__item .cards-image {
  position: absolute;
  top: 0;
  right: 0;
  overflow: hidden;
  width: 40vw;
  height: 27.04vw;
  transform: translateY(-40%);
}
.ourbusiness__cards__list__item .cards-image .img-masked {
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
}
.ourbusiness__cards__list__item .cards-image img {
  max-width: 100%;
}
.ourbusiness__cards__list__item .num-ttl {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
}
.ourbusiness__cards__list__item .num-ttl p {
  position: relative;
  display: inline-block;
  font-size: 3.2rem;
  font-weight: 500;
}
.ourbusiness__cards__list__item .num-ttl p::after {
  position: absolute;
  content: " ";
  bottom: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 1px;
  background-color: currentColor;
}
.ourbusiness__cards__list__item .num-ttl span {
  margin-right: 1.8rem;
  font-size: 5.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.ourbusiness__cards__list__item .copy {
  padding-left: 7.2rem;
  font-size: 2.8rem;
  font-weight: 500;
}
.ourbusiness__cards__list__item .desc {
  margin-top: max(4.2vw, 1.4rem);
  padding-left: 7.2rem;
  font-size: 1.6rem;
  color: #000;
  line-height: 1.6;
}
.ourbusiness__cards__list__item .linkbtn {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1em 2.2em 1em calc(1em + 3.4rem);
  background-color: #746CD5;
  color: #FFF;
  font-size: 1.6rem;
  border-radius: 9999px;
  transform: translateY(150%);
}
.ourbusiness__cards__list__item .linkbtn span {
  position: relative;
  display: inline-block;
  padding-left: 0.8rem;
}
.ourbusiness__cards__list__item .linkbtn span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/common/arrow-right.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-100%) translateY(-50%);
}
.ourbusiness__cards__list #busi-01 {
  color: #55B558;
}
.ourbusiness__cards__list #busi-02 {
  color: #55C1DE;
}
.ourbusiness__cards__list #busi-03 {
  color: #FFF352;
}
.ourbusiness__cards__list #busi-04 {
  color: #171C61;
}
.ourbusiness__cards__list #busi-05 {
  color: #EE742F;
}

.achieve {
  margin-top: 10rem;
  margin-bottom: 10rem;
}
.achieve__ttl {
  padding-bottom: 3.2rem;
  background-image: url("../images/front/archive-illust.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 4rem) bottom;
  background-size: 11.9rem auto;
}
.achieve__ttl p {
  font-size: 2.4rem;
  font-weight: 500;
}
.achieve__ttl span {
  font-size: 1.6rem;
  font-weight: 400;
}
.achieve__item {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.achieve__item__inner {
  width: 32.73%;
  padding: 2rem;
  background-color: #FFF;
}
.achieve__item__inner dt {
  width: 100%;
  margin-bottom: 2rem;
  padding: 1.3rem;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  color: #746CD5;
  border: 1px solid #746CD5;
  border-radius: 3.2rem;
}
.achieve__item__inner dd li.item {
  display: inline-block;
  margin-bottom: 1.2rem;
  padding: 0 0.64em;
  font-size: 1.6rem;
}
.achieve__item__inner dd li.item::before {
  content: " ";
  display: inline-block;
  width: 3px;
  height: 3px;
  margin-right: 0.6rem;
  border-radius: 50%;
  vertical-align: super;
  background-color: #221815;
}

.fellow {
  margin-top: 10rem;
  margin-bottom: 10rem;
}
.fellow__ttl {
  padding-bottom: 3.2rem;
}
.fellow__ttl p {
  font-size: 2.4rem;
  font-weight: 500;
}
.fellow__ttl span {
  font-size: 1.6rem;
  font-weight: 400;
}
.fellow__catch {
  width: 100%;
  margin-top: 1.2rem;
  margin-bottom: 4rem;
  text-align: center;
}
.fellow__catch p {
  position: relative;
  display: inline-block;
  padding: 0 2.4rem;
  text-align: center;
  font-size: 2.4rem;
}
.fellow__catch p::before {
  position: absolute;
  bottom: -2px;
  left: 0;
  content: " ";
  display: block;
  width: 2px;
  height: 2.5rem;
  background-color: #221815;
  transform: rotate(-30deg);
}
.fellow__catch p::after {
  position: absolute;
  bottom: -2px;
  right: 0;
  content: " ";
  display: block;
  width: 2px;
  height: 2.5rem;
  background-color: #221815;
  transform: rotate(30deg);
}
.fellow__item {
  width: 100%;
  margin: auto;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
}
.fellow__item__inner {
  position: relative;
  width: 23rem;
  margin: 0 2rem;
  padding: 4rem 3rem;
  background-color: #FFF;
  border-radius: 6rem;
  text-align: center;
}
.fellow__item__inner .fellow-img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.fellow__item__inner .fellow-name {
  display: block;
  margin-top: 3.2rem;
  margin-bottom: 1.2rem;
}
.fellow__item__inner .fellow-name__large {
  font-size: 2.4rem;
  font-weight: 500;
}
.fellow__item__inner .fellow-name__small {
  font-size: 1.5rem;
  font-weight: 400;
}
.fellow__item__inner .fellow-desc {
  font-size: 1.6rem;
}
.fellow__item__inner::after {
  content: " ";
  display: inline-block;
  position: absolute;
  bottom: 4.57%;
  right: 4.57%;
  width: 1.4rem;
  height: 1.4rem;
  background-image: url("../images/common/arrow-right.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(50%) translateY(50%);
}
.fellow__item__inner::before {
  content: " ";
  display: block;
  position: absolute;
  bottom: 4.57%;
  right: 4.57%;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background-color: #746CD5;
  transform: translateX(50%) translateY(50%);
}

.banner-sec {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
}
.banner-sec .banner {
  position: relative;
  width: 48.36%;
  color: #221815;
}
.banner-sec .banner__inner {
  width: 100%;
  min-height: 26.1rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 3rem;
  padding: 3.6rem;
}
.banner-sec .banner__ttl {
  font-size: 2.4rem;
  font-weight: 500;
}
.banner-sec .banner__ttl span {
  display: block;
  font-size: 1.6rem;
}
.banner-sec .banner__link {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 1em 2.2em 1em calc(1em + 3.4rem);
  background-color: #746CD5;
  color: #FFF;
  font-size: 1.6rem;
  border-radius: 9999px;
  transform: translateY(48%);
  z-index: 1;
}
.banner-sec .banner__link span {
  position: relative;
  display: inline-block;
  padding-left: 0.8rem;
}
.banner-sec .banner__link span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background: url("../images/common/arrow-right.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateX(-100%) translateY(-50%);
}/*# sourceMappingURL=style.css.map */