@charset "UTF-8";
/* TOP
------------------------------------------*/
body.home {
  padding-top: 0; }
  body.home div#mv {
    height: 47.91vw;
    width: 100%;
    background: url("../img/main/mv-bg01.jpg") no-repeat center top, linear-gradient(120deg, #204167 0%, #25356D 100%);
    background-size: cover;
    position: relative; }

.mv-cont {
  position: absolute;
  z-index: 2;
  color: #fff;
  width: 23.09vw;
  top: 16.66vw;
  left: 4.16vw; }
  .mv-cont ul.border-list.flex {
    margin: 0 0 0.83vw;
    width: 100%; }
    .mv-cont ul.border-list.flex > li {
      font-size: 0.9375vw;
      margin: 0 0.41vw 0 0;
      padding: 0.39vw 0.46vw 0.36vw;
      line-height: 1; }
    .mv-cont ul.border-list.flex > li:last-child {
      margin-right: 0; }

.mv-img {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  width: 77.6vw;
  height: 39.06vw; }
  .mv-img img {
    width: 100%;
    max-width: none; }
  .mv-img .mv-img01 {
    position: absolute;
    right: 0;
    top: 0;
    width: 45.83vw; }
  .mv-img .mv-img02 {
    position: absolute;
    right: 40.78vw;
    top: 18.22vw;
    width: 25vw; }
  .mv-img .mv-img03 {
    position: absolute;
    left: 0;
    top: 2.6vw;
    width: 18.22vw; }

.mv-text01 {
  font-size: 3.02vw;
  font-weight: 700;
  margin-bottom: 1.5vw;
  line-height: 1.3; }

.mv-text02 {
  font-size: 1.04vw;
  line-height: 1.6;
  font-weight: 700; }

.mv-scr-wrap {
  overflow: hidden;
  background: #fff;
  width: 91.66vw;
  height: 7.8125vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.08vw;
  margin: 0 auto;
  border-radius: 0.26vw;
  padding: 1.5625vw 0;
  box-sizing: border-box; }

div.mv-scr {
  display: flex;
  flex-wrap: wrap;
  width: 232vw; }

.scr-text01 {
  display: flex;
  flex-wrap: wrap; }
  .scr-text01 .box {
    text-align: center;
    color: #274C82;
    font-weight: 700;
    line-height: 1;
    padding: 0 3.33vw;
    border-right: solid 0.05vw #DBE2E8; }
    .scr-text01 .box p.line01 {
      font-size: 1.04vw;
      margin-bottom: 0.52vw; }
    .scr-text01 .box p.line02 {
      font-size: 2.08vw;
      line-height: 2.708vw; }
      .scr-text01 .box p.line02 .big {
        font-size: 2.1875vw; }
      .scr-text01 .box p.line02 .big.en {
        font-size: 2.708vw; }

.scr-text01:first-child {
  animation: text01 60s -30s linear infinite; }

.scr-text01:nth-child(2) {
  animation: text02 60s linear infinite; }

@keyframes text01 {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes text02 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
div#top-news {
  border: solid 1px #DBE2E8;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  height: 80px;
  padding-right: 40px; }
  div#top-news .tit {
    width: 160px;
    height: 78px;
    border-right: solid 1px #DBE2E8;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
  div#top-news .more-btn01 {
    margin-left: auto; }
    div#top-news .more-btn01 a {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      text-decoration: none;
      position: relative; }
      div#top-news .more-btn01 a span.ico {
        margin-right: 10px; }
        div#top-news .more-btn01 a span.ico img {
          display: block;
          opacity: 1; }
    div#top-news .more-btn01 > a:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #fff;
      transform-origin: right;
      transform: scaleX(0);
      transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }
    div#top-news .more-btn01 a:hover {
      text-decoration: none;
      color: #274C82; }
    div#top-news .more-btn01 a:hover:after {
      transform: scaleX(1);
      transform-origin: left; }

.top-news-cont {
  width: calc(100% - 312px);
  box-sizing: border-box;
  padding: 23px 40px; }

article.top-news-art01 a {
  align-items: center;
  position: relative;
  text-decoration: none; }
  article.top-news-art01 a .t-date {
    font-size: 14px;
    margin-right: 18px; }
article.top-news-art01 > a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform-origin: right;
  transform: scaleX(0);
  transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }
article.top-news-art01 a:hover {
  text-decoration: none;
  color: #274C82; }
article.top-news-art01 a:hover:after {
  transform: scaleX(1);
  transform-origin: left; }

.belt-text01 {
  font-size: 240px;
  font-weight: 400;
  font-family: "osw";
  white-space: nowrap;
  line-height: 1.4;
  letter-spacing: 0.025em;
  color: #fff;
  width: 5788px;
  position: absolute;
  left: 0;
  top: 675px;
  opacity: 0.04; }
  .belt-text01 > span {
    padding-right: 100px;
    display: inline-block; }
  .belt-text01 span.text01 {
    animation: text01 180s -90s linear infinite; }
  .belt-text01 span.text02 {
    animation: text02 180s linear infinite; }

@keyframes text01 {
  0% {
    transform: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes text02 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
.home div#contents {
  background: url("../img/top/bg-logo.svg") no-repeat top 50px left calc(50% + 275px); }

section#topBox01 {
  padding: 100px 0 120px; }
  section#topBox01 .wrap {
    width: 1200px; }
  section#topBox01 .titles01 {
    margin-bottom: 64px; }

.top-cont01.flex {
  justify-content: space-between; }
  .top-cont01.flex .left {
    width: 520px; }
  .top-cont01.flex .right {
    width: 616px; }
    .top-cont01.flex .right .btn01 {
      margin: 40px 0 0 auto; }

.copy {
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.5; }

.icoBox.flex {
  padding-bottom: 14px;
  border-bottom: solid 1px #DBE2E8;
  justify-content: space-between;
  margin-bottom: 16px; }
  .icoBox.flex .ico {
    width: 100px; }
  .icoBox.flex > .text {
    width: calc(100% - 124px);
    font-size: 20px;
    line-height: 1.4; }
    .icoBox.flex > .text h3.tit {
      font-weight: 700;
      font-size: 24px;
      line-height: 1;
      margin-bottom: 12px; }

div.bg-img01 {
  height: 500px;
  position: relative;
  background: url("../img/top/bg-img01.jpg") no-repeat center;
  background-size: cover; }

div.bg-img01:before {
  content: "";
  height: 60px;
  width: calc(50% - 118px);
  background: #F9F9F9;
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0; }

.ovh {
  overflow: hidden; }

section#topBox02 {
  background: #F9F9F9;
  position: relative; }
  section#topBox02 > .ovh {
    padding: 160px 0; }
  section#topBox02 .wrap {
    width: 1200px; }
    section#topBox02 .wrap .btn01 {
      position: absolute;
      right: 0;
      top: 47px;
      z-index: 3; }

div.reason-list {
  width: 5660px;
  display: flex;
  flex-wrap: wrap; }

div.reasonBox.box01.flex {
  margin-right: 40px;
  width: 1092px;
  background: #fff; }
  div.reasonBox.box01.flex .img {
    width: 500px; }
  div.reasonBox.box01.flex .cont {
    width: calc(100% - 500px);
    box-sizing: border-box;
    padding: 40px 56px; }

.num-tit {
  margin-bottom: 8px; }
  .num-tit .num {
    font-family: "os";
    font-size: 14px;
    font-weight: 700;
    border-radius: 20px;
    line-height: 22px;
    height: 22px;
    background: #274C82;
    text-align: center;
    display: inline-block;
    color: #fff;
    width: 41px; }
  .num-tit .text {
    display: block;
    font-weight: 700;
    font-size: 20px;
    color: #274C82;
    line-height: 1.45;
    margin-top: 8px; }

.copy02 {
  font-size: 34px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 48px; }

section#topBox03 {
  background: #263E62;
  position: relative;
  color: #fff; }
  section#topBox03 .wrap {
    width: 1000px; }
  section#topBox03 > .ovh {
    padding: 160px 0 200px; }
    section#topBox03 > .ovh .titles01,
    section#topBox03 > .ovh div#ma-cont {
      position: relative;
      z-index: 2; }
    section#topBox03 > .ovh .titles01 {
      margin-bottom: 0; }
    section#topBox03 > .ovh div#ma-cont {
      width: 560px;
      margin: -52px 0 0 500px; }

div#ma-cont .slick-track {
  width: 100% !important;
  transform: none !important; }

.ma-contBox {
  border-bottom: solid 1px #3C5F82;
  border-top: solid 1px #3C5F82;
  margin-bottom: -1px;
  opacity: 0.4;
  transition: 0.3s;
  width: 100%; }
  .ma-contBox a {
    display: block;
    padding: 24px 0 32px;
    color: #fff;
    padding-right: 40px;
    text-decoration: none;
    position: relative; }
    .ma-contBox a .tit {
      font-weight: 700;
      line-height: 1.4;
      font-size: 28px;
      margin-bottom: 12px; }
      .ma-contBox a .tit span.bikou {
        font-weight: 500;
        font-size: 14px;
        margin-left: 8px; }
    .ma-contBox a ul.sq-list > li {
      background-image: url("../img/common/ico-sq02.svg");
      background-position: left top 4px;
      font-size: 16px;
      line-height: 19px;
      margin-bottom: 5px; }
    .ma-contBox a ul.sq-list > li:last-child {
      margin-bottom: 0; }
    .ma-contBox a .arrow {
      position: absolute;
      width: 32px;
      height: 32px;
      border-radius: 100%;
      border: solid 1px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      right: 0;
      bottom: 32px;
      z-index: 2; }
      .ma-contBox a .arrow img {
        display: block;
        opacity: 1; }

.ma-contBox:last-child {
  margin-bottom: 0; }

.ma-contBox.slick-current,
.ma-contBox:hover {
  opacity: 1; }

.pin-spacer {
  background: #F9F9F9 !important; }

div#ma-imgs {
  width: 1560px;
  height: 732px;
  position: absolute;
  left: -120px;
  top: 60px; }
  div#ma-imgs .ma-img {
    width: 1560px;
    height: 732px;
    opacity: 0;
    transition: 0.5s; }
    div#ma-imgs .ma-img .left {
      width: 500px;
      position: absolute;
      left: 0;
      bottom: 0; }
    div#ma-imgs .ma-img .right {
      width: 300px;
      position: absolute;
      right: 0;
      top: 0; }

section#topBox04 {
  padding: 120px 0;
  background: #F9F9F9; }
  section#topBox04 .wrap {
    width: 1200px; }
  section#topBox04 .titles01 {
    margin-bottom: 48px; }

.belt-arrow {
  background: #274C82;
  color: #fff;
  text-align: center;
  height: 80px;
  font-size: 32px;
  font-weight: 700;
  box-sizing: border-box;
  padding-top: 34px;
  line-height: 1;
  overflow: hidden;
  margin-bottom: 24px;
  clip-path: polygon(calc(100% - 80px) 27px, calc(100% - 80px) 0, 100% 100%, 0 100%, 0 27px);
  position: relative; }
  .belt-arrow > span {
    display: inline-block;
    position: relative;
    z-index: 2; }
  .belt-arrow .wave {
    width: 130%;
    height: 100%;
    background: rgba(255, 255, 255, 0.16);
    animation: wave01 12s 0s linear infinite;
    position: absolute;
    left: 0;
    bottom: 0; }

@keyframes wave01 {
  0% {
    transform: translateX(-100%); }
  90% {
    transform: translateX(100%); }
  to {
    transform: translateX(100%); } }
.onestop-flow {
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .onestop-flow > .box {
    box-sizing: border-box;
    width: 136px;
    padding: 16px;
    border: solid 1px #DBE2E8;
    margin-right: 16px;
    background: #fff;
    text-align: center; }
    .onestop-flow > .box .num {
      display: inline-block;
      background: #274C82;
      line-height: 21px;
      height: 21px;
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      line-height: 21px;
      border-radius: 20px;
      width: 41px;
      margin-bottom: 8px; }
    .onestop-flow > .box .text {
      font-weight: 700;
      line-height: 1.2;
      font-size: 20px; }
      .onestop-flow > .box .text span.komoji {
        font-weight: 500;
        font-size: 16px; }
  .onestop-flow > .box:last-child {
    margin-right: 0; }

.top-cont04.flex {
  margin-top: 48px;
  justify-content: space-between; }
  .top-cont04.flex .left {
    width: 570px; }
  .top-cont04.flex .right {
    width: 550px; }
    .top-cont04.flex .right .copy03 {
      margin-bottom: 24px; }
    .top-cont04.flex .right .btn01 {
      margin-top: 40px; }

section#topBox05 {
  padding: 120px 0 60px; }
  section#topBox05 .wrap {
    width: 1200px;
    min-height: 500px;
    box-sizing: border-box;
    padding-right: 640px; }
  section#topBox05 .imgs {
    width: 640px;
    height: 563px;
    position: absolute;
    right: 0;
    top: -40px; }
    section#topBox05 .imgs .img01 {
      width: 560px;
      margin-left: auto; }
    section#topBox05 .imgs .img02 {
      width: 320px;
      position: absolute;
      left: 0;
      bottom: 0; }
  section#topBox05 .btn01 {
    margin-top: 40px; }

.copy03 {
  font-weight: 700;
  line-height: 1.5;
  font-size: 32px;
  margin-bottom: 32px; }

.sub01 {
  line-height: 1;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px; }

ul.sq-list > li {
  line-height: 1.2;
  margin-bottom: 10px;
  padding-left: 17px;
  background: url("../img/common/ico-sq.svg") no-repeat left center; }
ul.sq-list > li:last-child {
  margin-bottom: 0; }

section#works-sec {
  padding: 180px 0 120px;
  background: #263E62;
  position: relative;
  overflow: hidden; }
  section#works-sec .wrap {
    max-width: 1600px;
    width: 100%; }
  section#works-sec .btn01 {
    position: absolute;
    right: 0;
    top: 48px; }

section#works-sec:before {
  content: "";
  height: 60px;
  width: calc(50% + 480px);
  background: #fff;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0; }

article.works-art {
  width: 400px; }
  article.works-art a {
    display: block;
    background: #fff;
    border-radius: 5px;
    text-decoration: none;
    position: relative;
    height: 100%;
    box-sizing: border-box; }
    article.works-art a .img {
      border-bottom-radius: 5px 5px 0 0;
      overflow: hidden; }
      article.works-art a .img .in-img {
        padding-top: 70%;
        border-radius: 3px 3px 0 0;
        transition: 0.3s; }
    article.works-art a .cont {
      padding: 16px 32px 32px; }
      article.works-art a .cont .tit {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.35;
        margin-bottom: 16px; }
      article.works-art a .cont .n-date {
        margin-top: 16px; }
    article.works-art a .arrow {
      width: 32px;
      height: 32px;
      position: absolute;
      z-index: 2;
      border-radius: 100%;
      right: 16px;
      bottom: 16px;
      border: solid 1px #274C82;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      background: linear-gradient(110deg, #325C88 0%, #12385E 100%); }
      article.works-art a .arrow img {
        display: block;
        opacity: 1;
        position: relative;
        z-index: 2; }
    article.works-art a .arrow:before {
      content: "";
      width: 100%;
      height: 100%;
      border-radius: 100%;
      background: #fff;
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
      transition: 0.3s; }
  article.works-art a:hover .img .in-img {
    transform: scale(1.1); }
  article.works-art a:hover .arrow img {
    filter: brightness(0) saturate(100%) invert(26%) sepia(12%) saturate(3515%) hue-rotate(178deg) brightness(97%) contrast(90%); }
  article.works-art a:hover .arrow:before {
    opacity: 1; }

ul.cate-list01 {
  margin-top: 16px;
  line-height: 1.4; }
  ul.cate-list01 > li {
    display: inline; }
  ul.cate-list01 > li:before {
    content: "/"; }
  ul.cate-list01 > li:first-child:before {
    content: none; }

.w-data dl.flex {
  align-items: flex-start;
  line-height: 26px;
  margin-bottom: 4px; }
  .w-data dl.flex dt {
    width: 70px;
    margin-right: 8px;
    text-align: center;
    color: #274C82;
    font-size: 16px;
    background: #EFF5FB;
    font-weight: 700; }
  .w-data dl.flex dd {
    width: calc(100% - 78px);
    font-size: 20px;
    color: #274C82;
    font-weight: 700; }
.w-data dl.flex:last-child {
  margin-bottom: 0; }

div.slider01 {
  padding-bottom: 138px; }
  div.slider01 .slick-list {
    overflow: visible; }
  div.slider01 .slick-track {
    display: flex;
    flex-wrap: wrap; }
  div.slider01 article.works-art {
    margin-right: 40px;
    height: auto !important; }
  div.slider01 ul.slick-dots {
    text-align: left;
    bottom: 31px;
    display: flex;
    width: 1360px;
    left: auto;
    right: 0; }
    div.slider01 ul.slick-dots li {
      width: calc(100% / 10);
      height: 1px;
      margin: 0; }
    div.slider01 ul.slick-dots li.slick-active {
      padding: 0; }
      div.slider01 ul.slick-dots li.slick-active button {
        background: #fff; }
    div.slider01 ul.slick-dots button {
      width: 100%;
      height: 1px;
      background: #3C5F82;
      padding: 0; }
    div.slider01 ul.slick-dots button:before {
      content: none; }

button.slick-arrow {
  opacity: 1;
  z-index: 2;
  transition: 0s;
  width: 64px;
  height: 64px;
  box-sizing: border-box;
  transition: 0.3s;
  top: auto;
  bottom: 0;
  transform: translateY(0);
  border-radius: 100%;
  border: solid 1px #fff;
  border-radius: 100%; }

button.slick-prev.slick-arrow {
  background: url("../img/common/slide-arrow01.svg") no-repeat center;
  left: 0; }

button.slick-next.slick-arrow {
  background: url("../img/common/slide-arrow02.svg") no-repeat center;
  right: auto;
  left: 74px; }

button.slick-arrow:before {
  content: none; }

button.slick-prev.slick-arrow:hover {
  opacity: 0.7; }

button.slick-prev.slick-arrow.slick-disabled {
  background-image: url("../img/p02/slide-arrow01.svg"); }

button.slick-next.slick-arrow:hover {
  opacity: 0.7; }

button.slick-next.slick-arrow.slick-disabled {
  background-image: url("../img/p02/slide-arrow02.svg"); }

button.slick-arrow.slick-disabled {
  background-color: transparent; }

div#big-btns {
  display: flex;
  flex-wrap: wrap; }

div.big-btn {
  width: 50%;
  height: 22.91vw;
  display: table; }
  div.big-btn a {
    padding-left: 4.16vw;
    display: table-cell;
    vertical-align: middle;
    position: relative;
    text-decoration: none;
    background: url("../img/top/big01.jpg") no-repeat center;
    background-size: 100%; }
    div.big-btn a .titles01 {
      margin-bottom: 0; }
      div.big-btn a .titles01 .jp {
        font-size: 1.14vw; }
      div.big-btn a .titles01 .en {
        font-size: 3.75vw; }
    div.big-btn a .arrow {
      width: 2.86vw;
      height: 2.86vw;
      border-radius: 100%;
      position: absolute;
      right: 2.08vw;
      bottom: 2.08vw;
      z-index: 2;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      border-radius: 100%;
      border: solid 1px #fff; }
      div.big-btn a .arrow img {
        position: relative;
        z-index: 3;
        display: block;
        opacity: 1; }
    div.big-btn a .arrow:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border-radius: 100%;
      background: linear-gradient(110deg, #325C88 0%, #12385E 100%);
      opacity: 0;
      transition: 0.3s; }
  div.big-btn a:hover {
    background-size: 110%; }
    div.big-btn a:hover .arrow {
      border-color: #274C82; }
    div.big-btn a:hover .arrow:before {
      opacity: 1; }

div.big-btn:nth-child(2) a {
  background-image: url("../img/top/big02.jpg"); }

section#range-sec {
  padding: 120px 0;
  background: #F5F5F5; }
  section#range-sec .wrap {
    width: 1200px; }

div.range-list.flex {
  justify-content: space-between; }
  div.range-list.flex .kiriBox {
    position: relative;
    width: 378px;
    padding-top: 49px;
    position: relative; }
    div.range-list.flex .kiriBox .inner {
      background: #fff;
      padding: 35px 40px 40px;
      border-radius: 8px 0 3px 3px;
      height: 100%;
      box-sizing: border-box; }
      div.range-list.flex .kiriBox .inner .in-text {
        line-height: 1.8; }
      div.range-list.flex .kiriBox .inner .sizeTBL {
        margin-bottom: 8px; }
    div.range-list.flex .kiriBox h3.titles03 {
      position: absolute;
      height: 49px;
      background: #F5F5F5;
      z-index: 2;
      left: 0;
      top: 0;
      padding: 10px 26px 12px 14px;
      box-sizing: border-box; }
      div.range-list.flex .kiriBox h3.titles03 > span {
        position: relative;
        z-index: 2; }
      div.range-list.flex .kiriBox h3.titles03 > span.kirikaki {
        position: absolute;
        width: 10px;
        height: 100%;
        background: #fff;
        border-radius: 8px 0 0 0;
        right: 0;
        top: 0;
        padding: 0; }
    div.range-list.flex .kiriBox h3.titles03:before {
      content: "";
      width: 10px;
      height: 10px;
      background: #fff;
      position: absolute;
      right: 10px;
      bottom: 0; }
    div.range-list.flex .kiriBox h3.titles03:after {
      content: "";
      width: 10px;
      height: 10px;
      background: #F5F5F5;
      position: absolute;
      right: 10px;
      bottom: 0;
      border-radius: 0 0 8px 0; }
    div.range-list.flex .kiriBox .blue-text {
      font-weight: 700;
      font-size: 24px;
      line-height: 1;
      margin-bottom: 15px;
      color: #274C82; }
      div.range-list.flex .kiriBox .blue-text .big {
        font-size: 28px; }
  div.range-list.flex .kiriBox:before {
    content: "";
    position: absolute;
    width: calc(100% - 80px);
    height: 50px;
    background: #fff;
    right: 0;
    top: 0; }
  div.range-list.flex .kiriBox.box04 {
    width: 100%;
    margin: 32px 0; }
  div.range-list.flex .kiriBox.box02 .blue-text {
    margin-bottom: 8px; }
    div.range-list.flex .kiriBox.box02 .blue-text .big {
      font-size: 40px;
      font-family: "os"; }

.sizeTBL dl.flex {
  align-items: flex-start;
  line-height: 26px;
  margin-bottom: 4px; }
  .sizeTBL dl.flex dt {
    width: 70px;
    margin-right: 8px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    border-radius: 16px;
    background: #274C82; }
  .sizeTBL dl.flex dd {
    width: calc(100% - 78px);
    font-size: 20px;
    color: #274C82;
    font-weight: 700; }
.sizeTBL dl.flex:last-child {
  margin-bottom: 0; }

.mate-list01.flex {
  margin-top: 8px; }
  .mate-list01.flex .mateBox {
    background: #EFF5FA;
    border-top: solid 1px #C5D6E6;
    width: 362px;
    margin: 16px 16px 0 0;
    box-sizing: border-box;
    padding: 23px 24px 24px; }
    .mate-list01.flex .mateBox > h4 {
      margin-bottom: 8px;
      color: #fff;
      font-size: 16px;
      font-weight: 700;
      line-height: 26px; }
      .mate-list01.flex .mateBox > h4 > span {
        display: inline-block;
        padding: 0 12px;
        background: #274C82;
        border-radius: 20px; }
  .mate-list01.flex .mateBox:nth-child(3n) {
    margin-right: 0; }

ul.dot-list {
  line-height: 1.1; }
  ul.dot-list li {
    margin-bottom: 8px;
    position: relative;
    padding-left: 18px; }
  ul.dot-list li:before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0; }
  ul.dot-list li:last-child {
    margin-bottom: 0; }

section#news-sec {
  padding: 120px 0; }
  section#news-sec .wrap {
    display: flex;
    flex-wrap: wrap;
    min-height: 216px;
    justify-content: space-between;
    width: 1200px; }
    section#news-sec .wrap .btn01 {
      position: absolute;
      left: 0;
      top: 147px;
      min-width: 200px;
      height: 64px; }
      section#news-sec .wrap .btn01 a .arrow {
        right: 16px; }
    section#news-sec .wrap .news-list01 {
      width: 880px; }

.n-date {
  color: #838589; }

article.top-news-art {
  margin-bottom: 24px; }
  article.top-news-art a {
    padding-bottom: 24px;
    position: relative;
    border-bottom: solid 1px #DBE2E8;
    display: block;
    text-decoration: none;
    box-sizing: border-box;
    padding-right: 50px;
    width: 100%; }
    article.top-news-art a .n-date {
      margin-bottom: 12px; }
    article.top-news-art a .infos.flex {
      margin-bottom: 15px; }
    article.top-news-art a .tit {
      width: 100%;
      line-height: 1;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical; }
    article.top-news-art a .arrow {
      width: 32px;
      height: 32px;
      overflow: hidden;
      position: absolute;
      right: 0;
      bottom: 24px;
      display: block;
      z-index: 2;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      background: linear-gradient(110deg, #325C88 0%, #12385E 100%);
      border-radius: 100%; }
      article.top-news-art a .arrow img {
        display: block;
        opacity: 1; }
  article.top-news-art a:hover .arrow > span {
    left: 0;
    transition: 0.3s; }
  article.top-news-art a:before {
    content: "";
    width: 0;
    height: 1px;
    background: #274C82;
    transition: 0.6s;
    position: absolute;
    left: 0;
    bottom: -1px; }
  article.top-news-art a:hover:before {
    width: 100%; }

article.top-news-art:last-child {
  margin-bottom: 0; }

.infos.flex {
  width: calc(100% + 16px);
  margin-left: -16px;
  align-items: center; }
  .infos.flex > div {
    margin: 10px 0 0 16px;
    line-height: 28px;
    height: 28px;
    font-size: 14px; }

.cates {
  padding: 0 16px;
  color: #fff;
  background: #262626;
  border-radius: 40px; }

section#recruit-sec {
  position: relative;
  overflow: hidden;
  position: relative;
  padding: 160px 0 128px;
  box-sizing: border-box;
  min-height: 748px;
  background: url("../img/top/rec-img.png") no-repeat left calc(50% + 240px) bottom #F9F9F9; }
  section#recruit-sec .wrap {
    width: 1300px; }
  section#recruit-sec .btn01 {
    margin-top: 40px; }

section#recruit-sec:before {
  content: "";
  height: 60px;
  width: calc(50% + 480px);
  background: #fff;
  position: absolute;
  z-index: 2;
  right: 0;
  top: 0; }

.copy01 {
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
  margin-bottom: 30px; }

/*02 東和螺子とは
----------------------------------*/
.page-about div#umv {
  height: 428px; }

div#umv {
  color: #fff;
  background: url("../img/p02/umv01.jpg") no-repeat center top;
  background-size: cover;
  height: 340px;
  box-sizing: border-box;
  padding-top: calc(4vw + 60px); }
  div#umv .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    div#umv .wrap .umv-cont {
      width: 560px; }
  div#umv ul.border-list.flex {
    width: calc(100% + 8px);
    margin: -8px 0 0 -8px; }
    div#umv ul.border-list.flex > li {
      line-height: 1;
      font-size: 18px;
      padding: 6p 9px 8px;
      margin: 8px 0 0 8px; }

.mv-tit .jp {
  display: block;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.5; }
.mv-tit .en {
  display: block;
  line-height: 1;
  font-weight: 700;
  font-size: 18px;
  margin-top: 16px; }

.umv-copy {
  font-weight: 700;
  margin-bottom: 32px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5; }

section#p02Box01 {
  padding: 100px 0 120px; }
  section#p02Box01 h2.titles01 {
    margin-bottom: 64px; }

div.twin-cont.flex {
  margin-bottom: 64px;
  justify-content: space-between;
  align-items: flex-start; }
  div.twin-cont.flex > .img {
    width: 560px; }
  div.twin-cont.flex > .cont {
    width: 476px; }
    div.twin-cont.flex > .cont .text {
      line-height: 1.8; }
    div.twin-cont.flex > .cont .num-tit {
      margin-top: -5px; }

div.twin-cont.flex:nth-child(2n) {
  flex-direction: row-reverse; }

div.twin-cont.flex:last-child {
  margin-bottom: 0; }

.feature-list02 .num-tit {
  margin-bottom: 16px !important; }
.feature-list02 .twin-cont.flex.box04 .btn01 {
  margin-top: 120px; }

.img.u-onestop {
  padding: 32px 32px 40px;
  background: #EFF5FA;
  box-sizing: border-box; }
  .img.u-onestop .one-st-tit {
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
    color: #274C82;
    margin-bottom: 8px;
    text-align: center; }
  .img.u-onestop .onestop-flow {
    padding-top: 24px;
    background: url("../img/p02/onestop-arrow01.svg") no-repeat right top;
    margin-bottom: 8px;
    justify-content: space-between; }
    .img.u-onestop .onestop-flow > .box {
      box-sizing: border-box;
      width: 120px;
      padding: 16px 12px;
      border: solid 1px #DBE2E8;
      margin-right: 0;
      background: #fff;
      text-align: center; }
      .img.u-onestop .onestop-flow > .box .num {
        display: block;
        background: #274C82;
        line-height: 21px;
        height: 21px;
        font-size: 14px;
        font-weight: 700;
        color: #fff;
        line-height: 21px;
        border-radius: 20px;
        width: 41px;
        margin: 0 auto 8px; }
      .img.u-onestop .onestop-flow > .box .text {
        font-weight: 700;
        line-height: 1.2;
        font-size: 18px; }
        .img.u-onestop .onestop-flow > .box .text span.komoji {
          font-weight: 500;
          font-size: 16px; }
    .img.u-onestop .onestop-flow > .box:last-child {
      margin-right: 0; }
  .img.u-onestop .onestop-flow:last-child {
    margin-bottom: 0; }

body:not(.home) .num-tit {
  margin-bottom: 8px; }
  body:not(.home) .num-tit .num {
    font-family: "os";
    font-size: 14px;
    font-weight: 700;
    border-radius: 20px;
    line-height: 22px;
    height: 22px;
    background: #274C82;
    text-align: center;
    display: inline-block;
    color: #fff;
    width: 41px; }
  body:not(.home) .num-tit .text {
    display: block;
    font-weight: 700;
    font-size: 20px;
    color: #274C82;
    line-height: 1.45 !important;
    margin-top: 8px; }
  body:not(.home) .num-tit .copy02 {
    margin-top: 10px;
    font-size: 36px;
    margin-bottom: 0; }
body:not(.home) .copy02 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 32px;
  display: block; }

section#p02Box02 {
  padding: 120px 0;
  background: #F9F9F9; }

.reason-list02 div.twin-cont.flex > .img {
  width: 440px; }
.reason-list02 div.twin-cont.flex > .cont {
  width: 596px; }

.whithBox {
  background: #FFFFFF;
  padding: 40px;
  box-sizing: border-box;
  width: 100%; }

.whithBox.costBox {
  margin-top: 64px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .whithBox.costBox > .left {
    width: 540px; }
    .whithBox.costBox > .left .text {
      line-height: 1.8; }
  .whithBox.costBox > .right {
    width: 440px; }

.sub-text01 {
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 8px; }

section#p02Box03 .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }
  section#p02Box03 .wrap > .img {
    height: 744px;
    width: 577px;
    position: relative; }
    section#p02Box03 .wrap > .img .blue-bg-copy {
      font-size: 40px;
      font-weight: 700;
      color: #fff;
      line-height: 1;
      position: absolute;
      z-index: 2;
      left: -40px;
      bottom: 120px; }
      section#p02Box03 .wrap > .img .blue-bg-copy > span {
        display: inline-block;
        background: #274C82;
        padding: 10px 13px; }
  section#p02Box03 .wrap .cont {
    padding: 100px 0;
    width: 440px; }
    section#p02Box03 .wrap .cont .text {
      line-height: 1.8; }

.vslide-list {
  padding-bottom: 16px; }

div.v-slider {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 744px;
  overflow: hidden; }

div.v-slider > div.vslider {
  width: 280px; }

.vslider01 .vslide-wrapper:first-child {
  animation: loop 90s -45s linear infinite; }

.vslider01 .vslide-wrapper:last-child {
  animation: loop2 90s linear infinite; }

.vslider02 .vslide-wrapper:first-child {
  animation: loop3 90s -45s linear infinite; }

.vslider02 .vslide-wrapper:last-child {
  animation: loop4 90s linear infinite; }

@keyframes loop {
  0% {
    transform: translateY(100%); }
  to {
    transform: translateY(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateY(0); }
  to {
    transform: translateY(-200%); } }
@keyframes loop3 {
  0% {
    transform: translateY(-100%); }
  to {
    transform: translateY(100%); } }
@keyframes loop4 {
  0% {
    transform: translateY(-200%); }
  to {
    transform: translateY(0); } }
/*03 CNC自動旋盤
----------------------------------*/
section#p03Box01 {
  padding: 100px 0 120px; }

.twin-cont.flex.p03-cont01 {
  margin-bottom: 40px; }
  .twin-cont.flex.p03-cont01 .cont {
    width: 516px; }
  .twin-cont.flex.p03-cont01 .img {
    width: 520px; }

.intBox {
  border: solid 1px #274C82; }
  .intBox .tit {
    text-align: center;
    background: #274C82;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    padding: 16px; }
  .intBox .inner {
    padding: 32px 34px; }

ul.ico-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -20px;
  width: 100%; }
  ul.ico-list > li {
    width: 330px;
    margin: 20px 20px 0 0;
    box-sizing: border-box;
    padding-left: 17px;
    background: url("../img/common/sub-ico01.svg") no-repeat left top 5px;
    background-size: 12px;
    line-height: 1.2; }
  ul.ico-list > li:nth-child(3n) {
    margin-right: 0; }

section#p03Box02 {
  padding: 120px 0 120px;
  background: #F9F9F9; }
  section#p03Box02 h2.titles01 {
    margin-bottom: 64px; }

.border-box {
  background: #fff;
  border: solid 1px #274C82;
  padding: 30px 49px 39px; }
  .border-box ul.ico-list {
    justify-content: space-between;
    margin-top: -16px; }
    .border-box ul.ico-list > li {
      width: 480px;
      margin-right: 0;
      margin-top: 16px;
      line-height: 1;
      background-position: left top 8px; }
      .border-box ul.ico-list > li .blue {
        font-size: 22px;
        font-weight: 700; }
      .border-box ul.ico-list > li .komoji {
        font-size: 14px; }

.twin-cont-list.feature-list03 {
  margin-top: 64px; }
  .twin-cont-list.feature-list03 .twin-cont.flex .cont {
    width: 565px; }
    .twin-cont-list.feature-list03 .twin-cont.flex .cont h3.num-tit {
      margin-bottom: 16px; }
      .twin-cont-list.feature-list03 .twin-cont.flex .cont h3.num-tit .copy02 {
        font-size: 32px; }
        .twin-cont-list.feature-list03 .twin-cont.flex .cont h3.num-tit .copy02 .blue {
          font-size: 36px; }
  .twin-cont-list.feature-list03 .twin-cont.flex .img {
    width: 480px; }

body:not(.home) section#works-sec {
  padding: 6.25vw 0; }
body:not(.home) section#works-sec:before {
  content: none; }

/*04 NC旋盤
----------------------------------*/
.blue-bg-box {
  margin-top: 15px;
  background: #EFF5FA;
  padding: 16px 20px;
  line-height: 1.2;
  font-weight: 700; }

/*05 NC旋盤
----------------------------------*/
.p05Box01 ul.ico-list {
  justify-content: space-between; }
  .p05Box01 ul.ico-list > li {
    width: 480px;
    margin-right: 0; }

/*06 その他加工
----------------------------------*/
.twin-cont.flex.p06-cont01 > .cont {
  width: 510px; }
  .twin-cont.flex.p06-cont01 > .cont .num-tit {
    margin-top: 0;
    margin-bottom: 15px; }
    .twin-cont.flex.p06-cont01 > .cont .num-tit span.text {
      font-size: 18px; }
  .twin-cont.flex.p06-cont01 > .cont .copy02 {
    font-size: 34px;
    line-height: 1.5;
    margin-bottom: 0; }
.twin-cont.flex.p06-cont01 > .cont02 {
  width: 510px; }

.p06Box01 .intBox {
  border: none; }

ul.link-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between; }
  ul.link-list > li {
    margin-top: 10px;
    width: 545px;
    height: 56px;
    display: table; }
    ul.link-list > li a {
      display: table-cell;
      text-decoration: none;
      border: solid 1px #E0E0E0;
      position: relative;
      padding: 10px 48px 10px 24px;
      text-align: left;
      vertical-align: middle; }
      ul.link-list > li a .text {
        display: inline-block;
        position: relative;
        z-index: 3;
        font-size: 20px;
        font-weight: 700; }
      ul.link-list > li a .arrow {
        width: 24px;
        height: 24px;
        position: absolute;
        z-index: 2;
        border-radius: 100%;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        border: solid 1px #274C82;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background: linear-gradient(110deg, #325C88 0%, #12385E 100%); }
        ul.link-list > li a .arrow img {
          display: block;
          opacity: 1;
          position: relative;
          z-index: 2; }
        ul.link-list > li a .arrow:before {
          content: "";
          width: 100%;
          height: 100%;
          border-radius: 100%;
          background: #fff;
          position: absolute;
          left: 0;
          top: 0;
          opacity: 0;
          transition: 0.3s; }
    ul.link-list > li a:hover .arrow img {
      filter: brightness(0) saturate(100%) invert(25%) sepia(12%) saturate(4532%) hue-rotate(182deg) brightness(95%) contrast(87%); }
    ul.link-list > li a:hover .arrow:before {
      opacity: 1; }

div#p06Box02 {
  padding: 100px 0;
  background: #F9F9F9; }
  div#p06Box02 ul.ico-list > li {
    width: 100%; }

.twin-cont-list.etc-list .twin-cont.flex {
  flex-direction: row; }
  .twin-cont-list.etc-list .twin-cont.flex > .cont {
    width: 565px; }
    .twin-cont-list.etc-list .twin-cont.flex > .cont .intBox {
      margin-top: 15px; }
      .twin-cont-list.etc-list .twin-cont.flex > .cont .intBox .tit {
        text-align: left;
        font-size: 18px;
        text-align: left;
        padding: 16px 24px; }
      .twin-cont-list.etc-list .twin-cont.flex > .cont .intBox .inner {
        padding: 23px; }
      .twin-cont-list.etc-list .twin-cont.flex > .cont .intBox ul.ico-list {
        display: block;
        margin-top: -9px; }
        .twin-cont-list.etc-list .twin-cont.flex > .cont .intBox ul.ico-list > li {
          margin: 9px 0 0 0; }
  .twin-cont-list.etc-list .twin-cont.flex > .img {
    width: 480px; }

/*07 ワンストップ総合加工
----------------------------------*/
section#p07Box01 {
  padding: 100px 0 120px; }
  section#p07Box01 .belt-arrow {
    background: #274C82;
    color: #fff;
    text-align: center;
    height: 80px;
    font-size: 32px;
    font-weight: 700;
    box-sizing: border-box;
    padding-top: 34px;
    line-height: 1;
    overflow: hidden;
    margin-bottom: 24px;
    clip-path: polygon(calc(100% - 80px) 27px, calc(100% - 80px) 0, 100% 100%, 0 100%, 0 27px);
    position: relative; }
    section#p07Box01 .belt-arrow > span {
      display: inline-block;
      position: relative;
      z-index: 2; }
    section#p07Box01 .belt-arrow .wave {
      width: 130%;
      height: 100%;
      background: rgba(255, 255, 255, 0.16);
      animation: wave01 20s 0s linear infinite;
      position: absolute;
      left: 0;
      bottom: 0; }
  section#p07Box01 .onestop-flow {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
    section#p07Box01 .onestop-flow > .box {
      box-sizing: border-box;
      width: 123px;
      padding: 16px 0;
      border: solid 1px #DBE2E8;
      margin-right: 16px;
      background: #fff;
      text-align: center; }
      section#p07Box01 .onestop-flow > .box .num {
        display: inline-block;
        background: #274C82;
        line-height: 21px;
        height: 21px;
        font-size: 14px;
        font-weight: 700;
        color: #fff;
        line-height: 21px;
        border-radius: 20px;
        width: 41px;
        margin-bottom: 8px; }
      section#p07Box01 .onestop-flow > .box .text {
        font-weight: 700;
        line-height: 1.2;
        font-size: 20px; }
        section#p07Box01 .onestop-flow > .box .text span.komoji {
          font-weight: 500;
          font-size: 16px; }
    section#p07Box01 .onestop-flow > .box:last-child {
      margin-right: 0; }

.border-box.p07-cont01 {
  padding: 48px 39px;
  margin-bottom: 0; }
  .border-box.p07-cont01 > .inner.flex {
    justify-content: space-between; }
    .border-box.p07-cont01 > .inner.flex .left {
      width: calc(100% - 220px); }
      .border-box.p07-cont01 > .inner.flex .left .tit {
        line-height: 1;
        font-weight: 700;
        font-size: 24px;
        margin-bottom: 34px; }
      .border-box.p07-cont01 > .inner.flex .left ul.ico-list {
        margin-top: -8px;
        justify-content: space-between; }
        .border-box.p07-cont01 > .inner.flex .left ul.ico-list > li {
          width: 383px;
          line-height: 1.22;
          margin: 8px 0 0 0;
          background-position: left top 5px; }
        .border-box.p07-cont01 > .inner.flex .left ul.ico-list > li:nth-child(2n) {
          width: calc(100% - 383px); }
    .border-box.p07-cont01 > .inner.flex .img {
      width: 220px;
      margin-top: -10px; }

.arrow-textBox {
  width: 100%;
  height: 180px;
  background: url("../img/p07/bg-arrow.svg") no-repeat center top;
  display: table;
  margin-bottom: 64px; }
  .arrow-textBox > div {
    display: table-cell;
    text-align: center;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.5;
    padding-top: 20px; }

.twin-cont.flex.p07-cont02 {
  margin-bottom: 40px; }
  .twin-cont.flex.p07-cont02 .cont {
    width: 550px; }
    .twin-cont.flex.p07-cont02 .cont h2.copy02 {
      font-size: 32px;
      line-height: 1.5;
      margin-bottom: 24px; }
  .twin-cont.flex.p07-cont02 .img {
    width: 470px; }

/*08 試作・開発支援
----------------------------------*/
section#p08Box01 {
  padding: 100px 0 120px; }

.twin-cont.flex.p08-cont01 > .cont {
  position: relative;
  width: 480px;
  box-sizing: border-box;
  border: solid 1px #274C82;
  padding: 33px 31px; }
  .twin-cont.flex.p08-cont01 > .cont .tit {
    font-weight: 700;
    font-size: 24px;
    line-height: 1;
    margin-bottom: 32px; }
  .twin-cont.flex.p08-cont01 > .cont ul.ico-list {
    margin-top: 0;
    display: block; }
    .twin-cont.flex.p08-cont01 > .cont ul.ico-list > li {
      margin: 12px 0 0 0;
      width: 100%;
      line-height: 1.2; }
    .twin-cont.flex.p08-cont01 > .cont ul.ico-list > li:first-child {
      margin-top: 0; }
.twin-cont.flex.p08-cont01 > .cont:before {
  content: "";
  width: 0;
  height: 0;
  border-left: solid 40px #EFF5FA;
  border-top: solid 40px transparent;
  border-bottom: solid 40px transparent;
  position: absolute;
  margin: auto 0;
  top: 0;
  bottom: 0;
  left: calc(100% + 41px); }
.twin-cont.flex.p08-cont01 > .cont02 {
  width: 500px; }
  .twin-cont.flex.p08-cont01 > .cont02 .copy02 {
    font-size: 33px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 24px; }
  .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list {
    margin-top: 0;
    display: block; }
    .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list > li {
      margin: 12px 0 0 0;
      width: 100%;
      line-height: 1.2;
      background-position: left top 10px; }
      .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list > li .blue {
        font-weight: 700;
        font-size: 24px; }
    .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list > li:first-child {
      margin-top: 0; }

.twin-cont.flex.p08-cont02 {
  flex-direction: row !important; }
  .twin-cont.flex.p08-cont02 .cont {
    width: 560px; }
  .twin-cont.flex.p08-cont02 .img {
    width: 500px; }

.subBox {
  margin-bottom: 32px; }
  .subBox .tit {
    text-align: center;
    color: #fff;
    background: #274C82;
    line-height: 1;
    font-weight: 700;
    font-size: 18px;
    padding: 10px;
    margin-bottom: 16px; }
  .subBox ul.ico-list {
    margin-top: 0;
    display: block; }
    .subBox ul.ico-list > li {
      margin: 4px 0 0 0;
      width: 100%;
      line-height: 1.2;
      background-position: left top 5px; }
    .subBox ul.ico-list > li:first-child {
      margin-top: 0; }

.subBox:last-child {
  margin-bottom: 0; }

.p08TBL dl {
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 8px; }
  .p08TBL dl dt {
    width: 80px;
    color: #fff;
    height: 26px;
    line-height: 26px;
    border-radius: 20px;
    text-align: center;
    font-weight: 700;
    background: #274C82;
    font-size: 16px; }
  .p08TBL dl dd {
    width: calc(100% - 88px);
    line-height: 1.4; }
    .p08TBL dl dd .in-dd {
      margin-bottom: 8px; }
    .p08TBL dl dd .in-dd:last-child {
      margin-bottom: 0; }
.p08TBL dl:last-child {
  margin-bottom: 0; }

section#p08Box02 {
  padding: 120px 0;
  background: #F9F9F9; }
  section#p08Box02 h2.titles01 {
    margin-bottom: 64px; }

.twin-cont-list.flow-list08 .twin-cont.flex {
  flex-direction: row-reverse;
  margin-bottom: 40px; }
  .twin-cont-list.flow-list08 .twin-cont.flex .cont {
    width: 725px; }
    .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit {
      margin-top: 0;
      margin-bottom: 8px;
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .num {
        margin-right: 14px; }
      .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .copy02 {
        line-height: 1.6;
        font-size: 32px;
        margin-top: 0; }
        .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .copy02 .komoji {
          font-size: 20px; }
  .twin-cont-list.flow-list08 .twin-cont.flex .img {
    width: 320px; }
.twin-cont-list.flow-list08 .twin-cont.flex:last-child {
  margin-bottom: 0; }

/*09 会社案内
----------------------------------*/
section#p09Box01 {
  padding: 100px 0 120px; }
  section#p09Box01 .titles01 {
    margin-bottom: 48px; }

.TBL01 tr {
  border-bottom: solid 1px #DBE2E8; }
.TBL01 th, .TBL01 td {
  box-sizing: border-box;
  vertical-align: top;
  line-height: 1.4;
  padding: 20px 0; }
.TBL01 th {
  width: 160px;
  font-weight: 700;
  color: #274C82; }
.TBL01 tr:last-child {
  border-bottom: none; }
  .TBL01 tr:last-child th, .TBL01 tr:last-child td {
    padding-bottom: 0; }

section#p09Box02 {
  padding: 120px 0 120px;
  background: #F9F9F9; }
  section#p09Box02 .titles01 {
    margin-bottom: 64px; }

.twin-cont.flex.access-box {
  flex-direction: row !important; }
  .twin-cont.flex.access-box .map {
    width: 100%;
    height: 380px;
    margin-top: 40px; }
    .twin-cont.flex.access-box .map iframe {
      width: 100%;
      height: 100%; }
  .twin-cont.flex.access-box .img {
    width: 510px; }
  .twin-cont.flex.access-box .cont {
    width: 510px; }
    .twin-cont.flex.access-box .cont .inBox {
      margin-bottom: 40px; }
      .twin-cont.flex.access-box .cont .inBox .titles04 {
        margin-bottom: 7; }
      .twin-cont.flex.access-box .cont .inBox .text {
        line-height: 1.4; }
    .twin-cont.flex.access-box .cont .inBox:last-child {
      margin-bottom: 0; }

.border-box02 {
  margin-top: 24px;
  border: solid 1px #274C82;
  padding: 16px 24px; }
  .border-box02 h4 {
    font-weight: 700;
    line-height: 1.2;
    font-size: 20px;
    margin-bottom: 16px; }
  .border-box02 .p08TBL dl dt {
    width: 120px; }
  .border-box02 .p08TBL dl dd {
    width: calc(100% - 128px); }

section#p09Box03 {
  padding: 120px 0 120px; }
  section#p09Box03 .titles01 {
    margin-bottom: 64px; }

.ph-list {
  padding-left: 80px; }
  .ph-list > div {
    align-items: center;
    margin-bottom: 8px;
    line-height: 1.6;
    font-weight: 700;
    font-size: 26px; }
    .ph-list > div span.num {
      font-family: "os";
      font-size: 20px;
      margin-right: 20px;
      color: #274C82; }
  .ph-list > div:last-child {
    margin-bottom: 0; }

section#p09Box04 {
  padding: 120px 0 120px;
  background: #F9F9F9; }

.twin-cont.flex.meBox {
  flex-direction: row !important; }
  .twin-cont.flex.meBox .img {
    width: 460px; }
  .twin-cont.flex.meBox .cont {
    width: 560px; }

.p09-name {
  margin-top: 24px;
  line-height: 1; }
  .p09-name .line01 {
    font-size: 20px;
    margin-right: 24px; }
  .p09-name .line02 {
    font-size: 24px; }

section#p09Box05 {
  padding: 120px 0 120px; }
  section#p09Box05 .titles01 {
    margin-bottom: 64px; }

.historyBox.flex {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: solid 1px #DBE2E8; }
  .historyBox.flex .age {
    width: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-weight: 700;
    font-family: "os";
    margin-right: 40px;
    color: #274C82;
    font-size: 20px; }
    .historyBox.flex .age .gatsu {
      font-size: 18px; }
  .historyBox.flex .cont {
    width: calc(100% - 140px);
    line-height: 1.6; }

.historyBox.flex:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none; }

/*10 設備紹介 
----------------------------------*/
div#p10Box01 {
  padding: 100px 0 120px; }

div#p10Box02 {
  padding: 120px 0 120px;
  background: #F9F9F9; }
  div#p10Box02 ul.anc-list {
    background: #fff; }

div#two-content {
  justify-content: space-between;
  flex-direction: row-reverse; }

div#two-main {
  width: 830px; }

div#two-side {
  width: 210px; }

div#two-content02 {
  justify-content: space-between;
  flex-direction: row-reverse; }

div#two-main02 {
  width: 830px; }

div#two-side02 {
  width: 210px; }

.stickyBox {
  position: sticky;
  z-index: 3;
  top: calc(4.792vw + 30px); }

.faci-inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  margin-top: -30px; }

article.faci-art {
  margin-top: 30px;
  width: 400px; }
  article.faci-art .img {
    margin-bottom: 16px; }
    article.faci-art .img .in-img {
      padding-top: 70%; }
  article.faci-art .cont > h3 {
    font-weight: 700;
    font-size: 24px;
    line-height: 1.35;
    margin-bottom: 16px; }

.TBL-faci th, .TBL-faci td {
  box-sizing: border-box;
  line-height: 1.2;
  font-weight: 700;
  color: #274C82;
  padding: 8px;
  vertical-align: middle;
  text-align: left;
  border-top: solid 1px #DBE1E6;
  border-bottom: solid 1px #DBE1E6; }
.TBL-faci th {
  width: 150px;
  background: #EFF5FB; }

ul.anc-list {
  padding: 30px 25px;
  background: #F9F9F9; }
  ul.anc-list > li {
    margin-bottom: 13px; }
    ul.anc-list > li a {
      font-weight: 700;
      text-decoration: none;
      display: inline-block;
      padding-left: 24px;
      background: url("../img/common/sub-arrow-l.svg") no-repeat left center;
      line-height: 24px; }
      ul.anc-list > li a:hover {
        color: #274C82; }
  ul.anc-list > li:last-child {
    margin-bottom: 0; }

section.faciSec {
  margin-bottom: 80px; }

section.faciSec:last-child {
  margin-bottom: 0; }

.TBL10 th, .TBL10 td {
  box-sizing: border-box;
  text-align: left;
  vertical-align: middle;
  line-height: 1.2;
  padding: 16px; }
.TBL10 thead th {
  font-weight: 700;
  background: #F3F3F3;
  border-bottom: solid 1px #CED7DF; }
.TBL10 thead th.col01 {
  background: #D9ECFF; }
.TBL10 tbody th, .TBL10 tbody td {
  border-bottom: solid 1px #CED7DF;
  font-weight: 500; }
.TBL10 tbody th {
  background: #EFF5FB; }
.TBL10 tbody td {
  background: #fff; }
.TBL10 .col01 {
  width: 240px; }
.TBL10 .col02 {
  width: 120px; }
.TBL10 .col03 {
  width: 195px; }
.TBL10 .col04 {
  width: 195px; }
.TBL10 .col05 {
  width: 80px; }

/*11 実績紹介 
----------------------------------*/
div#two-main.blog-p {
  width: 850px; }

div.case-list-all {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -30px; }
  div.case-list-all article.works-art {
    width: 400px;
    margin-top: 30px; }
    div.case-list-all article.works-art a {
      display: block;
      background: #fff;
      border-radius: 5px;
      text-decoration: none;
      position: relative; }
      div.case-list-all article.works-art a .img {
        border-radius: 5px 5px 0 0;
        overflow: hidden; }
        div.case-list-all article.works-art a .img .in-img {
          padding-top: 70%;
          border-radius: 3px 3px 0 0;
          transition: 0.3s; }
      div.case-list-all article.works-art a .cont {
        padding: 16px 32px 32px; }
        div.case-list-all article.works-art a .cont .tit {
          font-size: 24px;
          font-weight: 700;
          line-height: 1.35;
          margin-bottom: 16px;
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis; }
        div.case-list-all article.works-art a .cont .n-date {
          margin-top: 16px; }
      div.case-list-all article.works-art a .arrow {
        width: 32px;
        height: 32px;
        position: absolute;
        z-index: 2;
        border-radius: 100%;
        right: 16px;
        bottom: 16px;
        border: solid 1px #274C82;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background: linear-gradient(110deg, #325C88 0%, #12385E 100%); }
        div.case-list-all article.works-art a .arrow img {
          display: block;
          opacity: 1;
          position: relative;
          z-index: 2; }
      div.case-list-all article.works-art a .arrow:before {
        content: "";
        width: 100%;
        height: 100%;
        border-radius: 100%;
        background: #fff;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: 0.3s; }
    div.case-list-all article.works-art a:hover .img .in-img {
      transform: scale(1.1); }
    div.case-list-all article.works-art a:hover .arrow img {
      filter: brightness(0) saturate(100%) invert(26%) sepia(12%) saturate(3515%) hue-rotate(178deg) brightness(97%) contrast(90%); }
    div.case-list-all article.works-art a:hover .arrow:before {
      opacity: 1; }
  div.case-list-all ul.cate-list01 {
    margin-top: 16px;
    line-height: 1.4; }
    div.case-list-all ul.cate-list01 > li {
      display: inline; }
    div.case-list-all ul.cate-list01 > li:before {
      content: "/"; }
    div.case-list-all ul.cate-list01 > li:first-child:before {
      content: none; }
  div.case-list-all .w-data dl.flex {
    align-items: flex-start;
    line-height: 26px;
    margin-bottom: 4px; }
    div.case-list-all .w-data dl.flex dt {
      width: 70px;
      margin-right: 8px;
      text-align: center;
      color: #274C82;
      font-size: 16px;
      background: #EFF5FB;
      font-weight: 700; }
    div.case-list-all .w-data dl.flex dd {
      width: calc(100% - 78px);
      font-size: 20px;
      color: #274C82;
      font-weight: 700; }
  div.case-list-all .w-data dl.flex:last-child {
    margin-bottom: 0; }

/*詳細*/
.single-works div#umv {
  height: auto;
  padding-bottom: 100px; }

h1.single-tit {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4; }

div#contents.bg11 {
  background: #F9F9F9; }

div#p11sBox01 {
  padding: 100px 0 120px; }
  div#p11sBox01 div#two-content {
    flex-direction: row; }
  div#p11sBox01 .blog-text {
    margin-top: 40px; }

article.singleBox01 .w-data {
  margin-top: 40px; }
  article.singleBox01 .w-data dl.flex {
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: solid 1px #DBE2E8;
    font-size: 18px;
    font-weight: 700;
    align-items: flex-start; }
    article.singleBox01 .w-data dl.flex dt {
      width: 70px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      margin-right: 16px; }
    article.singleBox01 .w-data dl.flex dd {
      width: calc(100% - 86px);
      color: #242424;
      line-height: 1.2;
      padding-top: 8px; }
  article.singleBox01 .w-data dl.flex:last-child {
    margin-bottom: 0; }

.works-cont01.flex {
  justify-content: space-between;
  align-items: flex-start; }
  .works-cont01.flex .gallery-main {
    width: 520px; }
    .works-cont01.flex .gallery-main button.slick-prev.slick-arrow {
      border-radius: 32px !important;
      width: 40px;
      height: 64px;
      background: url("../img/p11/w-arrow01.svg") no-repeat center;
      background-size: contain;
      top: 195px;
      transform: translateY(-50%);
      left: 8px;
      right: auto;
      border: none; }
    .works-cont01.flex .gallery-main button.slick-next.slick-arrow {
      border-radius: 32px !important;
      width: 40px;
      height: 64px;
      background: url("../img/p11/w-arrow02.svg") no-repeat center;
      background-size: contain;
      top: 195px;
      transform: translateY(-50%);
      right: 8px;
      left: auto;
      border: none; }
  .works-cont01.flex .gallery-thumb.flex {
    width: 250px;
    margin-top: -10px;
    justify-content: space-between; }
    .works-cont01.flex .gallery-thumb.flex .slick-track {
      transform: none !important;
      width: 100% !important;
      display: flex;
      flex-wrap: wrap; }

.g-main .cap {
  line-height: 1.2;
  margin-top: 8px; }

.g-main-img a {
  position: relative;
  text-decoration: none;
  display: block; }
  .g-main-img a .in-img {
    padding-top: 75%; }

.g-thumb {
  width: 120px;
  position: relative;
  margin-top: 10px;
  margin-right: 10px;
  cursor: pointer;
  transition: 0.3s; }
  .g-thumb .in-img {
    padding-top: 75.86%; }

.g-thumb:hover,
.g-thumb.slick-current {
  opacity: 0.4; }

.g-thumb:nth-child(2n) {
  margin-right: 0; }

.w-repeat {
  margin-top: 60px; }
  .w-repeat .w-repeatBox {
    margin-bottom: 60px; }
  .w-repeat .w-repeatBox:last-child {
    margin-bottom: 0; }
  .w-repeat .titles04.gray-t {
    margin-bottom: 20px;
    font-size: 26px; }

.wt-text01 {
  margin-bottom: 40px; }

.bfafBox.flex {
  margin-bottom: 40px; }

.wt-text01:last-child,
.bfafBox.flex:last-child {
  margin-bottom: 0; }

.bfafBox.flex {
  justify-content: center; }
  .bfafBox.flex > div.img {
    width: 390px;
    margin-right: 50px;
    position: relative; }
    .bfafBox.flex > div.img .in-img {
      padding-top: 71.79%; }
  .bfafBox.flex > div.img:last-child {
    margin-right: 0; }

.bfafBox.flex.bfaf > div.img.bf:before {
  content: "";
  width: 0;
  height: 0;
  border-left: solid 16px #274C82;
  border-top: solid 12px transparent;
  border-bottom: solid 12px transparent;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  left: calc(100% + 17px); }

.sideBox {
  margin-bottom: 30px;
  position: relative;
  background: #fff;
  border-radius: 10px; }
  .sideBox > h2 {
    text-align: center;
    color: #fff;
    font-weight: 700;
    background: #274C82;
    padding: 14px; }
  .sideBox ul.side-list {
    padding: 24px; }
    .sideBox ul.side-list > li {
      margin-bottom: 20px;
      line-height: 1.1; }
      .sideBox ul.side-list > li a {
        text-decoration: none;
        font-weight: 700; }
        .sideBox ul.side-list > li a:hover {
          color: #274C82; }
    .sideBox ul.side-list > li.side-li.r_current a {
      color: #274C82;
      pointer-events: none; }
    .sideBox ul.side-list > li:last-child {
      margin-bottom: 0; }

.sideBox:last-child {
  margin-bottom: 0; }

div.witerBox {
  position: relative;
  padding: 34px 42px 40px;
  margin-top: 40px;
  border: solid 1px #274C82; }
  div.witerBox .titles04 {
    font-size: 24px;
    line-height: 1; }
  div.witerBox .inner {
    position: relative;
    padding-left: 104px; }
    div.witerBox .inner > h2 {
      font-size: 22px;
      line-height: 1.4;
      margin-bottom: 8px; }
    div.witerBox .inner .wr-detail {
      line-height: 1.4;
      margin-bottom: 16px; }
    div.witerBox .inner .img {
      position: absolute;
      left: 0;
      top: 0;
      width: 80px; }
      div.witerBox .inner .img .in-img {
        border-radius: 100%;
        padding-top: 100%; }
    div.witerBox .inner .team-name {
      width: 105px;
      line-height: 26px;
      text-align: center;
      color: #fff;
      font-size: 16px;
      color: #fff;
      font-weight: 700;
      border-radius: 26px;
      height: 26px;
      background: #274C82;
      margin-bottom: 8px; }
    div.witerBox .inner .team-name + p {
      color: #274C82;
      line-height: 1.4; }

/*ページャー*/
div#pager00 {
  text-align: center; }

div#pager00 .wp-pagenavi {
  margin-top: 50px; }

.wp-pagenavi > span, .wp-pagenavi > a {
  display: inline-block;
  margin: 4px;
  text-decoration: none;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 16px;
  font-weight: 500;
  color: #274C82;
  box-sizing: border-box;
  border-radius: 100%;
  font-family: "os";
  border: solid 1px #274C82; }

.wp-pagenavi a.page {
  position: relative; }

.wp-pagenavi span.extend {
  background: none;
  color: #274C82;
  box-shadow: none;
  border: none; }

.wp-pagenavi > a:hover {
  color: #fff;
  background-color: #274C82; }

.wp-pagenavi a.previouspostslink {
  color: transparent;
  background: url("../img/p11/arrow02.svg") no-repeat center #fff;
  margin-left: 0; }

.wp-pagenavi a.nextpostslink {
  color: transparent;
  background: url("../img/p11/arrow03.svg") no-repeat center #fff;
  margin-right: 0; }

.wp-pagenavi span.current {
  color: #fff;
  background: #274C82; }

.wp-pagenavi a.first {
  border: solid 1px #274C82;
  background: url("../img/p11/arrow01.svg") no-repeat center #fff;
  color: transparent;
  display: none; }

.wp-pagenavi a.last {
  border: solid 1px #274C82;
  background: url("../img/p11/arrow04.svg") no-repeat center #fff;
  color: transparent;
  display: none; }

.wp-pagenavi a.previouspostslink:hover {
  background-color: #274C82;
  color: transparent !important;
  background-image: url("../img/p11/arrow02h.svg"); }

.wp-pagenavi a.nextpostslink:hover {
  background-color: #274C82;
  color: transparent !important;
  background-image: url("../img/p11/arrow03h.svg"); }

.wp-pagenavi a.first:hover {
  background-color: #274C82;
  color: transparent;
  background-image: url("../img/p12/arrow01h.svg"); }

.wp-pagenavi a.last:hover {
  background-color: #274C82;
  color: transparent;
  background-image: url("../img/p12/arrow04h.svg"); }

.wp-pagenavi span.pages {
  display: none; }

.post-navigation ul {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .post-navigation ul > li {
    margin-right: 8px;
    width: 200px;
    height: 50px;
    display: table; }
    .post-navigation ul > li a {
      text-decoration: none;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      color: #fff; }
  .post-navigation ul > li:last-child {
    margin-right: 0; }
  .post-navigation ul li.kara {
    opacity: 0;
    pointer-events: none; }
  .post-navigation ul li.prev.kara {
    opacity: 0;
    pointer-events: none; }
  .post-navigation ul li.next.kara {
    opacity: 0;
    pointer-events: none; }
  .post-navigation ul li.prev a {
    background: url("../img/p11/arrow02h.svg") no-repeat center left 24px #274C82;
    border-radius: 30px; }
  .post-navigation ul li.prev a:hover {
    opacity: 0.7; }
  .post-navigation ul li.next a {
    background: url("../img/p11/arrow03h.svg") no-repeat center right 24px #274C82;
    border-radius: 30px; }
  .post-navigation ul li.next a:hover {
    opacity: 0.7; }
  .post-navigation ul li.blog-back {
    width: 200px;
    height: 50px;
    display: table; }
    .post-navigation ul li.blog-back > a {
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      text-decoration: none;
      border: solid 1px #274C82;
      background: #fff;
      color: #274C82;
      border-radius: 40px;
      font-weight: 700; }
    .post-navigation ul li.blog-back > a:hover {
      background: #274C82;
      color: #fff; }

/*12 お知らせ 
----------------------------------*/
.news-list-all {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: -20px; }
  .news-list-all article.news-art {
    width: 270px;
    margin: 20px 20px 0 0; }
    .news-list-all article.news-art a {
      display: block;
      background: #fff;
      border-radius: 5px;
      text-decoration: none;
      position: relative;
      height: 100%; }
      .news-list-all article.news-art a .img {
        border-radius: 5px 5px 0 0;
        overflow: hidden; }
        .news-list-all article.news-art a .img .in-img {
          padding-top: 70%;
          border-radius: 3px 3px 0 0;
          transition: 0.3s; }
      .news-list-all article.news-art a .cont {
        padding: 16px 15px 24px; }
        .news-list-all article.news-art a .cont .tit {
          font-size: 20px;
          font-weight: 700;
          line-height: 1.35;
          margin-bottom: 16px;
          width: 100%;
          display: -webkit-box;
          overflow: hidden;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical; }
        .news-list-all article.news-art a .cont .n-date {
          margin-top: 16px;
          color: #838589;
          font-size: 18px;
          line-height: 1;
          font-weight: 500; }
      .news-list-all article.news-art a .arrow {
        width: 32px;
        height: 32px;
        position: absolute;
        z-index: 2;
        border-radius: 100%;
        right: 16px;
        bottom: 16px;
        border: solid 1px #274C82;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        background: linear-gradient(110deg, #325C88 0%, #12385E 100%); }
        .news-list-all article.news-art a .arrow img {
          display: block;
          opacity: 1;
          position: relative;
          z-index: 2; }
      .news-list-all article.news-art a .arrow:before {
        content: "";
        width: 100%;
        height: 100%;
        border-radius: 100%;
        background: #fff;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: 0.3s; }
      .news-list-all article.news-art a .infos.flex {
        width: calc(100% + 4px);
        margin: -4px 0 0 -4px; }
        .news-list-all article.news-art a .infos.flex > div {
          font-size: 18px;
          line-height: 26px;
          margin: 4px 0 0 4px;
          height: 26px; }
        .news-list-all article.news-art a .infos.flex > div.cates {
          padding: 0 8px;
          color: #274C82;
          background: #EFF5FA;
          border-radius: 20px;
          font-weight: 700;
          font-size: 16px; }
    .news-list-all article.news-art a:hover .img .in-img {
      transform: scale(1.1); }
    .news-list-all article.news-art a:hover .arrow img {
      filter: brightness(0) saturate(100%) invert(26%) sepia(12%) saturate(3515%) hue-rotate(178deg) brightness(97%) contrast(90%); }
    .news-list-all article.news-art a:hover .arrow:before {
      opacity: 1; }
  .news-list-all article.news-art:nth-child(3n) {
    margin-right: 0; }

/*詳細*/
article.singleBox01.singleBox01-blog .infos.flex {
  width: calc(100% + 8px);
  margin: 0 0 0 -8px; }
  article.singleBox01.singleBox01-blog .infos.flex > div {
    font-size: 18px;
    line-height: 26px;
    margin: 0 0 0 8px;
    height: 26px; }
  article.singleBox01.singleBox01-blog .infos.flex > div.cates {
    padding: 0 10px;
    color: #274C82;
    background: #EFF5FA;
    border-radius: 20px;
    font-weight: 700;
    font-size: 16px; }
article.singleBox01.singleBox01-blog div#toc_container {
  width: 100% !important;
  background: none !important;
  border: none !important;
  margin-bottom: 40px !important;
  padding: 0; }
  article.singleBox01.singleBox01-blog div#toc_container p.toc_title {
    text-align: left;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.6;
    margin-bottom: 15px; }
  article.singleBox01.singleBox01-blog div#toc_container ul.toc_list {
    margin-top: 0; }
    article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li {
      margin: 0 0 8px; }
      article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li a {
        display: block;
        background: #fff;
        box-sizing: border-box;
        text-decoration: none;
        line-height: 1.4;
        font-weight: 700;
        font-size: 20px;
        padding: 19px 16px;
        border: solid 1px #E0E0E0; }
        article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li a span.toc_number {
          display: inline-block;
          width: 40px;
          text-align: center;
          line-height: 22px;
          height: 22px;
          color: #fff;
          border-radius: 20px;
          font-weight: 700;
          font-size: 14px;
          font-family: "os";
          margin-right: 8px;
          background: #274C82;
          position: relative;
          top: -3px; }
      article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li a:hover {
        border-color: #274C82; }

/*13  お問い合わせ
----------------------------------*/
section#p13Box01 {
  padding: 100px 0 120px; }

.twin-cont.flex.p13-cont01 {
  margin-top: 80px;
  flex-direction: row !important; }
  .twin-cont.flex.p13-cont01 > .cont {
    width: 520px; }
    .twin-cont.flex.p13-cont01 > .cont .btn01 {
      margin-top: 40px; }
  .twin-cont.flex.p13-cont01 > .img {
    width: 500px; }

section#p13Box02 {
  padding: 120px 0 120px;
  background: #F9F9F9; }
  section#p13Box02 .contact-list.flex {
    margin-top: 64px;
    padding-top: 0; }
    section#p13Box02 .contact-list.flex div.box:before {
      content: none; }
    section#p13Box02 .contact-list.flex .box.box01 {
      width: 530px;
      padding: 40px; }
      section#p13Box02 .contact-list.flex .box.box01 .ico {
        margin-bottom: 8px;
        margin-top: 0; }
      section#p13Box02 .contact-list.flex .box.box01 > h3 {
        text-align: center;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 24px; }
    section#p13Box02 .contact-list.flex .box.box02 {
      width: 530px;
      padding: 40px; }
      section#p13Box02 .contact-list.flex .box.box02 .ico {
        margin-bottom: 8px;
        margin-top: 0; }
      section#p13Box02 .contact-list.flex .box.box02 > h3 {
        text-align: center;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 24px; }
    section#p13Box02 .contact-list.flex .box.box03 {
      width: 100%;
      margin-top: 40px;
      padding: 40px 80px;
      text-align: left; }
      section#p13Box02 .contact-list.flex .box.box03 .ico {
        margin-bottom: 8px;
        margin-top: 0;
        text-align: center; }
      section#p13Box02 .contact-list.flex .box.box03 > h3 {
        text-align: center;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 40px; }
    section#p13Box02 .contact-list.flex > .box .fax-num {
      line-height: 1;
      font-size: 40px; }
      section#p13Box02 .contact-list.flex > .box .fax-num .komoji {
        font-size: 16px; }
    section#p13Box02 .contact-list.flex > .box .tel-num a {
      line-height: 1;
      font-size: 40px; }
      section#p13Box02 .contact-list.flex > .box .tel-num a .komoji {
        font-size: 16px; }
    section#p13Box02 .contact-list.flex > .box .bh {
      font-size: 18px; }

.contact-set01.flex {
  justify-content: space-between; }
  .contact-set01.flex .titles01 {
    margin-bottom: 0; }
  .contact-set01.flex .right {
    width: 720px; }
    .contact-set01.flex .right .copy02 {
      line-height: 1.5;
      font-weight: 700;
      font-size: 28px;
      margin-bottom: 0; }
    .contact-set01.flex .right ul.border-list.flex {
      width: calc(100% + 4px);
      margin-top: 10px;
      margin-left: -4px; }
      .contact-set01.flex .right ul.border-list.flex > li {
        border: none;
        color: #fff;
        font-size: 18px;
        line-height: 1;
        background: #274C82;
        padding: 5px;
        margin: 4px 0 0 4px; }
      .contact-set01.flex .right ul.border-list.flex > li:nth-child(6) {
        margin-right: 50px; }
  .contact-set01.flex .bottom {
    margin-top: 40px;
    color: #274C82;
    border: solid 1px #274C82;
    padding: 32px 40px;
    line-height: 1.6; }
    .contact-set01.flex .bottom h3 {
      font-weight: 700;
      font-size: 20px;
      line-height: 1;
      margin-bottom: 16px; }

.contact-text01 p {
  padding-left: 18px;
  position: relative; }
.contact-text01 p:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0; }

/*フォーム*/
.file-bikou {
  font-size: 14px; }

ul.contact-state {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px auto 10px; }

ul.contact-state > li {
  display: table;
  width: 302px;
  height: 40px;
  position: relative; }

ul.contact-state > li > span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  color: #607698;
  font-size: 18px;
  font-weight: 700;
  background: #DEE7F5; }

ul.contact-state > li.state01 {
  margin-left: 0; }

ul.contact-state > li.state01,
ul.contact-state > li.state02 {
  clip-path: polygon(0 0, calc(100% - 8px) 0%, 100% 50%, calc(100% - 8px) 100%, 0 100%, 0% 50%); }

ul.contact-state > li.state01 > span {
  background: #274C82;
  color: #fff; }

ul.contact-state.contact-state02 > li.state02 > span {
  background: #274C82;
  color: #fff; }

ul.contact-state.contact-state02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

a.green {
  text-decoration: underline; }

a.green:hover {
  text-decoration: none; }

.contactTBL th, .contactTBL td {
  display: block;
  box-sizing: border-box;
  font-size: 18px;
  padding: 30px 0;
  color: #000000;
  line-height: 1.66; }
.contactTBL th {
  padding-bottom: 15px; }
.contactTBL td {
  padding-top: 0; }
.contactTBL .wpcf7-list-item {
  margin-left: 0;
  display: block;
  margin-bottom: 10px;
  margin-right: 25px; }
.contactTBL input[type="checkbox"],
.contactTBL input[type="radio"] {
  transform-origin: left center;
  transform: scale(1.5);
  margin-right: 8px; }
.contactTBL tr.pp-tr th, .contactTBL tr.pp-tr td {
  background: #FFF4F4;
  padding-left: 40px;
  padding-right: 40px; }

span.hissu {
  display: inline-block;
  color: #fff;
  padding: 0px 7px;
  background: #D50000;
  margin-right: 8px;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 700; }

span.nini {
  display: inline-block;
  padding: 0px 6px;
  margin-right: 8px;
  font-size: 16px;
  font-weight: 700;
  background: #E6E6E6; }

input.wpcf7-number,
input.wpcf7-date,
input.wpcf7-text {
  box-sizing: border-box;
  height: 48px;
  border: solid 1px #D4D4D4;
  padding: 3px 16px;
  font-size: 16px;
  background: #fff;
  width: 100%; }

input.wpcf7-date {
  padding: 3px 16px; }

select.wpcf7-select {
  box-sizing: border-box;
  height: 48px;
  border: solid 1px #D4D4D4;
  padding: 3px 30px 3px 16px;
  font-size: 16px;
  background: #fff;
  width: auto;
  background: url(../img/p13/select-arrow.svg) no-repeat center right 10px #fff;
  width: auto;
  -webkit-appearance: none;
  appearance: none; }

select {
  background: #fff;
  border-radius: 0; }

textarea.wpcf7-textarea {
  box-sizing: border-box;
  height: 160px;
  border: solid 1px #D4D4D4;
  padding: 5px 10px;
  font-size: 16px;
  background: #fff;
  width: 100%; }

.okomari-list span.wpcf7-list-item {
  display: block; }

.radio-list span.wpcf7-list-item {
  display: block; }

.pop-btn.opcl-btn {
  margin-bottom: 0;
  width: 320px;
  height: 60px;
  border-radius: 30px;
  padding: 14px 20px; }
  .pop-btn.opcl-btn .inner {
    justify-content: center; }
    .pop-btn.opcl-btn .inner .text {
      width: calc(100% - 32px);
      font-size: 16px;
      padding-left: 32px;
      box-sizing: border-box;
      text-align: center; }
    .pop-btn.opcl-btn .inner .plus:after {
      content: "";
      width: 15px;
      height: 1px;
      background: #fff;
      position: absolute;
      left: 0;
      right: 0;
      top: 50%;
      margin: 0 auto;
      opacity: 0; }

.pop-btn.opcl-btn.on:hover .plus:after {
  background: #004798; }

.pop-btn.opcl-btn.on {
  margin-bottom: 40px; }
  .pop-btn.opcl-btn.on .plus img {
    opacity: 0; }
  .pop-btn.opcl-btn.on .plus:after {
    opacity: 1; }

.opcl-wrap {
  display: none; }

div.opcl-inBox {
  background: #F8F8F8;
  padding: 1px 40px 40px; }

.hyo-de {
  margin-top: 10px; }
  .hyo-de .tit {
    margin-bottom: 5px; }

.contactTBL .select-con .wpcf7-list-item {
  display: block;
  margin-right: 10px !important; }

.select-con {
  margin-bottom: 15px; }

input#your-name,
input#your-kana {
  width: 400px; }

.cours-area {
  margin-top: 5px; }

input.wpcf7-text.tel01,
input#zip01 {
  width: 200px; }

select#pref3 {
  width: auto; }

span.form-bikou {
  display: block; }

ul.address-list > li {
  margin-bottom: 30px; }
ul.address-list > li:last-child {
  margin-bottom: 0; }
ul.address-list .th {
  font-size: 14px;
  margin-bottom: 5px; }

.contactArea .codedropz-upload-container {
  padding: 0; }

.contactArea .codedropz-upload-handler {
  border: solid 1px #D4D4D4;
  border-radius: 0;
  background: url("../img/p13/ico-file.svg") no-repeat center top 56px #fff;
  padding: 84px 30px 56px; }

.contactArea .codedropz-upload-inner {
  color: #1C1C1C;
  line-height: 1.5;
  font-size: 16px;
  font-weight: 500; }

.contactArea .codedropz-upload-inner h3 {
  font-size: 16px;
  font-weight: 500;
  margin: 0; }

a.cd-upload-btn {
  width: 140px;
  height: 40px;
  display: inline-block;
  line-height: 35px;
  background: #E3E3E3;
  border: solid 1px #707070;
  border-radius: 0;
  padding-top: 3px;
  font-size: 16px;
  margin-top: 8px;
  color: #000000; }

.contact-submit.flex {
  margin-top: 60px;
  justify-content: center;
  flex-direction: row-reverse;
  position: relative; }

.contact-submit.flex > p {
  width: 100%;
  text-align: center;
  margin-top: 30px; }

.inb {
  display: inline-block; }

.form-btn {
  width: 320px;
  position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] {
  transition: 0.3s;
  border: none;
  color: #fff;
  width: 100%;
  height: 64px;
  font-size: 18px;
  font-weight: 700;
  position: relative;
  z-index: 3;
  background: url("../img/p13/btn-arrow01.svg") no-repeat center right 24px, linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
  background-position: center right 24px, left top;
  background-size: auto ,200%;
  border-radius: 40px; }

.form-btn.form-btn02 {
  margin-right: 10px; }

.form-btn.form-btn02 input[type="submit"], .form-btn.form-btn02 input[type="button"] {
  background: url("../img/p13/btn-arrow02.svg") no-repeat center left 24px, linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
  background-position: center left 24px, left top;
  background-size: auto ,200%; }

.form-btn input {
  transition: 0.3s;
  cursor: pointer; }

.form-btn input:hover {
  background-position: center right 24px, right bottom; }

.form-btn.form-btn02 input:hover {
  background-position: center left 24px, right bottom; }

span.zip-mark {
  margin-right: 10px;
  font-size: 14px; }

span.zip-bikou {
  margin-left: 15px;
  font-size: 13px; }

.zip_list > div {
  margin-bottom: 10px; }
.zip_list > div:last-child {
  margin-bottom: 0; }
.zip_list .zip00.zip02 > div {
  margin-bottom: 10px; }
.zip_list .zip00.zip02 > div:last-child {
  margin-bottom: 0; }

.wpcf7-spinner {
  position: absolute !important;
  top: -10px !important; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form {
  padding-top: 120px;
  margin-top: -120px; }

.wpcf7c-conf {
  background-color: #e8f0fe !important; }

input:-webkit-autofill, input:-internal-autofill-selected {
  -webkit-appearance: none;
  -webkit-box-shadow: 0 0 0px 1000px #e8f0fe inset !important;
  box-shadow: 0 0 0px 1000px #e8f0fe inset !important; }

::placeholder {
  font-size: 16px;
  color: #B2B2B2;
  line-height: 1.5; }

/*確認画面*/
.contactArea.che {
  background: #eee;
  padding: 30px; }
  .contactArea.che .pop-btn.opcl-btn.on {
    pointer-events: none; }
  .contactArea.che .opcl-wrap {
    display: block !important; }
  .contactArea.che div.opcl-inBox {
    padding-top: 20px; }

.contactArea.che .contactTBL tr {
  border-bottom: solid 1px #000; }

.contactArea.che .contactTBL th, .contactArea.che .contactTBL td {
  padding-top: 5px;
  padding-bottom: 5px;
  vertical-align: middle; }

.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .bikou-text01, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox] {
  display: none; }

.contactArea.che input[type=checkbox]:checked {
  display: inline-block; }

.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label {
  display: none; }

.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label {
  display: inline-block;
  font-weight: 700; }

.contactArea.che input[type=radio] {
  display: none; }

.contactArea.che input[type=radio]:checked {
  display: inline-block; }

.contactArea.che input[type=radio] ~ span.wpcf7-list-item-label {
  display: none; }

.contactArea.che input[type=radio]:checked ~ span.wpcf7-list-item-label {
  display: inline-block;
  font-weight: 700; }

.contactArea.che textarea.wpcf7-textarea, .contactArea.che input.wpcf7-number, .contactArea.che input.wpcf7-date, .contactArea.che input.wpcf7-text, .contactArea.che select {
  font-weight: 700; }

/*14  採用情報
----------------------------------*/
div#p14Box01 {
  padding: 100px 0 120px; }
  div#p14Box01 .mv-scr-wrap {
    width: 100%;
    background: #EFF5FA;
    border-radius: 5px;
    position: relative;
    bottom: auto;
    height: 150px; }
  div#p14Box01 .scr-text01 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 88px; }
    div#p14Box01 .scr-text01 .box p.line02 {
      line-height: 0.7; }
  div#p14Box01 .scr-text01 .box p.line01 {
    font-size: 20px;
    margin-bottom: 0; }
  div#p14Box01 .scr-text01 .box p.line02 {
    font-size: 34px;
    line-height: 1; }
  div#p14Box01 .scr-text01 .box p.line02 .big {
    font-size: 40px; }
  div#p14Box01 .scr-text01 .box p.line02 .big.en {
    font-size: 52px; }

.twin-cont.flex.p14-cont01 {
  margin-bottom: 80px;
  align-items: flex-start; }
  .twin-cont.flex.p14-cont01 .img {
    width: 540px;
    margin-right: -40px;
    position: relative; }
    .twin-cont.flex.p14-cont01 .img .blue-bg-text {
      width: 160px;
      text-align: center;
      height: 36px;
      line-height: 36px;
      font-weight: 700;
      background: #274C82;
      position: absolute;
      left: 160px;
      bottom: 24px;
      color: #fff; }
  .twin-cont.flex.p14-cont01 > .cont {
    width: 520px; }
    .twin-cont.flex.p14-cont01 > .cont .copy02 {
      font-size: 40px;
      line-height: 1.5;
      margin-bottom: 30px; }

section#p14Box02 {
  padding: 120px 0;
  background: #F9F9F9; }
  section#p14Box02 h2.titles01 {
    margin-bottom: 64px; }

.twin-cont-list.feature-list14 .twin-cont.flex .cont {
  width: 540px; }
  .twin-cont-list.feature-list14 .twin-cont.flex .cont .num-tit {
    margin-bottom: 16px; }
  .twin-cont-list.feature-list14 .twin-cont.flex .cont .num-tit .copy02 {
    font-size: 32px !important; }
    .twin-cont-list.feature-list14 .twin-cont.flex .cont .num-tit .copy02 .blue {
      font-size: 36px; }
.twin-cont-list.feature-list14 .twin-cont.flex .img {
  width: 480px; }

section#p14Box03 {
  padding: 120px 0; }
  section#p14Box03 h2.titles01 {
    margin-bottom: 64px; }

.twin-cont-list.int-list .twin-cont.flex {
  box-sizing: border-box;
  flex-direction: row !important;
  padding: 32px;
  background: #F9F9F9;
  margin-bottom: 24px; }
  .twin-cont-list.int-list .twin-cont.flex .img {
    width: 400px; }
  .twin-cont-list.int-list .twin-cont.flex .cont {
    width: 596px; }
    .twin-cont-list.int-list .twin-cont.flex .cont h3.tit {
      font-size: 28px;
      line-height: 1.4;
      margin-bottom: 16px;
      font-weight: 700; }
.twin-cont-list.int-list .twin-cont.flex:last-child {
  margin-bottom: 0; }

.p08TBL.int-data {
  margin-top: 40px; }
  .p08TBL.int-data dl dt {
    width: 90px; }
  .p08TBL.int-data dl dd {
    width: calc(100% - 96px);
    color: #274C82; }

section#p14Box04 {
  padding: 120px 0;
  background: #F9F9F9;
  overflow: hidden; }
  section#p14Box04 .titles01 {
    margin-bottom: 64px; }
  section#p14Box04 .wrap {
    box-sizing: border-box;
    padding-right: 20px; }

.gallery-slider {
  max-height: 470px; }
  .gallery-slider .slick-list {
    overflow: visible; }
  .gallery-slider button.slick-prev.slick-arrow {
    border-radius: 32px !important;
    width: 40px;
    height: 64px;
    background: url("../img/p11/w-arrow01.svg") no-repeat center;
    background-size: contain;
    top: 195px;
    transform: translateY(-50%);
    left: -10px;
    right: auto;
    border: none; }
  .gallery-slider button.slick-next.slick-arrow {
    border-radius: 32px !important;
    width: 40px;
    height: 64px;
    background: url("../img/p11/w-arrow02.svg") no-repeat center;
    background-size: contain;
    top: 195px;
    transform: translateY(-50%);
    right: -10px;
    left: auto;
    border: none; }

.gallery-img-wrap {
  width: 520px;
  margin-right: 40px; }
  .gallery-img-wrap .cap {
    line-height: 1.8;
    margin-top: 8px; }

.gallery-img .in-img {
  padding-top: 76.92%; }

section#p14Box05 {
  padding: 120px 0;
  background: #F9F9F9; }
  section#p14Box05 .opcl-cont {
    display: none; }
    section#p14Box05 .opcl-cont > div {
      padding: 10px 40px 64px;
      background: #fff; }
  section#p14Box05 .TBL01 th {
    width: 200px;
    padding-right: 10px; }

ul.rec-state.flex > li {
  background: #173159;
  color: #fff;
  border-right: solid 1px #5A6677;
  line-height: 1;
  padding: 7px 10px; }
ul.rec-state.flex > li:last-child {
  border-right: none; }

article.rec-art {
  margin-bottom: 64px; }

article.rec-art:last-child {
  margin-bottom: 0; }

.rec-head.flex {
  box-sizing: border-box;
  padding: 24px 55px 24px 33px;
  color: #fff;
  background: #274C82;
  position: relative;
  cursor: pointer; }
  .rec-head.flex .sub01 {
    line-height: 1;
    margin-bottom: 0;
    font-weight: 700;
    font-size: 24px; }
  .rec-head.flex span.opcl-ico {
    background: url("../img/p14/opcl.svg") no-repeat center;
    width: 18px;
    height: 10px;
    z-index: 2;
    position: absolute;
    right: 33px;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s; }

.rec-head.flex.on span.opcl-ico {
  transform: translateY(-50%) rotateZ(180deg); }

.rec-btns.flex {
  margin-top: 64px;
  justify-content: center; }
  .rec-btns.flex > div {
    margin-right: 16px; }
  .rec-btns.flex .btn01 a {
    line-height: 1.2; }
  .rec-btns.flex .btn01.btn02 a {
    border-color: #274C82;
    color: #274C82;
    background: #fff; }
    .rec-btns.flex .btn01.btn02 a .arrow {
      background: linear-gradient(110deg, #325C88 0%, #12385E 100%); }
    .rec-btns.flex .btn01.btn02 a:hover {
      color: #fff; }
      .rec-btns.flex .btn01.btn02 a:hover .arrow {
        background: #fff; }
        .rec-btns.flex .btn01.btn02 a:hover .arrow img {
          filter: brightness(0) saturate(100%) invert(24%) sepia(12%) saturate(6551%) hue-rotate(191deg) brightness(90%) contrast(83%); }

section#p14Box06 {
  padding: 120px 0;
  background: #fff; }

.flow-list.flex > .box {
  width: 340px;
  margin-right: 40px; }
  .flow-list.flex > .box .img {
    position: relative;
    margin-bottom: 15px; }
  .flow-list.flex > .box .img:before {
    content: "";
    width: 0;
    height: 0;
    border-left: solid 8px #274C82;
    border-top: solid 8px transparent;
    border-bottom: solid 8px transparent;
    position: absolute;
    left: calc(100% + 17px);
    top: 50%;
    transform: translateY(-50%); }
  .flow-list.flex > .box .num-tit {
    margin-top: 0;
    margin-bottom: 8px; }
    .flow-list.flex > .box .num-tit .copy02 {
      font-size: 32px;
      margin-bottom: 0; }
      .flow-list.flex > .box .num-tit .copy02 .komoji {
        font-size: 24px; }
  .flow-list.flex > .box > .text {
    line-height: 1.8; }
.flow-list.flex > .box:last-child {
  margin-right: 0; }
  .flow-list.flex > .box:last-child .img:before {
    content: none; }

/*100 thanksページ等
----------------------------------*/
div#p100Box01 {
  padding: 120px 0;
  text-align: center; }
  div#p100Box01 .btn01 {
    margin: 60px auto 0; }

div#ppBox01 {
  text-align: left; }

.pp-title01 {
  font-size: 22px;
  border-bottom: solid 2px;
  margin-bottom: 25px;
  padding-bottom: 10px; }

.pp-title02:first-child {
  margin-top: 0; }

.pp-title02 {
  font-size: 18px;
  padding-left: 15px;
  position: relative;
  color: #274C82;
  margin-top: 50px; }

.pp-title02:before {
  content: "";
  width: 5px;
  height: 65%;
  background: #274C82;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto 0; }

/*ブラウザごと
----------------------------------*/
.tokushu div.mv-scr {
  width: 300vw; }

html.showPage body {
  min-width: 1240px; }

html.showPage.tokushu body .head-btn a .text {
  font-size: 0.7vw; }
html.showPage.tokushu body .btn01.ct-btn a {
  font-size: 0.7vw; }

.btn01.ct-btn {
  min-width: 0;
  width: 100%; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1610px) {
  section#works-sec .wrap {
    width: 1200px; }
    section#works-sec .wrap div.slider01 article.works-art {
      width: 300px;
      margin-right: 20px; }
      section#works-sec .wrap div.slider01 article.works-art a .cont {
        padding: 16px 24px 36px; }
        section#works-sec .wrap div.slider01 article.works-art a .cont .tit {
          font-size: 20px;
          margin-bottom: 10px; }
        section#works-sec .wrap div.slider01 article.works-art a .cont ul.cate-list01 {
          margin-top: 10px;
          font-size: 15px; }
        section#works-sec .wrap div.slider01 article.works-art a .cont .n-date {
          margin-top: 10px;
          font-size: 14px; }
      section#works-sec .wrap div.slider01 article.works-art .w-data dl.flex {
        line-height: 23px; }
      section#works-sec .wrap div.slider01 article.works-art .w-data dl.flex dd {
        font-size: 15px; }
      section#works-sec .wrap div.slider01 article.works-art .w-data dl.flex dt {
        font-size: 14px; }
    section#works-sec .wrap div.slider01 {
      padding-bottom: 90px; }
      section#works-sec .wrap div.slider01 ul.slick-dots {
        width: calc(100% - 200px); } }
@media screen and (min-width: 0px) and (max-width: 1540px) {
  section#topBox03 > .ovh div#ma-cont {
    margin-right: 60px; } }
@media screen and (min-width: 0px) and (max-width: 1300px) {
  div#ma-imgs .ma-img .right {
    display: none; }

  section#topBox02 > .ovh {
    padding: 130px 0; }

  section#topBox02 .titles01 {
    margin-bottom: 30px; }

  div.reasonBox.box01.flex .cont {
    padding-top: 20px; }
    div.reasonBox.box01.flex .cont .copy02 {
      font-size: 30px;
      margin-bottom: 24px; }

  section#recruit-sec .wrap {
    width: 1100px; }

  section#recruit-sec {
    background-size: auto 540px;
    min-height: 0;
    padding-top: 120px;
    padding-bottom: 80px; } }
