@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Racing+Sans+One&family=Roboto:wght@500;700&display=swap");
/*************************
page
*************************/
.popup-image::before {
  content: url(../images/media/icon_zoom.png);
  width: 37px;
  height: 37px;
  display: block;
  position: absolute;
  right: 8px;
  bottom: 8px; }

.m-table__company {
  border-collapse: collapse;
  border-spacing: 0; }
  .m-table__company .m-table__th, .m-table__company .m-table__td {
    padding: 20px; }
    @media screen and (max-width: 640px) {
      .m-table__company .m-table__th, .m-table__company .m-table__td {
        padding: 11px; } }
  .m-table__company .m-table__th {
    vertical-align: baseline; }
  .m-table__company .m-table__td {
    padding-left: 48px;
    font-weight: inherit; }
    @media screen and (max-width: 640px) {
      .m-table__company .m-table__td {
        padding-left: 23px; } }

.m-btn-ellipse--small {
  width: min(190px, 100%);
  height: 50px;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.1em; }
  @media screen and (max-width: 640px) {
    .m-btn-ellipse--small {
      width: min(46.6666666667vw, 100%);
      height: 45px;
      margin: auto; } }

.js-scrollable {
  overflow: auto;
  position: relative; }

@media screen and (max-width: 640px) {
  #company_profile .m-table__company {
    width: 210.6666666666667%; } }

.vBase {
  vertical-align: baseline !important; }

.m-table__th__32 {
  width: 32% !important; }
  @media screen and (max-width: 640px) {
    .m-table__th__32 {
      width: 22.78481012658228% !important; } }

.m-table__th__28 {
  width: 18% !important; }

.m-table__td__18 {
  width: 28% !important; }
  @media screen and (max-width: 640px) {
    .m-table__td__18 {
      width: 23.58208955223881% !important; } }

.m-table__th__140 {
  width: 140px !important; }

.m-table__th__162 {
  width: 162px !important; }

.m-indent__f24 {
  padding-top: 0;
  font-size: 24px;
  font-size: calc($size / 16)rem; }
  @media screen and (max-width: 640px) {
    .m-indent__f24 {
      font-size: 18px;
      font-size: calc($size / 16)rem; } }

@media screen and (max-width: 640px) {
  .mT0__spNone {
    margin-top: 0 !important; } }

.mT20__spNone {
  margin-top: 20px !important; }
  @media screen and (max-width: 640px) {
    .mT20__spNone {
      margin-top: 0 !important; } }

.mT30__spNone {
  margin-top: 30px !important; }
  @media screen and (max-width: 640px) {
    .mT30__spNone {
      margin-top: 0 !important; } }

.mT50__spNone {
  margin-top: 50px !important; }
  @media screen and (max-width: 640px) {
    .mT50__spNone {
      margin-top: 0 !important; } }

.mT90__spNone {
  margin-top: 90px !important; }
  @media screen and (max-width: 640px) {
    .mT90__spNone {
      margin-top: 0 !important; } }

.pT20__spNone {
  padding-top: 20px !important; }
  @media screen and (max-width: 640px) {
    .pT20__spNone {
      padding-top: 0 !important; } }

.pT25__spNone {
  padding-top: 25px !important; }
  @media screen and (max-width: 640px) {
    .pT25__spNone {
      padding-top: 0 !important; } }

.pT170__spNone {
  padding-top: 170px !important; }
  @media screen and (max-width: 640px) {
    .pT170__spNone {
      padding-top: 0 !important; } }

@media screen and (max-width: 640px) {
  .pT10__pcNone {
    padding-top: 10px !important; } }

@media screen and (max-width: 640px) {
  .pT20__pcNone {
    padding-top: 20px !important; } }

@media screen and (max-width: 640px) {
  .pT40__pcNone {
    padding-top: 40px !important; } }

@media screen and (max-width: 640px) {
  .pT80__pcNone {
    padding-top: 80px !important; } }

@media screen and (max-width: 640px) {
  .pB0__pcNone {
    padding-bottom: 0 !important; } }

@media screen and (max-width: 640px) {
  .mT0__pcNone {
    margin-top: 0 !important; } }

@media screen and (max-width: 640px) {
  .mT10__pcNone {
    margin-top: 10px !important; } }

@media screen and (max-width: 640px) {
  .mT30__pcNone {
    margin-top: 30px !important; } }

@media screen and (max-width: 640px) {
  .mT50__pcNone {
    margin-top: 50px !important; } }

#company_profile .m-table__td {
  text-align: left; }
@media screen and (max-width: 640px) {
  #company_profile .m-table__company .m-link-newtab {
    font-size: 14px;
    font-size: calc($size / 16)rem; } }
@media screen and (max-width: 640px) {
  #company_profile .m-image__01 img {
    width: 45.06666666666667vw; } }
#company_profile .m-indent__f24 + .m-indent {
  font-size: 15px;
  font-size: calc($size / 16)rem; }
#company_profile .mfp-close {
  top: -40px !important; }
#company_profile #sec02 .m-column--col2 {
  gap: 40px; }
  @media screen and (max-width: 640px) {
    #company_profile #sec02 .m-column--col2 {
      gap: 18px; } }
  #company_profile #sec02 .m-column--col2 .m-indent__f24 {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 30px; }
    @media screen and (max-width: 640px) {
      #company_profile #sec02 .m-column--col2 .m-indent__f24 {
        margin-top: 15px; } }
  #company_profile #sec02 .m-column--col2 .btn {
    margin-top: 20px; }
    @media screen and (max-width: 640px) {
      #company_profile #sec02 .m-column--col2 .btn {
        margin-top: 10px;
        margin-bottom: 20px; } }
    #company_profile #sec02 .m-column--col2 .btn .m-btn-ellipse {
      margin: auto; }
#company_profile #sec02 .comic_banner {
  margin-top: 74px; }
  @media screen and (max-width: 640px) {
    #company_profile #sec02 .comic_banner {
      margin-top: 37px; } }

#company_directors .m-table__td {
  text-align: left; }
@media screen and (max-width: 640px) {
  #company_directors .m-table__th__32 {
    width: 50.22488755622189% !important; } }

#company_principle .m-block-rinen {
  font-size: 34px;
  font-size: calc($size / 16)rem;
  font-weight: bold;
  line-height: 1.470588235294118;
  letter-spacing: 0.1em;
  text-align: center;
  color: #0399de;
  background: #e5f5fc;
  padding: 38px 20px;
  margin-top: 44px; }
  @media screen and (max-width: 640px) {
    #company_principle .m-block-rinen {
      font-size: 20px;
      font-size: calc($size / 16)rem;
      padding: 23px 20px;
      margin-top: 25px; } }
  #company_principle .m-block-rinen rt {
    font-size: 30%; }
#company_principle .m-trust-list {
  margin-top: 35px;
  margin-bottom: 52px; }
  @media screen and (max-width: 640px) {
    #company_principle .m-trust-list {
      margin-top: 24px;
      margin-bottom: 30px; } }
  #company_principle .m-trust-list ul {
    display: flex;
    justify-content: center;
    gap: 44px; }
    @media screen and (max-width: 640px) {
      #company_principle .m-trust-list ul {
        gap: 15px 3.2vw;
        flex-wrap: wrap; } }
  @media screen and (max-width: 640px) {
    #company_principle .m-trust-list li {
      width: 27.2vw;
      text-align: center; }
      #company_principle .m-trust-list li img {
        width: 24.8vw; } }
  #company_principle .m-trust-list p {
    font-size: 18px;
    font-size: calc($size / 16)rem;
    font-weight: bold;
    line-height: 1.555555555555556;
    text-align: center;
    margin-top: 15px; }
    @media screen and (max-width: 640px) {
      #company_principle .m-trust-list p {
        font-size: 13px;
        font-size: calc($size / 16)rem;
        margin-top: 8px; } }
#company_principle .m-trust-list-txt {
  background: #f0f3f5;
  padding: 62px 60px; }
  @media screen and (max-width: 640px) {
    #company_principle .m-trust-list-txt {
      padding: 36px 25px; } }
  #company_principle .m-trust-list-txt .m-h3 {
    padding-top: 38px; }
    @media screen and (max-width: 640px) {
      #company_principle .m-trust-list-txt .m-h3 {
        padding-top: 26px;
        font-size: 16px;
        font-size: calc($size / 16)rem; } }
  #company_principle .m-trust-list-txt li:first-child .m-h3 {
    padding-top: 0; }
  #company_principle .m-trust-list-txt .m-indent {
    line-height: 1.882352941176471;
    padding-top: 8px; }
#company_principle .m-box-rinen .m-block-rinen {
  padding: 34px 20px;
  margin-top: 12px; }
  @media screen and (max-width: 640px) {
    #company_principle .m-box-rinen .m-block-rinen {
      line-height: 2;
      padding: 22px 20px; } }
  #company_principle .m-box-rinen .m-block-rinen:first-child {
    margin-top: 44px; }
    @media screen and (max-width: 640px) {
      #company_principle .m-box-rinen .m-block-rinen:first-child {
        margin-top: 25px; } }
  #company_principle .m-box-rinen .m-block-rinen span {
    font-size: 20px;
    font-size: calc($size / 16)rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #000;
    display: block;
    margin-top: 8px; }
    @media screen and (max-width: 640px) {
      #company_principle .m-box-rinen .m-block-rinen span {
        font-size: 15px;
        font-size: calc($size / 16)rem;
        line-height: 1.666666666666667; } }

#company_message #sec01 .m-column {
  padding-top: 0; }
#company_message .m-h2.m-h3--blue {
  padding-top: 0;
  margin-bottom: 20px; }
#company_message .m-column--col2-image__topTxt {
  width: calc((100% - (min(360px, 100%))) - 40px); }
  @media screen and (max-width: 640px) {
    #company_message .m-column--col2-image__topTxt {
      width: 100%; } }
#company_message .m-column--col2-image__topImg {
  width: min(360px, 100%);
  padding-right: 20px; }
  @media screen and (max-width: 640px) {
    #company_message .m-column--col2-image__topImg {
      width: 100%;
      padding: 0 80px; } }
  #company_message .m-column--col2-image__topImg .m-image {
    text-align: right; }
    @media screen and (max-width: 640px) {
      #company_message .m-column--col2-image__topImg .m-image {
        text-align: center; } }

#company_media .m-indent--topTxt {
  padding-top: 0 !important; }
@media screen and (max-width: 640px) {
  #company_media .m-article {
    padding-top: 65px; } }
@media screen and (max-width: 640px) {
  #company_media .m-indent {
    font-size: 15px;
    font-size: calc($size / 16)rem; } }
@media screen and (max-width: 640px) {
  #company_media .m-column {
    padding-top: 25px; } }
#company_media .m-table__th, #company_media .m-table__td {
  font-weight: inherit; }
  @media screen and (max-width: 640px) {
    #company_media .m-table__th, #company_media .m-table__td {
      font-size: 15px;
      font-size: calc($size / 16)rem;
      padding: 9px 12px; } }
#company_media .m-table__td {
  text-align: left; }
  @media screen and (max-width: 640px) {
    #company_media .m-table__td {
      padding-left: 22px; } }
#company_media .m-column--branding .m-h3 {
  font-size: 24px;
  font-size: calc($size / 16)rem;
  font-weight: inherit; }
  @media screen and (max-width: 640px) {
    #company_media .m-column--branding .m-h3 {
      font-size: 17px;
      font-size: calc($size / 16)rem; } }
#company_media .m-column--branding .m-column--col2-item {
  position: relative; }
  @media screen and (max-width: 640px) {
    #company_media .m-column--branding .m-column--col2-item {
      padding-bottom: 49.33333333333333vw; } }
  #company_media .m-column--branding .m-column--col2-item .m-link--youtube {
    position: absolute;
    right: 0;
    bottom: 0; }
    @media screen and (max-width: 640px) {
      #company_media .m-column--branding .m-column--col2-item .m-link--youtube {
        left: 0;
        text-align: center; } }
    @media screen and (max-width: 640px) {
      #company_media .m-column--branding .m-column--col2-item .m-link--youtube img {
        width: 40vw; } }
#company_media .m-lyric {
  font-size: 19px;
  font-size: calc($size / 16)rem;
  color: #0399de;
  line-height: 1.736842105263158;
  letter-spacing: 0.06em;
  margin-top: 5px;
  margin-bottom: 22px; }
  @media screen and (max-width: 640px) {
    #company_media .m-lyric {
      font-size: 15px;
      font-size: calc($size / 16)rem; } }
@media screen and (max-width: 640px) {
  #company_media .jp-audio .jp-interface {
    height: 100px; } }
@media screen and (max-width: 640px) {
  #company_media .jp-audio {
    width: 100%; } }
#company_media .jp-audio .jp-controls {
  width: 100%; }
#company_media .jp-interface {
  background-color: #eeeeee; }
#company_media .jp-audio {
  border: none; }
@media screen and (max-width: 640px) {
  #company_media .jp-volume-controls {
    top: auto;
    left: auto;
    width: 110px;
    right: 0;
    bottom: 26px; } }
#company_media .m-column--kyosan .m-h3 {
  font-size: 19px;
  font-size: calc($size / 16)rem;
  font-weight: inherit;
  padding-top: 12px; }
  @media screen and (max-width: 640px) {
    #company_media .m-column--kyosan .m-h3 {
      font-size: 15px;
      font-size: calc($size / 16)rem;
      font-weight: bold; } }

#company_vision sub {
  display: contents; }
@media screen and (max-width: 640px) {
  #company_vision .m-indent {
    font-size: 15px;
    font-size: calc($size / 16)rem; } }
#company_vision .m-indent__topTxt {
  padding-top: 0; }
  #company_vision .m-indent__topTxt span {
    font-size: 16px;
    font-size: calc($size / 16)rem;
    color: #5f6471;
    display: block; }
    @media screen and (max-width: 640px) {
      #company_vision .m-indent__topTxt span {
        font-size: 14px;
        font-size: calc($size / 16)rem; } }
@media screen and (max-width: 640px) {
  #company_vision .m-image_width_1 img {
    width: 200%;
    max-width: unset; } }
#company_vision #sec01 .m-image {
  padding-top: 66px; }
  @media screen and (max-width: 640px) {
    #company_vision #sec01 .m-image {
      padding-top: 24px;
      padding-bottom: 26px; } }
#company_vision #sec01 .m-image + .m-title-borderleft {
  padding-bottom: 14px; }
#company_vision .m-column__thought {
  gap: 34px 40px; }
  @media screen and (max-width: 640px) {
    #company_vision .m-column__thought {
      gap: 22px 40px; } }
  #company_vision .m-column__thought .m-column-item {
    border-top: 1px solid #e1e4ed;
    padding-top: 36px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__thought .m-column-item {
        padding-top: 22px; } }
  #company_vision .m-column__thought .m-indent {
    padding-top: 10px; }
  #company_vision .m-column__thought .m-column-item__borderB {
    border-bottom: 1px solid #e1e4ed;
    padding-bottom: 40px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__thought .m-column-item__borderB {
        border-bottom: none;
        padding-bottom: 0; } }
  @media screen and (max-width: 640px) {
    #company_vision .m-column__thought .m-column-item__borderB_last {
      border-bottom: 1px solid #e1e4ed;
      padding-bottom: 22px; } }
@media screen and (max-width: 640px) {
  #company_vision #sec02 {
    padding-top: 46px; }
    #company_vision #sec02 .m-column--col2 {
      gap: 0;
      width: 140%; }
      #company_vision #sec02 .m-column--col2 .m-column-item:last-child {
        margin-top: -1px; }
        #company_vision #sec02 .m-column--col2 .m-column-item:last-child .m-table {
          margin-top: 0; } }
#company_vision .m-column__goal .m-table__th, #company_vision .m-column__goal .m-table__td {
  line-height: 1.470588235294118; }
@media screen and (max-width: 640px) {
  #company_vision .m-column__goal .m-table__th {
    width: 227px; } }
#company_vision .m-column__goal .m-table__th-75 {
  height: 75px; }
#company_vision .m-image__caption_box {
  margin-top: 40px; }
  @media screen and (max-width: 640px) {
    #company_vision .m-image__caption_box {
      margin-top: 30px; } }
  #company_vision .m-image__caption_box > div {
    max-width: 860px;
    margin: auto; }
    @media screen and (max-width: 640px) {
      #company_vision .m-image__caption_box > div img {
        width: 180%;
        max-width: unset; } }
  #company_vision .m-image__caption_box .m-indent-caption {
    font-size: 16px;
    font-size: calc($size / 16)rem;
    letter-spacing: 0.06em;
    color: #5f6471;
    padding-top: 15px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-image__caption_box .m-indent-caption {
        font-size: 14px;
        font-size: calc($size / 16)rem; } }
@media screen and (max-width: 640px) {
  #company_vision .m-strategy {
    margin-top: 50px; } }
#company_vision .m-strategy h3 + .m-indent {
  padding-top: 12px; }
#company_vision .m-column__strategy {
  padding-top: 3px; }
  @media screen and (max-width: 640px) {
    #company_vision .m-column__strategy {
      gap: 0; } }
  #company_vision .m-column__strategy .m-column--col2-item .m-table {
    margin-top: 0; }
  #company_vision .m-column__strategy .m-column--col2-item-last {
    margin-top: -1px; }
  #company_vision .m-column__strategy .m-table__th, #company_vision .m-column__strategy .m-table__td {
    padding: 17px 20px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__strategy .m-table__th, #company_vision .m-column__strategy .m-table__td {
        padding: 22px 13px;
        font-size: 15px;
        font-size: calc($size / 16)rem; } }
  #company_vision .m-column__strategy .m-table__th__H226 {
    height: 226px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__strategy .m-table__th__H226 {
        height: auto; } }
  #company_vision .m-column__strategy .m-table__th__H256 {
    height: 256px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__strategy .m-table__th__H256 {
        height: auto; } }
  @media screen and (max-width: 640px) {
    #company_vision .m-column__strategy .m-table__th {
      width: 83px !important; } }
  #company_vision .m-column__strategy .m-table__td {
    padding-left: 30px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-column__strategy .m-table__td {
        padding-left: 20px;
        padding-right: 0; } }
  #company_vision .m-column__strategy .list__strategy li {
    font-weight: 500;
    line-height: 1.647058823529412;
    display: flex; }
    #company_vision .m-column__strategy .list__strategy li::before {
      content: '・'; }
  #company_vision .m-column__strategy .m-h4__strategy {
    margin-bottom: 8px; }
  #company_vision .m-column__strategy .m-table__td__color-01 .m-h4__strategy {
    color: #f9ac08; }
  #company_vision .m-column__strategy .m-table__td__color-02 .m-h4__strategy {
    color: #429833; }
  #company_vision .m-column__strategy .m-table__td__color-03 .m-h4__strategy {
    color: #019fe3; }
  #company_vision .m-column__strategy .m-table__td__color-04 .m-h4__strategy {
    color: #e96704; }
@media screen and (max-width: 640px) {
  #company_vision .m-strong h3 {
    margin-top: 55px; } }
#company_vision .m-strong h3 + .m-indent {
  padding-top: 12px; }
#company_vision .m-business .m-list__caption_box {
  margin-top: 40px; }
  @media screen and (max-width: 640px) {
    #company_vision .m-business .m-list__caption_box {
      margin-top: 15px; } }
  #company_vision .m-business .m-list__caption_box > div {
    max-width: 1000px;
    margin: auto; }
  #company_vision .m-business .m-list__caption_box .m-table__td {
    font-weight: unset; }
    #company_vision .m-business .m-list__caption_box .m-table__td li {
      display: flex; }
      #company_vision .m-business .m-list__caption_box .m-table__td li::before {
        content: "・"; }
  #company_vision .m-business .m-list__caption_box .m-indent-caption {
    font-size: 16px;
    font-size: calc($size / 16)rem;
    letter-spacing: 0.06em;
    color: #5f6471;
    padding-top: 15px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-business .m-list__caption_box .m-indent-caption {
        font-size: 14px;
        font-size: calc($size / 16)rem; } }
#company_vision .m-business .js-scrollable {
  overflow: auto;
  position: relative;
  width: auto; }
  @media screen and (max-width: 640px) {
    #company_vision .m-business .js-scrollable .m-table {
      width: 200%; } }
#company_vision .m-sdgs .m-indent .m-indent-font-weightB {
  font-weight: bold; }
#company_vision .m-sdgs .m-sdgs__field {
  background: #f1f2f6;
  padding: 10px 10px 40px; }
  @media screen and (max-width: 640px) {
    #company_vision .m-sdgs .m-sdgs__field {
      padding-bottom: 25px; } }
  #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; }
    #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li {
      background: #fff;
      width: calc(50% - 5px);
      padding: 34px 28px;
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 640px) {
        #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li {
          width: 100%;
          padding: 22px 24px;
          display: block; } }
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li h4 {
        width: 200px; }
        @media screen and (max-width: 640px) {
          #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li h4 {
            width: 100%; }
            #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li h4 br {
              display: none; } }
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li .m-indent {
        padding-top: 0;
        line-height: 1.882352941176471;
        width: calc(100% - 200px); }
        @media screen and (max-width: 640px) {
          #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li .m-indent {
            width: 100%; } }
        #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li .m-indent span {
          display: flex; }
          #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li .m-indent span::before {
            content: '・'; }
            @media screen and (max-width: 640px) {
              #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list li .m-indent span::before {
                margin-right: 1ch; } }
    @media screen and (max-width: 640px) {
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list .m-sdgs__attempt-list-1 {
        padding-bottom: 0; }
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-list .m-sdgs__attempt-list-2 {
        padding-top: 0; } }
  #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list {
    gap: 0; }
    #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list li {
      width: 50%; }
      @media screen and (max-width: 640px) {
        #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list li {
          width: 100%; } }
  #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-iconlist {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
    margin-top: 40px;
    max-width: 100%; }
    @media screen and (max-width: 640px) {
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-iconlist {
        gap: 6px;
        margin-top: 25px;
        width: calc((6px * 3) + (48px * 4));
        margin-left: auto;
        margin-right: auto;
        justify-content: left; } }
    @media screen and (max-width: 640px) {
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__field-iconlist li img {
        width: 48px; } }
  #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list li {
    padding-left: 56px;
    padding-right: 56px; }
    @media screen and (max-width: 640px) {
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list li {
        padding-left: 24px;
        padding-right: 24px; } }
    #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-list li .m-indent {
      width: 100%; }
  #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-iconlist {
    justify-content: left;
    width: calc((88px * 6) + (13px * 5));
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 640px) {
      #company_vision .m-sdgs .m-sdgs__field .m-sdgs__attempt-iconlist {
        width: calc((6px * 3) + (48px * 4));
        justify-content: left; } }
@media screen and (max-width: 640px) {
  #company_vision .m-title-borderleft-spmt50 {
    margin-top: 50px; } }

@media screen and (min-width: 767px) {
  #company_domestic a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
#company_domestic .m-indent {
  line-height: 2;
  margin-bottom: 24px; }
#company_domestic .m-column--col2 {
  gap: 52px 60px; }
  @media screen and (max-width: 640px) {
    #company_domestic .m-column--col2 {
      gap: 0; } }
#company_domestic .m-column--col2--text-list {
  gap: 42px 60px; }
#company_domestic .m-column--col2-item {
  width: min(570px, 100%); }
#company_domestic .m-btn-ellipse {
  width: 190px;
  height: 50px; }
  @media screen and (max-width: 640px) {
    #company_domestic .m-btn-ellipse {
      height: 40px;
      margin: auto; } }
#company_domestic .m-border-top {
  border-top: #e1e4ed solid 1px; }
#company_domestic .m-border-top-spNone {
  border-top: #e1e4ed solid 1px; }
  @media screen and (max-width: 640px) {
    #company_domestic .m-border-top-spNone {
      border-top: none; } }
#company_domestic .m-border-bottom {
  border-bottom: #e1e4ed solid 1px;
  padding-bottom: 42px; }
@media screen and (max-width: 640px) {
  #company_domestic .m-border-bottom-spNone {
    border-bottom: none; } }
@media screen and (max-width: 640px) {
  #company_domestic .m-border-bottom-pcNone {
    border-bottom: #e1e4ed solid 1px;
    padding-bottom: 42px; } }
#company_domestic .domestic-title {
  font-size: 20px;
  font-size: calc($size / 16)rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-top: 34px; }
  @media screen and (max-width: 640px) {
    #company_domestic .domestic-title {
      font-size: 14px;
      font-size: calc($size / 16)rem; } }

#company_affiliate .m-section {
  padding-top: 0; }
@media screen and (max-width: 640px) {
  #company_affiliate .m-indent a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
#company_affiliate .m-indent {
  line-height: 1.882352941176471;
  margin-bottom: 24px;
  padding-top: 6px; }
  @media screen and (max-width: 640px) {
    #company_affiliate .m-indent {
      margin-bottom: 14px; } }
  #company_affiliate .m-indent dl {
    display: flex;
    flex-wrap: wrap; }
    #company_affiliate .m-indent dl dt {
      font-weight: unset;
      width: 13ch; }
      @media screen and (max-width: 640px) {
        #company_affiliate .m-indent dl dt {
          width: 100%; } }
    #company_affiliate .m-indent dl dd {
      width: calc(100% - 13ch); }
      @media screen and (max-width: 640px) {
        #company_affiliate .m-indent dl dd {
          width: 100%; } }
#company_affiliate .m-btn-blank.m-btn-blank--flex.m-btn-blank--white {
  font-size: 16px;
  font-size: calc($size / 16)rem;
  letter-spacing: 0.1em;
  width: 190px;
  height: 50px; }
  @media screen and (max-width: 640px) {
    #company_affiliate .m-btn-blank.m-btn-blank--flex.m-btn-blank--white {
      height: 40px;
      margin: auto; } }
#company_affiliate .m-affiliate-box {
  padding-bottom: 40px;
  border-bottom: #e1e4ed solid 1px; }
  @media screen and (max-width: 640px) {
    #company_affiliate .m-affiliate-box {
      padding-bottom: 30px; } }
#company_affiliate .affiliate-title {
  font-size: 20px;
  font-size: calc($size / 16)rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  margin-top: 34px; }
  @media screen and (max-width: 640px) {
    #company_affiliate .affiliate-title {
      font-size: 14px;
      font-size: calc($size / 16)rem; } }
#company_affiliate .m-title-borderleft.affiliate-title {
  font-size: 17px;
  font-size: calc($size / 16)rem; }
  @media screen and (max-width: 640px) {
    #company_affiliate .m-title-borderleft.affiliate-title {
      font-size: 14px;
      font-size: calc($size / 16)rem; } }
#company_affiliate .m-title-borderleft::before {
  background-color: #c2c2c2;
  top: 0;
  bottom: 0;
  margin: auto; }
#company_affiliate .m-title-borderleft::after {
  content: none; }

#company_overview .mfp-figure:after {
  box-shadow: none;
  background: no-repeat; }
#company_overview img.mfp-img {
  max-width: 525px;
  width: 100%; }
#company_overview .m-image-main {
  position: relative; }
  @media screen and (max-width: 640px) {
    #company_overview .m-image-main {
      margin-left: calc((100% - 87%) / -2);
      margin-right: calc((100% - 87%) / -2);
      overflow: hidden; } }
  @media screen and (max-width: 640px) {
    #company_overview .m-image-main .m-image {
      margin-left: -50%;
      margin-right: -50%; } }
  #company_overview .m-image-main a {
    position: absolute;
    display: flex;
    justify-content: center;
    text-decoration: none; }
    #company_overview .m-image-main a.popup-image::before {
      content: none; }
    #company_overview .m-image-main a::after {
      content: "▼";
      font-size: 14px;
      font-size: calc($size / 16)rem;
      color: #0399de;
      position: absolute;
      bottom: -22px; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a::after {
          font-size: 12px;
          font-size: calc($size / 16)rem;
          bottom: -20px; } }
    #company_overview .m-image-main a:nth-of-type(1) {
      left: 63.4%;
      top: 23.9%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(1) {
          left: 76.4%;
          top: 23%; } }
    #company_overview .m-image-main a:nth-of-type(2) {
      left: 51.6%;
      top: 38.2%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(2) {
          left: 53%;
          top: 37.6%; } }
    #company_overview .m-image-main a:nth-of-type(3) {
      left: 43.1%;
      top: 47.4%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(3) {
          left: 36.2%;
          top: 45.8%; } }
    #company_overview .m-image-main a:nth-of-type(4) {
      left: 31.3%;
      top: 67.3%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(4) {
          left: 12%;
          top: 66%; } }
    #company_overview .m-image-main a:nth-of-type(5) {
      left: 51.8%;
      top: 78.8%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(5) {
          left: 53.2%;
          top: 77.8%; } }
    #company_overview .m-image-main a:nth-of-type(6) {
      left: 59.2%;
      top: 60%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(6) {
          left: 68.2%;
          top: 59.3%; } }
    #company_overview .m-image-main a:nth-of-type(7) {
      left: 28.2%;
      top: 50.5%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(7) {
          left: 5.6%;
          top: 49.4%; } }
    #company_overview .m-image-main a:nth-of-type(8) {
      left: 28.6%;
      top: 22.9%; }
      @media screen and (max-width: 640px) {
        #company_overview .m-image-main a:nth-of-type(8) {
          left: 6.6%;
          top: 21.8%; } }
  #company_overview .m-image-main .m-image-main-nam {
    font-family: "Racing Sans One";
    font-size: 12px;
    font-size: calc($size / 16)rem;
    letter-spacing: 0.06em;
    color: #fff;
    background: #0399de;
    position: absolute;
    top: -20px;
    padding: 2px 9px 10px;
    border-radius: 100px; }
    @media screen and (max-width: 640px) {
      #company_overview .m-image-main .m-image-main-nam {
        font-size: 10px;
        font-size: calc($size / 16)rem;
        padding: 0 6px 10px;
        top: -15px; } }
  #company_overview .m-image-main .m-image-main-title {
    font-size: 15px;
    font-size: calc($size / 16)rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.333333333333333;
    color: #0399de;
    background: #fff;
    border: #0399de 2px solid;
    border-radius: 20px;
    padding: 7px 20px;
    position: relative;
    transition: .2s; }
    @media screen and (max-width: 640px) {
      #company_overview .m-image-main .m-image-main-title {
        font-size: 11px;
        font-size: calc($size / 16)rem;
        padding: 4px 12px; } }
    #company_overview .m-image-main .m-image-main-title:hover {
      color: #fff;
      background: #0399de; }
#company_overview .m-list {
  margin-top: 66px; }
  @media screen and (max-width: 640px) {
    #company_overview .m-list {
      margin-top: 46px; } }
  #company_overview .m-list .m-list-box {
    display: flex;
    margin-bottom: 66px; }
    @media screen and (max-width: 640px) {
      #company_overview .m-list .m-list-box {
        flex-wrap: wrap;
        margin-bottom: 46px; } }
    #company_overview .m-list .m-list-box:last-of-type {
      margin-bottom: 0; }
  #company_overview .m-list .m-list-icon {
    width: 110px; }
    @media screen and (max-width: 640px) {
      #company_overview .m-list .m-list-icon {
        width: 100%;
        text-align: center; } }
    @media screen and (max-width: 640px) {
      #company_overview .m-list .m-list-icon img {
        width: 23.06666666666667vw; } }
  #company_overview .m-list .m-list-main {
    width: calc(100% - 110px);
    padding-top: 28px;
    padding-left: 42px; }
    @media screen and (max-width: 640px) {
      #company_overview .m-list .m-list-main {
        width: 100%;
        padding-top: 8px;
        padding-left: 0; } }
    #company_overview .m-list .m-list-main .m-list-title {
      font-size: 34px;
      font-size: calc($size / 16)rem;
      font-weight: bold;
      letter-spacing: 0.06em;
      display: flex;
      align-items: center;
      margin-bottom: 10px; }
      @media screen and (max-width: 640px) {
        #company_overview .m-list .m-list-main .m-list-title {
          font-size: 30px;
          font-size: calc($size / 16)rem;
          display: block;
          text-align: center; } }
      #company_overview .m-list .m-list-main .m-list-title span {
        font-family: "Racing Sans One";
        font-size: 26px;
        font-size: calc($size / 16)rem;
        font-weight: normal;
        color: #0399de;
        margin-right: 20px; }
        @media screen and (max-width: 640px) {
          #company_overview .m-list .m-list-main .m-list-title span {
            font-size: 20px;
            font-size: calc($size / 16)rem;
            display: block;
            text-align: center;
            margin-right: 0;
            margin-bottom: -10px; } }
    #company_overview .m-list .m-list-main .m-list-text {
      font-size: 17px;
      font-size: calc($size / 16)rem;
      letter-spacing: 0.06em;
      line-height: 1.882352941176471;
      margin-bottom: 18px; }
      @media screen and (max-width: 640px) {
        #company_overview .m-list .m-list-main .m-list-text {
          font-size: 15px;
          font-size: calc($size / 16)rem; } }
    #company_overview .m-list .m-list-main .m-list-connection h3 {
      font-size: 19px;
      font-size: calc($size / 16)rem;
      font-weight: bold;
      letter-spacing: 0.06em;
      margin-bottom: 18px; }
      @media screen and (max-width: 640px) {
        #company_overview .m-list .m-list-main .m-list-connection h3 {
          font-size: 17px;
          font-size: calc($size / 16)rem;
          margin-bottom: 10px; } }
    #company_overview .m-list .m-list-main .m-list-connection ul {
      border: 1px solid #969da0;
      display: flex;
      flex-wrap: wrap;
      padding: 30px 36px 22px; }
      @media screen and (max-width: 640px) {
        #company_overview .m-list .m-list-main .m-list-connection ul {
          padding: 18px 24px; } }
      #company_overview .m-list .m-list-main .m-list-connection ul li {
        width: calc(100% / 3);
        margin-bottom: 8px; }
        @media screen and (max-width: 640px) {
          #company_overview .m-list .m-list-main .m-list-connection ul li {
            width: 100%;
            margin-bottom: 0; } }
      @media screen and (max-width: 640px) {
        #company_overview .m-list .m-list-main .m-list-connection ul .m-list-disc__item {
          font-size: 15px;
          font-size: calc($size / 16)rem; } }
#company_overview .mfp-image-holder .mfp-close,
#company_overview .mfp-iframe-holder .mfp-close {
  font-family: "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 22px;
  font-size: calc($size / 16)rem;
  top: 26px;
  opacity: 1; }
  @media screen and (max-width: 640px) {
    #company_overview .mfp-image-holder .mfp-close,
    #company_overview .mfp-iframe-holder .mfp-close {
      right: 0; } }
  #company_overview .mfp-image-holder .mfp-close::after,
  #company_overview .mfp-iframe-holder .mfp-close::after {
    content: '';
    background: #0399de;
    width: 48px;
    height: 48px;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -8px;
    margin: auto;
    z-index: -1;
    border-radius: 100px; }
    @media screen and (max-width: 640px) {
      #company_overview .mfp-image-holder .mfp-close::after,
      #company_overview .mfp-iframe-holder .mfp-close::after {
        width: 38px;
        height: 38px;
        right: -4px; } }

#company_segment .m-indent {
  line-height: 1.882352941176471; }
#company_segment .bg_blue {
  background: #e5f5fc;
  margin-top: 54px;
  padding: 50px; }
  @media screen and (max-width: 640px) {
    #company_segment .bg_blue {
      margin-top: 20px;
      padding: 26px 20px; } }
  #company_segment .bg_blue .m-h3 {
    font-size: 27px;
    font-size: calc($size / 16)rem;
    text-align: center;
    margin-bottom: 16px; }
    @media screen and (max-width: 640px) {
      #company_segment .bg_blue .m-h3 {
        font-size: 15px;
        font-size: calc($size / 16)rem;
        margin-bottom: 10px; } }
  #company_segment .bg_blue .m-indent {
    padding-top: 0; }

#company_concept .m-border {
  border: #cdd0d8 1px solid; }
#company_concept #sec01 .m-column--col2-item {
  width: calc(100% - 30% - 40px); }
  @media screen and (max-width: 640px) {
    #company_concept #sec01 .m-column--col2-item {
      width: 100%; } }
#company_concept #sec01 .m-column--col2-img {
  width: 30%; }
  @media screen and (max-width: 640px) {
    #company_concept #sec01 .m-column--col2-img {
      width: 100%; } }
#company_concept #sec02 .image_01 {
  width: 100%; }
#company_concept #sec02 .m-h3 {
  font-size: 17px;
  font-size: calc($size / 16)rem; }
  @media screen and (max-width: 640px) {
    #company_concept #sec02 .m-h3 {
      font-size: 14px;
      font-size: calc($size / 16)rem; } }

#company_media #sec04 .m-column--kyosan {
  justify-content: space-between; }
#company_media .kyosan_img {
  display: flex;
  flex-wrap: wrap;
  width: 570px; }
  @media screen and (max-width: 640px) {
    #company_media .kyosan_img {
      width: 100%; } }
  #company_media .kyosan_img .m-image {
    width: 440px; }
    @media screen and (max-width: 640px) {
      #company_media .kyosan_img .m-image {
        width: 77.19298245614035%; } }
    #company_media .kyosan_img .m-image-logo {
      width: calc(100% - 440px);
      text-align: center; }
      @media screen and (max-width: 640px) {
        #company_media .kyosan_img .m-image-logo {
          width: calc(100% - 77.19298245614035%); } }
      #company_media .kyosan_img .m-image-logo img {
        max-width: 80%; }
