@charset "UTF-8";
.lowerHeader {
  overflow: hidden; }
  .lowerHeader.type2 .content:first-child:before {
    display: block;
    bottom: 0;
    margin: 0;
    aspect-ratio: auto; }
  .lowerHeader.type2 .content:first-child .contentInner {
    width: calc(335 / 375 * 100%); }
  .lowerHeader.type2 .content:before {
    display: none; }
  .lowerHeader.type2 .wrap {
    margin: calc(49 / 335 * 100%) 0 0 0;
    padding: calc(38 / 335 * 100%) 0; }
  .lowerHeader.technology .breadcrumb, .lowerHeader.materials .breadcrumb {
    padding-bottom: calc(23 / 375 * 100%); }
  .lowerHeader.flow .wrap .illust {
    width: calc(211 / 335 * 100%);
    margin: calc(-54 / 335 * 100%) 0 0 calc(-33 / 335 * 100%); }
  .lowerHeader.information .wrap .illust {
    width: calc(269 / 335 * 100%);
    margin: calc(-114 / 335 * 100%) 0 0 calc(-40 / 335 * 100%); }
  .lowerHeader.company .image {
    padding: calc(48 / 375 * 100%) 0 calc(24 / 375 * 100%) 0; }
  .lowerHeader.company .wrap {
    padding: 0 0 calc(30 / 375 * 100%) 0; }
    .lowerHeader.company .wrap .title .en {
      font-size: 1.5rem;
      line-height: 1.2; }
    .lowerHeader.company .wrap .illust {
      width: calc(357 / 335 * 100%);
      margin: calc(-50 / 335 * 100%) 0 0 calc(-145 / 335 * 100%); }
  .lowerHeader .content {
    position: relative; }
    .lowerHeader .content:before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: calc(355 / 375 * 100%);
      background-color: #EBF3FF;
      margin: calc(170 / 375 * 100%) 0 0 0;
      border-radius: 0 0.8rem 0.8rem 0;
      aspect-ratio: 355 / 206; }
  .lowerHeader .contentInner {
    width: 100%; }
  .lowerHeader .image {
    position: relative;
    z-index: 5;
    width: calc(355 / 375 * 100%);
    margin: 0 0 0 auto;
    padding: calc(48 / 375 * 100%) 0 calc(27 / 375 * 100%) 0; }
  .lowerHeader .wrap {
    position: relative;
    z-index: 5;
    width: calc(335 / 375 * 100%);
    margin: auto;
    padding: 0 0 calc(48 / 375 * 100%) 0; }
    .lowerHeader .wrap .title {
      position: relative;
      z-index: 5; }
    .lowerHeader .wrap .illust {
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 5;
      width: calc(150 / 335 * 100%);
      margin: calc(-24 / 335 * 100%) 0 0 0; }
  .lowerHeader .breadcrumb {
    margin: 0 0 0 calc(20 / 375 * 100%);
    padding: calc(15 / 375 * 100%) 0 calc(57 / 375 * 100%) 0; }
    .lowerHeader .breadcrumb .list {
      margin: 0;
      padding: 0; }

@media screen and (min-width: 769px) {
  .lowerHeader.type2 .content:first-child:before {
    width: calc(100% - 80px); }
  .lowerHeader.type2 .content:first-child .contentInner {
    width: 100%; }
  .lowerHeader.type2 .wrap {
    margin: calc(64 / 1100 * 100%) 0 0 0;
    padding: calc(68 / 1100 * 100%) 0 calc(64 / 1100 * 100%) 0;
    aspect-ratio: auto; }
  .lowerHeader.type2 .breadcrumb .list {
    margin: 0; }
  .lowerHeader.technology .breadcrumb, .lowerHeader.materials .breadcrumb {
    padding-bottom: 0; }
    .lowerHeader.technology .breadcrumb .list, .lowerHeader.materials .breadcrumb .list {
      padding-bottom: calc(14 / 1100 * 100%); }
  .lowerHeader.flow .wrap .illust {
    width: calc(279 / 1100 * 100%);
    margin: calc(-26 / 1100 * 100%) 0 0 calc(-63 / 1100 * 100%); }
  .lowerHeader.information .wrap .illust {
    width: calc(316 / 1100 * 100%);
    margin: calc(-57 / 1100 * 100%) 0 0 calc(-13 / 1100 * 100%); }
  .lowerHeader.company .image {
    padding: 0; }
  .lowerHeader.company .wrap {
    padding: calc(206 / 1100 * 100%) 0 0 0; }
    .lowerHeader.company .wrap .title .en {
      font-size: 1.5rem;
      line-height: 1; }
    .lowerHeader.company .wrap .illust {
      width: calc(441 / 1100 * 100%);
      margin: calc(-29 / 1100 * 100%) 0 0 calc(-165 / 1100 * 100%); }
  .lowerHeader.company .breadcrumb {
    padding-bottom: 0; }
    .lowerHeader.company .breadcrumb .list {
      padding-bottom: calc(14 / 1100 * 100%); }
  .lowerHeader .content:before {
    width: calc(1000 / 1440 * 100%);
    margin: calc(65 / 1440 * 100%) 0 0 0;
    aspect-ratio: 1000 / 350; }
  .lowerHeader .contentInner {
    position: relative; }
  .lowerHeader .image {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(1000 / 1140 * 100%);
    margin: calc(120 / 1140 * 100%) 0 0 calc(290 / 1140 * 100%);
    padding: 0;
    aspect-ratio: 1000 / 350; }
  .lowerHeader .wrap {
    width: 100%;
    margin: 0;
    padding: calc(206 / 1100 * 100%) 0 0 0;
    aspect-ratio: 1100 / 470; }
    .lowerHeader .wrap .illust {
      top: auto;
      left: auto;
      width: calc(210 / 1100 * 100%);
      margin: calc(5 / 1100 * 100%) 0 0 calc(-29 / 1100 * 100%); }
  .lowerHeader .breadcrumb {
    margin: 0;
    padding: 0; }
    .lowerHeader .breadcrumb .list {
      margin: 0 0 0 calc(270 / 1100 * 100%);
      padding: calc(17 / 1100 * 100%) 0 calc(79 / 1100 * 100%) 0; } }
@media screen and (min-width: 1440px) {
  .lowerHeader.type2 .content:first-child:before {
    height: 203px; }
  .lowerHeader .content:before {
    height: 350px;
    margin-top: 65px;
    aspect-ratio: auto; }
  .lowerHeader .image {
    overflow: hidden;
    width: calc(1000 / 1440 * 100vw);
    height: 350px;
    margin-top: 120px;
    border-radius: 1.2rem 0 0 1.2rem;
    aspect-ratio: auto; }
    .lowerHeader .image img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 350px;
      object-fit: cover; } }
#casestudyList .list {
  padding: 0 0 calc(63 / 335 * 100%) 0; }
  #casestudyList .list .item {
    margin: 0 0 calc(43 / 335 * 100%) 0; }
    #casestudyList .list .item .image {
      margin: 0 0 calc(16 / 335 * 100%) 0; }
    #casestudyList .list .item .textWrap .headline {
      font-size: 1.8rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(11 / 335 * 100%) 0; }
    #casestudyList .list .item .textWrap .desc {
      font-size: 1.5rem;
      line-height: 1.6;
      margin: 0 0 calc(11 / 335 * 100%) 0;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3; }
    #casestudyList .list .item .textWrap .info .row {
      display: flex;
      font-size: 1.2rem;
      line-height: 1.4;
      margin: calc(4 / 335 * 100%) 0 0 0; }
      #casestudyList .list .item .textWrap .info .row:first-child {
        margin-top: 0; }
      #casestudyList .list .item .textWrap .info .row .head {
        font-weight: 700; }

@media screen and (min-width: 769px) {
  #casestudyList .list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0 calc(139 / 1100 * 100%) 0; }
    #casestudyList .list .item {
      flex-basis: calc(534 / 1100 * 100%);
      margin: 0 0 calc(40 / 1100 * 100%) calc(32 / 1100 * 100%); }
      #casestudyList .list .item:nth-child(odd) {
        margin-left: 0; }
      #casestudyList .list .item a:hover .image img {
        transform: scale(1.05); }
      #casestudyList .list .item a:hover .textWrap .headline {
        color: #0066FF; }
      #casestudyList .list .item .image {
        overflow: hidden;
        margin: 0 0 calc(17 / 534 * 100%) 0;
        border-radius: 0.8rem; }
        #casestudyList .list .item .image img {
          transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
      #casestudyList .list .item .textWrap .headline {
        margin: 0 0 calc(11 / 534 * 100%) 0;
        transition: all 0.4s ease-out; }
      #casestudyList .list .item .textWrap .desc {
        margin: 0 0 calc(11 / 534 * 100%) 0; }
      #casestudyList .list .item .textWrap .info .row {
        margin: calc(4 / 534 * 100%) 0 0 0; }
        #casestudyList .list .item .textWrap .info .row:first-child {
          margin-top: 0; } }
#casestudyDetail {
  padding: 0 0 calc(105 / 375 * 100%) 0; }
  #casestudyDetail .detail .box {
    margin: 0 0 calc(29 / 302 * 100%) 0; }
    #casestudyDetail .detail .box .titleWrap .title {
      position: relative;
      z-index: 2;
      font-size: 2.2rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(11 / 302 * 100%) 0; }
    #casestudyDetail .detail .box .titleWrap .info {
      position: relative;
      z-index: 2;
      font-size: 1.2rem;
      line-height: 1.4; }
      #casestudyDetail .detail .box .titleWrap .info .row {
        display: flex;
        margin: 0 0 calc(4 / 302 * 100%) 0; }
        #casestudyDetail .detail .box .titleWrap .info .row:last-child {
          margin: 0; }
        #casestudyDetail .detail .box .titleWrap .info .row .head {
          font-weight: 700; }
    #casestudyDetail .detail .box .textWrap {
      padding: calc(24 / 335 * 100%) calc(16 / 335 * 100%) calc(20 / 335 * 100%) calc(16 / 335 * 100%); }
      #casestudyDetail .detail .box .textWrap .image {
        margin: 0 0 calc(40 / 302 * 100%) 0; }
      #casestudyDetail .detail .box .textWrap .info {
        margin: 0 0 calc(36 / 302 * 100%) 0; }
        #casestudyDetail .detail .box .textWrap .info .row {
          padding: calc(9 / 302 * 100%) 0 calc(11 / 302 * 100%) 0; }
          #casestudyDetail .detail .box .textWrap .info .row:before {
            width: calc(120 / 302 * 100%); }
          #casestudyDetail .detail .box .textWrap .info .row .head {
            margin: 0 0 calc(2 / 302 * 100%) 0; }
      #casestudyDetail .detail .box .textWrap .desc {
        font-size: 1.5rem;
        line-height: 1.8;
        margin: 0 0 calc(37 / 302 * 100%) 0; }
      #casestudyDetail .detail .box .textWrap .problem .row {
        margin: 0 0 calc(37 / 302 * 100%) 0; }
        #casestudyDetail .detail .box .textWrap .problem .row .title {
          display: flex;
          align-items: center;
          font-size: 2rem;
          line-height: 1.4;
          font-weight: 700;
          margin: 0 0 calc(16 / 302 * 100%) 0; }
          #casestudyDetail .detail .box .textWrap .problem .row .title:before {
            content: "";
            display: block;
            width: 0.6rem;
            height: 2.9rem;
            background-color: #0066FF;
            margin: 0 0.8rem 0 0;
            border-radius: 0.2rem; }
        #casestudyDetail .detail .box .textWrap .problem .row .text {
          font-size: 1.5rem;
          line-height: 1.8; }
      #casestudyDetail .detail .box .textWrap .voice {
        background-color: #EBF3FF;
        margin: 0 0 calc(20 / 302 * 100%) 0;
        padding: calc(15 / 302 * 100%);
        border-radius: 0.8rem; }
        #casestudyDetail .detail .box .textWrap .voice .title {
          display: flex;
          align-items: center;
          font-size: 1.8rem;
          line-height: 1.6;
          font-weight: 700;
          margin: 0 0 calc(9 / 272 * 100%) 0; }
          #casestudyDetail .detail .box .textWrap .voice .title .icon {
            display: block;
            width: 4.4rem;
            background: url(/img/common/icon_voice.svg) center center no-repeat;
            background-size: contain;
            margin: 0 1rem 0 0;
            aspect-ratio: 1 / 1; }
        #casestudyDetail .detail .box .textWrap .voice .text {
          font-size: 1.5rem;
          line-height: 1.8; }
  #casestudyDetail .detail .buttonArea {
    width: calc(200 / 335 * 100%);
    margin: 0 auto calc(62 / 335 * 100%) auto; }
  #casestudyDetail .other {
    overflow: hidden;
    background-color: #FFFFFF; }
    #casestudyDetail .other .title {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      color: #0066FF;
      font-size: 1.8rem;
      line-height: 1.6;
      font-weight: 700;
      padding: calc(39 / 375 * 100%) 0 calc(26 / 375 * 100%) 0; }
      #casestudyDetail .other .title:before, #casestudyDetail .other .title:after {
        content: "";
        display: block;
        width: 3.2rem;
        height: 1px;
        background-color: #0066FF; }
    #casestudyDetail .other .slideWrap {
      overflow: hidden;
      padding: 0 0 calc(35 / 375 * 100%) 0; }
      #casestudyDetail .other .slideWrap .slide {
        width: calc(216 / 375 * 100%);
        margin: auto; }
      #casestudyDetail .other .slideWrap .slick-list {
        overflow: visible; }
      #casestudyDetail .other .slideWrap .item .block {
        width: calc(200 / 216 * 100%);
        margin: auto; }
        #casestudyDetail .other .slideWrap .item .block .image {
          margin: 0 0 calc(17 / 200 * 100%) 0; }
        #casestudyDetail .other .slideWrap .item .block .textWrap .headline {
          font-size: 1.6rem;
          line-height: 1.4;
          font-weight: 700;
          margin: 0 0 calc(10 / 200 * 100%) 0; }
        #casestudyDetail .other .slideWrap .item .block .textWrap .desc {
          font-size: 1.5rem;
          line-height: 1.6;
          margin: 0 0 calc(10 / 200 * 100%) 0;
          overflow: hidden;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3; }
        #casestudyDetail .other .slideWrap .item .block .textWrap .info .row {
          font-size: 1.2rem;
          line-height: 1.4;
          margin: 0 0 calc(5 / 200 * 100%) 0; }
          #casestudyDetail .other .slideWrap .item .block .textWrap .info .row .head {
            display: inline;
            font-weight: 700; }
          #casestudyDetail .other .slideWrap .item .block .textWrap .info .row .cont {
            display: inline; }

@media screen and (min-width: 769px) {
  #casestudyDetail {
    padding: 0 0 17.9rem 0; }
    #casestudyDetail .detail .box {
      margin: 0 0 calc(39 / 1100 * 100%) 0; }
      #casestudyDetail .detail .box .titleWrap .title {
        font-size: 2.8rem;
        line-height: 1.4;
        margin: 0 0 calc(14 / 972 * 100%) 0; }
      #casestudyDetail .detail .box .titleWrap .info .row {
        display: flex;
        margin: 0 0 calc(4 / 972 * 100%) 0; }
        #casestudyDetail .detail .box .titleWrap .info .row:last-child {
          margin: 0; }
      #casestudyDetail .detail .box .textWrap {
        padding: calc(64 / 1100 * 100%) calc(64 / 1100 * 100%) calc(20 / 1100 * 100%) calc(64 / 1100 * 100%); }
        #casestudyDetail .detail .box .textWrap .image {
          max-width: 700px;
          margin: 0 auto calc(49 / 972 * 100%) auto; }
        #casestudyDetail .detail .box .textWrap .info {
          margin: 0 0 calc(44 / 972 * 100%) 0; }
          #casestudyDetail .detail .box .textWrap .info .row {
            padding: calc(14 / 972 * 100%) 0; }
            #casestudyDetail .detail .box .textWrap .info .row:before {
              width: calc(160 / 972 * 100%); }
            #casestudyDetail .detail .box .textWrap .info .row .head {
              margin: 0 0 calc(2 / 972 * 100%) 0; }
        #casestudyDetail .detail .box .textWrap .desc {
          margin: 0 0 calc(45 / 972 * 100%) 0; }
        #casestudyDetail .detail .box .textWrap .problem .row {
          margin: 0 0 calc(46 / 972 * 100%) 0; }
          #casestudyDetail .detail .box .textWrap .problem .row .title {
            font-size: 2.4rem;
            line-height: 1.4;
            margin: 0 0 calc(16 / 972 * 100%) 0; }
            #casestudyDetail .detail .box .textWrap .problem .row .title:before {
              width: 0.6rem;
              height: 3.5rem;
              margin: 0 0.8rem 0 0;
              border-radius: 0.26em; }
        #casestudyDetail .detail .box .textWrap .voice {
          margin: 0 0 calc(44 / 972 * 100%) 0;
          padding: calc(21 / 972 * 100%) calc(24 / 972 * 100%); }
          #casestudyDetail .detail .box .textWrap .voice .title {
            font-size: 2rem;
            line-height: 1.4;
            margin: 0 0 1rem 0; }
            #casestudyDetail .detail .box .textWrap .voice .title .icon {
              margin: 0 1rem 0 0; }
    #casestudyDetail .detail .buttonArea {
      width: 200px;
      margin: 0 auto calc(100 / 1100 * 100%) auto; }
    #casestudyDetail .other .content {
      width: 100%;
      max-width: 1252px;
      margin: auto;
      padding: 0 20px;
      box-sizing: border-box; }
    #casestudyDetail .other .title {
      font-size: 2rem;
      line-height: 1.4;
      padding: calc(56 / 1212 * 100%) 0 calc(31 / 1212 * 100%) 0; }
    #casestudyDetail .other .slideWrap {
      overflow: visible;
      padding: 0 4rem calc(49 / 1212 * 100%) 4rem; }
      #casestudyDetail .other .slideWrap .slide {
        width: 100%;
        margin: auto; }
      #casestudyDetail .other .slideWrap .slick-list {
        overflow: hidden; }
      #casestudyDetail .other .slideWrap .item .block {
        width: calc(345 / 377 * 100%); }
        #casestudyDetail .other .slideWrap .item .block a:hover .image img {
          transform: scale(1.05); }
        #casestudyDetail .other .slideWrap .item .block a:hover .textWrap .headline {
          color: #0066FF; }
        #casestudyDetail .other .slideWrap .item .block .image {
          overflow: hidden;
          margin: 0 0 calc(18 / 345 * 100%) 0;
          border-radius: 0.8rem; }
          #casestudyDetail .other .slideWrap .item .block .image img {
            transition: transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 1); }
        #casestudyDetail .other .slideWrap .item .block .textWrap .headline {
          margin: 0 0 calc(12 / 345 * 100%) 0;
          transition: all 0.4s ease-out; }
        #casestudyDetail .other .slideWrap .item .block .textWrap .desc {
          margin: 0 0 calc(10 / 345 * 100%) 0;
          -webkit-line-clamp: 2; }
        #casestudyDetail .other .slideWrap .item .block .textWrap .info .row {
          margin: 0 0 calc(5 / 345 * 100%) 0; } }
#flow .flowList .intro {
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: center;
  padding: 0 0 calc(38 / 335 * 100%) 0; }
#flow .flowList .list {
  margin: 0 0 calc(48 / 335 * 100%) 0; }
  #flow .flowList .list .item {
    position: relative;
    border-radius: 0.8rem; }
    #flow .flowList .list .item:nth-child(2n+1) {
      background-color: #EBF3FF; }
    #flow .flowList .list .item:first-child:before {
      margin-top: calc(22 / 335 * 100%); }
    #flow .flowList .list .item:last-child:before {
      bottom: auto;
      padding-top: calc(22 / 335 * 100%); }
    #flow .flowList .list .item:before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 1px;
      background-color: #7FB2FF;
      margin: 0 0 0 calc(21.5 / 335 * 100%); }
    #flow .flowList .list .item .inner {
      padding: calc(12 / 335 * 100%) 0 calc(20 / 335 * 100%) 0; }
    #flow .flowList .list .item .head {
      display: flex;
      align-items: center;
      position: relative;
      z-index: 2;
      margin: 0 0 calc(6 / 335 * 100%) calc(-8 / 335 * 100%); }
      #flow .flowList .list .item .head .num {
        flex-basis: calc(60 / 335 * 100%);
        margin: calc(5 / 335 * 100%) calc(6 / 335 * 100%) 0 0; }
      #flow .flowList .list .item .head .icon {
        flex-basis: calc(72 / 335 * 100%);
        margin: 0 calc(6 / 335 * 100%) 0 0; }
    #flow .flowList .list .item .stepTitle {
      color: #0066FF;
      font-size: 2rem;
      line-height: 1.4;
      font-weight: 700; }
    #flow .flowList .list .item .textWrap {
      width: calc(259 / 335 * 100%);
      margin: 0 0 0 calc(60 / 335 * 100%); }
      #flow .flowList .list .item .textWrap p {
        font-size: 1.4rem;
        line-height: 1.6; }
      #flow .flowList .list .item .textWrap .example {
        background-color: #FFFFFF;
        margin: calc(11 / 259 * 100%) 0;
        padding: 1rem;
        border-radius: 0.4rem; }
        #flow .flowList .list .item .textWrap .example p {
          display: flex;
          align-items: flex-start; }
          #flow .flowList .list .item .textWrap .example p span {
            flex-shrink: 0; }
#flow .flowList .image {
  margin: 0 0 calc(109 / 335 * 100%) 0; }

@media screen and (min-width: 769px) {
  #flow .flowList .intro {
    padding: 0 0 calc(58 / 1100 * 100%) 0; }
  #flow .flowList .list {
    margin: 0 0 calc(79 / 1100 * 100%) 0; }
    #flow .flowList .list .item:first-child:before {
      margin-top: calc(90 / 1100 * 100%); }
    #flow .flowList .list .item:last-child:before {
      bottom: auto;
      padding-top: calc(40 / 1100 * 100%); }
    #flow .flowList .list .item:before {
      margin: 0 0 0 calc(62 / 1100 * 100%); }
    #flow .flowList .list .item .inner {
      display: flex;
      align-items: flex-start;
      padding: calc(12 / 1100 * 100%) calc(32 / 1100 * 100%) calc(30 / 1100 * 100%) calc(32 / 1100 * 100%); }
    #flow .flowList .list .item .head {
      flex-basis: calc(184 / 1036 * 100%);
      margin: 0 calc(20 / 1036 * 100%) 0 0; }
      #flow .flowList .list .item .head .num {
        flex-basis: calc(60 / 184 * 100%);
        margin: 0 calc(25 / 184 * 100%) 0 0; }
      #flow .flowList .list .item .head .icon {
        flex-basis: calc(100 / 184 * 100%);
        margin: calc(12 / 184 * 100%) 0 0 0; }
    #flow .flowList .list .item .stepTitle {
      margin: 0 0 calc(11 / 832 * 100%) 0; }
    #flow .flowList .list .item .textWrap {
      width: calc(832 / 1036 * 100%);
      margin: calc(22 / 1036 * 100%) 0 0 0; }
      #flow .flowList .list .item .textWrap .example {
        margin: calc(8 / 832 * 100%) 0 calc(6 / 832 * 100%) 0;
        padding: 1rem; }
  #flow .flowList .image {
    max-width: 600px;
    margin: 0 auto calc(188 / 1100 * 100%) auto; } }
#works .area .content {
  overflow: hidden; }
#works .area .textWrap {
  background: url(/img/common/bg_ds.svg) center 99% no-repeat;
  background-size: 70% auto; }
#works .area .title {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  text-align: center;
  padding: calc(28 / 335 * 100%) 0 calc(8 / 335 * 100%) 0; }
  #works .area .title .balloon {
    display: inline-block;
    position: relative; }
    #works .area .title .balloon:before, #works .area .title .balloon:after {
      content: "";
      display: block;
      position: absolute;
      bottom: -0.2rem;
      left: calc(100% + 0.6rem);
      width: 3px;
      height: 100%;
      background-color: #FFFFFF;
      border-radius: 3px;
      transform: rotate(40deg); }
    #works .area .title .balloon:after {
      left: auto;
      right: calc(100% + 0.6rem);
      transform: rotate(-40deg); }
#works .area .strength .list:after {
  margin: calc(80 / 375 * 100%) auto 0 auto; }
#works .area .desc {
  width: calc(210 / 375 * 100%);
  margin: 0 auto calc(17 / 375 * 100%) auto; }
#works .area .imageSlide {
  margin: calc(-70 / 375 * 100%) 0 calc(87 / 375 * 100%) 0; }
#works .reason .content {
  background-color: #EBF3FF; }
#works .reason .contentInner {
  width: 100%; }
#works .reason .titleWrap {
  position: relative;
  top: -2.4rem;
  width: calc(304 / 375 * 100%);
  text-align: center;
  margin: 0 auto calc(7 / 375 * 100%) auto;
  padding: calc(23 / 375 * 100%) 0;
  aspect-ratio: 304 / 361.5; }
  #works .reason .titleWrap .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    aspect-ratio: 304 / 361.5;
    object-fit: cover; }
    #works .reason .titleWrap .bg + div {
      position: relative;
      z-index: 2; }
  #works .reason .titleWrap .title {
    margin: 0 0 calc(14 / 375 * 100%) 0; }
    #works .reason .titleWrap .title .en {
      display: block;
      color: #0066FF;
      font-size: 1.5rem;
      line-height: 1;
      font-weight: 700; }
    #works .reason .titleWrap .title .ja {
      display: block;
      font-size: 2.2rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0.4rem 0 0 0; }
  #works .reason .titleWrap .intro {
    font-size: 1.5rem;
    line-height: 1.6; }
#works .reason .slideWrap {
  width: calc(351 / 375 * 100%);
  margin: 0 auto calc(30 / 375 * 100%) auto; }
  #works .reason .slideWrap .reasonSlide {
    overflow: hidden;
    padding: 0 0 calc(26 / 351 * 100%) 0; }
    #works .reason .slideWrap .reasonSlide .item {
      margin: 0 0 calc(14 / 351 * 100%) 0; }
      #works .reason .slideWrap .reasonSlide .item:nth-child(2) .image {
        margin: 0 0 calc(-12 / 351 * 100%) 0; }
      #works .reason .slideWrap .reasonSlide .item .image {
        margin: 0 0 calc(-6 / 351 * 100%) 0; }
      #works .reason .slideWrap .reasonSlide .item .textWrap {
        width: calc(335 / 351 * 100%);
        margin: auto; }
        #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle {
          display: flex;
          align-items: center;
          color: #0066FF;
          margin: 0 0 calc(6 / 351 * 100%) 0; }
          #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle .icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 5.742rem;
            height: 3.5rem;
            color: #FFFFFF;
            font-size: 1.6rem;
            line-height: 1;
            font-weight: 700;
            text-align: center;
            background-color: #0066FF;
            margin: 0 0.5rem 0 0;
            clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%); }
          #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle .ja {
            display: block;
            font-size: 2.2rem;
            line-height: 1;
            font-weight: 700; }
        #works .reason .slideWrap .reasonSlide .item .textWrap .text {
          font-size: 1.5rem;
          line-height: 1.6; }
#works .underLink .content {
  overflow: hidden;
  position: relative; }
#works .underLink .bg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 375 / 600;
  object-fit: cover; }
#works .underLink .contentInner {
  position: relative;
  z-index: 2; }
#works .underLink .list {
  padding: calc(33 / 335 * 100%) 0 calc(90 / 335 * 100%) 0; }
  #works .underLink .list .item {
    margin: 0 0 calc(16 / 335 * 100%) 0; }

@media screen and (min-width: 769px) {
  #works .area .textWrap {
    background: url(/img/common/bg_ds.svg) center 94.5% no-repeat;
    background-size: 31.5% auto; }
  #works .area .title {
    font-size: 3rem;
    line-height: 1.4;
    padding: calc(40 / 1140 * 100%) 0 calc(20 / 1140 * 100%) 0; }
    #works .area .title .balloon:before, #works .area .title .balloon:after {
      bottom: -0.5rem;
      left: calc(100% + 2.3rem);
      width: 5px;
      height: 111%; }
    #works .area .title .balloon:after {
      left: auto;
      right: calc(100% + 2.3rem); }
  #works .area .strength {
    margin: 0 0 calc(118 / 1140 * 100%) 0; }
    #works .area .strength .list:after {
      margin: calc(116 / 660 * 100%) auto 0 auto; }
  #works .area .desc {
    width: 100%;
    margin: 0 auto calc(100 / 1100 * 100%) auto; }
  #works .area .imageSlide {
    margin: calc(-366 / 1440 * 100%) 0 calc(119 / 1440 * 100%) 0; }
  #works .reason {
    position: relative;
    height: calc((591px + 64px) * 3); }
    #works .reason.fixed .content {
      position: fixed;
      top: 80px; }
    #works .reason.over .content {
      position: sticky;
      top: 80px; }
    #works .reason .content {
      overflow: hidden;
      position: absolute;
      top: 0;
      bottom: auto;
      left: 0;
      right: 0;
      z-index: 10;
      padding: 0 0 6.6rem 0; }
    #works .reason .contentInner {
      position: relative;
      z-index: 2; }
    #works .reason .titleWrap {
      position: static;
      width: 100%;
      margin: 0;
      padding: calc(69 / 1100 * 100%) 0 calc(29 / 1100 * 100%) 0;
      padding: 6.9rem 0 2.9rem 0;
      aspect-ratio: auto; }
      #works .reason .titleWrap .title {
        margin: 0 0 calc(18 / 1100 * 100%) 0;
        margin: 0 0 1.8rem 0; }
        #works .reason .titleWrap .title .ja {
          font-size: 3rem;
          line-height: 1.4;
          margin: 0.4rem 0 0 0; }
      #works .reason .titleWrap .intro {
        font-size: 1.6rem;
        line-height: 1.38; }
    #works .reason .scrollContainer {
      overflow: hidden;
      height: 361px; }
    #works .reason .slideWrap {
      position: relative;
      max-width: 1100px;
      height: calc((591px + 64px) * 3);
      margin: auto; }
      #works .reason .slideWrap .reasonSlide {
        display: flex;
        width: calc((591px + 64px) * 3);
        height: 100%;
        padding: 0; }
        #works .reason .slideWrap .reasonSlide .item {
          display: flex;
          align-items: center;
          justify-content: center;
          width: 591px;
          height: 361px;
          background: url(/img/works/bg_works_reason_item.svg) center center no-repeat;
          background-size: contain;
          margin: 0 64px 0 0; }
          #works .reason .slideWrap .reasonSlide .item:nth-child(2) .image {
            margin: 0; }
          #works .reason .slideWrap .reasonSlide .item .image {
            order: 2;
            width: calc(383 / 591 * 100%);
            margin: 0; }
          #works .reason .slideWrap .reasonSlide .item .textWrap {
            order: 1;
            width: calc(160 / 591 * 100%);
            margin: 0 0 0 calc(48 / 591 * 100%); }
            #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle {
              display: block;
              margin: 0 0 0.5rem 0; }
              #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle .icon {
                font-size: 1.6rem;
                line-height: 1;
                margin: 0 0 0.5rem 0; }
              #works .reason .slideWrap .reasonSlide .item .textWrap .reasonTitle .ja {
                font-size: 2.8rem;
                line-height: 1.4;
                white-space: nowrap; }
            #works .reason .slideWrap .reasonSlide .item .textWrap .text {
              font-size: 1.5rem;
              line-height: 1.6; }
  #works .underLink .bg {
    aspect-ratio: 1440 / 600; }
  #works .underLink .list {
    display: flex;
    justify-content: space-between;
    padding: calc(123 / 1100 * 100%) 0 calc(181 / 1100 * 100%) 0; }
    #works .underLink .list .item {
      flex-basis: calc(534 / 1100 * 100%);
      margin: 0; } }
@media screen and (min-width: 1140px) {
  #works .area .desc {
    margin: 0 auto 100px auto; }
  #works .area .imageSlide {
    margin: -366px 0 119px 0; } }
@media screen and (max-width: 768px) {
  #works .reason .slideWrap .reasonSlide {
    transform: none !important; } }
#technology {
  padding: calc(56 / 375 * 100%) 0 0 0; }
  #technology .block.block2 .content, #technology .block.block4 .content {
    background-color: #EBF3FF; }
  #technology .block .content {
    overflow: hidden; }
  #technology .block .title {
    display: flex;
    align-items: center;
    margin: 0 0 calc(29 / 335 * 100%) 0;
    padding: calc(39 / 335 * 100%) 0 0 0; }
    #technology .block .title .icon {
      display: block;
      flex-basis: 3.94rem;
      background: url(/img/common/icon_mark.svg) center center no-repeat;
      background-size: contain;
      margin: 0 0.6rem 0 0;
      aspect-ratio: 39.38 / 24;
      filter: drop-shadow(0px 0px 12px rgba(51, 51, 51, 0.16)); }
    #technology .block .title .ja {
      display: block;
      font-size: 2.4rem;
      line-height: 1;
      font-weight: 700;
      margin: 0 1rem 0 0; }
    #technology .block .title .en {
      display: block;
      color: #0066FF;
      font-size: 1.5rem;
      line-height: 1;
      font-weight: 700; }
  #technology .block .list .item {
    margin: 0 0 calc(31 / 335 * 100%) 0; }
    #technology .block .list .item .image {
      overflow: hidden;
      margin: 0 0 calc(13 / 335 * 100%) 0;
      border: 1px solid #B4B4B4;
      border-radius: 0.8rem;
      box-sizing: border-box; }
      #technology .block .list .item .image img,
      #technology .block .list .item .image video {
        display: block;
        width: 100%;
        height: auto;
        aspect-ratio: 568 / 378; }
      #technology .block .list .item .image video {
        transform: scale(1.02); }
    #technology .block .list .item .textWrap .headline {
      font-size: 1.6rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(7 / 335 * 100%) 0; }
    #technology .block .list .item .textWrap .desc {
      font-size: 1.4rem;
      line-height: 1.6; }
  #technology #facilities .contentInner {
    position: relative;
    width: 100%; }
  #technology #facilities .title {
    position: absolute;
    top: 2.5rem;
    left: calc(20 / 375 * 100% + 1.6rem);
    z-index: 5; }
  #technology #facilities .boxWrap {
    overflow: auto;
    margin: calc(64 / 375 * 100%) 0 calc(106 / 375 * 100%) 0;
    -webkit-overflow-scrolling: touch; }
  #technology #facilities .box {
    min-width: calc(15.7rem + 6rem + 32rem + (1.6rem * 2));
    background-color: #EBF3FF;
    margin: 0 calc(20 / 375 * 100%);
    padding: calc(2.5rem + 2.8rem + 1.6rem) 0 2.5rem 0;
    border-radius: 0.8rem; }
    #technology #facilities .box .inner {
      margin: 0 1.6rem; }
  #technology #facilities .table .row {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    line-height: 1.6;
    padding: 0.99rem 0;
    border-bottom: 1px solid #E0E0E0; }
    #technology #facilities .table .row.head {
      overflow: hidden;
      color: #FFFFFF;
      font-weight: 700;
      padding: 0;
      border-bottom: 0;
      border-radius: 0.4rem; }
      #technology #facilities .table .row.head .cell {
        background-color: #7FB2FF; }
    #technology #facilities .table .row .cell {
      flex-shrink: 0;
      padding: 0.5rem 1.6rem 0.5rem 1.6rem;
      box-sizing: border-box; }
      #technology #facilities .table .row .cell:nth-child(1) {
        flex-basis: 15.7rem;
        font-weight: 700; }
      #technology #facilities .table .row .cell:nth-child(2) {
        flex-basis: 6rem; }
      #technology #facilities .table .row .cell:nth-child(3) {
        flex-basis: 32rem; }

@media screen and (min-width: 769px) {
  #technology {
    padding: 0; }
    #technology .wrap {
      position: relative; }
      #technology .wrap .innerNavWrap {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 1140px;
        margin: auto;
        padding: 0 20px;
        box-sizing: border-box; }
    #technology .block {
      position: relative;
      z-index: 2; }
      #technology .block .inner {
        width: calc(900 / 1100 * 100%);
        margin: 0 0 0 auto; }
      #technology .block .title {
        display: flex;
        align-items: center;
        margin: 0 0 calc(33 / 900 * 100%) 0;
        padding: calc(73 / 900 * 100%) 0 0 0; }
        #technology .block .title .icon {
          margin: 0 0.6rem 0 0; }
        #technology .block .title .ja {
          font-size: 2.8rem;
          line-height: 1;
          margin: 0 1rem 0 0; }
      #technology .block .list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 calc(38 / 900 * 100%) 0; }
        #technology .block .list .item {
          flex-basis: calc(284 / 900 * 100%);
          margin: 0 0 calc(27 / 900 * 100%) calc(24 / 900 * 100%); }
          #technology .block .list .item:nth-child(3n+1) {
            margin-left: 0; }
          #technology .block .list .item .image {
            margin: 0 0 calc(13 / 284 * 100%) 0; }
          #technology .block .list .item .textWrap .headline {
            margin: 0 0 calc(7 / 284 * 100%) 0; }
    #technology #facilities {
      position: relative;
      z-index: 2; }
      #technology #facilities .title {
        top: 0;
        left: 0;
        right: 0;
        width: calc(900 / 1140 * 100%);
        margin: calc(51 / 1140 * 100%) 0 0 auto;
        padding: 0 0 0 calc(28 / 1140 * 100%);
        box-sizing: border-box; }
      #technology #facilities .boxWrap {
        overflow: visible;
        width: calc(900 / 1100 * 100%);
        margin: calc(121 / 1100 * 100%) 0 calc(180 / 1100 * 100%) auto; }
      #technology #facilities .box {
        margin: 0;
        padding: calc(74 / 900 * 100% + 2.8rem) calc(48 / 900 * 100%) calc(45 / 900 * 100%) calc(48 / 900 * 100%);
        border-radius: 1.2rem;
        box-sizing: border-box; }
        #technology #facilities .box .inner {
          overflow: visible;
          margin: 0; }
      #technology #facilities .table .row {
        font-size: 1.5rem;
        line-height: 1.6;
        padding: 1.18rem 0; }
        #technology #facilities .table .row.head {
          font-size: 1.4rem;
          line-height: 1.6;
          padding: 0; }
        #technology #facilities .table .row .cell {
          flex-shrink: 0;
          padding: 0.7rem 0 0.7rem 1.6rem;
          box-sizing: border-box; }
          #technology #facilities .table .row .cell:nth-child(1) {
            flex-basis: calc(230 / 804 * 100%); }
          #technology #facilities .table .row .cell:nth-child(2) {
            flex-basis: calc(100 / 804 * 100%); }
          #technology #facilities .table .row .cell:nth-child(3) {
            flex-basis: calc(474 / 804 * 100%); } }
#materials {
  padding: calc(56 / 375 * 100%) 0 0 0; }
  #materials .block.block2 .content, #materials .block.block4 .content, #materials .block.block6 .content, #materials .block.block8 .content {
    background-color: #EBF3FF; }
  #materials .block.block2 .info .row .head, #materials .block.block4 .info .row .head, #materials .block.block6 .info .row .head, #materials .block.block8 .info .row .head {
    background-color: #FFFFFF; }
  #materials .block .content {
    overflow: hidden; }
  #materials .block .headWrap {
    padding: calc(32 / 335 * 100%) 0 calc(29 / 335 * 100%) 0; }
    #materials .block .headWrap .imageWrap {
      margin: 0 0 calc(25 / 335 * 100%) 0; }
      #materials .block .headWrap .imageWrap .imageSlide {
        margin: 0 0 calc(8 / 335 * 100%) 0; }
      #materials .block .headWrap .imageWrap .imageThumb .slick-track {
        margin: 0;
        transform: unset !important; }
      #materials .block .headWrap .imageWrap .imageThumb .slick-list {
        margin: 0 -4px; }
      #materials .block .headWrap .imageWrap .imageThumb .slick-slide {
        margin: 0 4px; }
      #materials .block .headWrap .imageWrap .imageThumb .slick-current:before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        border: 2px solid #0066FF;
        border-radius: 0.4rem; }
      #materials .block .headWrap .imageWrap .imageThumb .photo {
        position: relative; }
    #materials .block .headWrap .textWrap .title {
      display: flex;
      align-items: center; }
      #materials .block .headWrap .textWrap .title .icon {
        display: block;
        flex-basis: 3.94rem;
        background: url(/img/common/icon_mark.svg) center center no-repeat;
        background-size: contain;
        margin: 0 0.6rem 0 0;
        aspect-ratio: 39.38 / 24;
        filter: drop-shadow(0px 0px 12px rgba(51, 51, 51, 0.16)); }
      #materials .block .headWrap .textWrap .title .ja {
        display: block;
        font-size: 2.2rem;
        line-height: 1;
        font-weight: 700; }
    #materials .block .headWrap .textWrap .desc {
      font-size: 1.5rem;
      line-height: 1.8;
      margin: calc(13 / 335 * 100%) 0 0 0; }
  #materials .block .info {
    padding: 0 0 calc(13 / 335 * 100%) 0; }
    #materials .block .info .row {
      margin: 0 0 calc(18 / 335 * 100%) 0; }
      #materials .block .info .row .head {
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 700;
        background-color: #EBF3FF;
        margin: 0 0 calc(7 / 335 * 100%) 0;
        padding: 0.9rem 0 0.9rem 1.2rem;
        border-radius: 0.4rem; }
      #materials .block .info .row .cont {
        font-size: 1.4rem;
        line-height: 1.6; }
        #materials .block .info .row .cont ul li {
          text-indent: -1em;
          padding-left: 1em; }
          #materials .block .info .row .cont ul li:before {
            content: "・"; }
        #materials .block .info .row .cont dl {
          margin: calc(21 / 335 * 100%) 0 0 0; }
          #materials .block .info .row .cont dl dt {
            font-weight: 700; }
        #materials .block .info .row .cont .mb {
          margin-bottom: calc(21 / 335 * 100%); }
  #materials #use .box {
    background-color: #EBF3FF;
    margin: calc(29 / 335 * 100%) 0 calc(106 / 335 * 100%) 0;
    padding: calc(25 / 335 * 100%) calc(16 / 335 * 100%);
    border-radius: 0.8rem; }
  #materials #use .title {
    margin: 0 0 calc(27 / 335 * 100%) 0; }
  #materials #use .list .item {
    margin: 0 0 calc(34 / 335 * 100%) 0; }
    #materials #use .list .item:last-child {
      margin-bottom: 0; }
    #materials #use .list .item .image {
      margin: 0 0 calc(18 / 335 * 100%) 0; }
    #materials #use .list .item .textWrap .head {
      font-size: 1.8rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(11 / 335 * 100%) 0; }
    #materials #use .list .item .textWrap .cont {
      font-size: 1.5rem;
      line-height: 1.6; }

@media screen and (min-width: 769px) {
  #materials {
    padding: 0; }
    #materials .wrap {
      position: relative; }
      #materials .wrap .innerNavWrap {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 1140px;
        margin: auto;
        padding: 0 20px;
        box-sizing: border-box; }
    #materials .block {
      position: relative;
      z-index: 2; }
      #materials .block#else .headWrap {
        margin: 0 0 calc(21 / 900 * 100%) 0; }
      #materials .block .inner {
        width: calc(900 / 1100 * 100%);
        margin: 0 0 0 auto; }
      #materials .block .headWrap {
        display: flex;
        justify-content: space-between;
        margin: 0 0 calc(41 / 900 * 100%) 0;
        padding: calc(65 / 900 * 100%) 0 0 0; }
        #materials .block .headWrap .imageWrap {
          flex-basis: calc(500 / 900 * 100%);
          width: calc(500 / 900 * 100%);
          margin: 0; }
          #materials .block .headWrap .imageWrap .imageSlide {
            width: 100%;
            margin: 0 0 calc(8 / 500 * 100%) 0; }
            #materials .block .headWrap .imageWrap .imageSlide .slick-arrow {
              top: 0;
              bottom: 0; }
              #materials .block .headWrap .imageWrap .imageSlide .slick-arrow.slick-prev {
                left: -2rem; }
              #materials .block .headWrap .imageWrap .imageSlide .slick-arrow.slick-next {
                right: -2rem; }
          #materials .block .headWrap .imageWrap .imageThumb {
            width: 100%; }
        #materials .block .headWrap .textWrap {
          flex-basis: calc(360 / 900 * 100%); }
          #materials .block .headWrap .textWrap .title {
            display: flex;
            align-items: center; }
            #materials .block .headWrap .textWrap .title .icon {
              margin: 0 0.6rem 0 0; }
            #materials .block .headWrap .textWrap .title .ja {
              font-size: 2.4rem;
              line-height: 1.6; }
          #materials .block .headWrap .textWrap .desc {
            margin: calc(30 / 900 * 100%) 0 0 0; }
      #materials .block .info {
        padding: 0 0 calc(36 / 900 * 100%) 0; }
        #materials .block .info .row {
          margin: 0 0 calc(24 / 900 * 100%) 0; }
          #materials .block .info .row .head {
            margin: 0 0 calc(10 / 900 * 100%) 0;
            padding: 0.9rem 0 0.9rem 1.6rem; }
          #materials .block .info .row .cont dl {
            margin: calc(21 / 900 * 100%) 0 0 0; }
          #materials .block .info .row .cont .mb {
            margin-bottom: calc(21 / 900 * 100%); }
    #materials #use {
      position: relative;
      z-index: 2; }
      #materials #use .box {
        width: calc(900 / 1100 * 100%);
        margin: calc(58 / 1100 * 100%) 0 calc(182 / 1100 * 100%) auto;
        padding: calc(52 / 1100 * 100%) calc(48 / 1100 * 100%) calc(17 / 1100 * 100%) calc(48 / 1100 * 100%);
        border-radius: 1.2rem;
        box-sizing: border-box; }
      #materials #use .title {
        margin: 0 0 calc(36 / 804 * 100%) 0; }
      #materials #use .list {
        display: flex;
        flex-wrap: wrap; }
        #materials #use .list .item {
          flex-basis: calc(386 / 804 * 100%);
          margin: 0 0 calc(30 / 804 * 100%) calc(32 / 804 * 100%); }
          #materials #use .list .item:nth-child(2n+1) {
            margin-left: 0; }
          #materials #use .list .item .image {
            margin: 0 0 calc(16 / 386 * 100%) 0; }
          #materials #use .list .item .textWrap .head {
            margin: 0 0 calc(11 / 386 * 100%) 0; } }
#information .informationList .list {
  margin: 0 0 calc(32 / 335 * 100%) 0;
  border-top: 1px solid #E0E0E0; }
  #information .informationList .list .item {
    border-bottom: 1px solid #E0E0E0; }
    #information .informationList .list .item a {
      display: block;
      padding: calc(16 / 335 * 100%) calc(16 / 335 * 100%) calc(14 / 335 * 100%) calc(16 / 335 * 100%); }
    #information .informationList .list .item .head {
      display: flex;
      align-items: center;
      margin: 0 0 calc(12 / 303 * 100%) 0; }
      #information .informationList .list .item .head .date {
        color: #676767;
        font-size: 1.4rem;
        line-height: 1;
        margin: 0 1.2rem 0 0; }
      #information .informationList .list .item .head .category {
        color: #0066FF;
        font-size: 1.1rem;
        line-height: 1;
        font-weight: 700;
        background-color: #FFFEE2;
        padding: 0.5rem 1.1rem;
        border: 1px solid #0066FF;
        border-radius: 1.3rem; }
    #information .informationList .list .item .headline {
      font-size: 1.5rem;
      line-height: 1.6;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2; }

@media screen and (min-width: 769px) {
  #information .informationList .list {
    background-color: #FFFFFF;
    margin: 0 0 calc(38 / 1100 * 100%) 0; }
    #information .informationList .list .item a {
      display: block;
      padding: calc(25 / 1100 * 100%) calc(16 / 1100 * 100%) calc(23 / 1100 * 100%) calc(16 / 1100 * 100%);
      transition: background-color 0.2s ease-out; }
      #information .informationList .list .item a:hover {
        background-color: #EBF3FF; }
    #information .informationList .list .item .head {
      margin: 0 0 calc(12 / 1100 * 100%) 0; }
      #information .informationList .list .item .head .date {
        margin: 0 1.2rem 0 0; }
      #information .informationList .list .item .head .category {
        padding: 0.5rem 1.1rem;
        border-radius: 1.2rem; } }
#informationDetail .box {
  margin: 0 0 calc(29 / 302 * 100%) 0; }
  #informationDetail .box .titleWrap .head {
    display: flex;
    align-items: center;
    margin: 0 0 calc(9 / 303 * 100%) 0; }
    #informationDetail .box .titleWrap .head .date {
      font-size: 1.4rem;
      line-height: 1;
      margin: 0 1.2rem 0 0; }
    #informationDetail .box .titleWrap .head .category {
      color: #0066FF;
      font-size: 1.1rem;
      line-height: 1;
      font-weight: 700;
      background-color: #FFFEE2;
      padding: 0.5rem 1.1rem;
      border: 1px solid #0066FF;
      border-radius: 1.3rem; }
  #informationDetail .box .titleWrap .title {
    position: relative;
    z-index: 2;
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 700; }
  #informationDetail .box .articleBody {
    font-size: 1.5rem;
    line-height: 1.8;
    margin: auto;
    padding: calc(24 / 335 * 100%) calc(16 / 335 * 100%) calc(1 / 335 * 100%) calc(16 / 335 * 100%); }
    #informationDetail .box .articleBody .wp-block-image,
    #informationDetail .box .articleBody .wp-block-file {
      margin: 1.8rem 0 3.6rem 0; }
    #informationDetail .box .articleBody img {
      height: auto !important; }
    #informationDetail .box .articleBody h2 {
      display: flex;
      font-size: 2rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 1.6rem 0; }
      #informationDetail .box .articleBody h2:before {
        content: "";
        display: block;
        flex-shrink: 0;
        width: 0.6rem;
        background-color: #0066FF;
        margin: 0 0.8rem 0 0;
        border-radius: 0.2rem; }
    #informationDetail .box .articleBody h3 {
      font-size: 1.8rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 1.75rem 0;
      padding: 0.3rem 0 1.1rem 0;
      border-bottom: 1px solid #E0E0E0; }
    #informationDetail .box .articleBody p {
      margin: 0 0 3.6rem 0; }
    #informationDetail .box .articleBody strong {
      font-weight: 700; }
    #informationDetail .box .articleBody a {
      text-decoration: underline;
      text-underline-offset: 2px; }
    #informationDetail .box .articleBody ul {
      margin: 0 0 3.6rem 0; }
      #informationDetail .box .articleBody ul li {
        font-size: 1.4rem;
        line-height: 1.6;
        text-indent: -1.1em;
        margin: 0 0 1.4rem 0;
        padding: 0 0 0 1.1em; }
        #informationDetail .box .articleBody ul li:before {
          content: "";
          opacity: 0.6;
          display: inline-block;
          width: 1.2rem;
          height: 1.2rem;
          background-color: #0066FF;
          margin: 0.5rem 0.25rem 0 0;
          border-radius: 50%; }
    #informationDetail .box .articleBody ol {
      margin: 0 0 3.6rem 0;
      counter-reset: item; }
      #informationDetail .box .articleBody ol li {
        font-size: 1.4rem;
        line-height: 1.6;
        text-indent: -1.1em;
        margin: 0 0 1.4rem 0;
        padding: 0 0 0 1.1em; }
        #informationDetail .box .articleBody ol li:before {
          font-family: "Roboto", sans-serif;
          color: #0066FF;
          font-size: 1.6rem;
          line-height: 1.4;
          font-weight: 700;
          counter-increment: item;
          content: counter(item) ".";
          margin: 0 0.2rem 0 0; }
    #informationDetail .box .articleBody .wp-block-table td {
      min-width: 9em;
      padding: 1rem 2rem 1rem 0;
      box-sizing: border-box; }
    #informationDetail .box .articleBody .wp-block-file > a {
      display: none; }
    #informationDetail .box .articleBody .has-text-align-center {
      text-align: center; }
    #informationDetail .box .articleBody .has-text-align-left {
      text-align: left; }
    #informationDetail .box .articleBody .has-text-align-right {
      text-align: right; }
    #informationDetail .box .articleBody .wp-block-quote {
      position: relative;
      font-size: 1.4rem;
      line-height: 1.6;
      background-color: #EBF3FF;
      margin: 4.9rem 0 3.8rem 0;
      padding: calc(30 / 302 * 100%) calc(15 / 302 * 100%) calc(17 / 302 * 100%) calc(15 / 302 * 100%);
      border-radius: 0.8rem; }
      #informationDetail .box .articleBody .wp-block-quote:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 4rem;
        background: url(/img/common/icon_quote.svg) center center no-repeat;
        background-size: contain;
        margin: calc(-12 / 302 * 100%) 0 0 calc(16 / 302 * 100%);
        aspect-ratio: 39.89 / 32; }
      #informationDetail .box .articleBody .wp-block-quote p {
        margin: 0 0 0.6em 0; }
      #informationDetail .box .articleBody .wp-block-quote cite {
        font-size: 1.2rem;
        line-height: 1.4; }
      #informationDetail .box .articleBody .wp-block-quote a {
        color: #0066FF;
        text-decoration: underline; }
#informationDetail .buttonArea {
  width: calc(200 / 335 * 100%);
  margin: 0 auto calc(105 / 335 * 100%) auto; }

@media screen and (min-width: 769px) {
  #informationDetail .box {
    margin: 0 0 calc(39 / 1100 * 100%) 0; }
    #informationDetail .box .titleWrap .head {
      margin: 0 0 calc(14 / 972 * 100%) 0; }
    #informationDetail .box .titleWrap .title {
      font-size: 2.8rem;
      line-height: 1.4; }
    #informationDetail .box .articleBody {
      padding: calc(64 / 1100 * 100%) calc(64 / 1100 * 100%) calc(20 / 1100 * 100%) calc(64 / 1100 * 100%); }
      #informationDetail .box .articleBody .wp-block-gallery {
        display: flex;
        gap: 0 30px;
        margin: 0 auto 1.5rem auto; }
        #informationDetail .box .articleBody .wp-block-gallery .wp-block-image {
          flex-basis: 50%;
          margin: 0; }
      #informationDetail .box .articleBody .wp-block-image,
      #informationDetail .box .articleBody .wp-block-file {
        max-width: 700px;
        margin: 4.3rem auto 4.5rem auto; }
      #informationDetail .box .articleBody img {
        height: auto !important; }
      #informationDetail .box .articleBody h2 {
        font-size: 2.4rem;
        line-height: 1.4;
        margin: 0 0 1.9rem 0; }
      #informationDetail .box .articleBody h3 {
        font-size: 2rem;
        line-height: 1.4;
        margin: 0 0 2rem 0;
        padding: 0.3rem 0 1.2rem 0; }
      #informationDetail .box .articleBody p {
        margin: 0 0 4.1rem 0; }
      #informationDetail .box .articleBody a {
        transition: opacity 0.2s ease-out;
        backface-visibility: hidden;
        zoom: 1; }
        #informationDetail .box .articleBody a:hover {
          opacity: 0.5; }
      #informationDetail .box .articleBody ul {
        margin: 0 0 4.1rem 0; }
        #informationDetail .box .articleBody ul li {
          font-size: 1.5rem;
          line-height: 1.6;
          text-indent: -1.1em;
          margin: 0 0 0.5rem 0;
          padding: 0 0 0 1.1em; }
          #informationDetail .box .articleBody ul li:before {
            margin: 0 0.5rem 0 0; }
      #informationDetail .box .articleBody ol {
        margin: 0 0 4.1rem 0; }
        #informationDetail .box .articleBody ol li {
          font-size: 1.5rem;
          line-height: 1.6;
          text-indent: -1.4em;
          margin: 0 0 0.8rem 0;
          padding: 0 0 0 1.4em; }
          #informationDetail .box .articleBody ol li:before {
            margin: 0 0.9rem 0 0; }
      #informationDetail .box .articleBody .wp-block-quote {
        font-size: 1.5rem;
        line-height: 1.6;
        margin: 5.5rem 0 4.8rem 0;
        padding: calc(30 / 972 * 100%) calc(24 / 972 * 100%) calc(21 / 972 * 100%) calc(24 / 972 * 100%);
        border-radius: 0.8rem; }
        #informationDetail .box .articleBody .wp-block-quote:before {
          margin: calc(-12 / 972 * 100%) 0 0 calc(16 / 972 * 100%); }
        #informationDetail .box .articleBody .wp-block-quote p {
          margin: 0 0 0.6rem 0; }
        #informationDetail .box .articleBody .wp-block-quote cite {
          font-size: 1.4rem;
          line-height: 1.4; }
  #informationDetail .buttonArea {
    width: 200px;
    margin: 0 auto calc(180 / 1100 * 100%) auto; } }
#company {
  padding: calc(56 / 375 * 100%) 0 0 0; }
  #company .block.block2 .content, #company .block.block4 .content {
    background-color: #EBF3FF; }
  #company .block#message .imageWrap .image {
    margin: 0 0 calc(25 / 335 * 100%) 0; }
  #company .block#message .textWrap {
    margin: 0 0 calc(59 / 335 * 100%) 0; }
    #company .block#message .textWrap .title {
      font-size: 2.2rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(16 / 335 * 100%) 0; }
    #company .block#message .textWrap .text {
      font-size: 1.5rem;
      line-height: 1.8;
      margin: 0 0 calc(27 / 335 * 100%) 0; }
  #company .block#message .name {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 2rem;
    line-height: 1;
    font-weight: 700;
    text-align: right; }
    #company .block#message .name .post {
      display: inline-block;
      font-size: 1.4rem;
      line-height: 1.43;
      font-weight: 400;
      margin: 0 1.3rem 0 0; }
  #company .block#philosophy .inner {
    padding: 0 0 calc(39 / 335 * 100%) 0; }
  #company .block#philosophy .title {
    padding: calc(42 / 335 * 100%) 0 calc(23 / 335 * 100%) 0; }
  #company .block#philosophy .box {
    background: url(/img/common/bg_ds2.svg) center 26.5% no-repeat;
    background-size: 93% auto;
    background-color: #FFFFFF;
    padding: calc(24.5 / 335 * 100%) calc(20 / 335 * 100%) calc(7 / 335 * 100%) calc(20 / 335 * 100%);
    border-radius: 0.8rem; }
    #company .block#philosophy .box .info {
      border-bottom: 0; }
      #company .block#philosophy .box .info .row {
        text-align: center;
        padding: calc(21 / 295 * 100%) 0 calc(19 / 295 * 100%) 0; }
        #company .block#philosophy .box .info .row:before {
          width: calc(120 / 295 * 100%);
          right: 0;
          margin: auto; }
        #company .block#philosophy .box .info .row .head {
          font-size: 1.8rem;
          line-height: 1.4;
          margin: 0 0 calc(10 / 295 * 100%) 0; }
        #company .block#philosophy .box .info .row .cont {
          color: #676767;
          font-weight: 700; }
          #company .block#philosophy .box .info .row .cont .box2 {
            width: 100%;
            text-align: left;
            background-color: #EBF3FF;
            margin: calc(17 / 295 * 100%) 0 0 0;
            padding: calc(4 / 295 * 100%) calc(16 / 295 * 100%);
            border-radius: 0.8rem;
            box-sizing: border-box; }
            #company .block#philosophy .box .info .row .cont .box2 dl {
              display: flex;
              justify-content: space-between;
              font-size: 1.4rem;
              line-height: 1.6;
              padding: calc(12 / 295 * 100%) 0;
              border-bottom: 1px solid #FFFFFF; }
              #company .block#philosophy .box .info .row .cont .box2 dl:last-child {
                border-bottom: 0; }
              #company .block#philosophy .box .info .row .cont .box2 dl dt {
                flex-basis: calc(100 / 263 * 100%); }
              #company .block#philosophy .box .info .row .cont .box2 dl dd {
                flex-basis: calc(155 / 263 * 100%);
                font-weight: 400; }
  #company .block#summary .inner {
    padding: 0 0 calc(42 / 335 * 100%) 0; }
  #company .block#summary .title {
    padding: calc(42 / 335 * 100%) 0 calc(23 / 335 * 100%) 0; }
  #company .block#summary .info .row {
    padding: calc(14 / 335 * 100%) 0 calc(16 / 335 * 100%) 0; }
    #company .block#summary .info .row .cont iframe {
      width: 100%;
      height: auto;
      margin: calc(10 / 335 * 100%) 0 calc(8 / 335 * 100%) 0;
      aspect-ratio: 335 / 335; }
    #company .block#summary .info .row .cont .note {
      display: flex;
      font-size: 1.3rem;
      line-height: 1.6;
      margin: calc(5 / 335 * 100%) 0 0 0; }
      #company .block#summary .info .row .cont .note .icon {
        opacity: 0.6;
        display: block;
        width: 1.2rem;
        height: 1.2rem;
        background-color: #0066FF;
        margin: 0.45rem 0.5rem 0 0;
        border-radius: 50%; }
  #company .block#workplace .inner {
    padding: 0 0 calc(27 / 335 * 100%) 0; }
  #company .block#workplace .title {
    padding: calc(42 / 335 * 100%) 0 calc(23 / 335 * 100%) 0; }
  #company .block#workplace .list .item {
    background-color: #FFFFFF;
    margin: 0 0 calc(12 / 335 * 100%) 0;
    padding: calc(24 / 335 * 100%) calc(20 / 335 * 100%) calc(7 / 335 * 100%) calc(20 / 335 * 100%);
    border-radius: 0.8rem; }
    #company .block#workplace .list .item .name {
      display: flex;
      align-items: center;
      margin: 0 0 calc(19 / 295 * 100%) 0; }
      #company .block#workplace .list .item .name .icon {
        width: 1.954rem;
        height: 1.2rem;
        background-color: #0066FF;
        margin: 0 0.4rem 0 0;
        clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%); }
      #company .block#workplace .list .item .name .ja {
        display: block;
        font-size: 1.6rem;
        line-height: 1;
        font-weight: 700; }
    #company .block#workplace .list .item .info {
      border-bottom: 0; }
      #company .block#workplace .list .item .info .row {
        padding: calc(15 / 295 * 100%) 0 calc(14 / 295 * 100%) 0; }
        #company .block#workplace .list .item .info .row:before {
          width: calc(120 / 295 * 100%); }
        #company .block#workplace .list .item .info .row .head {
          font-size: 1.5rem;
          line-height: 1.6;
          font-weight: 700; }
        #company .block#workplace .list .item .info .row .cont a {
          display: block;
          color: #0066FF;
          font-size: 1.3rem;
          line-height: 1.72;
          text-decoration: underline;
          margin: 0.7rem 0 0 0; }
  #company .block#history .inner {
    padding: 0 0 calc(127 / 335 * 100%) 0; }
  #company .block#history .title {
    padding: calc(42 / 335 * 100%) 0 calc(23 / 335 * 100%) 0; }
  #company .block#history .wrap .row {
    display: flex;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.6;
    padding: calc(8 / 335 * 100%) calc(16 / 335 * 100%); }
    #company .block#history .wrap .row.bg {
      background-color: #EBF3FF; }
    #company .block#history .wrap .row.start {
      padding-top: calc(19 / 335 * 100%);
      border-top-left-radius: 0.8rem;
      border-top-right-radius: 0.8rem; }
    #company .block#history .wrap .row.end {
      padding-bottom: calc(15 / 335 * 100%);
      border-bottom-left-radius: 0.8rem;
      border-bottom-right-radius: 0.8rem; }
    #company .block#history .wrap .row:first-child:before {
      margin: calc(30 / 335 * 100%) auto 0 calc(100.5 / 335 * 100% + 0.9rem); }
    #company .block#history .wrap .row:last-child:before {
      bottom: -2rem;
      background: linear-gradient(to bottom, #0066FF 0%, #0066FF 80%, transparent 100%); }
    #company .block#history .wrap .row:before {
      content: "";
      opacity: 0.4;
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 0.5px;
      background-color: #0066FF;
      margin: 0 0 0 calc(100.5 / 335 * 100% + 0.9rem); }
    #company .block#history .wrap .row .year {
      flex-basis: calc(50 / 303 * 100%);
      color: #0066FF;
      font-size: 1.8rem;
      line-height: 1.24;
      font-weight: 700; }
      #company .block#history .wrap .row .year.hide {
        opacity: 0;
        visibility: hidden; }
    #company .block#history .wrap .row .month {
      flex-basis: calc(30 / 303 * 100%);
      text-align: right; }
    #company .block#history .wrap .row .cont {
      flex-basis: calc(223 / 303 * 100%);
      position: relative;
      letter-spacing: 0.01rem;
      padding: 0 0 0 calc(27 / 303 * 100%);
      box-sizing: border-box; }
      #company .block#history .wrap .row .cont:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 0.8rem;
        height: 0.8rem;
        background-color: #0066FF;
        margin: 0.8rem 0 0 1rem;
        border-radius: 50%; }

@media screen and (min-width: 769px) {
  #company {
    padding: 0; }
    #company .wrap {
      position: relative; }
      #company .wrap .innerNavWrap {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 1140px;
        margin: auto;
        padding: 0 20px;
        box-sizing: border-box; }
    #company .block {
      position: relative;
      z-index: 2; }
      #company .block .inner {
        width: calc(900 / 1100 * 100%);
        margin: 0 0 0 auto; }
      #company .block#message .inner {
        display: flex;
        justify-content: space-between;
        padding: calc(66 / 1100 * 100%) 0 calc(50 / 1100 * 100%) 0; }
      #company .block#message .imageWrap {
        order: 2;
        flex-basis: calc(400 / 900 * 100%); }
        #company .block#message .imageWrap .image {
          margin: 0 0 calc(25 / 400 * 100%) 0; }
      #company .block#message .textWrap {
        order: 1;
        flex-basis: calc(452 / 900 * 100%);
        margin: 0; }
        #company .block#message .textWrap .title {
          font-size: 2.8rem;
          line-height: 1.4;
          margin: 0 0 calc(22 / 452 * 100%) 0; }
        #company .block#message .textWrap .text {
          font-size: 1.5rem;
          line-height: 1.8;
          margin: 0 0 calc(27 / 452 * 100%) 0; }
      #company .block#message .name {
        justify-content: flex-start;
        font-size: 2.4rem;
        line-height: 1;
        text-align: left; }
        #company .block#message .name .post {
          font-size: 1.5rem;
          line-height: 1.6;
          margin: 0 1.3rem 0 0; }
      #company .block#philosophy .inner {
        padding: 0 0 calc(63 / 1100 * 100%) 0; }
      #company .block#philosophy .title {
        padding: calc(67 / 900 * 100%) 0 calc(32 / 900 * 100%) 0; }
      #company .block#philosophy .box {
        background: url(/img/common/bg_ds2.svg) 122% -10.5% no-repeat;
        background-size: 55% auto;
        background-color: #FFFFFF;
        padding: calc(47 / 900 * 100%) calc(48 / 900 * 100%) calc(26 / 900 * 100%) calc(48 / 900 * 100%);
        border-radius: 0.8rem; }
        #company .block#philosophy .box .info {
          border-bottom: 0; }
          #company .block#philosophy .box .info .row {
            text-align: left;
            padding: calc(26 / 804 * 100%) 0 calc(23 / 804 * 100%) 0; }
            #company .block#philosophy .box .info .row:before {
              width: calc(160 / 804 * 100%);
              right: auto;
              margin: 0; }
            #company .block#philosophy .box .info .row .head {
              font-size: 2rem;
              line-height: 1.26;
              margin: 0 0 calc(10 / 804 * 100%) 0; }
            #company .block#philosophy .box .info .row .cont {
              color: #676767;
              font-weight: 700; }
              #company .block#philosophy .box .info .row .cont .box2 {
                text-align: left;
                background-color: #EBF3FF;
                margin: calc(24 / 620 * 100%) 0 0 0;
                padding: calc(8 / 620 * 100%) calc(24 / 620 * 100%);
                border-radius: 0.8rem; }
                #company .block#philosophy .box .info .row .cont .box2 dl {
                  display: flex;
                  justify-content: space-between;
                  font-size: 1.4rem;
                  line-height: 1.6;
                  padding: calc(13 / 572 * 100%) 0;
                  border-bottom: 1px solid #FFFFFF; }
                  #company .block#philosophy .box .info .row .cont .box2 dl:last-child {
                    border-bottom: 0; }
                  #company .block#philosophy .box .info .row .cont .box2 dl dt {
                    flex-basis: calc(160 / 572 * 100%); }
                  #company .block#philosophy .box .info .row .cont .box2 dl dd {
                    flex-basis: calc(412 / 572 * 100%); }
      #company .block#summary .inner {
        padding: 0 0 calc(64 / 1100 * 100%) 0; }
      #company .block#summary .title {
        padding: calc(68 / 900 * 100%) 0 calc(32 / 900 * 100%) 0; }
      #company .block#summary .info .row {
        padding: calc(18 / 900 * 100%) 0 calc(18 / 900 * 100%) 0; }
        #company .block#summary .info .row .cont iframe {
          margin: 0 0 calc(8 / 716 * 100%) 0;
          aspect-ratio: 716 / 350; }
        #company .block#summary .info .row .cont .note {
          margin: calc(5 / 716 * 100%) 0 0 0; }
          #company .block#summary .info .row .cont .note .icon {
            margin: 0.45rem 0.5rem 0 0; }
      #company .block#workplace .inner {
        padding: 0 0 calc(54 / 1100 * 100%) 0; }
      #company .block#workplace .title {
        padding: calc(67 / 900 * 100%) 0 calc(32 / 900 * 100%) 0; }
      #company .block#workplace .list .item {
        margin: 0 0 calc(15 / 900 * 100%) 0;
        padding: calc(29 / 900 * 100%) calc(24 / 900 * 100%) calc(1 / 900 * 100%) calc(24 / 900 * 100%);
        border-radius: 0.8rem; }
        #company .block#workplace .list .item .name {
          margin: 0 0 calc(24 / 852 * 100%) 0; }
          #company .block#workplace .list .item .name .ja {
            display: block;
            font-size: 1.6rem;
            line-height: 1;
            font-weight: 700; }
        #company .block#workplace .list .item .info {
          border-bottom: 0; }
          #company .block#workplace .list .item .info .row {
            padding: calc(18 / 852 * 100%) 0 calc(19 / 852 * 100%) 0; }
            #company .block#workplace .list .item .info .row:before {
              width: calc(112 / 852 * 100%); }
            #company .block#workplace .list .item .info .row .head {
              font-size: 1.4rem;
              line-height: 1.6; }
            #company .block#workplace .list .item .info .row .cont a {
              display: inline-block;
              margin: 0 0 0 2.5rem; }
      #company .block#history .inner {
        padding: 0 0 calc(200 / 1100 * 100%) 0; }
      #company .block#history .title {
        padding: calc(67 / 900 * 100%) 0 calc(32 / 900 * 100%) 0; }
      #company .block#history .wrap .row {
        font-size: 1.4rem;
        line-height: 1.6;
        padding: calc(13 / 900 * 100%) calc(20 / 900 * 100%) calc(14 / 900 * 100%) calc(20 / 900 * 100%); }
        #company .block#history .wrap .row.bg {
          background-color: #EBF3FF; }
        #company .block#history .wrap .row.start {
          padding-top: calc(23 / 900 * 100%); }
        #company .block#history .wrap .row.end {
          padding-bottom: calc(22 / 900 * 100%); }
        #company .block#history .wrap .row:first-child:before {
          margin: calc(30 / 900 * 100%) auto 0 calc(140.5 / 900 * 100% + 0.9rem); }
        #company .block#history .wrap .row:last-child:before {
          bottom: -2rem;
          background: linear-gradient(to bottom, #0066FF 0%, #0066FF 80%, transparent 100%); }
        #company .block#history .wrap .row:before {
          width: 1px;
          margin: 0 0 0 calc(140.5 / 900 * 100% + 0.9rem); }
        #company .block#history .wrap .row .year {
          flex-basis: calc(80 / 860 * 100%);
          font-size: 2rem;
          line-height: 1.12; }
        #company .block#history .wrap .row .month {
          flex-basis: calc(34 / 860 * 100%); }
        #company .block#history .wrap .row .cont {
          flex-basis: calc(746 / 860 * 100%);
          position: relative;
          letter-spacing: 0.01rem;
          padding: 0 0 0 calc(41 / 860 * 100%);
          box-sizing: border-box; }
          #company .block#history .wrap .row .cont:before {
            margin: 0.8rem 0 0 1.2rem; } }
#privacy .intro {
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: center;
  padding: 0 0 calc(38 / 335 * 100%) 0; }
#privacy .block {
  margin: 0 0 calc(103 / 335 * 100%) 0; }
  #privacy .block .row {
    margin: 0 0 calc(30 / 335 * 100%) 0; }
    #privacy .block .row .head {
      color: #0066FF;
      font-size: 1.8rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0 0 calc(13 / 335 * 100%) 0;
      padding: 0 0 calc(12 / 335 * 100%) 0;
      border-bottom: 1px solid #E0E0E0; }
    #privacy .block .row .cont {
      font-size: 1.5rem;
      line-height: 1.8; }
      #privacy .block .row .cont .mb {
        margin-bottom: 1em; }
      #privacy .block .row .cont a {
        color: #0066FF;
        text-decoration: underline; }

@media screen and (min-width: 769px) {
  #privacy .intro {
    padding: 0 0 calc(60 / 1100 * 100%) 0; }
  #privacy .block {
    margin: 0 0 calc(178 / 1100 * 100%) 0; }
    #privacy .block .row {
      margin: 0 0 calc(45 / 1100 * 100%) 0; }
      #privacy .block .row .head {
        margin: 0 0 calc(14 / 1100 * 100%) 0;
        padding: 0 0 calc(12 / 1100 * 100%) 0; } }
#tradelaw .table {
  margin: 0 0 calc(107 / 335 * 100%) 0; }

@media screen and (min-width: 769px) {
  #tradelaw .table {
    margin: 0 0 calc(182 / 1100 * 100%) 0; } }
#contact .form .content {
  border-bottom: 1px solid #0066FF; }
#contact .form .inputTrue {
  display: none; }
#contact .form .confirmTrue {
  display: none; }
#contact .form .snow-monkey-form {
  padding: 0 0 calc(63 / 335 * 100%) 0; }
  #contact .form .snow-monkey-form[data-screen="confirm"] .firstArea.inputPage {
    display: none; }
  #contact .form .snow-monkey-form[data-screen="confirm"] .firstArea.confirmPage {
    display: block;
    margin: 0 0 calc(37 / 335 * 100%) 0; }
  #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item {
    padding: calc(14 / 335 * 100%) 0; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item.confirm-hide {
      display: none; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item.address .smf-item__controls > .smf-placeholder {
      display: inline-block;
      margin: 0; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item.privacy {
      display: none; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__label__text {
      margin: 0 0 calc(3 / 335 * 100%) 0; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__label__text:before {
        display: none; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-placeholder {
      color: #3B3B3B; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__controls .wp-block-group-is-layout-flex {
      gap: 0.5rem; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__controls .wp-block-group-is-layout-flex > p {
        margin: 0; }
  #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2rem;
    margin: calc(32 / 335 * 100%) 0 0 0; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control {
      order: 2;
      flex-basis: 100%;
      margin: 0 !important; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control:nth-of-type(2) {
        order: 1; }
  #contact .form .snow-monkey-form[data-screen="complete"] {
    border: 0; }
    #contact .form .snow-monkey-form[data-screen="complete"] .smf-action {
      display: none; }
#contact .form .smf-progress-tracker {
  width: calc(375 / 335 * 100%);
  margin: 0 calc(-20 / 335 * 100%) calc(26 / 335 * 100%) calc(-20 / 335 * 100%); }
  #contact .form .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {
    background-color: #0066FF; }
  #contact .form .smf-progress-tracker .smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {
    color: #0066FF; }
  #contact .form .smf-progress-tracker .smf-progress-tracker__item:before, #contact .form .smf-progress-tracker .smf-progress-tracker__item:after {
    top: 2rem; }
  #contact .form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__number {
    width: 4rem;
    height: 4rem;
    font-family: "Roboto", sans-serif;
    font-size: 2rem;
    line-height: 1;
    font-weight: 700;
    background-color: #E0E0E0; }
  #contact .form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__text {
    color: #E0E0E0;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: 700;
    margin-top: 0.4rem; }
#contact .form .firstArea {
  margin: 0 0 calc(57 / 335 * 100%) 0; }
  #contact .form .firstArea.confirmPage {
    display: none; }
  #contact .form .firstArea + .smf-item {
    border-top: 1px solid #E0E0E0; }
  #contact .form .firstArea .textWrap {
    text-align: center;
    margin: 0 0 calc(27 / 335 * 100%) 0; }
    #contact .form .firstArea .textWrap .guide {
      font-size: 1.5rem;
      line-height: 1.8; }
  #contact .form .firstArea .buttonArea {
    width: calc(300 / 335 * 100%);
    margin: 0 auto calc(30 / 335 * 100%) auto; }
    #contact .form .firstArea .buttonArea .button {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 6.4rem;
      font-size: 1.8rem;
      line-height: 1;
      border-radius: 3.2rem; }
      #contact .form .firstArea .buttonArea .button .tel {
        font-size: 2.6rem;
        line-height: 1;
        font-weight: 700; }
      #contact .form .firstArea .buttonArea .button .time {
        font-size: 1.2rem;
        line-height: 1.17;
        font-weight: 400; }
      #contact .form .firstArea .buttonArea .button .icon:after {
        right: 2.5rem; }
#contact .form .smf-form .smf-item {
  padding: calc(17 / 335 * 100%) 0;
  border-bottom: 1px solid #E0E0E0; }
  #contact .form .smf-form .smf-item.label-hide .smf-item__label {
    display: none; }
  #contact .form .smf-form .smf-item.optional .smf-item__label__text:before {
    content: "任意";
    color: #0066FF;
    background-color: #EBF3FF;
    border: 1px solid #0066FF; }
  #contact .form .smf-form .smf-item.address .smf-item__controls > .smf-placeholder {
    margin: calc(13 / 335 * 100%) 0 0 0; }
  #contact .form .smf-form .smf-item.privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    gap: 0.5rem;
    padding: calc(26 / 335 * 100%) 0 calc(31 / 335 * 100%) 0;
    border-bottom: 0; }
    #contact .form .smf-form .smf-item.privacy .smf-error-messages {
      position: absolute;
      margin: 0.3rem 0 0 0; }
    #contact .form .smf-form .smf-item.privacy .smf-item__label .smf-item__label__text {
      display: block;
      font-size: 1.4rem;
      line-height: 1.71;
      margin: 0 !important; }
      #contact .form .smf-form .smf-item.privacy .smf-item__label .smf-item__label__text:before {
        display: none !important; }
    #contact .form .smf-form .smf-item.privacy .smf-item__controls .smf-checkboxes-control__control .smf-checkbox-control__label {
      display: none; }
    #contact .form .smf-form .smf-item.privacy .smf-item__controls .smf-placeholder {
      display: inline-block;
      line-height: 1;
      vertical-align: middle; }
    #contact .form .smf-form .smf-item.privacy .smf-item__controls p {
      display: inline;
      font-size: 1.4rem;
      line-height: 1.71; }
      #contact .form .smf-form .smf-item.privacy .smf-item__controls p a {
        color: #0066FF;
        text-decoration: underline;
        transition: opacity 0.2s ease-out; }
        #contact .form .smf-form .smf-item.privacy .smf-item__controls p a:hover {
          opacity: 0.7; }
  #contact .form .smf-form .smf-item .smf-error-messages {
    color: #EA1818;
    font-size: 1.2rem;
    line-height: 1.4;
    font-weight: 700;
    margin: 0.8rem 0 0 0; }
    #contact .form .smf-form .smf-item .smf-error-messages:before {
      content: "※"; }
  #contact .form .smf-form .smf-item__label__text {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: 700;
    margin: 0 0 calc(12 / 335 * 100%) 0; }
    #contact .form .smf-form .smf-item__label__text:before {
      content: "必須";
      display: block;
      color: #FFFFFF;
      font-size: 1.4rem;
      line-height: 1;
      font-weight: 700;
      letter-spacing: 0.3em;
      background-color: #0066FF;
      margin: 0 1.2rem 0 0;
      padding: 0.5em 0.4em 0.5em 0.7em;
      border-radius: 0.4rem; }
  #contact .form .smf-form .smf-item__controls ::placeholder {
    color: #B4B4B4; }
  #contact .form .smf-form .smf-item__controls input:focus,
  #contact .form .smf-form .smf-item__controls select:focus {
    outline: 1px solid #0066FF !important; }
  #contact .form .smf-form .smf-item__controls .wp-block-group-is-layout-flex {
    display: flex;
    justify-content: flex-start;
    gap: 1rem; }
    #contact .form .smf-form .smf-item__controls .wp-block-group-is-layout-flex > p {
      margin: 1.3rem 0 0 0; }
  #contact .form .smf-form .smf-item__controls .smf-text-control__control {
    width: 100%;
    color: #3B3B3B;
    font-size: 1.5rem;
    line-height: 1.6;
    background-color: #EBF3FF;
    padding: 0.65em 1em;
    border: 0;
    border-radius: 0.4rem;
    box-shadow: none;
    box-sizing: border-box; }
  #contact .form .smf-form .smf-item__controls .smf-textarea-control__control {
    width: 100%;
    max-width: 100%;
    height: 8.8em;
    color: #3B3B3B;
    font-size: 1.5rem;
    line-height: 1.6;
    background-color: #EBF3FF;
    padding: 0.65em 1em;
    border: 0;
    border-radius: 0.4rem;
    box-shadow: none;
    box-sizing: border-box; }
  #contact .form .smf-form .smf-item__controls .smf-checkbox-control__control {
    position: relative;
    width: 2rem;
    height: 2rem;
    background: #FFFFFF;
    margin: 0.2rem 0;
    border: 1px solid #B4B4B4;
    border-radius: 0; }
    #contact .form .smf-form .smf-item__controls .smf-checkbox-control__control:checked:before {
      content: "";
      display: block;
      position: absolute;
      top: -1px;
      bottom: -1px;
      left: -1px;
      right: -1px;
      width: auto;
      height: auto;
      transform: none;
      background: url(/img/common/icon_check.svg) center center no-repeat;
      background-size: contain;
      background-color: #0066FF;
      border: 1px solid #B4B4B4; }
    #contact .form .smf-form .smf-item__controls .smf-checkbox-control__control .smf-item label {
      line-height: 1; }
  #contact .form .smf-form .smf-item__controls .smf-select-control {
    display: block; }
  #contact .form .smf-form .smf-item__controls .smf-select-control__control {
    position: relative;
    width: 100%;
    color: #3B3B3B;
    font-size: 1.5rem;
    line-height: 1.6;
    padding: 0.65em 1em;
    border: 0;
    border-radius: 0.4rem;
    box-shadow: none;
    box-sizing: border-box; }
  #contact .form .smf-form .smf-item__controls .smf-select-control__toggle {
    background-color: #EBF3FF;
    border-radius: 0.4rem; }
    #contact .form .smf-form .smf-item__controls .smf-select-control__toggle:before {
      content: "";
      top: 0;
      bottom: 0;
      right: 2rem;
      width: 1rem;
      height: 0.5rem;
      background-color: #0066FF;
      margin: auto;
      border: 0;
      transform: rotate(0deg);
      clip-path: polygon(0 0, 100% 0, 50% 100%); }
#contact .form .smf-action .smf-button-control + .smf-button-control {
  margin-top: 2rem; }
#contact .form .smf-action .smf-button-control__control {
  color: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: calc(200 / 335 * 100%);
  color: #FFFFFF;
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  background-color: #0066FF;
  margin: 0 auto;
  padding: 1.65rem 0;
  border: 1px solid #0066FF;
  border-radius: 2.4rem;
  box-sizing: border-box;
  transition: all 0.2s ease-out; }
  #contact .form .smf-action .smf-button-control__control:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2rem;
    width: 0.8rem;
    height: 0.8rem;
    margin: auto;
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform: rotate(45deg);
    box-sizing: border-box;
    transition: all 0.2s ease-out; }
  #contact .form .smf-action .smf-button-control__control[data-action="back"] {
    color: #676767;
    background-color: #E0E0E0;
    border: 1px solid #E0E0E0; }
    #contact .form .smf-action .smf-button-control__control[data-action="back"]:after {
      left: 2rem;
      right: auto;
      border-top: 2px solid #676767;
      border-right: 2px solid #676767;
      transform: rotate(-135deg); }
  #contact .form .smf-action .smf-button-control__control .smf-sending {
    display: none; }
#contact .form .smf-complete-content {
  overflow: hidden;
  text-align: center; }
  #contact .form .smf-complete-content .textwrap .title {
    font-size: 1.5rem;
    line-height: 1.8; }
  #contact .form .smf-complete-content .textwrap .text {
    font-size: 1.5rem;
    line-height: 1.8; }
  #contact .form .smf-complete-content .illust {
    width: calc(346 / 335 * 100%);
    margin: calc(-66 / 335 * 100%) 0 calc(31 / 335 * 100%) calc(44 / 335 * 100%); }
  #contact .form .smf-complete-content .buttonArea {
    width: calc(200 / 335 * 100%);
    margin: auto; }

@media screen and (min-width: 769px) {
  #contact .form .snow-monkey-form {
    padding: 0 0 calc(109 / 1000 * 100%) 0; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .firstArea.confirmPage {
      margin: 0 0 calc(60 / 1100 * 100%) 0; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .wp-block-group {
      padding-left: 0 !important; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item {
      max-width: 900px;
      margin: auto;
      padding: calc(22 / 1100 * 100%) 0; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item.confirm-hide {
        display: none; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item__col--label {
        flex-basis: calc(200 / 900 * 100%); }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item__col--controls {
        flex-basis: calc(700 / 900 * 100%); }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__label__text:after {
        display: none; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-placeholder {
        font-size: 1.5rem;
        line-height: 1.6; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-form .smf-item .smf-item__controls .wp-block-group-is-layout-flex > p {
        font-size: 1.5rem;
        line-height: 1.6; }
    #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action {
      flex-wrap: nowrap;
      margin: calc(39 / 1100 * 100%) 0 0 0; }
      #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control {
        order: 1;
        flex-basis: 20rem; }
        #contact .form .snow-monkey-form[data-screen="confirm"] .smf-action .smf-button-control:nth-of-type(2) {
          order: 2; }
    #contact .form .snow-monkey-form[data-screen="complete"] .smf-action {
      display: none; }
  #contact .form .smf-progress-tracker {
    max-width: 660px;
    width: 100%;
    margin: 0 auto calc(45 / 1100 * 100%) auto; }
    #contact .form .smf-progress-tracker .smf-progress-tracker__item .smf-progress-tracker__item__text {
      margin-top: 0.4rem; }
  #contact .form .firstArea {
    margin: 0 0 calc(65 / 1100 * 100%) 0; }
    #contact .form .firstArea .textWrap {
      text-align: center;
      margin: 0 0 calc(25 / 1100 * 100%) 0; }
    #contact .form .firstArea .buttonArea {
      width: 100%;
      text-align: center;
      margin: 0 0 calc(30 / 1100 * 100%) 0; }
      #contact .form .firstArea .buttonArea .text {
        display: inline-block; }
        #contact .form .firstArea .buttonArea .text .tel a {
          display: block;
          position: relative;
          color: #0066FF;
          font-size: 3.2rem;
          line-height: 1;
          font-weight: 700;
          letter-spacing: -0.05rem;
          margin: 0 0 0 2rem;
          padding: 0.3rem 0 0.7rem 0; }
          #contact .form .firstArea .buttonArea .text .tel a:before {
            content: "";
            position: absolute;
            top: 0.8rem;
            right: 100%;
            width: 2.4rem;
            background: url(/img/common/icon_tel.svg) center center no-repeat;
            background-size: contain;
            aspect-ratio: 1 / 1; }
        #contact .form .firstArea .buttonArea .text .time {
          font-size: 1.2rem;
          line-height: 1; }
  #contact .form .smf-form .smf-item {
    display: flex;
    padding: calc(25 / 1100 * 100%) 0; }
    #contact .form .smf-form .smf-item.address .smf-item__controls > .smf-placeholder {
      margin: calc(13 / 860 * 100%) 0 0 0; }
    #contact .form .smf-form .smf-item.privacy {
      display: block;
      text-align: center;
      padding: calc(37 / 1100 * 100%) 0 calc(31 / 1100 * 100%) 0; }
    #contact .form .smf-form .smf-item .smf-error-messages {
      color: #EA1818;
      font-size: 1.2rem;
      line-height: 1.4;
      font-weight: 700;
      margin: 0.8rem 0 0 0; }
    #contact .form .smf-form .smf-item__col--label {
      flex-basis: calc(240 / 1100 * 100%);
      flex-shrink: 0; }
    #contact .form .smf-form .smf-item__col--controls {
      flex-basis: calc(860 / 1100 * 100%); }
    #contact .form .smf-form .smf-item__label__text {
      margin: 1rem 0 0 0; }
    #contact .form .smf-form .smf-item__controls .wp-block-group .smf-placeholder {
      flex-basis: 27.5rem; }
    #contact .form .smf-form .smf-item__controls .smf-select-control {
      max-width: 30rem; }
  #contact .form .smf-action .smf-button-control__control {
    width: 100%;
    max-width: 20rem; }
    #contact .form .smf-action .smf-button-control__control:not(:disabled):hover {
      color: #0066FF;
      background-color: #FFFFFF; }
      #contact .form .smf-action .smf-button-control__control:not(:disabled):hover:after {
        right: 1.6rem;
        border-top: 2px solid #0066FF;
        border-right: 2px solid #0066FF; }
    #contact .form .smf-action .smf-button-control__control[data-action="back"]:hover {
      color: #676767;
      background-color: #FFFFFF; }
      #contact .form .smf-action .smf-button-control__control[data-action="back"]:hover:after {
        left: 1.6rem;
        right: auto;
        border-top: 2px solid #676767;
        border-right: 2px solid #676767; }
  #contact .form .smf-complete-content .illustWrap {
    display: flex;
    justify-content: center;
    aspect-ratio: 1100 / 286; }
  #contact .form .smf-complete-content .illust {
    width: calc(384 / 1100 * 100%);
    margin: calc(-43 / 1100 * 100%) 0 0 calc(125 / 1100 * 100%); }
  #contact .form .smf-complete-content .buttonArea {
    width: 200px; } }
