@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Overpass:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Antique+B1&display=swap");
img {
  width: 100%;
  height: auto; }

header {
  width: 100%;
  margin: 30px auto 0;
  left: 0;
  padding: 0 30px;
  background: none; }
  header .inner {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background: #fff;
    padding: 0px 20px;
    border-radius: 10px;
    position: relative;
    z-index: 2; }
    header .inner h1 {
      width: 154px; }
    header .inner .navigation {
      width: calc(100% - 154px);
      display: flex;
      justify-content: flex-end;
      align-items: center; }
      header .inner .navigation .m_menu {
        display: flex;
        justify-content: flex-start;
        padding-right: 35px;
        gap: 0 30px; }
        header .inner .navigation .m_menu:hover .mega-menu {
          display: block; }
        header .inner .navigation .m_menu .menu-item {
          font-weight: 700;
          font-size: 14px;
          position: relative;
          transition: border-bottom 0.3s ease;
          border-bottom: 6px solid transparent; }
          header .inner .navigation .m_menu .menu-item a {
            text-align: center;
            display: block;
            line-height: 1.4;
            padding: 22px 0 18px;
            position: relative; }
            header .inner .navigation .m_menu .menu-item a.nolink {
              pointer-events: none; }
          header .inner .navigation .m_menu .menu-item .mega-menu {
            display: none;
            position: absolute;
            left: 0;
            top: 65px;
            width: 246px;
            background: #182987;
            transition: opacity 0.3s ease, visibility 0.3s ease; }
            header .inner .navigation .m_menu .menu-item .mega-menu ul {
              margin: 0 10px; }
              header .inner .navigation .m_menu .menu-item .mega-menu ul li {
                border-bottom: 1px solid #334695; }
                header .inner .navigation .m_menu .menu-item .mega-menu ul li a {
                  text-align: left;
                  color: #fff;
                  display: block;
                  position: relative;
                  padding: 15px 0;
                  padding-left: 22px; }
                  header .inner .navigation .m_menu .menu-item .mega-menu ul li a:before {
                    position: absolute;
                    content: "";
                    left: 0;
                    top: 50%;
                    margin-top: -7px;
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-top: 7px solid transparent;
                    border-bottom: 7px solid transparent;
                    border-left: 12px solid #fff;
                    border-right: 0; }
          header .inner .navigation .m_menu .menu-item:hover {
            border-bottom: 6px solid #182987; }
            header .inner .navigation .m_menu .menu-item:hover .mega-menu {
              display: block;
              opacity: 1;
              visibility: visible; }
      header .inner .navigation .headcontact {
        width: 130px;
        text-align: center;
        border-radius: 30px;
        background: #3A60AB;
        margin-right: 10px; }
        header .inner .navigation .headcontact a {
          display: block;
          color: #fff;
          font-size: 14px;
          font-weight: 700;
          padding: 8px 0; }
      header .inner .navigation .headevent {
        width: 130px;
        text-align: center;
        border-radius: 30px;
        background: #00A99D;
        margin-right: 10px; }
        header .inner .navigation .headevent a {
          display: block;
          color: #fff;
          font-size: 14px;
          font-weight: 700;
          padding: 8px 0; }
      header .inner .navigation .headersns {
        width: 106px;
        margin: 0 10px;
        display: flex;
        justify-content: space-around; }
        header .inner .navigation .headersns li {
          width: 27px; }
      header .inner .navigation .hamburger {
        width: 40px;
        height: 40px;
        border-radius: 20px;
        cursor: pointer;
        text-align: center;
        background: #000;
        position: relative; }
        header .inner .navigation .hamburger span {
          display: block;
          position: absolute;
          width: 20px;
          margin-left: -10px;
          height: 2px;
          left: 50%;
          background: #fff;
          -webkit-transition: 0.5s ease-in-out;
          -moz-transition: 0.5s ease-in-out;
          transition: 0.5s ease-in-out; }
          header .inner .navigation .hamburger span:nth-child(1) {
            top: 50%;
            margin-top: -7px; }
          header .inner .navigation .hamburger span:nth-child(2) {
            top: 50%; }
          header .inner .navigation .hamburger span:nth-child(3) {
            top: 50%;
            margin-top: 7px; }
        header .inner .navigation .hamburger.active span:nth-child(1) {
          top: 50%;
          margin-top: 0;
          -webkit-transform: rotate(315deg);
          -moz-transform: rotate(315deg);
          transform: rotate(315deg); }
        header .inner .navigation .hamburger.active span:nth-child(2), header .inner .navigation .hamburger.active span:nth-child(3) {
          top: 50%;
          margin-top: 0;
          -webkit-transform: rotate(-315deg);
          -moz-transform: rotate(-315deg);
          transform: rotate(-315deg); }
  header .nav {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: rgba(24, 41, 135, 0.95); }
    header .nav--back {
      padding-top: 185px; }
      header .nav--back--inner {
        max-width: 984px;
        margin: 0 auto; }
        header .nav--back--inner--menu {
          display: flex;
          justify-content: center;
          gap: 80px; }
          header .nav--back--inner--menu--box p {
            font-family: "Overpass", sans-serif;
            font-size: 26px;
            line-height: 1;
            color: #94D4FF;
            margin-bottom: 12px; }
          header .nav--back--inner--menu--box li {
            font-size: 15px;
            font-weight: 500;
            padding-top: 12px; }
            header .nav--back--inner--menu--box li a {
              display: block;
              color: #fff; }
        header .nav--back--inner .navsns {
          display: flex;
          justify-content: flex-end;
          margin-top: 65px; }
          header .nav--back--inner .navsns li {
            width: 36px;
            margin-left: 16px; }

main .kvcontents {
  position: relative; }
  main .kvcontents .kvobj {
    width: 53.6153846154vw;
    left: 0;
    position: absolute;
    z-index: 0; }
  main .kvcontents .mainttl {
    width: 78.7692307692vw;
    margin: 0 auto;
    padding-top: 160px; }
    main .kvcontents .mainttl h2 {
      font-family: "Overpass", sans-serif;
      font-size: 50px;
      font-weight: 700;
      color: #3A60AB;
      position: relative;
      z-index: 2; }
      main .kvcontents .mainttl h2 small {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 15px;
        display: inline-block;
        position: relative;
        top: -10px;
        padding-left: 15px; }
  main .kvcontents .kvimg {
    width: 93.5384615385vw;
    margin: 0 -2.3076923077vw 0 auto;
    border-radius: 2.3076923077vw;
    overflow: hidden; }
    main .kvcontents .kvimg img {
      width: 100%;
      height: auto; }

.footer_ren {
  background: url("../../img/sheard/common/bg_footer.jpg") no-repeat center bottom/cover;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  overflow: hidden;
  margin-top: 100px; }
@keyframes loop {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
  .footer_ren .loop_wrap {
    margin-top: 80px;
    display: flex;
    width: 100vw;
    height: 5.6923076923vw;
    overflow: hidden;
    position: relative; }
  .footer_ren .loop_wrap img {
    flex-shrink: 0;
    width: 100vw;
    /* 画面幅ちょうどに収める */
    height: 100%;
    object-fit: cover;
    animation: loop 30s linear infinite; }
  .footer_ren .footerinner {
    max-width: 1040px;
    margin: 50px auto 0;
    display: flex;
    justify-content: space-between;
    padding-bottom: 100px; }
    .footer_ren .footerinner--left {
      width: 470px;
      border-right: 1px solid #fff;
      padding-top: 25px; }
      .footer_ren .footerinner--left .footersl {
        color: #fff;
        font-family: "Shippori Antique B1", sans-serif;
        font-weight: 400;
        font-size: 40px;
        line-height: 1; }
        .footer_ren .footerinner--left .footersl small {
          font-size: 24px;
          display: block;
          padding-bottom: 20px; }
        .footer_ren .footerinner--left .footersl span {
          font-family: "Overpass", sans-serif;
          font-size: 17px;
          display: block;
          padding-top: 24px; }
      .footer_ren .footerinner--left--under {
        display: flex;
        justify-content: space-between;
        margin-top: 80px; }
        .footer_ren .footerinner--left--under .logof {
          width: 174px; }
        .footer_ren .footerinner--left--under .navsns {
          width: 224px;
          display: flex;
          justify-content: space-around;
          align-items: center;
          margin-right: 30px; }
          .footer_ren .footerinner--left--under .navsns li {
            width: 36px; }
    .footer_ren .footerinner--right {
      width: 530px;
      display: flex;
      justify-content: space-between; }
      .footer_ren .footerinner--right--inner:first-child {
        width: 170px; }
      .footer_ren .footerinner--right--inner:nth-child(2) {
        width: 230px; }
      .footer_ren .footerinner--right--inner:last-child {
        width: 130px; }
      .footer_ren .footerinner--right--inner .nav--back--inner--menu--box:nth-child(2) {
        margin-top: 30px; }
      .footer_ren .footerinner--right--inner .nav--back--inner--menu--box p {
        font-family: "Overpass", sans-serif;
        font-size: 26px;
        line-height: 1;
        color: #94D4FF;
        margin-bottom: 10px; }
      .footer_ren .footerinner--right--inner .nav--back--inner--menu--box li {
        font-size: 14px;
        font-weight: 500; }
        .footer_ren .footerinner--right--inner .nav--back--inner--menu--box li a {
          display: block;
          color: #fff; }
      .footer_ren .footerinner--right--inner .headcontact {
        width: 130px;
        text-align: center;
        border-radius: 30px;
        background: #fff;
        margin-top: 40px; }
        .footer_ren .footerinner--right--inner .headcontact a {
          display: block;
          color: #3a60ab;
          font-size: 14px;
          font-weight: 700;
          padding: 8px 0; }
      .footer_ren .footerinner--right--inner .headevent {
        width: 130px;
        text-align: center;
        border-radius: 30px;
        background: #fff;
        margin-top: 15px; }
        .footer_ren .footerinner--right--inner .headevent a {
          display: block;
          color: #3a60ab;
          font-size: 14px;
          font-weight: 700;
          padding: 8px 0; }
  .footer_ren .under {
    background: #fff;
    padding: 20px; }
    .footer_ren .under li a {
      color: #3a60ab; }
    .footer_ren .under address {
      color: #3a60ab; }

#pagetop {
  width: 47px;
  height: 141px;
  right: 0;
  bottom: 120px; }

.contents .inner .lead {
  font-size: 14px;
  color: #4D4D4D;
  text-align: center;
  padding-bottom: 90px; }

.message .contents--inner {
  width: 920px;
  margin: 120px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  .message .contents--inner .imgs {
    width: 420px;
    border-radius: 30px;
    overflow: hidden; }
  .message .contents--inner--txt {
    width: 440px; }
    .message .contents--inner--txt h4 {
      font-size: 22px;
      line-height: 38px;
      font-weight: 700;
      color: #3a60ab; }
    .message .contents--inner--txt .txts {
      font-size: 14px;
      line-height: 24px;
      padding: 30px 0 20px; }
    .message .contents--inner--txt .name {
      color: #3a60ab;
      text-align: right;
      font-size: 20px;
      font-weight: 700; }
      .message .contents--inner--txt .name small {
        display: inline-block;
        padding-right: 15px;
        font-weight: 500;
        font-size: 14px; }

.business .contents .inner .top {
  font-size: 27px;
  color: #1a1a1a;
  text-align: center;
  padding-bottom: 10px;
  font-weight: bold; }
.business .contents--inner {
  width: 920px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; }
  .business .contents--inner .imgs {
    width: 830px;
    margin: 0 auto; }
  .business .contents--inner--txt {
    width: 440px; }
    .business .contents--inner--txt h4 {
      font-size: 22px;
      line-height: 38px;
      font-weight: 700;
      color: #3a60ab; }
    .business .contents--inner--txt .txts {
      font-size: 14px;
      line-height: 24px;
      padding: 30px 0 20px; }
    .business .contents--inner--txt .name {
      color: #3a60ab;
      text-align: right;
      font-size: 20px;
      font-weight: 700; }
      .business .contents--inner--txt .name small {
        display: inline-block;
        padding-right: 15px;
        font-weight: 500;
        font-size: 14px; }
.business .contents .backco {
  background: #f0f4f6;
  margin-bottom: -200px;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  padding-bottom: 100px;
  margin-top: 100px;
  padding-top: 35px; }
  .business .contents .backco--inner {
    width: 920px;
    margin: 0 auto; }
    .business .contents .backco--inner--box {
      margin-top: 65px; }
      .business .contents .backco--inner--box--txt {
        position: relative; }
        .business .contents .backco--inner--box--txt dl {
          background: #fff;
          display: flex;
          align-items: center;
          border-radius: 40px;
          padding: 20px 0; }
          .business .contents .backco--inner--box--txt dl dt {
            margin: 0 40px;
            font-family: "Overpass", sans-serif;
            font-weight: 700;
            color: #3a60ab;
            font-size: 16px;
            display: flex;
            align-items: center;
            line-height: 1;
            position: relative;
            top: 4px; }
            .business .contents .backco--inner--box--txt dl dt strong {
              display: inline-block;
              font-family: "Overpass", sans-serif;
              font-weight: 700;
              font-size: 39px;
              margin-left: 20px;
              line-height: 1 !important; }
          .business .contents .backco--inner--box--txt dl dd {
            padding: 8px 40px 12px;
            font-weight: 700;
            font-size: 22px;
            line-height: 1;
            color: #3a60ab;
            border-left: 1px solid #3a60ab; }
        .business .contents .backco--inner--box--txt .icon {
          position: absolute;
          width: 215px;
          right: 40px;
          bottom: 0; }
      .business .contents .backco--inner--box--under {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        margin-top: 40px; }
        .business .contents .backco--inner--box--under .icon {
          width: 440px;
          border-radius: 30px;
          overflow: hidden; }
        .business .contents .backco--inner--box--under .txts {
          width: 440px;
          font-size: 14px;
          line-height: 24px;
          text-align: justify; }

.news .contents .inner--box {
  padding: 25px 50px;
  border-bottom: 1px solid #dce1e4; }
  .news .contents .inner--box .boxcont {
    width: 700px; }
    .news .contents .inner--box .boxcont dl {
      display: flex;
      align-items: flex-start; }
      .news .contents .inner--box .boxcont dl dt {
        font-family: "Overpass", sans-serif;
        font-weight: 700;
        font-size: 16px;
        color: #3a60ab; }
      .news .contents .inner--box .boxcont dl dd {
        margin-left: 20px;
        width: 100px;
        text-align: center;
        font-size: 11px;
        line-height: 1;
        color: #fff;
        padding: 4px 0 6px;
        margin-top: 4px;
        border-radius: 15px; }
        .news .contents .inner--box .boxcont dl dd.seminar {
          background: #3a60ab; }
        .news .contents .inner--box .boxcont dl dd.event {
          background: #00a99d; }
        .news .contents .inner--box .boxcont dl dd.topics {
          background: #60baff; }
    .news .contents .inner--box .boxcont .txts {
      color: #1a1a1a; }
  .news .contents .inner--box a {
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    position: relative; }
    .news .contents .inner--box a:after {
      position: absolute;
      content: "";
      background: url("../../img/sheard/news/arrow.svg") no-repeat center center/cover;
      width: 28px;
      height: 28px;
      right: 0px;
      top: 50%;
      margin-top: -14px; }
    .news .contents .inner--box a figure {
      width: 190px; }
    .news .contents .inner--box a .boxcont {
      width: 700px; }
      .news .contents .inner--box a .boxcont dl {
        display: flex;
        align-items: flex-start; }
        .news .contents .inner--box a .boxcont dl dt {
          font-family: "Overpass", sans-serif;
          font-weight: 700;
          font-size: 16px;
          color: #3a60ab; }
        .news .contents .inner--box a .boxcont dl dd {
          margin-left: 20px;
          width: 100px;
          text-align: center;
          font-size: 11px;
          line-height: 1;
          color: #fff;
          padding: 4px 0 6px;
          margin-top: 4px;
          border-radius: 15px; }
          .news .contents .inner--box a .boxcont dl dd.seminar {
            background: #3a60ab; }
          .news .contents .inner--box a .boxcont dl dd.event {
            background: #00a99d; }
          .news .contents .inner--box a .boxcont dl dd.topics {
            background: #60baff; }
      .news .contents .inner--box a .boxcont .txts {
        color: #1a1a1a; }
.news .contents.newscontents {
  padding-top: 160px; }
  .news .contents.newscontents .inner {
    width: 1024px;
    margin: 0 auto; }
    .news .contents.newscontents .inner--cont .date {
      text-align: center;
      width: 120px;
      background: #3a60ab;
      color: #fff;
      padding: 2px 0px;
      font-family: "Overpass", sans-serif;
      font-size: 16px;
      font-weight: 700;
      margin-left: 48px; }
    .news .contents.newscontents .inner--cont h3 {
      font-size: 27px;
      font-weight: 700;
      padding: 20px 48px;
      border-bottom: 1px solid #dce1e4;
      margin-bottom: 20px; }
    .news .contents.newscontents .inner--cont .txtbox {
      font-size: 14px;
      line-height: 24px;
      padding: 0 48px; }
    .news .contents.newscontents .inner--cont .linkpdf {
      margin: 25px auto 25px 48px; }
      .news .contents.newscontents .inner--cont .linkpdf a {
        display: block;
        color: #2447e1;
        position: relative; }
        .news .contents.newscontents .inner--cont .linkpdf a:after {
          position: absolute;
          content: "PDF";
          font-family: "Overpass", sans-serif;
          width: 50px;
          color: #fff;
          padding: 4px 0;
          background: red;
          text-align: center;
          border-radius: 30px;
          line-height: 1;
          margin-left: 20px;
          top: 50%;
          margin-top: -10px; }
    .news .contents.newscontents .inner--cont .imgs {
      padding: 0 48px; }
    .news .contents.newscontents .inner--cont .caption {
      padding: 5px 48px 0; }
    .news .contents.newscontents .inner--cont .cont_ttl {
      font-size: 22px;
      font-weight: 700;
      padding-left: 30px;
      position: relative;
      padding-left: 30px;
      margin: 50px auto 15px 48px; }
      .news .contents.newscontents .inner--cont .cont_ttl:before {
        position: absolute;
        content: "";
        width: 10px;
        height: 22px;
        background: #3a60ab;
        left: 0;
        top: 50%;
        margin-top: -11px; }
    .news .contents.newscontents .inner--cont .flex {
      display: flex;
      justify-content: space-between;
      padding: 0 48px;
      margin-top: 50px; }
      .news .contents.newscontents .inner--cont .flex .imgsflex {
        width: 420px; }
      .news .contents.newscontents .inner--cont .flex dl {
        width: 420px; }
        .news .contents.newscontents .inner--cont .flex dl .cont_ttl {
          margin: 0;
          margin-bottom: 15px; }
        .news .contents.newscontents .inner--cont .flex dl .txtbox {
          padding: 0; }

.product main .contents {
  background: none; }
  .product main .contents .inner {
    top: 0;
    margin-bottom: 0; }
    .product main .contents .inner .top {
      font-size: 27px;
      color: #1a1a1a;
      text-align: center;
      padding-bottom: 10px;
      font-weight: bold;
      margin-top: 50px; }
  .product main .contents .backcl {
    background: #f0f4f6;
    margin-bottom: -200px;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding-bottom: 200px;
    padding-top: 100px; }
    .product main .contents .backcl .inner {
      background: none; }
      .product main .contents .backcl .inner .maker_ttl {
        margin: 0;
        padding: 0; }
        .product main .contents .backcl .inner .maker_ttl dt {
          background: #3a60ab;
          color: #fff;
          font-size: 23px;
          font-weight: 700;
          padding: 40px 0;
          border-radius: 80px; }
        .product main .contents .backcl .inner .maker_ttl dd {
          margin-top: 10px;
          color: #1a1a1a; }
      .product main .contents .backcl .inner .maker_box {
        justify-content: center;
        padding: 0;
        gap: 0 26px; }
        .product main .contents .backcl .inner .maker_box .boxinner {
          width: 288px;
          background: #fff;
          margin: 30px 0 0;
          border: none !important;
          border-radius: 12px;
          padding: 20px;
          padding-bottom: 0;
          position: relative; }
          .product main .contents .backcl .inner .maker_box .boxinner:after {
            content: none; }
          .product main .contents .backcl .inner .maker_box .boxinner:before {
            position: absolute;
            content: "";
            background: url("../../img/sheard/manufactures/arrow.svg") no-repeat center center/cover;
            width: 28px;
            height: 28px;
            right: 10px;
            bottom: 10px; }
          .product main .contents .backcl .inner .maker_box .boxinner a {
            text-decoration: none;
            position: relative; }
          .product main .contents .backcl .inner .maker_box .boxinner .logo {
            margin-top: 30px; }
          .product main .contents .backcl .inner .maker_box .boxinner .txt {
            padding: 0;
            margin-bottom: 0; }
            .product main .contents .backcl .inner .maker_box .boxinner .txt dt {
              text-align: center;
              padding: 15px 0;
              font-size: 15px;
              height: auto;
              margin-bottom: 0;
              font-weight: 700;
              color: #3a60ab; }
              .product main .contents .backcl .inner .maker_box .boxinner .txt dt:before {
                content: none; }
            .product main .contents .backcl .inner .maker_box .boxinner .txt dd {
              color: #1a1a1a;
              padding: 0; }
      .product main .contents .backcl .inner .tabs {
        max-width: 920px;
        margin: 80px auto 0;
        display: flex;
        justify-content: space-between; }
        .product main .contents .backcl .inner .tabs .tab {
          width: 200px;
          background: #fff;
          text-align: center;
          display: block;
          line-height: 1.4;
          font-size: 17px;
          font-weight: 700;
          color: #3a60ab;
          padding: 20px 0;
          border: 1px solid #3a60ab;
          border-radius: 60px;
          cursor: pointer;
          margin-bottom: 0; }
          .product main .contents .backcl .inner .tabs .tab.active {
            background: #3a60ab;
            color: #fff;
            position: relative; }
            .product main .contents .backcl .inner .tabs .tab.active:after {
              position: absolute;
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-right: 10px solid transparent;
              border-left: 10px solid transparent;
              border-top: 17px solid #3a60ab;
              border-bottom: 0;
              bottom: -17px;
              left: 50%;
              margin-left: -10px; }
      .product main .contents .backcl .inner .markerlist {
        display: none;
        max-width: 920px;
        margin: 30px auto 0;
        background: #fff;
        border-radius: 20px;
        overflow: hidden;
        padding-bottom: 40px; }
        .product main .contents .backcl .inner .markerlist.show {
          display: block; }
        .product main .contents .backcl .inner .markerlist .list_ttl {
          background: #3a60ab;
          color: #fff;
          text-align: center;
          font-size: 23px;
          font-weight: 700;
          padding: 20px 0; }
        .product main .contents .backcl .inner .markerlist--box {
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          padding: 0 20px;
          gap: 0 20px; }
          .product main .contents .backcl .inner .markerlist--box .list_lead {
            color: #3a60ab;
            width: 100%;
            text-align: center;
            font-size: 17px;
            font-weight: 700;
            border-bottom: 1px solid #3a60ab;
            margin-top: 40px;
            padding-bottom: 10px;
            margin-bottom: 10px; }
          .product main .contents .backcl .inner .markerlist--box ul {
            width: calc(800px/3); }
            .product main .contents .backcl .inner .markerlist--box ul li {
              font-size: 14px;
              line-height: 1.4;
              font-weight: 500;
              position: relative;
              padding-left: 18px;
              margin-top: 10px; }
              .product main .contents .backcl .inner .markerlist--box ul li:before {
                position: absolute;
                content: "●";
                color: #3a60ab;
                left: 0; }

.case .contents .inner--case {
  max-width: 920px;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap; }
  .case .contents .inner--case .ttl {
    width: 100%;
    background: #f0f4f6;
    display: flex;
    align-items: center;
    align-content: center;
    border-radius: 60px;
    padding: 20px 0;
    margin-bottom: 50px; }
    .case .contents .inner--case .ttl dt {
      margin: 0 40px;
      font-family: "Overpass", sans-serif;
      font-weight: 700;
      color: #3a60ab;
      font-size: 16px;
      display: flex;
      align-items: center;
      position: relative;
      top: 4px; }
      .case .contents .inner--case .ttl dt strong {
        display: inline-block;
        font-family: "Overpass", sans-serif;
        font-weight: 700;
        font-size: 39px;
        margin-left: 20px;
        line-height: 1 !important; }
    .case .contents .inner--case .ttl dd {
      padding: 8px 40px 12px;
      font-weight: 700;
      font-size: 22px;
      line-height: 1;
      color: #3a60ab;
      border-left: 1px solid #3a60ab; }
  .case .contents .inner--case .imgs {
    width: 440px;
    border-radius: 20px;
    overflow: hidden; }
  .case .contents .inner--case--txt {
    width: 450px; }
    .case .contents .inner--case--txt .txtscont {
      padding-bottom: 20px; }
      .case .contents .inner--case--txt .txtscont dt {
        font-size: 17px;
        font-weight: 700;
        color: #3a60ab;
        padding-bottom: 10px; }
      .case .contents .inner--case--txt .txtscont dd {
        min-height: 124px;
        font-size: 14px;
        line-height: 1.6;
        text-align: justify; }
    .case .contents .inner--case--txt .tagline {
      border-top: 1px solid #3a60ab;
      padding-top: 10px;
      display: flex;
      flex-wrap: wrap; }
      .case .contents .inner--case--txt .tagline li {
        width: content;
        background: #f0f4f6;
        margin-right: 15px;
        padding: 0 6px;
        margin-top: 8px; }
    .case .contents .inner--case--txt .btns {
      width: 185px;
      margin: 15px auto 0 0;
      font-family: "Overpass", sans-serif;
      font-size: 14px;
      font-weight: 700;
      text-align: center; }
      .case .contents .inner--case--txt .btns a {
        display: block;
        border: 1px solid #3a60ab;
        border-radius: 60px;
        padding: 12px 0;
        color: #3a60ab;
        text-decoration: none;
        position: relative; }
        .case .contents .inner--case--txt .btns a:after {
          position: absolute;
          content: "";
          background: url("../../img/sheard/common/arrow_b.svg") no-repeat center center/cover;
          width: 8px;
          height: 6px;
          right: 15px;
          top: 50%;
          margin-top: -4px; }

.casecontents main .kvcontents {
  background: #f0f4f6;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  padding-bottom: 60px; }
  .casecontents main .kvcontents .mainttl {
    width: 1024px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    align-content: center; }
    .casecontents main .kvcontents .mainttl h2 {
      line-height: 1 !important; }
    .casecontents main .kvcontents .mainttl dl {
      color: #3a60ab;
      margin-left: 40px;
      padding-left: 40px;
      border-left: 1px solid #3a60ab;
      position: relative;
      top: -6px; }
      .casecontents main .kvcontents .mainttl dl dt {
        font-size: 27px;
        font-weight: 700;
        line-height: 1.4; }
      .casecontents main .kvcontents .mainttl dl dd {
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4; }
.casecontents main .contents .inner {
  width: 1024px;
  margin: 0 auto; }
  .casecontents main .contents .inner--box {
    padding: 40px 52px 60px;
    border-bottom: 1px solid #dce1e4; }
    .casecontents main .contents .inner--box:first-of-type {
      padding-top: 0; }
    .casecontents main .contents .inner--box .contttl {
      font-size: 22px;
      font-weight: 700;
      color: #3a60ab;
      padding-left: 30px;
      position: relative; }
      .casecontents main .contents .inner--box .contttl:before {
        position: absolute;
        content: "";
        width: 18px;
        height: 18px;
        background: #3a60ab;
        left: 0;
        top: 14px; }
    .casecontents main .contents .inner--box .txts {
      font-size: 14px;
      line-height: 24px;
      margin-top: 10px; }
    .casecontents main .contents .inner--box .tagline {
      border-bottom: 1px solid #3a60ab;
      padding-top: 0px;
      padding-bottom: 20px;
      display: flex;
      flex-wrap: wrap; }
      .casecontents main .contents .inner--box .tagline li {
        width: content;
        background: #f0f4f6;
        margin-right: 15px;
        padding: 0 6px;
        margin-top: 8px; }
    .casecontents main .contents .inner--box figure {
      width: 360px;
      margin-top: 20px;
      border-radius: 20px;
      overflow: hidden; }
    .casecontents main .contents .inner--box.flex {
      display: flex;
      justify-content: space-between;
      align-items: flex-start; }
      .casecontents main .contents .inner--box.flex .inner--box--txt {
        width: 440px; }
      .casecontents main .contents .inner--box.flex figure {
        width: 440px;
        margin-top: 0px; }
    .casecontents main .contents .inner--box--txt.flex {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .casecontents main .contents .inner--box--txt.flex .contttl {
        width: 100%;
        margin-bottom: 40px; }
      .casecontents main .contents .inner--box--txt.flex dl {
        width: 440px;
        background: #f0f4f6;
        border-radius: 20px; }
        .casecontents main .contents .inner--box--txt.flex dl:first-of-type {
          position: relative; }
          .casecontents main .contents .inner--box--txt.flex dl:first-of-type:after {
            position: absolute;
            content: "";
            background: url("../../img/sheard/case/arrows.svg") no-repeat center center/cover;
            width: 30px;
            height: 54px;
            top: 50%;
            margin-top: -27px;
            right: -35px; }
        .casecontents main .contents .inner--box--txt.flex dl dt {
          width: 185px;
          margin: 0 auto;
          color: #fff;
          font-size: 17px;
          font-weight: 500;
          text-align: center;
          padding: 6px 0;
          border-radius: 30px;
          position: relative;
          top: -20px;
          margin-bottom: -10px; }
          .casecontents main .contents .inner--box--txt.flex dl dt.cl_1 {
            background: #3a60ab; }
          .casecontents main .contents .inner--box--txt.flex dl dt.cl_2 {
            background: #00a99d; }
        .casecontents main .contents .inner--box--txt.flex dl dd {
          font-size: 14px;
          line-height: 24px;
          padding: 0 30px 20px; }

.top main .contentskvtop {
  height: 51.5384615385vw;
  position: relative; }
  .top main .contentskvtop h2 {
    position: absolute;
    z-index: 2;
    left: 6.1538461538vw;
    top: 20vw;
    color: #fff;
    font-family: "Shippori Antique B1", sans-serif;
    font-weight: 400;
    font-size: 3.2307692308vw;
    line-height: 1; }
    .top main .contentskvtop h2 small {
      font-size: 1.9230769231vw;
      display: block;
      padding-bottom: 1.5384615385vw; }
    .top main .contentskvtop h2 span {
      font-family: "Overpass", sans-serif;
      font-size: 1.2307692308vw;
      display: block;
      padding-top: 1.8461538462vw; }
.top main .contents {
  padding-bottom: 0; }
  .top main .contents .inner {
    max-width: 1024px;
    margin: 0 auto; }
  .top main .contents .ttls {
    font-family: "Overpass", sans-serif;
    font-weight: 700;
    font-size: 50px;
    color: #3a60ab;
    line-height: 1 !important; }
    .top main .contents .ttls small {
      font-family: "Noto Sans JP", sans-serif;
      font-weight: 500;
      font-size: 15px; }
  .top main .contents .btns {
    width: 185px;
    margin: 15px auto 0 0;
    font-family: "Overpass", sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-align: center; }
    .top main .contents .btns a {
      display: block;
      border: 1px solid #3a60ab;
      border-radius: 60px;
      padding: 12px 0;
      color: #3a60ab;
      text-decoration: none;
      position: relative; }
      .top main .contents .btns a:after {
        position: absolute;
        content: "";
        background: url("../../img/sheard/common/arrow_b.svg") no-repeat center center/cover;
        width: 8px;
        height: 6px;
        right: 15px;
        top: 50%;
        margin-top: -4px; }
  .top main .contents--news .inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
  .top main .contents--news--ttl {
    width: 185px; }
  .top main .contents--news--cont {
    width: 800px; }
    .top main .contents--news--cont--box {
      padding: 20px 10px;
      border-bottom: 1px solid #dce1e4; }
      .top main .contents--news--cont--box a {
        display: flex;
        justify-content: space-between;
        text-decoration: none;
        position: relative; }
        .top main .contents--news--cont--box a:after {
          position: absolute;
          content: "";
          background: url("../../img/sheard/news/arrow.svg") no-repeat center center/cover;
          width: 28px;
          height: 28px;
          right: 0px;
          top: 50%;
          margin-top: -14px; }
        .top main .contents--news--cont--box a figure {
          width: 190px; }
        .top main .contents--news--cont--box a .boxcont {
          width: 570px; }
          .top main .contents--news--cont--box a .boxcont dl {
            display: flex;
            align-items: flex-start; }
            .top main .contents--news--cont--box a .boxcont dl dt {
              font-family: "Overpass", sans-serif;
              font-weight: 700;
              font-size: 16px;
              color: #3a60ab; }
            .top main .contents--news--cont--box a .boxcont dl dd {
              margin-left: 20px;
              width: 100px;
              text-align: center;
              font-size: 11px;
              line-height: 1;
              color: #fff;
              padding: 4px 0 6px;
              margin-top: 4px;
              border-radius: 15px; }
              .top main .contents--news--cont--box a .boxcont dl dd.seminar {
                background: #3a60ab; }
              .top main .contents--news--cont--box a .boxcont dl dd.event {
                background: #00a99d; }
              .top main .contents--news--cont--box a .boxcont dl dd.topics {
                background: #60baff; }
          .top main .contents--news--cont--box a .boxcont .txts {
            color: #1a1a1a;
            padding-right: 50px; }
  .top main .contents--news .ttls small {
    display: block; }
  .top main .contents--news .btns {
    margin-top: 20px; }
    .top main .contents--news .btns a {
      padding: 6px 0; }
  .top main .contents--pickup {
    background: url("../../img/sheard/top/img_1.jpg") no-repeat center center/cover;
    height: 38.4615384615vw;
    margin: 105px 0 0;
    position: relative;
    /* 左右の配置 */ }
    .top main .contents--pickup .cals {
      padding: 0;
      overflow: visible;
      /* はみ出しを見せるため */ }
    .top main .contents--pickup .cals .slick-list {
      overflow: visible !important;
      /* ここが最重要！ */ }
    .top main .contents--pickup .cals .slick-slide {
      margin: 0 120px;
      transform: scale(0.8);
      /* オプション：左右のスライドを少し小さく見せる */
      transition: transform 0.3s; }
      .top main .contents--pickup .cals .slick-slide img {
        border: 2px solid #fff; }
    .top main .contents--pickup .cals .slick-center {
      transform: scale(1);
      /* 中央のスライドを大きく見せる */ }
    .top main .contents--pickup .ttls {
      width: 1024px;
      margin: 0 auto;
      color: #fff;
      padding: 3.8461538462vw 0 2.3076923077vw; }
    .top main .contents--pickup figcaption {
      text-decoration: none;
      text-align: center;
      color: #fff;
      font-size: 1.8461538462vw;
      font-weight: 700;
      line-height: 1.4;
      margin-top: 1.1538461538vw; }
      .top main .contents--pickup figcaption small {
        display: block;
        font-size: 1.2307692308vw;
        font-weight: 400; }
    .top main .contents--pickup .custom-prev,
    .top main .contents--pickup .custom-next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: white;
      color: #3a60ab;
      border: none;
      padding: 0.9230769231vw 1.2307692308vw;
      font-size: 1.3846153846vw;
      z-index: 10;
      cursor: pointer;
      border-radius: 50%; }
    .top main .contents--pickup .custom-prev {
      left: 50%;
      margin-left: -28.4615384615vw; }
    .top main .contents--pickup .custom-next {
      right: 50%;
      margin-right: -28.4615384615vw; }
    .top main .contents--pickup a {
      text-decoration: none; }
  .top main .contents--service {
    background: #f0f4f6; }
    .top main .contents--service .inner {
      width: 100%;
      max-width: 100%;
      padding: 8.4615384615vw 0 8.4615384615vw 10.7692307692vw;
      display: flex;
      justify-content: space-between; }
    .top main .contents--service .ttls {
      width: 5vw; }
    .top main .contents--service--inner {
      width: 80.7692307692vw; }
      .top main .contents--service--inner--box {
        display: flex;
        justify-content: space-between;
        margin-top: 3.8461538462vw; }
        .top main .contents--service--inner--box .number {
          width: 14.6153846154vw;
          font-family: "Overpass", sans-serif;
          font-weight: 700;
          font-size: 9.2307692308vw;
          color: #3a60ab;
          text-align: center;
          line-height: 1 !important;
          letter-spacing: -0.06em;
          position: relative;
          border-right: 0.0769230769vw solid #3a60ab; }
          .top main .contents--service--inner--box .number span {
            position: absolute;
            bottom: 3.8461538462vw;
            width: 11.5384615385vw;
            left: 50%;
            margin-left: -5.7692307692vw; }
        .top main .contents--service--inner--box--txt {
          width: 66.5384615385vw;
          display: flex;
          justify-content: space-between; }
          .top main .contents--service--inner--box--txt .boxs {
            width: 28.7692307692vw;
            margin-left: 3.4615384615vw; }
            .top main .contents--service--inner--box--txt .boxs dl {
              min-height: 8.4615384615vw; }
            .top main .contents--service--inner--box--txt .boxs dt {
              font-size: 1.8461538462vw;
              font-weight: 700; }
            .top main .contents--service--inner--box--txt .boxs dd {
              font-size: 1.0769230769vw;
              line-height: 1.8461538462vw; }
          .top main .contents--service--inner--box--txt .btns {
            margin-top: 1.5384615385vw; }
            .top main .contents--service--inner--box--txt .btns a {
              padding: 0.6153846154vw 0; }
            .top main .contents--service--inner--box--txt .btns.blank a:after {
              background: url("../../img/sheard/common/blank.svg") no-repeat center center/cover;
              width: 0.9230769231vw;
              height: 0.9230769231vw;
              margin-top: -0.5384615385vw; }
        .top main .contents--service--inner--box figure {
          width: 32.6153846154vw;
          border-radius: 1.5384615385vw;
          overflow: hidden;
          margin-right: -1.5384615385vw; }
  .top main .contents--about {
    padding: 120px 0;
    /* 左右の配置 */ }
    .top main .contents--about .ttls {
      max-width: 1024px;
      margin: 0 auto; }
      .top main .contents--about .ttls small {
        padding-left: 25px;
        position: relative;
        top: -10px; }
    .top main .contents--about h4 {
      max-width: 1024px;
      margin: 0 auto;
      font-size: 14px;
      line-height: 24px;
      padding-top: 10px; }
    .top main .contents--about--flex {
      max-width: 78.7692307692vw;
      margin: 3.0769230769vw auto 0;
      display: flex;
      justify-content: space-between; }
      .top main .contents--about--flex--box {
        padding: 0 1.8461538462vw; }
        .top main .contents--about--flex--box a {
          text-decoration: none; }
        .top main .contents--about--flex--box .links {
          position: relative;
          margin-top: 0.7692307692vw;
          font-size: 1.5384615385vw;
          line-height: 1.3;
          padding-left: 2.6923076923vw;
          color: #1a1a1a; }
          .top main .contents--about--flex--box .links:before {
            position: absolute;
            content: "";
            background: url("../../img/sheard/common/arrow.svg") no-repeat center center/cover;
            width: 1.8461538462vw;
            height: 1.8461538462vw;
            left: 0;
            top: 0.1538461538vw; }
    .top main .contents--about .custom-prev,
    .top main .contents--about .custom-next {
      display: none !important;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: white;
      color: #3a60ab;
      border: none;
      padding: 0.9230769231vw 1.2307692308vw;
      font-size: 1.3846153846vw;
      z-index: 10;
      cursor: pointer;
      border-radius: 50%; }
    .top main .contents--about .custom-prev {
      left: 50%;
      margin-left: -28.4615384615vw; }
    .top main .contents--about .custom-next {
      right: 50%;
      margin-right: -28.4615384615vw; }
  .top main .contents--art {
    background: url("../../img/sheard/top/img_12.jpg") no-repeat center center/cover;
    height: 46.1538461538vw;
    margin: 0px 0 0;
    position: relative;
    padding: 12.3076923077vw 0; }
    .top main .contents--art .kvimg {
      display: none; }
    .top main .contents--art--box {
      width: 23.8461538462vw;
      background: #000;
      margin: 0 14.6153846154vw 0 auto;
      padding: 1.5384615385vw 2.3076923077vw; }
      .top main .contents--art--box a {
        color: #fff;
        text-decoration: none; }
      .top main .contents--art--box .ttlsart {
        font-size: 1.5384615385vw;
        font-weight: 700;
        line-height: 1.4;
        position: relative; }
        .top main .contents--art--box .ttlsart:before {
          position: absolute;
          content: "";
          background: url("../../img/sheard/common/arrow_bl.svg") no-repeat center center/cover;
          width: 2.1538461538vw;
          height: 2.1538461538vw;
          right: 0;
          top: 0.7692307692vw; }
      .top main .contents--art--box .boxtxt {
        font-size: 1.0769230769vw;
        line-height: 1.6;
        padding-top: 1.1538461538vw; }
    .top main .contents--art .ttls {
      position: absolute;
      width: 81.5384615385vw;
      bottom: 0;
      left: 50%;
      margin-left: -40.7692307692vw; }
  .top main .contents--info {
    margin-top: 150px;
    margin-bottom: -80px; }
    .top main .contents--info .ttls {
      max-width: 1024px;
      margin: 0 auto; }
      .top main .contents--info .ttls small {
        padding-left: 25px;
        position: relative;
        top: -10px; }
    .top main .contents--info .infolist {
      max-width: 1024px;
      margin: 40px auto 0;
      display: flex;
      justify-content: space-between;
      position: relative;
      z-index: 3; }
      .top main .contents--info .infolist li {
        width: 318px;
        border: 1px solid #3a60ab;
        font-size: 20px;
        font-weight: 700;
        background: #fff; }
        .top main .contents--info .infolist li a {
          display: block;
          color: #1a1a1a;
          padding: 85px 50px;
          text-decoration: none;
          position: relative; }
          .top main .contents--info .infolist li a:before {
            position: absolute;
            content: "";
            background: url("../../img/sheard/common/arrow.svg") no-repeat center center/cover;
            width: 28px;
            height: 28px;
            right: 50px;
            top: 50%;
            margin-top: -14px; }
.top .footer_ren {
  margin-top: 0; }

.add_leftfix_btn {
  position: fixed;
  right: 0;
  top: 50%;
  margin-top: -160px;
  width: 50px;
  z-index: 2; }

.add_leftfix_btnsp {
  display: none; }

@media screen and (max-width: 1200px) {
  header {
    padding: 0 15px;
    background: none; }
    header .inner {
      padding: 0px 10px; }
      header .inner h1 {
        width: 140px; }
      header .inner .navigation .m_menu {
        padding-right: 15px;
        gap: 0 15px; }
        header .inner .navigation .m_menu .menu-item {
          font-size: 13px; }
      header .inner .navigation .headcontact {
        width: 100px;
        margin-right: 10px; }
        header .inner .navigation .headcontact a {
          font-size: 13px; }
      header .inner .navigation .headevent {
        width: 100px;
        margin-right: 10px; }
        header .inner .navigation .headevent a {
          font-size: 13px; }
      header .inner .navigation .hamburger {
        width: 40px;
        height: 40px;
        border-radius: 20px;
        cursor: pointer;
        text-align: center;
        background: #000;
        position: relative; }
        header .inner .navigation .hamburger span {
          display: block;
          position: absolute;
          width: 20px;
          margin-left: -10px;
          height: 2px;
          left: 50%;
          background: #fff;
          -webkit-transition: 0.5s ease-in-out;
          -moz-transition: 0.5s ease-in-out;
          transition: 0.5s ease-in-out; }
          header .inner .navigation .hamburger span:nth-child(1) {
            top: 50%;
            margin-top: -7px; }
          header .inner .navigation .hamburger span:nth-child(2) {
            top: 50%; }
          header .inner .navigation .hamburger span:nth-child(3) {
            top: 50%;
            margin-top: 7px; }
        header .inner .navigation .hamburger.active span:nth-child(1) {
          top: 50%;
          margin-top: 0;
          -webkit-transform: rotate(315deg);
          -moz-transform: rotate(315deg);
          transform: rotate(315deg); }
        header .inner .navigation .hamburger.active span:nth-child(2), header .inner .navigation .hamburger.active span:nth-child(3) {
          top: 50%;
          margin-top: 0;
          -webkit-transform: rotate(-315deg);
          -moz-transform: rotate(-315deg);
          transform: rotate(-315deg); }
    header .nav {
      display: none;
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
      background: rgba(24, 41, 135, 0.95); }
      header .nav--back {
        padding-top: 185px; }
        header .nav--back--inner {
          max-width: 984px;
          margin: 0 auto; }
          header .nav--back--inner--menu {
            display: flex;
            justify-content: center;
            gap: 80px; }
            header .nav--back--inner--menu--box p {
              font-family: "Overpass", sans-serif;
              font-size: 26px;
              line-height: 1;
              color: #94D4FF;
              margin-bottom: 12px; }
            header .nav--back--inner--menu--box li {
              font-size: 15px;
              font-weight: 500;
              padding-top: 12px; }
              header .nav--back--inner--menu--box li a {
                display: block;
                color: #fff; }
          header .nav--back--inner .navsns {
            display: flex;
            justify-content: flex-end;
            margin-top: 65px; }
            header .nav--back--inner .navsns li {
              width: 36px;
              margin-left: 16px; }

  .add_leftfix_btn {
    display: none; } }
@media screen and (max-width: 767px) {
  .add_leftfix_btn {
    display: none; }

  header {
    width: 100%;
    margin: 0px auto 0;
    left: 0;
    padding: 0 0px;
    background: none; }
    header .inner {
      max-width: 100%;
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      background: #fff;
      padding: 10px 10px;
      border-radius: 10px;
      position: relative;
      z-index: 2; }
      header .inner h1 {
        width: 95px; }
      header .inner .navigation {
        width: calc(100% - 100px);
        display: flex;
        justify-content: flex-end;
        align-items: center; }
        header .inner .navigation .m_menu {
          display: none; }
        header .inner .navigation .headcontact {
          width: 90px;
          margin-right: 10px; }
          header .inner .navigation .headcontact a {
            font-size: 12px;
            padding: 4px 0; }
        header .inner .navigation .headevent {
          width: 90px;
          margin-right: 10px; }
          header .inner .navigation .headevent a {
            font-size: 12px;
            padding: 4px 0; }
        header .inner .navigation .headersns {
          display: none; }
    header .nav {
      display: none;
      position: fixed; }
      header .nav--back {
        padding-top: 70px; }
        header .nav--back--inner {
          max-width: 100%;
          margin: 0 auto; }
          header .nav--back--inner--menu {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 0px;
            padding: 0 20px; }
            header .nav--back--inner--menu--box {
              width: 48%;
              margin-top: 20px; }
              header .nav--back--inner--menu--box p {
                font-size: 22px;
                line-height: 1 !important;
                margin-bottom: 5px; }
              header .nav--back--inner--menu--box li {
                font-size: 14px;
                padding-top: 1px; }
          header .nav--back--inner .navsns {
            display: flex;
            justify-content: center;
            margin-top: 40px; }

  main .kvcontents {
    position: relative; }
    main .kvcontents .kvobj {
      width: 88vw;
      left: 0;
      position: absolute;
      z-index: 0; }
    main .kvcontents .mainttl {
      width: 93.3333333333vw;
      margin: 0 auto;
      padding-top: 18.6666666667vw; }
      main .kvcontents .mainttl h2 {
        font-size: 9.0666666667vw; }
        main .kvcontents .mainttl h2 small {
          font-size: 4vw;
          top: -1.6vw;
          padding-left: 4vw; }
    main .kvcontents .kvimg {
      width: 100vw;
      margin: 0 -4vw 0 auto;
      border-radius: 4vw; }

  .footer_ren {
    margin-top: 0px; }
    .footer_ren .loop_wrap {
      margin-top: 40px;
      height: 13.3333333333vw; }
    .footer_ren .topimgs {
      padding-top: 50px;
      width: 320vw;
      height: auto; }
    .footer_ren .footerinner {
      max-width: 100%;
      padding: 0 10px;
      margin: 0px auto 0;
      display: flex;
      justify-content: space-between;
      flex-direction: column-reverse;
      flex-wrap: wrap;
      padding-bottom: 40px; }
      .footer_ren .footerinner--left {
        width: 100%;
        border-right: none;
        border-top: 1px solid #fff;
        padding: 0 15px;
        padding-top: 25px;
        margin-top: 25px; }
        .footer_ren .footerinner--left .footersl {
          font-size: 32px;
          text-align: justify; }
          .footer_ren .footerinner--left .footersl small {
            font-size: 19px;
            padding-bottom: 15px; }
          .footer_ren .footerinner--left .footersl span {
            font-size: 11px;
            padding-top: 15px; }
        .footer_ren .footerinner--left--under {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          flex-direction: column-reverse;
          margin-top: 25px; }
          .footer_ren .footerinner--left--under .logof {
            width: 190px;
            margin: 25px auto 0; }
          .footer_ren .footerinner--left--under .navsns {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-right: 0;
            gap: 15px; }
            .footer_ren .footerinner--left--under .navsns li {
              width: 36px; }
      .footer_ren .footerinner--right {
        width: 100%;
        flex-wrap: wrap; }
        .footer_ren .footerinner--right--inner:first-child {
          width: 100%; }
        .footer_ren .footerinner--right--inner:nth-child(2) {
          width: 100%; }
        .footer_ren .footerinner--right--inner:last-child {
          width: 100%;
          display: flex;
          flex-wrap: wrap; }
        .footer_ren .footerinner--right--inner .nav--back--inner--menu--box {
          margin-top: 20px; }
          .footer_ren .footerinner--right--inner .nav--back--inner--menu--box:nth-child(2) {
            margin-top: 20px; }
          .footer_ren .footerinner--right--inner .nav--back--inner--menu--box p {
            font-size: 20px;
            margin-bottom: 10px; }
          .footer_ren .footerinner--right--inner .nav--back--inner--menu--box ul {
            display: flex;
            flex-wrap: wrap; }
          .footer_ren .footerinner--right--inner .nav--back--inner--menu--box li {
            font-size: 13px;
            margin-right: 15px; }
        .footer_ren .footerinner--right--inner .headcontact {
          width: 40%;
          margin: 0 2% 0 8%;
          margin-top: 20px; }
          .footer_ren .footerinner--right--inner .headcontact a {
            padding: 4px 0; }
        .footer_ren .footerinner--right--inner .headevent {
          width: 40%;
          margin: 0 8% 0 2%;
          margin-top: 20px; }
          .footer_ren .footerinner--right--inner .headevent a {
            padding: 4px 0; }
    .footer_ren .under {
      background: #fff;
      padding: 10px; }
      .footer_ren .under li {
        font-size: 11px; }
        .footer_ren .under li a {
          color: #3a60ab; }
      .footer_ren .under address {
        font-size: 11px;
        color: #3a60ab; }

  #pagetop {
    width: 30px;
    height: auto;
    right: 0;
    bottom: 100px; }

  .contents .inner .lead {
    padding-bottom: 45px; }

  .profile main .kvcontents .mainttl {
    width: 93.3333333333vw;
    margin: 0 auto;
    padding-top: 18.6666666667vw; }
    .profile main .kvcontents .mainttl h2 {
      font-size: 9.0666666667vw; }
      .profile main .kvcontents .mainttl h2 small {
        display: block;
        font-size: 4vw;
        top: -4vw;
        padding-left: 1.3333333333vw; }

  .culture main .kvcontents .mainttl {
    width: 93.3333333333vw;
    margin: 0 auto;
    padding-top: 18.6666666667vw; }
    .culture main .kvcontents .mainttl h2 {
      font-size: 9.0666666667vw; }
      .culture main .kvcontents .mainttl h2 small {
        display: block;
        font-size: 4vw;
        top: -4vw;
        padding-left: 1.3333333333vw; }

  .message main .kvcontents .mainttl {
    width: 93.3333333333vw;
    margin: 0 auto;
    padding-top: 18.6666666667vw; }
    .message main .kvcontents .mainttl h2 {
      font-size: 9.0666666667vw; }
      .message main .kvcontents .mainttl h2 small {
        display: block;
        font-size: 4vw;
        top: -4vw;
        padding-left: 1.3333333333vw; }
  .message main .contents--inner {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap; }
    .message main .contents--inner .imgs {
      width: 100%; }
    .message main .contents--inner--txt {
      width: 100%; }
      .message main .contents--inner--txt h4 {
        padding-top: 20px;
        font-size: 17px;
        line-height: 24px; }
      .message main .contents--inner--txt .txts {
        font-size: 13px;
        line-height: 22px;
        padding: 20px 0 20px;
        text-align: justify; }
      .message main .contents--inner--txt .name {
        font-size: 18px; }
        .message main .contents--inner--txt .name small {
          padding-right: 15px;
          font-size: 13px; }

  .business .contents .inner .top {
    font-size: 18px;
    line-height: 1.6;
    padding-bottom: 10px; }
  .business .contents--inner {
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    .business .contents--inner .imgs {
      width: 100%;
      margin: 0 auto; }
    .business .contents--inner--txt {
      width: 440px; }
      .business .contents--inner--txt h4 {
        font-size: 22px;
        line-height: 38px;
        font-weight: 700;
        color: #3a60ab; }
      .business .contents--inner--txt .txts {
        font-size: 14px;
        line-height: 24px;
        padding: 30px 0 20px; }
      .business .contents--inner--txt .name {
        color: #3a60ab;
        text-align: right;
        font-size: 20px;
        font-weight: 700; }
        .business .contents--inner--txt .name small {
          display: inline-block;
          padding-right: 15px;
          font-weight: 500;
          font-size: 14px; }
  .business .contents .backco {
    background: #f0f4f6;
    margin-bottom: -100px;
    padding-bottom: 75px;
    margin-top: 50px;
    padding-top: 20px; }
    .business .contents .backco--inner {
      width: 90%;
      margin: 0 auto; }
      .business .contents .backco--inner--box {
        margin-top: 65px; }
        .business .contents .backco--inner--box--txt {
          position: relative; }
          .business .contents .backco--inner--box--txt dl {
            border-radius: 20px;
            padding: 10px 0;
            flex-wrap: wrap; }
            .business .contents .backco--inner--box--txt dl dt {
              margin: 0 20px;
              font-size: 16px;
              top: 4px; }
              .business .contents .backco--inner--box--txt dl dt strong {
                margin-left: 10px; }
            .business .contents .backco--inner--box--txt dl dd {
              width: 100%;
              padding: 8px 20px 5px;
              font-size: 22px;
              border-left: none; }
          .business .contents .backco--inner--box--txt .icon {
            position: absolute;
            width: 130px;
            right: 0px;
            bottom: 0; }
        .business .contents .backco--inner--box--under {
          flex-wrap: wrap;
          margin-top: 40px; }
          .business .contents .backco--inner--box--under .icon {
            width: 100%;
            border-radius: 30px;
            overflow: hidden; }
          .business .contents .backco--inner--box--under .txts {
            width: 100%;
            font-size: 13px;
            line-height: 22px;
            padding-top: 10px; }

  .product main .kvcontents .mainttl {
    width: 93.3333333333vw;
    margin: 0 auto;
    padding-top: 18.6666666667vw; }
    .product main .kvcontents .mainttl h2 {
      font-size: 9.0666666667vw; }
      .product main .kvcontents .mainttl h2 small {
        display: block;
        font-size: 4vw;
        top: -4vw;
        padding-left: 1.3333333333vw; }
  .product main .contents {
    background: none; }
    .product main .contents .inner {
      top: 0;
      margin-bottom: 0; }
      .product main .contents .inner .top {
        font-size: 18px;
        line-height: 1.6;
        padding-bottom: 10px; }
    .product main .contents .backcl {
      background: #f0f4f6;
      margin-bottom: -100px;
      padding-bottom: 100px;
      padding-top: 50px; }
      .product main .contents .backcl .inner {
        background: none; }
        .product main .contents .backcl .inner .maker_ttl {
          margin: 0;
          padding: 0; }
          .product main .contents .backcl .inner .maker_ttl dt {
            font-size: 18px;
            padding: 15px 0;
            border-radius: 80px; }
        .product main .contents .backcl .inner .tabs {
          max-width: 100%;
          margin: 15px auto 0;
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .product main .contents .backcl .inner .tabs .tab {
            width: 48%;
            font-size: 14px;
            color: #3a60ab;
            padding: 5px 0;
            margin-top: 25px; }
            .product main .contents .backcl .inner .tabs .tab.active {
              background: #3a60ab;
              color: #fff;
              position: relative; }
        .product main .contents .backcl .inner .markerlist {
          display: none;
          max-width: 100%; }
          .product main .contents .backcl .inner .markerlist .list_ttl {
            font-size: 18px; }
          .product main .contents .backcl .inner .markerlist--box .list_lead {
            width: 100%;
            font-size: 15px;
            margin-top: 20px; }
          .product main .contents .backcl .inner .markerlist--box ul {
            width: 100%; }

  .case .kvcontents .mainttl {
    width: 93.3333333333vw;
    margin: 0 auto;
    padding-top: 18.6666666667vw; }
    .case .kvcontents .mainttl h2 {
      font-size: 9.0666666667vw; }
      .case .kvcontents .mainttl h2 small {
        display: block;
        font-size: 4vw;
        top: -4vw;
        padding-left: 1.3333333333vw; }
  .case .contents .inner--case {
    max-width: 100%;
    margin: 40px auto 0; }
    .case .contents .inner--case .ttl {
      width: 100%;
      background: #f0f4f6;
      display: flex;
      align-items: center;
      align-content: center;
      flex-wrap: wrap;
      border-radius: 20px;
      padding: 10px 0;
      margin-bottom: 30px; }
      .case .contents .inner--case .ttl dt {
        width: 100%;
        margin: 0 20px;
        font-size: 16px;
        top: 4px; }
        .case .contents .inner--case .ttl dt strong {
          font-size: 26px;
          margin-left: 10px; }
      .case .contents .inner--case .ttl dd {
        padding: 8px 20px 12px;
        font-size: 14px;
        color: #3a60ab;
        border-left: none; }
    .case .contents .inner--case .imgs {
      width: 100%;
      margin-bottom: 20px; }
    .case .contents .inner--case--txt {
      width: 100%; }
      .case .contents .inner--case--txt .txtscont {
        padding-bottom: 20px; }
        .case .contents .inner--case--txt .txtscont dt {
          font-size: 16px;
          padding-bottom: 10px; }
        .case .contents .inner--case--txt .txtscont dd {
          min-height: auto;
          font-size: 13px;
          text-align: justify; }
      .case .contents .inner--case--txt .tagline li {
        width: content;
        background: #f0f4f6;
        margin-right: 12px;
        padding: 0 6px;
        margin-top: 8px;
        font-size: 11px; }
      .case .contents .inner--case--txt .btns {
        width: 185px;
        margin: 25px auto 0 0; }
        .case .contents .inner--case--txt .btns a {
          display: block;
          border: 1px solid #3a60ab;
          padding: 4px 0; }

  .casecontents main .kvcontents {
    background: #f0f4f6;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding-bottom: 30px;
    padding-top: 30px; }
    .casecontents main .kvcontents .mainttl {
      width: 90%;
      margin: 0 auto;
      flex-wrap: wrap; }
      .casecontents main .kvcontents .mainttl h2 {
        width: 100%;
        line-height: 1 !important; }
      .casecontents main .kvcontents .mainttl dl {
        color: #3a60ab;
        margin-left: 0px;
        padding-left: 0px;
        border-left: none;
        position: relative;
        top: 0px;
        padding-top: 10px; }
        .casecontents main .kvcontents .mainttl dl dt {
          font-size: 20px;
          font-weight: 700;
          line-height: 1.8; }
        .casecontents main .kvcontents .mainttl dl dd {
          font-size: 14px;
          font-weight: 700;
          line-height: 1.8; }
  .casecontents main .contents .inner {
    width: 90%;
    margin: 0 auto; }
    .casecontents main .contents .inner--box {
      padding: 30px 0px 30px; }
      .casecontents main .contents .inner--box:first-of-type {
        padding-top: 0; }
      .casecontents main .contents .inner--box .contttl {
        font-size: 18px;
        padding-left: 25px;
        position: relative; }
        .casecontents main .contents .inner--box .contttl:before {
          position: absolute;
          content: "";
          width: 14px;
          height: 14px;
          background: #3a60ab;
          left: 0;
          top: 12px; }
      .casecontents main .contents .inner--box .txts {
        font-size: 13px;
        line-height: 22px;
        margin-top: 10px; }
      .casecontents main .contents .inner--box .tagline li {
        width: content;
        background: #f0f4f6;
        margin-right: 12px;
        padding: 0 6px;
        margin-top: 8px;
        font-size: 11px; }
      .casecontents main .contents .inner--box figure {
        width: 100%;
        margin-top: 20px; }
      .casecontents main .contents .inner--box.flex {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap; }
        .casecontents main .contents .inner--box.flex .inner--box--txt {
          width: 100%; }
        .casecontents main .contents .inner--box.flex figure {
          width: 100%;
          margin-top: 20px; }
      .casecontents main .contents .inner--box--txt.flex dl {
        width: 100%;
        background: #f0f4f6;
        border-radius: 20px; }
        .casecontents main .contents .inner--box--txt.flex dl:first-of-type {
          position: relative;
          margin-bottom: 50px; }
          .casecontents main .contents .inner--box--txt.flex dl:first-of-type:after {
            position: absolute;
            content: "";
            background: url("../../img/sheard/case/arrows.svg") no-repeat center center/cover;
            width: 30px;
            height: 54px;
            top: auto;
            margin-top: 0;
            border: -20px;
            right: auto;
            left: 50%;
            margin-left: -14px;
            transform: rotate(90deg);
            bottom: -35px;
            z-index: 2; }
        .casecontents main .contents .inner--box--txt.flex dl dt {
          font-size: 16px;
          padding: 2px 0;
          top: -20px;
          margin-bottom: -10px; }
        .casecontents main .contents .inner--box--txt.flex dl dd {
          font-size: 13px;
          line-height: 22px;
          padding: 0 15px 15px; }

  .news .kvcontents .kvobj {
    width: 96vw; }
  .news .contents .inner--box {
    padding: 25px 0%;
    border-bottom: 1px solid #dce1e4; }
    .news .contents .inner--box a {
      display: flex;
      justify-content: space-between;
      text-decoration: none;
      position: relative; }
      .news .contents .inner--box a:after {
        position: absolute;
        content: "";
        background: url("../../img/sheard/news/arrow.svg") no-repeat center center/cover;
        width: 28px;
        height: 28px;
        right: 0px;
        top: 50%;
        margin-top: -14px; }
      .news .contents .inner--box a figure {
        width: 20%; }
      .news .contents .inner--box a .boxcont {
        width: 75%;
        padding-right: 35px; }
        .news .contents .inner--box a .boxcont dl {
          display: flex;
          align-items: flex-start; }
          .news .contents .inner--box a .boxcont dl dt {
            font-size: 15px; }
          .news .contents .inner--box a .boxcont dl dd {
            margin-left: 15px; }
        .news .contents .inner--box a .boxcont .txts {
          color: #1a1a1a; }
  .news .contents.newscontents {
    padding-top: 60px; }
    .news .contents.newscontents .inner {
      width: 90%;
      margin: 0 auto; }
      .news .contents.newscontents .inner--cont {
        width: 100%; }
        .news .contents.newscontents .inner--cont .date {
          width: 120px;
          padding: 2px 0px;
          font-size: 14px;
          margin-left: 0px; }
        .news .contents.newscontents .inner--cont h3 {
          font-size: 18px;
          padding: 20px 0px;
          margin-bottom: 20px; }
        .news .contents.newscontents .inner--cont .txtbox {
          font-size: 13px;
          line-height: 22px;
          padding: 0 0; }
        .news .contents.newscontents .inner--cont .linkpdf {
          margin: 25px auto 25px 0px; }
        .news .contents.newscontents .inner--cont .imgs {
          padding: 0 0px; }
        .news .contents.newscontents .inner--cont .caption {
          padding: 5px 0px 0; }
        .news .contents.newscontents .inner--cont .cont_ttl {
          font-size: 16px; }
          .news .contents.newscontents .inner--cont .cont_ttl:before {
            height: 20px;
            margin-top: -10px; }
        .news .contents.newscontents .inner--cont .flex {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          padding: 0px;
          margin-top: 25px; }
          .news .contents.newscontents .inner--cont .flex .imgsflex {
            width: 100%;
            margin-top: 10px; }
          .news .contents.newscontents .inner--cont .flex dl {
            width: 100%; }
            .news .contents.newscontents .inner--cont .flex dl .cont_ttl {
              margin: 0;
              margin-bottom: 15px; }
            .news .contents.newscontents .inner--cont .flex dl .txtbox {
              padding: 0; }

  .top main .contentskvtop {
    height: auto;
    position: relative;
    margin-top: 50px; }
    .top main .contentskvtop h2 {
      background: #f0f4f6;
      position: static;
      z-index: 2;
      left: 0;
      top: 0;
      color: #3a60ab;
      font-size: 6.9333333333vw;
      padding: 10.6666666667vw 5.3333333333vw;
      border-bottom-left-radius: 5.3333333333vw;
      border-bottom-right-radius: 5.3333333333vw; }
      .top main .contentskvtop h2 small {
        font-size: 4vw;
        padding-bottom: 2.6666666667vw; }
      .top main .contentskvtop h2 span {
        font-size: 2.4vw;
        padding-top: 3.2vw; }
  .top main .contents {
    padding-bottom: 0; }
    .top main .contents .inner {
      max-width: 90%;
      margin: 0 auto; }
    .top main .contents .ttls {
      font-size: 29px;
      color: #3a60ab;
      line-height: 1 !important;
      letter-spacing: 0; }
      .top main .contents .ttls small {
        display: inline-block;
        font-family: "Noto Sans JP", sans-serif;
        font-weight: 500;
        font-size: 15px; }
    .top main .contents .btns {
      width: 185px;
      margin: 15px auto 0 0;
      font-family: "Overpass", sans-serif;
      font-size: 14px;
      font-weight: 700;
      text-align: center; }
      .top main .contents .btns a {
        display: block;
        border: 1px solid #3a60ab;
        border-radius: 60px;
        padding: 12px 0;
        color: #3a60ab;
        text-decoration: none;
        position: relative; }
        .top main .contents .btns a:after {
          position: absolute;
          content: "";
          background: url("../../img/sheard/common/arrow_b.svg") no-repeat center center/cover;
          width: 8px;
          height: 6px;
          right: 15px;
          top: 50%;
          margin-top: -4px; }
    .top main .contents--news .inner {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap; }
    .top main .contents--news--ttl {
      width: 100%; }
      .top main .contents--news--ttl .btns {
        display: none !important; }
    .top main .contents--news--cont {
      width: 100%; }
      .top main .contents--news--cont--box {
        padding: 20px 0px; }
        .top main .contents--news--cont--box a {
          position: relative; }
          .top main .contents--news--cont--box a figure {
            width: 20%; }
          .top main .contents--news--cont--box a .boxcont {
            width: 75%;
            padding-right: 35px; }
            .top main .contents--news--cont--box a .boxcont dl {
              display: flex;
              align-items: flex-start; }
              .top main .contents--news--cont--box a .boxcont dl dt {
                font-size: 15px; }
              .top main .contents--news--cont--box a .boxcont dl dd {
                margin-left: 15px; }
            .top main .contents--news--cont--box a .boxcont .txts {
              color: #1a1a1a;
              padding-right: 0px; }
    .top main .contents--news .ttls small {
      display: block; }
    .top main .contents--news .btns {
      display: block;
      margin: 0 auto;
      margin-top: 30px; }
      .top main .contents--news .btns a {
        padding: 6px 0; }
    .top main .contents--pickup {
      background: url("../../img/sheard/top/img_1.jpg") no-repeat center center/cover;
      height: auto;
      margin: 50px 0 0;
      position: relative;
      padding: 40px 0 20px;
      /* 左右の配置 */ }
      .top main .contents--pickup .cals .slick-slide {
        margin: 0 50px; }
      .top main .contents--pickup .ttls {
        width: 90%;
        margin: 0 auto;
        color: #fff;
        padding: 0 0 20px; }
        .top main .contents--pickup .ttls small {
          display: inline-block;
          font-size: 15px;
          padding-left: 15px; }
      .top main .contents--pickup figcaption {
        font-size: 4.5333333333vw;
        margin-top: 4vw; }
        .top main .contents--pickup figcaption small {
          font-size: 3.4666666667vw; }
      .top main .contents--pickup .custom-prev,
      .top main .contents--pickup .custom-next {
        background: white;
        padding: 1.6vw 2.1333333333vw;
        font-size: 2.4vw; }
      .top main .contents--pickup .custom-prev {
        left: 2%;
        margin-left: 0vw; }
      .top main .contents--pickup .custom-next {
        right: 2%;
        margin-right: 0vw; }
      .top main .contents--pickup a {
        text-decoration: none; }
    .top main .contents--service {
      background: #f0f4f6; }
      .top main .contents--service .inner {
        width: 100%;
        max-width: 100%;
        padding: 14.6666666667vw 0 14.6666666667vw 0vw;
        display: flex;
        justify-content: space-between; }
      .top main .contents--service .ttls {
        width: 12vw;
        margin-left: 5%; }
      .top main .contents--service--inner {
        width: 77.3333333333vw; }
        .top main .contents--service--inner--box {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap;
          margin-top: 6.6666666667vw;
          position: relative;
          padding-bottom: 20vw;
          border-bottom: 0.0769230769vw solid #3a60ab; }
          .top main .contents--service--inner--box .number {
            position: absolute;
            left: 0;
            width: 30%;
            font-size: 16vw;
            position: relative;
            border-right: none; }
            .top main .contents--service--inner--box .number span {
              position: absolute;
              bottom: -5.3333333333vw;
              width: 17.3333333333vw;
              left: 50%;
              margin-left: -8.6666666667vw; }
          .top main .contents--service--inner--box--txt {
            width: 100%;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            .top main .contents--service--inner--box--txt .boxs {
              width: 100%;
              margin-left: 3.4615384615vw; }
              .top main .contents--service--inner--box--txt .boxs dl {
                min-height: auto; }
              .top main .contents--service--inner--box--txt .boxs dt {
                position: absolute;
                top: 0;
                left: 32%;
                font-size: 3.7333333333vw;
                font-weight: 700;
                top: 4.8vw; }
              .top main .contents--service--inner--box--txt .boxs dd {
                font-size: 3.4666666667vw;
                line-height: 5.8666666667vw;
                padding-right: 6.6666666667vw;
                padding-top: 8vw; }
            .top main .contents--service--inner--box--txt .btns {
              position: absolute;
              bottom: 6.6666666667vw;
              margin-top: 5.3333333333vw; }
              .top main .contents--service--inner--box--txt .btns a {
                padding: 0.6153846154vw 0; }
              .top main .contents--service--inner--box--txt .btns.blank a:after {
                background: url("../../img/sheard/common/blank.svg") no-repeat center center/cover;
                width: 2.6666666667vw;
                height: 2.6666666667vw;
                margin-top: -1.3333333333vw; }
          .top main .contents--service--inner--box figure {
            width: 110%;
            border-radius: 2.6666666667vw;
            overflow: hidden;
            position: relative;
            right: -5%;
            margin-top: 5.3333333333vw; }
    .top main .contents--about {
      padding: 50px 0;
      position: relative;
      /* 左右の配置 */ }
      .top main .contents--about .ttls {
        max-width: 90%;
        margin: 0 auto; }
        .top main .contents--about .ttls small {
          padding-left: 25px;
          position: relative;
          top: -4px; }
      .top main .contents--about h4 {
        max-width: 90%;
        margin: 0 auto;
        font-size: 13px;
        line-height: 22px;
        padding-top: 10px; }
      .top main .contents--about--flex {
        max-width: 100%;
        margin: 40px auto 0;
        display: flex;
        justify-content: space-between; }
        .top main .contents--about--flex--box {
          padding: 0 1.8461538462vw; }
          .top main .contents--about--flex--box a {
            text-decoration: none; }
          .top main .contents--about--flex--box .links {
            margin-top: 2.6666666667vw;
            font-size: 4.8vw;
            padding-left: 8vw; }
            .top main .contents--about--flex--box .links:before {
              width: 5.8666666667vw;
              height: 5.8666666667vw; }
      .top main .contents--about .custom-prev,
      .top main .contents--about .custom-next {
        display: block;
        background: #3a60ab;
        padding: 1.6vw 2.1333333333vw;
        font-size: 2.4vw;
        color: #fff;
        top: 63%; }
      .top main .contents--about .custom-prev {
        left: 2%;
        margin-left: 0vw; }
      .top main .contents--about .custom-next {
        right: 2%;
        margin-right: 0vw; }
    .top main .contents--art {
      background: none;
      height: auto;
      margin: 0px 0 0;
      position: relative;
      padding: 13.3333333333vw 0; }
      .top main .contents--art .kvimg {
        display: block; }
      .top main .contents--art--box {
        width: 100%;
        background: #000;
        margin: 0 auto;
        padding: 5.3333333333vw 8vw; }
        .top main .contents--art--box a {
          color: #fff;
          text-decoration: none; }
        .top main .contents--art--box .ttlsart {
          font-size: 4.8vw; }
          .top main .contents--art--box .ttlsart br {
            display: none; }
          .top main .contents--art--box .ttlsart:before {
            width: 6.4vw;
            height: 6.4vw;
            right: 0;
            top: 1.3333333333vw; }
        .top main .contents--art--box .boxtxt {
          font-size: 3.4666666667vw;
          line-height: 1.6;
          padding-top: 4vw; }
      .top main .contents--art .ttls {
        position: absolute;
        width: 80%;
        bottom: auto;
        top: 50.6666666667vw;
        left: 50%;
        margin-left: -40%; }
    .top main .contents--info {
      margin-top: 50px;
      margin-bottom: -20px; }
      .top main .contents--info .ttls {
        max-width: 90%;
        margin: 0 auto; }
        .top main .contents--info .ttls small {
          padding-left: 25px;
          position: relative;
          top: -5px; }
      .top main .contents--info .infolist {
        max-width: 90%;
        margin: 20px auto 0;
        flex-wrap: wrap;
        z-index: 3; }
        .top main .contents--info .infolist li {
          width: 100%;
          font-size: 18px;
          margin-top: 15px; }
          .top main .contents--info .infolist li a {
            padding: 15px 30px; }
            .top main .contents--info .infolist li a:before {
              right: 30px; }
  .top .footer_ren {
    margin-top: 0; }

  .add_leftfix_btnsp {
    display: block;
    position: fixed;
    right: 0;
    top: 50%;
    margin-top: -160px;
    width: 35px;
    z-index: 5; }

  .add_leftfix_btnsp p {
    margin: 10px 0; } }
