@charset "UTF-8";
/*companyカスタマイズ*/
/* 源ノ明朝 */
@font-face {
  font-family: "NotoSerifJP";
  src: url("../../common/fonts/NotoSerifJP.woff2") format("woff2"), url("../../common/fonts/NotoSerifJP.woff") format("woff");
  font-weight: 100 900;
  font-display: swap;
}
/* Garamond */
@font-face {
  font-family: "Garamond";
  src: url("../../common/fonts/Garamond.woff2") format("woff2"), url("../../common/fonts/Garamond.woff") format("woff");
  font-display: swap;
}
/* futura */
@font-face {
  font-family: "futura";
  src: url("../../common/fonts/futura.woff2") format("woff2"), url("../../common/fonts/futura.woff") format("woff");
}
/* futura-medium-italic */
@font-face {
  font-family: "futura-medium-italic";
  src: url("../../common/fonts/futura-medium-italic.woff2") format("woff2"), url("../../common/fonts/futura-medium-italic.woff") format("woff");
}
@font-face {
  font-family: "futura-condensed-medium";
  src: url("../../common/fonts/futura-condensed-medium.woff2") format("woff2"), url("../../common/fonts/futura-condensed-medium.woff") format("woff");
}
/* 游ゴシック体 */
/* font-family: "Yu Gothic", "游ゴシック体", sans-serif; */
/* 游ゴシック体 */
@font-face {
  font-family: "Yu-Gothic";
  src: url("../../common/fonts/Yu-Gothic.woff2") format("woff2"), url("../../common/fonts/Yu-Gothic.woff") format("woff");
  font-weight: normal;
}
@font-face {
  font-family: "Yu-Gothic";
  src: url("../../common/fonts/Yu-Gothic-bold.woff2") format("woff2"), url("../../common/fonts/Yu-Gothic-bold.woff") format("woff");
  font-weight: bold;
}
/* KsoTouryu */
@font-face {
  font-family: "KsoTouryu";
  src: url("../../common/fonts/KsoTouryu.woff2") format("woff2"), url("../../common/fonts/KsoTouryu.woff") format("woff");
}
/* MidashiGo */
@font-face {
  font-family: "MidashiGo";
  src: url("../../common/fonts/MidashiGo.woff2") format("woff2"), url("../../common/fonts/MidashiGo.woff") format("woff");
}
/* RubikRoman */
@font-face {
  font-family: "RubikRoman";
  src: url("../../common/fonts/RubikRoman.woff2") format("woff2"), url("../../common/fonts/RubikRoman.woff") format("woff");
}
/* Rubik-Bold */
@font-face {
  font-family: "Rubik-Bold";
  src: url("../../common/fonts/Rubik-Bold.woff2") format("woff2"), url("../../common/fonts/Rubik-Bold.woff") format("woff");
}
/* Rubik-Medium */
@font-face {
  font-family: "Rubik-Medium";
  src: url("../../common/fonts/Rubik-Medium.woff2") format("woff2"), url("../../common/fonts/Rubik-Medium.woff") format("woff");
}
main.company .el_ttl {
  margin-bottom: 26px;
}
@media screen and (max-width: 900px) {
  main.company .el_ttl {
    margin-bottom: 53px;
  }
}
main.company .el_ttl .el_ttl_title {
  font-family: "NotoSerifJP";
  font-weight: 600;
  font-size: 28px;
  color: #222222;
  text-align: center;
  margin: 0;
  line-height: 1.8;
}
@media screen and (max-width: 900px) {
  main.company .el_ttl .el_ttl_title {
    font-size: calc(27px - 4px + 1.06vw);
  }
}
main.company .el_ttl .el_ttl_sub {
  font-family: "Rubik-Bold";
  color: #949494;
  text-align: center;
  display: block;
  font-size: 16px;
  letter-spacing: 2px;
}
@media screen and (max-width: 900px) {
  main.company .el_ttl .el_ttl_sub {
    font-size: calc(14px - 4px + 1.06vw);
  }
}
main.company .company_idea .idea_content .idea_title {
  font-family: "NotoSerifJP";
  font-weight: 600;
  color: #1b0f7d;
  font-size: 31px;
  text-align: center;
  margin: 0;
  line-height: 1.8;
  margin-bottom: 30px;
}
@media screen and (max-width: 900px) {
  main.company .company_idea .idea_content .idea_title {
    font-size: calc(22px - 4px + 1.06vw);
    margin-bottom: 34px;
  }
}
@media screen and (max-width: 900px) {
  main.company .company_idea .idea_content .idea_title span {
    font-size: 110%;
  }
}
main.company .company_idea .idea_content .idea_text {
  font-family: "NotoSerifJP";
  font-weight: 600;
  font-size: 20px;
  text-align: center;
  margin: 0;
  line-height: 2.4;
  letter-spacing: 1px;
  margin-bottom: 125px;
}
@media screen and (max-width: 900px) {
  main.company .company_idea .idea_content .idea_text {
    font-size: calc(16px - 4px + 1.06vw);
    line-height: 1.8;
    margin-bottom: 42px;
  }
}
main.company .company_idea .idea_images {
  display: flex;
}
main.company .company_idea .idea_images .idea_image {
  width: 33.3333333333%;
}
main.company .company_idea .idea_images .idea_image img {
  aspect-ratio: 1033/757;
  object-fit: cover;
}
@media screen and (max-width: 900px) {
  main.company .company_idea .idea_images .idea_image img {
    aspect-ratio: 131/136;
  }
}
main.company .company_profile {
  position: relative;
  overflow: hidden;
}
main.company .company_profile .profile_deco {
  position: absolute;
  top: 0;
  right: 0;
  writing-mode: vertical-rl;
  font-family: "futura";
  font-weight: 500;
  font-size: 100px;
  color: rgba(148, 148, 148, 0.2784313725);
  white-space: nowrap;
  line-height: 0.78;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_deco {
    font-size: 58px;
  }
}
main.company .company_profile .profile_greeting {
  padding-top: 100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_greeting {
    padding-top: 32px;
    padding-bottom: 40px;
  }
}
main.company .company_profile .profile_greeting .greeting_content {
  max-width: 690px;
  margin: 0 auto;
}
main.company .company_profile .profile_greeting .greeting_content .greeting_img {
  max-width: 312px;
  margin: 0 auto 55px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_greeting .greeting_content .greeting_img {
    width: 61%;
    margin: 0 auto 53px;
  }
}
main.company .company_profile .profile_greeting .greeting_content .greeting_text {
  font-family: "NotoSerifJP";
  font-weight: 600;
  font-size: 17px;
  letter-spacing: 1px;
  line-height: 2;
  text-align: center;
  margin-bottom: 45px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_greeting .greeting_content .greeting_text {
    font-size: calc(15px - 4px + 1.06vw);
  }
}
main.company .company_profile .profile_greeting .greeting_content .greeting_name {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
main.company .company_profile .profile_greeting .greeting_content .greeting_name .name_label {
  font-size: 16px;
  font-weight: 400;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_greeting .greeting_content .greeting_name .name_label {
    font-size: calc(16px - 4px + 1.06vw);
  }
}
main.company .company_profile .profile_greeting .greeting_content .greeting_name .name {
  max-width: 130px;
  margin-left: 10px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_greeting .greeting_content .greeting_name .name {
    margin-right: 7px;
  }
}
main.company .company_profile .profile_company {
  padding-top: 78px;
  padding-bottom: 130px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_company {
    padding-top: 60px;
    padding-bottom: 85px;
  }
}
main.company .company_profile .profile_company .company_table {
  max-width: 755px;
  width: 100%;
  margin: 43px auto 0;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #aaaaaa;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_company .company_table {
    width: 92%;
  }
}
main.company .company_profile .profile_company .company_table th,
main.company .company_profile .profile_company .company_table td {
  border: 1px solid #aaaaaa;
  font-size: 17px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_company .company_table th,
  main.company .company_profile .profile_company .company_table td {
    font-size: calc(14px - 4px + 1.06vw);
  }
}
main.company .company_profile .profile_company .company_table th {
  font-weight: 400;
  padding: 10px;
  padding-left: 40px;
  text-align: left;
  width: 20%;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_company .company_table th {
    padding-left: 10px;
    width: 30%;
  }
}
main.company .company_profile .profile_company .company_table td {
  padding: 10px;
  padding-left: 58px;
}
@media screen and (max-width: 900px) {
  main.company .company_profile .profile_company .company_table td {
    padding-left: 10px;
  }
}
main.company .company_history .history_bg {
  position: relative;
  background-color: #efecec;
  padding-top: 55px;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg {
    padding-top: 40px;
  }
}
main.company .company_history .history_bg .history_deco {
  position: absolute;
  max-width: 210px;
  bottom: 22px;
  right: 22px;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_deco {
    width: 32%;
    bottom: 7px;
    right: 7px;
  }
}
main.company .company_history .history_bg .history_content {
  max-width: 730px;
  margin: 60px auto 0;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content {
    margin: 55px auto 0;
  }
}
main.company .company_history .history_bg .history_content .timeline {
  position: relative;
  margin-left: 85px;
  padding-left: 20px;
  padding-bottom: 30px;
  border-left: 2px solid transparent;
  background: linear-gradient(#1b0f7d 0%, #1b0f7d var(--progress), transparent var(--progress), transparent 100%) no-repeat left top;
  background-size: 2px 100%;
  transition: background 0.2s ease-out;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content .timeline {
    margin-left: 80px;
    padding-bottom: 76px;
    border-width: 1px;
    background-size: 1px 100%;
  }
}
main.company .company_history .history_bg .history_content .timeline::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 2px;
  height: 100%;
  background: #ddd;
  z-index: -1;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content .timeline::before {
    width: 1px;
  }
}
main.company .company_history .history_bg .history_content .timeline .timeline-item {
  position: relative;
  margin-bottom: 31px;
}
main.company .company_history .history_bg .history_content .timeline .timeline-item::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 8px;
  width: 6px;
  height: 6px;
  background: #1b0f7d;
  border-radius: 50%;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content .timeline .timeline-item::before {
    left: -23px;
    width: 7px;
    height: 7px;
  }
}
main.company .company_history .history_bg .history_content .timeline .timeline-item .year {
  font-family: "NotoSerifJP";
  font-size: 16px;
  font-weight: bold;
  color: #1b0f7d;
  margin-bottom: 5px;
  margin-left: -85px;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content .timeline .timeline-item .year {
    font-size: 16px;
  }
}
main.company .company_history .history_bg .history_content .timeline .timeline-item .history_text {
  margin-top: -30px;
  font-size: 17px;
}
@media screen and (max-width: 900px) {
  main.company .company_history .history_bg .history_content .timeline .timeline-item .history_text {
    font-size: 16px;
  }
}
main.company .company_links {
  padding: 105px 0 195px;
}
@media screen and (max-width: 900px) {
  main.company .company_links {
    padding: 85px 0 80px;
  }
}
main.company .company_links .link_item {
  display: flex;
  gap: 60px;
  margin-bottom: 170px;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item {
    flex-direction: column;
    gap: 0;
    margin-bottom: 95px;
  }
}
main.company .company_links .link_item:last-child {
  margin-bottom: 0;
}
main.company .company_links .link_item.reverse {
  justify-content: flex-end;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item.reverse {
    flex-direction: column-reverse;
    align-items: flex-end;
  }
}
main.company .company_links .link_item.reverse .link_img img {
  box-shadow: -20px 18px 0 0 #e4e3ef;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item.reverse .link_img img {
    box-shadow: -11px 11px 0 0 #e4e3ef;
  }
}
main.company .company_links .link_item .link_img {
  width: 48.5%;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_img {
    width: 86%;
  }
}
main.company .company_links .link_item .link_img img {
  box-shadow: 20px 18px 0 0 #e4e3ef;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_img img {
    box-shadow: 11px 11px 0 0 #e4e3ef;
  }
}
main.company .company_links .link_item .link_content {
  width: 34%;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_content {
    width: 83%;
    margin: 0 auto;
  }
}
main.company .company_links .link_item .link_content .link_title {
  margin-bottom: 30px;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_content .link_title {
    margin-bottom: 15px;
    padding-left: 7%;
  }
}
main.company .company_links .link_item .link_content .link_title h3 {
  font-family: "NotoSerifJP";
  font-weight: 600;
  font-size: 30px;
  margin-top: 42px;
  margin-bottom: 5px;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_content .link_title h3 {
    margin-top: 36px;
    font-size: calc(27px - 4px + 1.06vw);
  }
}
main.company .company_links .link_item .link_content .link_title span {
  font-family: "Rubik-Bold";
  font-size: 16px;
  color: #949494;
  letter-spacing: 2px;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_content .link_title span {
    font-size: calc(14px - 4px + 1.06vw);
  }
}
main.company .company_links .link_item .link_content .link_text {
  font-size: 17px;
  line-height: 2;
  margin-bottom: 40px;
}
@media screen and (max-width: 900px) {
  main.company .company_links .link_item .link_content .link_text {
    padding-left: 7%;
    font-size: calc(16px - 4px + 1.06vw);
  }
}

/*# sourceMappingURL=company.css.map */
