@charset "UTF-8";
/*webフォント読み込み*/
@font-face {
  /*ZenKakuGothicNew-Regular*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Regular.otf");
  src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Regular.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Regular.otf") format("truetype");
  font-weight: 400; }
@font-face {
  /*ZenKakuGothicNew-Medium*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Medium.otf");
  src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Medium.otf") format("truetype");
  font-weight: 500; }
@font-face {
  /*ZenKakuGothicNew-Bold*/
  font-family: 'zen';
  src: url("../fonts/ZenKakuGothicNew-Bold.otf");
  src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Bold.otf") format("truetype");
  font-weight: 700; }
@font-face {
  /*OpenSans-Bold*/
  font-family: 'os';
  src: url("../fonts/OpenSans-Bold.otf");
  src: url("../fonts/OpenSans-Bold.woff2") format("woff2"), url("../fonts/OpenSans-Bold.woff") format("woff"), url("../fonts/OpenSans-Bold.otf") format("truetype");
  font-weight: 700; }
/* Link
=========================================== */
a:link, a:visited {
  color: #242424;
  text-decoration: none; }

a {
  outline: none;
  transition: 0.3s;
  color: #242424;
  text-decoration: none; }

a img {
  transition: 0.3s; }

:focus {
  outline: none; }

/* 共通設定
=========================================== */
.pc {
  display: none !important; }

body {
  overflow: hidden;
  background: #fff;
  color: #242424;
  font-size: 16px;
  line-height: 1.6;
  font-family: YakuHanJP,'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-style: normal;
  font-weight: 500;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
  font-weight: 700; }

body#tinymce {
  min-width: inherit !important; }

input, select, textarea {
  font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  color: #141414; }

table {
  width: 100%; }

img {
  max-width: 100%;
  height: auto;
  width: 100%; }

.no-pc {
  display: inline-block;
  text-decoration: none !important; }

.inb {
  display: inline-block; }

.block {
  display: block; }

.wrap {
  position: relative; }

div#f-trigger {
  position: absolute;
  top: 64px;
  left: 0;
  opacity: 0;
  z-index: -5;
  pointer-events: none; }

/*共通見出し設定*/
.titles01 {
  margin-bottom: 40px; }
  .titles01 .jp {
    display: block;
    line-height: 1.05;
    font-size: 18px;
    margin-bottom: 16px; }
  .titles01 .en {
    display: block;
    font-size: 56px;
    color: #274C82;
    line-height: 1;
    text-transform: capitalize; }

.titles01.type02 .jp,
.titles01.type02 .en {
  color: #fff; }

.titles02 {
  position: relative; }
  .titles02 .jp {
    display: block;
    line-height: 1;
    font-size: 32px;
    font-weight: 700;
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 33px; }
  .titles02 .en {
    display: block;
    font-size: 120px;
    color: rgba(255, 255, 255, 0.05);
    line-height: 1;
    text-transform: capitalize; }

.titles03 {
  font-weight: 700;
  line-height: 1;
  font-size: 24px; }
  .titles03 > span {
    display: inline-block;
    padding-left: 26px;
    background: url("../img/common/tit-ico01.svg") no-repeat left center; }

.titles04 {
  margin-bottom: 16px;
  font-size: 22px;
  line-height: 1.05;
  font-weight: 700; }
  .titles04 > span {
    display: inline-block;
    padding-left: 30px;
    background: url("../img/common/sub-ico01.svg") no-repeat left top 3px;
    background-size: 20px; }
    .titles04 > span .komoji {
      font-size: 18px; }

.titles04.blog-tt {
  margin-bottom: 8px; }

/*共通ボタン設定*/
.btn01 {
  width: 100%;
  height: 64px;
  display: table; }
  .btn01 a {
    display: table-cell;
    text-decoration: none;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    position: relative;
    font-weight: 700;
    border-radius: 60px;
    background: linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
    background-position: left top;
    background-size: 200%; }
    .btn01 a .arrow {
      position: absolute;
      z-index: 2;
      top: 50%;
      bottom: 0;
      right: 24px;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      background: #fff;
      width: 28px;
      height: 28px;
      transition: 0.3s;
      border-radius: 100%;
      transform: translateY(-50%); }
      .btn01 a .arrow img {
        display: block;
        opacity: 1;
        transition: 0s;
        width: 8px; }

.btn01.btn02 a {
  border: solid 1px #fff;
  background: none;
  position: relative; }
  .btn01.btn02 a .text {
    position: relative;
    z-index: 2; }
.btn01.btn02 a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 58px;
  width: 100%;
  height: 100%;
  transition: 0.3s;
  opacity: 0;
  background: linear-gradient(110deg, #325C88 0%, #12385E 47%, #325C88 100%);
  background-position: right bottom;
  background-size: 200%; }

/*グラデーション*/
.gra-bg {
  display: inline-block;
  padding: 5px 12px;
  background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%);
  color: #fff;
  border-radius: 10px; }

.gra-text {
  background: linear-gradient(180deg, #D80000 0%, #D85E00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider,
div.slider01,
div.gallery-main,
div.gallery-thumb,
div.belt-slider {
  opacity: 0;
  transition: opacity .3s linear; }

div#mv-slider.slick-initialized,
div.slider01.slick-initialized,
div.gallery-main.slick-initialized,
div.gallery-thumb.flex.slick-initialized,
div.belt-slider.slick-initialized {
  opacity: 1; }

/*font*/
.en {
  font-family: 'os';
  font-weight: 700;
  text-transform: capitalize; }

.tright {
  text-align: right; }

.tleft {
  text-align: left; }

.tcenter {
  text-align: center; }

.flL {
  float: left; }

.flR {
  float: right; }

.bold {
  font-weight: bold; }

.inb {
  display: inline-block; }

.block {
  display: block; }

.red {
  color: #E30606; }

.blue {
  color: #274C82; }

.blue02 {
  color: #0093D6; }

.yellow {
  color: #FFD400; }

.orange {
  color: #EE5A35; }

.green {
  color: #74BA26; }

.d-green {
  color: #005E4B; }

.green02 {
  color: #01A9AE; }

.navy {
  color: #374b8e; }

.pink {
  color: #ff7373; }

.gray {
  color: #818181; }

/*header
---------------------------------------------------------------*/
div#header {
  width: 100%;
  position: fixed;
  z-index: 200;
  height: 64px;
  box-sizing: border-box;
  padding: 12px 5.33vw 0 10px;
  left: 0;
  top: 0; }
  div#header .logo {
    width: 270px; }
    div#header .logo img {
      display: block; }

.head-text01 {
  display: none; }

.logo a {
  display: block; }

div#gnav {
  display: none; }

div.head-btn {
  display: none; }

.head-center {
  display: none; }

.tel-num a {
  font-family: 'os';
  font-size: 40px;
  line-height: 1;
  font-weight: 700; }
  .tel-num a .komoji {
    font-family: 'zen';
    font-size: 16px; }

body.fixed div#header {
  background: #fff; }
body.fixed .logo a {
  background: url("../img/common/logo02.svg") no-repeat;
  background-size: 100%; }
  body.fixed .logo a img {
    opacity: 0; }
body.fixed .sp-nav-btn > span > span {
  background: #242424; }

/* nav
=========================================== */
html.huopen {
  overflow: hidden; }

.sp-nav-btn {
  width: 48px;
  height: 48px;
  position: fixed;
  top: 8px;
  right: 10px;
  z-index: 202;
  box-sizing: content-box; }

.sp-nav-btn span.bar01 {
  content: "";
  width: 32px;
  height: 1px;
  position: absolute;
  top: 14px;
  right: 8px;
  transition: 0.3s; }

.sp-nav-btn span.bar03 {
  content: "";
  width: 32px;
  height: 1px;
  position: absolute;
  top: 33px;
  right: 8px;
  transition: 0.3s; }

.sp-nav-btn span.bar02 {
  position: absolute;
  width: 32px;
  height: 1px;
  top: 24px;
  right: 8px;
  transition: 0.3s; }

.sp-nav-btn > span {
  overflow: hidden; }

.sp-nav-btn > span > span {
  width: 100%;
  height: 2px;
  background: #FFFFFF;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 4px; }

.sp-nav-btn.opon span.bar02 {
  opacity: 0; }

.sp-nav-btn.opon span.bar01 {
  box-shadow: none;
  transform: rotateZ(45deg);
  top: 23px; }

.sp-nav-btn.opon span.bar03 {
  transform: rotateZ(-45deg);
  top: 23px; }

.overlay-nav {
  display: none; }

.overlay-nav.opon {
  z-index: 15;
  opacity: 1; }

div.navs-list-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 199;
  top: 64px;
  box-sizing: border-box;
  background: #fff;
  right: calc(-100% - 60px);
  transition: 0.3s;
  padding: 8px 5.33vw 45px; }

div.navs-list-wrap.opon {
  right: 0; }

div.navs-list-wrap span.dr-arrow img {
  display: none; }

ul.navs-list {
  height: calc(100dvh - 72px);
  overflow: auto;
  box-sizing: border-box;
  padding: 0 0 95px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }

.navs-list > li:first-child {
  margin-top: 0; }

.navs-list > li {
  width: 100%;
  border-bottom: solid 1px #DBE2E8;
  font-size: 18px; }
  .navs-list > li > a {
    font-weight: 700;
    display: block;
    background: url("../img/common/sub-arrow.svg") no-repeat right 1px center;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-right: 35px; }

.navs-list > li.border-less {
  border-bottom: none; }

li.sp-contact {
  margin-top: 30px;
  text-align: center; }
  li.sp-contact .btn01 {
    margin-top: 24px; }

.dr-tit {
  position: relative;
  display: block;
  padding-right: 35px;
  background: url("../img/common/sp-open.svg") no-repeat right 1px center;
  font-size: 18px;
  font-weight: 700;
  padding-top: 24px;
  padding-bottom: 24px; }

.dr-tit.on {
  background-image: url("../img/common/sp-close.svg"); }

.navs-list ul.nav-sub:first-child {
  box-sizing: border-box;
  background: #F9F9F9;
  padding: 20px;
  margin-bottom: 24px; }
  .navs-list ul.nav-sub:first-child > li {
    font-size: 16px; }
    .navs-list ul.nav-sub:first-child > li a {
      padding-left: 0; }
    .navs-list ul.nav-sub:first-child > li a:before {
      content: none; }

/* contents */
/*-------------------------------------------*/
.bg-blue {
  background: #F5F9FF; }

/*パンくず
---------------------------------------------------------------*/
div#bread {
  z-index: 2;
  position: relative;
  padding: 13px 5.33vw; }

#bread ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start; }

#bread ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  vertical-align: middle; }

ul.bread-list li a {
  font-size: 14px;
  color: #274C82; }
  ul.bread-list li a img {
    display: block;
    vertical-align: middle; }

ul.bread-list li:after {
  content: "＞";
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin: 0 4px; }

ul.bread-list li:last-child:after {
  content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv {
  position: relative;
  z-index: 3;
  letter-spacing: 0; }

/* footer */
/*-------------------------------------------*/
aside#aside01 {
  padding: 120px 5.33%;
  background: url("../img/common/aside-bg-sp.png") no-repeat center;
  background-size: cover;
  color: #fff;
  overflow: hidden; }
  aside#aside01 ul.border-list.flex {
    margin-top: 4.27vw;
    justify-content: center; }
    aside#aside01 ul.border-list.flex > li {
      margin-top: 2.13vw;
      padding: 2.13vw;
      font-size: 4.26vw; }
  aside#aside01 .titles02 {
    width: 100vw;
    margin-left: -5.33vw;
    text-align: center;
    position: relative;
    height: 32vw;
    margin-bottom: 10.66vw; }
    aside#aside01 .titles02 .jp {
      font-size: 7.46vw;
      line-height: 1.4;
      right: 0;
      bottom: 4.8vw; }
    aside#aside01 .titles02 .en {
      font-size: 42.66vw;
      line-height: 1;
      position: absolute;
      left: 50%;
      top: 34%;
      transform: translate(-50%, -50%);
      white-space: nowrap; }

ul.border-list.flex {
  width: calc(100% + 8px);
  margin: -8px 0 0 -8px; }
  ul.border-list.flex > li {
    background: rgba(255, 255, 255, 0.03);
    border: solid 1px rgba(255, 255, 255, 0.16);
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    padding: 6px 9px 8px;
    margin: 8px 0 0 8px; }

.humBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  .humBox .img {
    width: 26.66vw; }
  .humBox .text {
    line-height: 1.75;
    font-size: 4.26vw;
    width: 58.66vw;
    font-weight: 700; }

div.contact-list.flex {
  margin-top: 10.667vw;
  display: block;
  padding-top: 13.867vw; }
  div.contact-list.flex div.box {
    width: 100%;
    background: #fff;
    border-radius: 0.8vw 0 0.8vw 0.8vw;
    position: relative;
    box-sizing: border-box;
    padding: 0.267vw 5.33vw 12.267vw;
    text-align: center;
    margin-bottom: 20.267vw; }
    div.contact-list.flex div.box .ang-tit {
      width: 17.067vw; }
    div.contact-list.flex div.box .ico {
      position: relative;
      z-index: 3;
      margin: 0 auto 5.333vw;
      width: 8.53vw; }
    div.contact-list.flex div.box .tel-num a {
      font-size: 10.667vw; }
      div.contact-list.flex div.box .tel-num a .komoji {
        font-size: 4.267vw; }
    div.contact-list.flex div.box .bh {
      font-size: 4.8vw;
      color: #242424; }
      div.contact-list.flex div.box .bh .left {
        display: none; }
  div.contact-list.flex div.box:last-child {
    margin-bottom: 0; }
  div.contact-list.flex div.box.box01 .ico {
    margin-bottom: 7.467vw; }
  div.contact-list.flex div.box.box03 .ang-tit {
    width: 23.467vw; }
  div.contact-list.flex div.box.box03:before {
    width: calc(100% - 25.6vw); }
  div.contact-list.flex div.box:before {
    content: "";
    background: #fff;
    height: 13.867vw;
    width: calc(100% - 19.2vw);
    border-radius: 0.8vw 0.8vw 0 0;
    position: absolute;
    right: 0;
    bottom: calc(100% - 0.267vw); }

.ang-tit {
  position: absolute;
  text-align: left;
  left: 2.133vw;
  bottom: 100%;
  font-weight: 700;
  font-size: 6.4vw;
  box-sizing: border-box;
  line-height: 1; }
  .ang-tit > span {
    display: block;
    padding-bottom: 4.267vw;
    z-index: 2;
    position: relative; }
  .ang-tit > span:after {
    content: "";
    width: 2.667vw;
    height: 2.667vw;
    background: #1C232C;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 0 0 0.8vw 0; }

.ang-tit:before {
  content: "";
  width: 2.667vw;
  height: 2.667vw;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: 0; }

.fax-set {
  color: #242424; }

.fax-num {
  line-height: 1;
  font-size: 10.66vw;
  font-family: "os"; }
  .fax-num .komoji {
    font-size: 4.26vw; }

.btn01.ct-btn {
  height: 17.06vw; }
  .btn01.ct-btn a {
    border: solid 1px #fff;
    position: relative; }
    .btn01.ct-btn a .text {
      position: relative;
      z-index: 2;
      font-size: 4.8vw; }
    .btn01.ct-btn a .arrow img {
      position: relative;
      z-index: 3;
      width: 2.13vw; }
    .btn01.ct-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; }
  .btn01.ct-btn a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 9.33vw;
    background: #fff;
    opacity: 0;
    transition: 0.3s; }

div#ftBox01 {
  padding: 80px 5.33vw;
  border-bottom: solid 1px #DBE2E8; }

div.ft-info {
  margin-top: 80px; }

h2.ft-logo {
  max-width: 336px; }

.ft-text01 {
  font-size: 14px;
  margin-top: 8px;
  margin-bottom: 24px;
  color: #6C6C6C; }

.ft-text02 {
  font-size: 16px;
  line-height: 1.2; }
  .ft-text02 > p {
    margin-bottom: 10px; }
  .ft-text02 > p:last-child {
    margin-bottom: 0; }

.ft-inner.flex {
  display: block; }

div#fnav > div {
  margin-bottom: 40px; }
div#fnav > div:last-child {
  margin-bottom: 0; }

.fnav01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .fnav01 .ft-tit,
  .fnav01 ul.nav-sub {
    width: 47.6%; }
  .fnav01 .ft-tit:first-child {
    width: 100%;
    margin-bottom: 40px;
    order: 1; }
  .fnav01 .ft-tit:nth-child(2) {
    order: 2;
    margin-top: 0; }
  .fnav01 .ft-tit:nth-child(4) {
    order: 3;
    margin-top: 0; }
  .fnav01 ul.nav-sub:nth-child(3) {
    order: 4; }
  .fnav01 ul.nav-sub:nth-child(5) {
    order: 5; }

.fnav02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .fnav02 .ft-tit {
    width: 47.6%; }
  .fnav02 .ft-tit:first-child,
  .fnav02 .ft-tit:nth-child(2) {
    margin-top: 0; }

.ft-tit {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.33;
  margin-top: 24px; }
  .ft-tit a {
    display: inline-block;
    text-decoration: none;
    position: relative; }

.ft-tit:first-child {
  margin-top: 0; }

div#fnav ul.nav-sub {
  margin-top: 16px; }

ul.nav-sub {
  margin-top: 16px; }
  ul.nav-sub > li {
    line-height: 20px;
    margin-bottom: 16px; }
    ul.nav-sub > li a {
      display: inline-block;
      font-weight: 500;
      position: relative;
      font-size: 18px;
      text-decoration: none; }
  ul.nav-sub > li:last-child {
    margin-bottom: 0; }

ul.nav-sub:first-child {
  margin-top: 0; }

.ft-bottom {
  padding: 40px 5.33vw; }
  .ft-bottom .wrap {
    line-height: 1;
    font-size: 14px; }
  .ft-bottom ul.pp-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .ft-bottom ul.pp-list > li {
      margin-left: 24px; }
  .ft-bottom .copyright {
    text-align: center;
    margin-top: 16px; }

div#footer {
  padding-bottom: 65px; }

.page-contact div#footer {
  padding-bottom: 0; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  z-index: -20; }

div#page-top {
  position: absolute;
  right: 5.33vw;
  top: -25px;
  opacity: 0;
  z-index: -3;
  transition: opacity 0.3s;
  width: 50px; }

div#page-top a {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  text-align: center;
  box-sizing: border-box;
  line-height: 1;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  position: relative; }

.fixed div#page-top {
  opacity: 1;
  z-index: 6; }

div#scr {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
  width: 100%; }
  div#scr .btn01 {
    width: 100%;
    height: 64px; }
    div#scr .btn01 a {
      border-radius: 0; }
      div#scr .btn01 a span.text.sp {
        display: inline-block;
        padding-left: 32px;
        background: url("../img/common/ico-mail.svg") no-repeat left center; }

.float_batsu01 {
  display: none; }

.scr-textBox {
  display: none; }

/* iOSでのデフォルトスタイルをリセット */
input[type="password"],
textarea,
input[type="text"],
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer; }

input[type="password"]::-webkit-search-decoration,
textarea::-webkit-search-decoration,
select::-webkit-search-decoration,
input[type="text"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="password"]::focus,
textarea::focus,
select::focus,
input[type="text"]::focus,
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

select {
  color: #222;
  padding: 5px;
  box-sizing: border-box; }

/* TOP
------------------------------------------*/
body.home {
  padding-top: 0; }
  body.home div#mv {
    height: 226.93vw;
    width: 100%;
    background: url("../img/main/sp-mv-bg.jpg") no-repeat center top;
    background-size: cover;
    position: relative;
    padding-top: 64px; }

.mv-cont {
  position: absolute;
  z-index: 2;
  color: #fff;
  width: 89.33vw;
  top: calc(64px + 85.33vw);
  left: 5.33vw; }
  .mv-cont ul.border-list.flex {
    margin: 0 0 4.26vw;
    width: 100%; }
    .mv-cont ul.border-list.flex > li {
      font-size: 4.26vw;
      margin: 0 1.06vw 0 0;
      padding: 1.86vw;
      line-height: 1; }
    .mv-cont ul.border-list.flex > li:last-child {
      margin-right: 0; }

.mv-img {
  position: absolute;
  right: 0;
  top: calc(64px + 4.26vw);
  z-index: 2;
  width: 100%;
  height: 70.4vw; }
  .mv-img img {
    width: 100%;
    max-width: none; }
  .mv-img .mv-img01 {
    position: absolute;
    right: 0;
    top: 10.66vw;
    width: 61.33vw; }
  .mv-img .mv-img02 {
    position: absolute;
    left: 10.66vw;
    bottom: 0;
    width: 51.2vw;
    z-index: 3; }
  .mv-img .mv-img03 {
    position: absolute;
    left: 0;
    top: 0;
    width: 32vw; }

.mv-text01 {
  font-size: 10.66vw;
  font-weight: 700;
  margin-bottom: 8.53vw;
  line-height: 1.36; }

.mv-text02 {
  font-size: 4.26vw;
  line-height: 1.6;
  font-weight: 700; }

.mv-scr-wrap {
  overflow: hidden;
  background: #fff;
  width: 88.53vw;
  height: 32vw;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 21.33vw;
  margin: 0 auto;
  border-radius: 1.33vw;
  padding: 4.26vw 0;
  box-sizing: border-box; }

div.mv-scr {
  display: flex;
  flex-wrap: wrap;
  width: 710vw; }

.scr-text01 {
  display: flex;
  flex-wrap: wrap; }
  .scr-text01 .box {
    text-align: center;
    color: #274C82;
    font-weight: 700;
    line-height: 1;
    padding: 4.26vw 6.4vw;
    border-right: solid 0.05vw #DBE2E8; }
    .scr-text01 .box p.line01 {
      font-size: 4.8vw;
      margin-bottom: 1.06vw; }
    .scr-text01 .box p.line02 {
      font-size: 5.33vw;
      line-height: 1; }
      .scr-text01 .box p.line02 .big {
        font-size: 7.46vw; }
      .scr-text01 .box p.line02 .big.en {
        font-size: 9.33vw; }

.scr-text01:first-child {
  animation: text01 30s -15s linear infinite; }

.scr-text01:nth-child(2) {
  animation: text02 30s 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;
  padding: 40px 5.33vw; }
  div#top-news .tit {
    font-weight: 700;
    margin-bottom: 24px; }
  div#top-news .more-btn01 {
    margin-left: auto;
    width: 120px; }
    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); }

.top-news-cont {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 24px; }

article.top-news-art01 a {
  display: block;
  position: relative;
  text-decoration: none; }
  article.top-news-art01 a .t-date {
    font-size: 14px;
    margin-bottom: 10px; }
  article.top-news-art01 a .t-tit {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
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); }

.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 195px right -11.46vw;
  background-size: 96vw; }

section#topBox01 {
  padding: 50px 5.33vw 120px; }
  section#topBox01 .titles01 {
    margin-bottom: 64px; }

.top-cont01.flex {
  display: block; }
  .top-cont01.flex .left {
    margin-bottom: 30px; }
  .top-cont01.flex .right .btn01 {
    margin: 40px 0 0 auto; }

.copy {
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5; }

.icoBox.flex {
  padding-bottom: 6.4vw;
  border-bottom: solid 1px #DBE2E8;
  justify-content: space-between;
  margin-bottom: 6.4vw; }
  .icoBox.flex .ico {
    width: 21.33vw; }
  .icoBox.flex > .text {
    width: calc(100% - 25.6vw);
    font-size: 4.26vw;
    line-height: 1.4; }
    .icoBox.flex > .text h3.tit {
      font-weight: 700;
      font-size: 5.33vw;
      line-height: 1;
      margin-bottom: 2.13vw; }

div.bg-img01 {
  height: 74.66vw;
  position: relative;
  background: url("../img/top/bg-img01-sp.jpg") no-repeat center;
  background-size: cover; }

div.bg-img01:before {
  content: "";
  height: 30px;
  width: 64vw;
  background: #F9F9F9;
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0; }

.ovh {
  overflow: hidden; }

section#topBox02 {
  background: #F9F9F9;
  position: relative; }
  section#topBox02 > .ovh {
    padding: 120px 5.33vw; }
  section#topBox02 .wrap .btn01 {
    margin: 64px 0 0 auto; }

div.reason-list {
  padding-bottom: 23.46vw; }
  div.reason-list .slick-track {
    display: flex;
    flex-wrap: wrap; }
  div.reason-list button.slick-arrow {
    border: solid 1px #242424; }
  div.reason-list button.slick-prev.slick-arrow {
    background-image: url("../img/common/slide-arrow01b.svg"); }
  div.reason-list button.slick-next.slick-arrow {
    background-image: url("../img/common/slide-arrow02b.svg"); }

div.reasonBox.box01.flex {
  margin-right: 5.33vw;
  width: 89.34vw;
  background: #fff;
  display: block;
  height: auto !important; }
  div.reasonBox.box01.flex .cont {
    box-sizing: border-box;
    padding: 24px 24px 55px; }

.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: 16px;
    color: #274C82;
    line-height: 1.45;
    margin-top: 8px; }

.copy02 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 16px; }

section#topBox03 {
  background: #263E62;
  position: relative;
  color: #fff; }
  section#topBox03 > .ovh {
    padding: 160px 5.33vw 120px; }
    section#topBox03 > .ovh .titles01,
    section#topBox03 > .ovh div#ma-cont {
      position: relative;
      z-index: 2; }
    section#topBox03 > .ovh .titles01 {
      margin-bottom: 40px; }

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;
  transition: 0.3s;
  width: 100%; }
  .ma-contBox a {
    display: block;
    padding: 24px 48px 32px 0;
    color: #fff;
    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-top: 8px;
        display: block; }
    .ma-contBox a ul.sq-list > li {
      background-image: url("../img/common/ico-sq02.svg");
      background-position: left top 4px; }
    .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 a:before {
    content: "";
    display: block;
    width: calc(100% + 48px);
    height: 53.33vw;
    margin-bottom: 20px; }

.ma-contBox.ma01 a:before {
  background: url("../img/top/ma01-sp.jpg") no-repeat center;
  background-size: cover; }

.ma-contBox.ma02 a:before {
  background: url("../img/top/ma02-sp.jpg") no-repeat center;
  background-size: cover; }

.ma-contBox.ma03 a:before {
  background: url("../img/top/ma03-sp.jpg") no-repeat center;
  background-size: cover; }

.ma-contBox.ma04 a:before {
  background: url("../img/top/ma04-sp.jpg") no-repeat center;
  background-size: cover; }

section#topBox03:before {
  content: "";
  height: 30px;
  width: 65.86vw;
  background: #F9F9F9;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0; }

div#ma-imgs {
  display: none; }
  div#ma-imgs .ma-img {
    width: 1740px;
    height: 832px;
    opacity: 0;
    transition: 0.5s; }
    div#ma-imgs .ma-img .left {
      width: 600px;
      position: absolute;
      left: 0;
      bottom: 0; }
    div#ma-imgs .ma-img .right {
      width: 300px;
      position: absolute;
      right: 0;
      top: 0; }

section#topBox04 {
  padding: 120px 5.33vw;
  background: #F9F9F9; }
  section#topBox04 .titles01 {
    margin-bottom: 48px; }

.belt-arrow {
  background: #274C82;
  color: #fff;
  text-align: center;
  width: 16vw;
  font-size: 32px;
  font-weight: 700;
  box-sizing: border-box;
  padding-top: 34px;
  line-height: 1;
  overflow: hidden;
  clip-path: polygon(calc(100% - 3.2vw) 0, calc(100% - 3.2vw) calc(100% - 16vw), 100% calc(100% - 16vw), 0 100%, 0 0);
  position: relative; }
  .belt-arrow > span {
    display: none;
    position: relative;
    z-index: 2; }
  .belt-arrow .wave {
    width: 100%;
    height: 130%;
    background: rgba(255, 255, 255, 0.16);
    animation: wave01 12s 0s linear infinite;
    position: absolute;
    left: 0;
    bottom: 0; }

.belt-arrow:after {
  content: "";
  width: calc(100% - 3.2vw);
  height: 100%;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 0;
  background: url("../img/top/onestop-text.svg") no-repeat center;
  background-size: 6.4vw; }

@keyframes wave01 {
  0% {
    transform: translateY(-100%); }
  90% {
    transform: translateY(100%); }
  to {
    transform: translateY(100%); } }
.onestop-set {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between; }

.onestop-flow {
  width: 67.2vw; }
  .onestop-flow > .box {
    box-sizing: border-box;
    width: 100%;
    padding: 4vw;
    border: solid 1px #DBE2E8;
    margin-bottom: 2.13vw;
    background: #fff;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap; }
    .onestop-flow > .box .num {
      display: inline-block;
      background: #274C82;
      line-height: 5.6vw;
      height: 5.6vw;
      font-size: 3.73vw;
      font-weight: 700;
      color: #fff;
      border-radius: 5.6vw;
      width: 10.93vw;
      margin-right: 2.13vw;
      text-align: center; }
    .onestop-flow > .box .text {
      font-weight: 700;
      line-height: 1.2;
      font-size: 5.33vw;
      width: calc(100% - 13.06vw); }
      .onestop-flow > .box .text span.komoji {
        font-weight: 500;
        font-size: 4.26vw; }
  .onestop-flow > .box:last-child {
    margin-bottom: 0; }

.top-cont04.flex {
  margin: 40px 0 0;
  display: block; }
  .top-cont04.flex .left {
    margin-bottom: 40px; }
  .top-cont04.flex .right .copy03 {
    margin-bottom: 24px; }
  .top-cont04.flex .right .btn01 {
    margin-top: 40px; }

section#topBox05 {
  padding: 120px 5.33vw 120px; }
  section#topBox05 .wrap {
    box-sizing: border-box; }
  section#topBox05 .imgs {
    position: relative;
    padding-bottom: 23.73vw;
    margin-bottom: 40px; }
    section#topBox05 .imgs .img01 {
      width: 79.46vw;
      margin-left: auto; }
    section#topBox05 .imgs .img02 {
      width: 45.33vw;
      position: absolute;
      left: 0;
      bottom: 0; }
  section#topBox05 .btn01 {
    margin-top: 40px; }

.copy03 {
  font-weight: 700;
  line-height: 1.5;
  font-size: 25px;
  margin-bottom: 24px; }

.sub01 {
  line-height: 1;
  font-size: 20px;
  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: 120px 5.33vw 120px;
  background: #263E62;
  position: relative;
  overflow: hidden; }
  section#works-sec .btn01 {
    margin-top: 40px; }

article.works-art {
  width: 89.34vw; }
  article.works-art a {
    display: block;
    background: #fff;
    border-radius: 5px;
    text-decoration: none;
    position: relative; }
    article.works-art a .img {
      border-bottom-left-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 24px 24px; }
      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; }

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: 27.73vw; }
  div.slider01 .slick-list {
    overflow: visible; }
  div.slider01 article.works-art {
    margin-right: 5.33vw; }
  div.slider01 ul.slick-dots {
    text-align: left;
    bottom: 31px;
    display: flex;
    width: 1360px;
    left: auto;
    right: 0;
    border-image-width: none; }
    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: 17.06vw;
  height: 17.06vw;
  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: auto;
  right: 46.13vw;
  background-size: 2.66vw; }

button.slick-next.slick-arrow {
  background: url("../img/common/slide-arrow02.svg") no-repeat center;
  right: auto;
  left: 46.13vw;
  background-size: 2.66vw; }

button.slick-arrow:before {
  content: none; }

div#big-btns {
  display: block; }

div.big-btn {
  width: 100%;
  height: 89.33vw;
  display: table; }
  div.big-btn a {
    padding: 0 5.33vw 5.33vw;
    display: table-cell;
    vertical-align: middle;
    position: relative;
    text-decoration: none;
    background: url("../img/top/big01-sp.jpg") no-repeat center;
    background-size: cover; }
    div.big-btn a .titles01 {
      margin-bottom: 0; }
      div.big-btn a .titles01 .jp {
        font-size: 4.8vw; }
      div.big-btn a .titles01 .en {
        font-size: 14.93vw; }
    div.big-btn a .arrow {
      width: 14.66vw;
      height: 14.66vw;
      border-radius: 100%;
      position: absolute;
      right: 5.33vw;
      bottom: 5.33vw;
      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;
        width: 2.14vw; }
    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:nth-child(2) a {
  background-image: url("../img/top/big02-sp.jpg"); }

section#range-sec {
  padding: 120px 5.33vw;
  background: #F5F5F5; }

div.range-list.flex {
  justify-content: space-between; }
  div.range-list.flex .kiriBox {
    position: relative;
    width: 100%;
    padding-top: 49px;
    position: relative;
    margin-bottom: 32px; }
    div.range-list.flex .kiriBox .inner {
      background: #fff;
      padding: 35px 24px 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 0;
      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.box04 h3.titles03 {
      color: #274C82; }
  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"; }
  div.range-list.flex .kiriBox:last-child {
    margin-bottom: 0; }

.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: 32px; }
  .mate-list01.flex .mateBox {
    background: #EFF5FA;
    border-top: solid 1px #C5D6E6;
    width: 100%;
    margin: 0 0 8px;
    box-sizing: border-box;
    padding: 24px 20px; }
    .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:last-child {
    margin-bottom: 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 5.33vw; }
  section#news-sec .wrap .btn01 {
    margin-top: 40px; }
    section#news-sec .wrap .btn01 a .arrow {
      right: 16px; }
  section#news-sec .wrap .news-list01 {
    margin-top: 20x; }

.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.4;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -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:before {
    content: "";
    width: 0;
    height: 1px;
    background: #274C82;
    transition: 0.6s;
    position: absolute;
    left: 0;
    bottom: -1px; }

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;
  box-sizing: border-box;
  background: #F9F9F9; }
  section#recruit-sec .wrap {
    padding: 0 5.33vw 120px; }
  section#recruit-sec .btn01 {
    margin-top: 40px; }
  section#recruit-sec .img {
    background: url("../img/top/rec-img-sp.png") no-repeat center;
    background-size: cover;
    padding-top: 86.7%;
    margin-bottom: 80px; }

.copy01 {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 15px; }

/*02 東和螺子とは
----------------------------------*/
.page-about div#umv {
  padding-bottom: 21.33vw; }

div#umv {
  color: #fff;
  background: url("../img/p02/umv01-sp.jpg") no-repeat center top;
  background-size: cover;
  box-sizing: border-box;
  padding: calc(12.8vw + 64px) 5.33vw 18.66vw; }
  div#umv .wrap .umv-cont {
    margin-top: 12vw; }
  div#umv ul.border-list.flex {
    width: calc(100% + 1.066vw);
    margin: -1.066vw 0 0 -1.066vw; }
    div#umv ul.border-list.flex > li {
      line-height: 1;
      font-size: 4vw;
      padding: 1.6vw;
      margin: 1.066vw 0 0 1.066vw; }

.mv-tit .jp {
  display: block;
  font-weight: 700;
  font-size: 9.6vw;
  line-height: 1.5; }
.mv-tit .en {
  display: block;
  line-height: 1;
  font-weight: 700;
  font-size: 4.8vw;
  margin-top: 4.26vw; }

.umv-copy {
  font-weight: 700;
  margin-bottom: 8.53vw;
  font-weight: 700;
  font-size: 5.33vw;
  line-height: 1.5; }

section#p02Box01 {
  padding: 56px 5.33vw 172px; }
  section#p02Box01 h2.titles01 {
    margin-bottom: 40px; }
  section#p02Box01 .num-tit .copy02 {
    font-size: 24px !important; }

div.twin-cont.flex {
  margin-bottom: 40px;
  display: block; }
  div.twin-cont.flex > .img {
    margin-bottom: 15px; }
  div.twin-cont.flex > .cont .text {
    line-height: 1.8; }

div.twin-cont.flex:last-child {
  margin-bottom: 0; }

.feature-list02 .num-tit {
  margin-bottom: 8px !important; }
.feature-list02 .twin-cont.flex.box04 .btn01 {
  margin-top: 24px; }

.img.u-onestop {
  padding: 5.6vw 2.66vw;
  background: #EFF5FA;
  box-sizing: border-box; }
  .img.u-onestop .one-st-tit {
    font-weight: 700;
    font-size: 4.53vw;
    line-height: 1;
    color: #274C82;
    margin-bottom: 1.33vw;
    text-align: center; }
  .img.u-onestop .onestop-flow {
    padding-top: 4vw;
    background: url("../img/p02/onestop-arrow01.svg") no-repeat right top;
    margin-bottom: 1.33vw;
    justify-content: space-between;
    background-size: 100%;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .img.u-onestop .onestop-flow > .box {
      box-sizing: border-box;
      width: 20.26vw;
      padding: 2.56vw 1.52vw 2.66vw;
      border: solid 1px #DBE2E8;
      margin: 0;
      background: #fff;
      text-align: center;
      display: block; }
      .img.u-onestop .onestop-flow > .box .num {
        display: block;
        background: #274C82;
        line-height: 3.46vw;
        height: 3.46vw;
        font-size: 2.24vw;
        font-weight: 700;
        color: #fff;
        border-radius: 3.46vw;
        width: 6.53vw;
        margin: 0 auto 1.33vw; }
      .img.u-onestop .onestop-flow > .box .text {
        font-weight: 700;
        line-height: 1.2;
        font-size: 3.2vw;
        width: 100%; }
        .img.u-onestop .onestop-flow > .box .text span.komoji {
          font-weight: 500;
          font-size: 2.66vw; }
    .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: 16px;
    color: #274C82;
    line-height: 1.45 !important;
    margin-top: 8px; }
  body:not(.home) .num-tit .copy02 {
    margin-top: 10px;
    font-size: 24px;
    margin-bottom: 0; }
body:not(.home) .copy02 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 16px;
  display: block; }

section#p02Box02 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }

.whithBox {
  background: #FFFFFF;
  padding: 24px 20px;
  box-sizing: border-box;
  width: 100%; }

.whithBox.costBox {
  margin-top: 40px; }
  .whithBox.costBox > .left {
    margin-bottom: 24px; }
    .whithBox.costBox > .left .text {
      line-height: 1.8; }

.sub-text01 {
  font-weight: 700;
  line-height: 1.45;
  margin-bottom: 8px; }

section#p02Box03 {
  padding: 100px 5.33vw; }
  section#p02Box03 .wrap > .img {
    position: relative;
    padding-bottom: 8vw; }
    section#p02Box03 .wrap > .img .blue-bg-copy {
      font-size: 6.93vw;
      font-weight: 700;
      color: #fff;
      line-height: 1;
      position: absolute;
      left: 0;
      bottom: 0; }
      section#p02Box03 .wrap > .img .blue-bg-copy > span {
        display: inline-block;
        background: #274C82;
        padding: 2.66vw 2.13vw; }
  section#p02Box03 .wrap .cont {
    margin-top: 40px; }
    section#p02Box03 .wrap .cont .text {
      line-height: 1.8; }

.vslide-list {
  padding-right: 4.26vw;
  width: 56vw; }

div.v-slider {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 723.12vw;
  overflow: hidden; }

div.v-slider > div.vslider {
  width: 723.12vw;
  display: flex;
  flex-wrap: wrap; }

.vslide-wrapper {
  width: 361.56vw;
  display: flex;
  flex-wrap: wrap; }

.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: translateX(100%); }
  to {
    transform: translateX(-100%); } }
@keyframes loop2 {
  0% {
    transform: translateX(0); }
  to {
    transform: translateX(-200%); } }
@keyframes loop3 {
  0% {
    transform: translateX(-100%); }
  to {
    transform: translateX(100%); } }
@keyframes loop4 {
  0% {
    transform: translateX(-200%); }
  to {
    transform: translateX(0); } }
/*03 CNC自動旋盤
----------------------------------*/
section#p03Box01 {
  padding: 56px 5.33vw 100px; }

.twin-cont.flex.p03-cont01 {
  margin-bottom: 40px; }
  .twin-cont.flex.p03-cont01 .cont {
    margin-bottom: 24px; }

.intBox {
  border: solid 1px #274C82; }
  .intBox .tit {
    text-align: center;
    background: #274C82;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    line-height: 1;
    padding: 16px 5px; }
  .intBox .inner {
    padding: 24px; }

ul.ico-list {
  width: 100%;
  display: block; }
  ul.ico-list > li {
    margin-bottom: 8px;
    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:last-child {
    margin-bottom: 0; }

section#p03Box02 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }

.border-box {
  background: #fff;
  border: solid 1px #274C82;
  padding: 24px 20px; }
  .border-box ul.ico-list {
    justify-content: space-between; }
    .border-box ul.ico-list > li {
      line-height: 1.4;
      background-position: left top 8px;
      margin-bottom: 16px; }
      .border-box ul.ico-list > li .blue {
        font-size: 18px;
        font-weight: 700; }
      .border-box ul.ico-list > li .komoji {
        font-size: 14px; }
    .border-box ul.ico-list > li:last-child {
      margin-bottom: 0; }

.twin-cont-list.feature-list03 {
  margin-top: 40px; }
  .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: 24px; }
      .twin-cont-list.feature-list03 .twin-cont.flex .cont h3.num-tit .copy02 .blue {
        font-size: 28px; }
  .twin-cont-list.feature-list03 .twin-cont.flex .img {
    margin-top: 24px; }

body:not(.home) section#works-sec {
  padding: 120px 5.33vw; }
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旋盤
----------------------------------*/
/*06 その他加工
----------------------------------*/
.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: 16px; }
.twin-cont.flex.p06-cont01 > .cont .copy02 {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 16px; }

.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: 100%;
    height: 48px;
    display: table; }
    ul.link-list > li a {
      display: table-cell;
      text-decoration: none;
      border: solid 1px #E0E0E0;
      position: relative;
      padding: 10px 48px 10px 16px;
      text-align: left;
      vertical-align: middle; }
      ul.link-list > li a .text {
        display: inline-block;
        position: relative;
        z-index: 3;
        font-size: 16px;
        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; }

div#p06Box02 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }

.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 {
  margin-top: 32px; }

/*07 ワンストップ総合加工
----------------------------------*/
.page-onestop .mv-tit .jp {
  font-size: 8.5vw; }

section#p07Box01 {
  padding: 56px 5.33vw 100px; }

.border-box.p07-cont01 {
  padding: 32px 20px;
  margin-bottom: 0; }
  .border-box.p07-cont01 > .inner.flex {
    display: block; }
    .border-box.p07-cont01 > .inner.flex .left .tit {
      line-height: 1.4;
      font-weight: 700;
      font-size: 24px;
      margin-bottom: 24px; }
    .border-box.p07-cont01 > .inner.flex .left ul.ico-list > li {
      margin-bottom: 9px;
      line-height: 1.2;
      background-position: left top 4px; }
    .border-box.p07-cont01 > .inner.flex .left ul.ico-list > li:last-child {
      margin-bottom: 0; }
    .border-box.p07-cont01 > .inner.flex .img {
      margin-top: 24px; }

.arrow-textBox {
  width: 100%;
  height: 40.53vw;
  background: url("../img/p07/bg-arrow-sp.svg") no-repeat center top;
  display: table;
  margin-bottom: 40px; }
  .arrow-textBox > div {
    display: table-cell;
    text-align: center;
    font-weight: 700;
    font-size: 4.8vw;
    line-height: 1.5;
    padding-top: 6.4vw; }

.twin-cont.flex.p07-cont02 {
  margin-bottom: 40px; }
  .twin-cont.flex.p07-cont02 .img {
    margin-top: 40px; }

/*08 試作・開発支援
----------------------------------*/
section#p08Box01 {
  padding: 56px 5.33vw 100px; }

.twin-cont.flex.p08-cont01 {
  margin-bottom: 64px; }
  .twin-cont.flex.p08-cont01 > .cont {
    position: relative;
    box-sizing: border-box;
    border: solid 1px #274C82;
    padding: 32px 20px;
    margin-bottom: 64px; }
    .twin-cont.flex.p08-cont01 > .cont .tit {
      font-weight: 700;
      font-size: 24px;
      line-height: 1.4;
      margin-bottom: 24px; }
    .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-top: solid 24px #EFF5FA;
    border-left: solid 40px transparent;
    border-right: solid 40px transparent;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: calc(100% + 21px); }
  .twin-cont.flex.p08-cont01 > .cont02 .copy02 {
    font-size: 28px;
    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 5px; }
      .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list > li .blue {
        font-weight: 700;
        font-size: 18px; }
    .twin-cont.flex.p08-cont01 > .cont02 ul.ico-list > li:first-child {
      margin-top: 0; }

.twin-cont.flex.p08-cont02 .img {
  margin-top: 40px;
  margin-bottom: 0; }

.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:last-child {
  margin-bottom: 0; }

.p08TBL dl {
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px; }
  .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: 14px; }
  .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: 100px 5.33vw;
  background: #F9F9F9; }

.twin-cont-list.flow-list08 .twin-cont.flex {
  margin-bottom: 40px; }
  .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: flex-start; }
    .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .num {
      margin-right: 8px;
      box-sizing: border-box;
      width: 40px;
      margin-top: 9px; }
    .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .copy02 {
      line-height: 1.6;
      font-size: 24px;
      margin-top: 0;
      width: calc(100% - 48px); }
      .twin-cont-list.flow-list08 .twin-cont.flex .cont h3.num-tit .copy02 .komoji {
        font-size: 18px; }
  .twin-cont-list.flow-list08 .twin-cont.flex .img {
    margin-bottom: 8px; }
.twin-cont-list.flow-list08 .twin-cont.flex:last-child {
  margin-bottom: 0; }

/*09 会社案内
----------------------------------*/
section#p09Box01 {
  padding: 56px 5.33vw 100px; }
  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: 16px 0; }
.TBL01 th {
  width: 120px;
  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: 100px 5.33vw;
  background: #F9F9F9; }

.twin-cont.flex.access-box .map {
  height: 66.66vw;
  margin-top: 24px;
  width: 100%; }
  .twin-cont.flex.access-box .map iframe {
    width: 100%;
    height: 100%; }
.twin-cont.flex.access-box .cont .inBox {
  margin-bottom: 24px; }
  .twin-cont.flex.access-box .cont .inBox .titles04 {
    margin-bottom: 8px; }
  .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: 100px 5.33vw; }
  section#p09Box03 .titles01 {
    margin-bottom: 64px; }

.ph-list > div {
  align-items: flex-start;
  margin-bottom: 16px;
  line-height: 1.4;
  font-weight: 700;
  font-size: 20px; }
  .ph-list > div span.num {
    font-family: "os";
    font-size: 20px;
    margin-right: 12px;
    color: #274C82; }
  .ph-list > div > span.text {
    width: calc(100% - 36px); }
.ph-list > div:last-child {
  margin-bottom: 0; }

section#p09Box04 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }

.twin-cont.flex.meBox .img {
  margin: 40px 0 0; }

.p09-name {
  margin-top: 24px;
  line-height: 1; }
  .p09-name .line01 {
    font-size: 16px;
    margin-right: 16px; }
  .p09-name .line02 {
    font-size: 21px; }

section#p09Box05 {
  padding: 100px 5.33vw; }
  section#p09Box05 .titles01 {
    margin-bottom: 40px; }

.historyBox.flex {
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: solid 1px #DBE2E8;
  align-items: flex-start; }
  .historyBox.flex .age {
    width: 92px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-weight: 700;
    font-family: "os";
    margin-right: 24px;
    color: #274C82;
    font-size: 20px;
    align-items: center; }
    .historyBox.flex .age .gatsu {
      font-size: 16px; }
  .historyBox.flex .cont {
    width: calc(100% - 116px);
    line-height: 1.6; }

.historyBox.flex:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none; }

/*10 設備紹介 
----------------------------------*/
div#p10Box01 {
  padding: 56px 5.33vw 100px; }

div#p10Box02 {
  padding: 100px 5.33vw 100px;
  background: #f9f9f9; }
  div#p10Box02 ul.anc-list {
    background: #fff; }

div#two-content {
  display: block; }

div#two-side {
  margin-bottom: 40px; }

div#two-content02 {
  display: block; }

div#two-side02 {
  margin-bottom: 40px; }

article.faci-art {
  margin-bottom: 40px;
  width: 100%; }
  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: 20px;
    line-height: 1.35;
    margin-bottom: 16px; }

article.faci-art:last-child {
  margin-bottom: 0; }

.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: 17px; }
    ul.anc-list > li a {
      font-weight: 700;
      text-decoration: none;
      display: inline-block;
      padding-left: 28px;
      background: url("../img/common/sub-arrow02.svg") no-repeat left center;
      line-height: 24px;
      font-size: 18px; }
  ul.anc-list > li:last-child {
    margin-bottom: 0; }

section.faciSec {
  margin-bottom: 64px; }

section.faciSec:last-child {
  margin-bottom: 0; }

.TBL10 {
  width: 830px; }
  .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; }

.scroll-hint-text {
  font-size: 0 !important; }

.scroll-hint-text:before {
  content: "スクロールできます";
  font-size: 12px !important; }

.scroll-hint-icon {
  height: 90px !important;
  width: 150px !important; }

/*11 実績紹介 
----------------------------------*/
div.case-list-all {
  width: 100%; }
  div.case-list-all article.works-art {
    width: 100%;
    margin-bottom: 40px; }
    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 20px 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:last-child {
    margin-bottom: 0; }
  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: 6.66vw;
  font-weight: 700;
  line-height: 1.4; }

div#contents.bg11 {
  background: #F9F9F9; }

div#p11sBox01 {
  padding: 56px 5.33vw 100px; }
  div#p11sBox01 div#two-content div#two-side {
    margin: 64px 0 0; }
  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: 10px;
      font-size: 16px; }
  article.singleBox01 .w-data dl.flex:last-child {
    margin-bottom: 0; }

.works-cont01.flex {
  display: block; }
  .works-cont01.flex .gallery-main {
    margin-bottom: 6.4vw; }
    .works-cont01.flex .gallery-main button.slick-prev.slick-arrow {
      border-radius: 8.53vw !important;
      width: 6.93vw;
      height: 11.2vw;
      background: url("../img/p11/w-arrow01.svg") no-repeat center;
      background-size: contain;
      top: 33.6vw;
      transform: translateY(-50%);
      left: 1.33vw;
      right: auto;
      border: none; }
    .works-cont01.flex .gallery-main button.slick-next.slick-arrow {
      border-radius: 8.53vw !important;
      width: 6.93vw;
      height: 11.2vw;
      background: url("../img/p11/w-arrow02.svg") no-repeat center;
      background-size: contain;
      top: 33.6vw;
      transform: translateY(-50%);
      right: 1.33vw;
      left: auto;
      border: none; }

.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: 22.4vw;
  position: relative;
  margin-right: 2.13vw;
  cursor: pointer;
  transition: 0.3s; }
  .g-thumb .in-img {
    padding-top: 75.86%; }

.g-thumb.slick-current {
  opacity: 0.4; }

.w-repeat {
  margin-top: 40px; }
  .w-repeat .w-repeatBox {
    margin-bottom: 40px; }
  .w-repeat .w-repeatBox:last-child {
    margin-bottom: 0; }
  .w-repeat .titles04.gray-t {
    margin-bottom: 8px;
    font-size: 26px; }

.bfafBox.flex {
  margin-bottom: 8px; }

.wt-text01:last-child,
.bfafBox.flex:last-child {
  margin-bottom: 0; }

.bfafBox.flex {
  justify-content: center; }
  .bfafBox.flex > div.img {
    width: 100%;
    margin-bottom: 8.53vw;
    position: relative; }
    .bfafBox.flex > div.img .in-img {
      padding-top: 71.79%; }
  .bfafBox.flex > div.img:last-child {
    margin-bottom: 0; }

.bfafBox.flex.bfaf > div.img.bf:before {
  content: "";
  width: 0;
  height: 0;
  border-top: solid 4.26vw #274C82;
  border-left: solid 3.2vw transparent;
  border-right: solid 3.2vw transparent;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(100% + 2.13vw); }

.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:last-child {
      margin-bottom: 0; }

.sideBox:last-child {
  margin-bottom: 0; }

.side-inner {
  background: #fff;
  padding: 24px; }
  .side-inner 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;
    display: block;
    width: 100%; }

div.witerBox {
  position: relative;
  padding: 32px;
  margin-top: 40px;
  border: solid 1px #274C82; }
  div.witerBox .titles04 {
    font-size: 20px;
    line-height: 1;
    text-align: center; }
  div.witerBox .inner {
    position: relative; }
    div.witerBox .inner > h2 {
      font-size: 20px;
      line-height: 1.4;
      margin-bottom: 8px; }
    div.witerBox .inner .wr-detail {
      line-height: 1.4;
      margin-bottom: 16px; }
    div.witerBox .inner .img {
      width: 80px;
      margin: 0 auto 8px; }
      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.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 span.pages {
  display: none; }

.post-navigation ul {
  margin-top: 64px;
  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.prev,
  .post-navigation ul li.next {
    width: 50px; }
    .post-navigation ul li.prev a,
    .post-navigation ul li.next a {
      border-radius: 100% !important;
      background-position: center !important; }
    .post-navigation ul li.prev span.text,
    .post-navigation ul li.next span.text {
      display: none; }
  .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.next a {
    background: url("../img/p11/arrow03h.svg") no-repeat center right 24px #274C82;
    border-radius: 30px; }
  .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; }

/*12 お知らせ 
----------------------------------*/
.news-list-all article.news-art {
  width: 100%;
  margin-bottom: 40px; }
  .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:last-child {
  margin-bottom: 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;
        position: relative;
        padding-left: 64px; }
        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: absolute;
          left: 16px;
          top: 23px; }

/*13  お問い合わせ
----------------------------------*/
section#p13Box01 {
  padding: 56px 5.33vw 100px; }

.twin-cont.flex.p13-cont01 {
  margin-top: 40px; }
  .twin-cont.flex.p13-cont01 > .cont .btn01 {
    margin-top: 24px; }
  .twin-cont.flex.p13-cont01 > .img {
    margin: 40px 0 0; }

section#p13Box02 {
  padding: 100px 5.33vw;
  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 .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 .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 {
      padding: 40px 20px;
      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 {
      padding-top: 38px;
      margin-bottom: 24px; }
      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; }
    section#p13Box02 .contact-list.flex > .box:last-child {
      margin-bottom: 0; }

.contact-set01.flex {
  display: block; }
  .contact-set01.flex .titles01 {
    margin-bottom: 40px; }
  .contact-set01.flex .right .copy02 {
    line-height: 1.5;
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 16px; }
  .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: 16px;
      line-height: 1;
      background: #274C82;
      padding: 5px;
      margin: 4px 0 0 4px; }
  .contact-set01.flex .bottom {
    margin-top: 40px;
    color: #274C82;
    border: solid 1px #274C82;
    padding: 24px 20px;
    line-height: 1.6; }
    .contact-set01.flex .bottom h3 {
      font-weight: 700;
      font-size: 18px;
      line-height: 1.4;
      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: 32%;
  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; }

.contactTBL th, .contactTBL td {
  display: block;
  box-sizing: border-box;
  font-size: 16px;
  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 {
  padding-top: 40px; }
.contactTBL tr.pp-tr th, .contactTBL tr.pp-tr td {
  background: #FFF4F4;
  padding-left: 20px;
  padding-right: 20px; }
.contactTBL tr.pp-tr td {
  padding-bottom: 40px; }

span.hissu {
  display: inline-block;
  color: #fff;
  padding: 0px 7px;
  background: #D50000;
  margin-right: 8px;
  box-sizing: border-box;
  font-size: 14px;
  font-weight: 700;
  border-radius: 5px; }

span.nini {
  display: inline-block;
  padding: 0px 6px;
  margin-right: 8px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 5px;
  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: 5px 10px; }

select.wpcf7-select {
  box-sizing: border-box;
  height: 40px;
  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;
  width: 100%; }

select {
  background: #fff;
  border-radius: 0; }

textarea.wpcf7-textarea {
  box-sizing: border-box;
  height: 160px;
  border: solid 1px #D4D4D4;
  padding: 5px 16px;
  font-size: 16px;
  background: #fff;
  width: 100%; }

input#com-name,
input#busho {
  width: 100%; }

.contactTBL .select-con .wpcf7-list-item {
  display: block;
  margin-right: 10px !important; }

.select-con {
  margin-bottom: 15px; }

input#your-name,
input#your-kana {
  width: 100%; }

.cours-area {
  margin-top: 5px; }

input.wpcf7-text.tel01,
input#zip01 {
  width: 180px; }

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 48px #fff;
  padding: 76px 10px 48px; }

.contactArea .codedropz-upload-inner {
  color: #1C1C1C;
  line-height: 1.5;
  font-size: 14px;
  font-weight: 500; }

.contactArea .codedropz-upload-inner h3 {
  font-size: 14px;
  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: 40px;
  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: 100%;
  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-top: 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; }

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: 20px 10px; }
  .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: 56px 5.33vw 100px; }
  div#p14Box01 .mv-scr-wrap {
    width: 100%;
    background: #EFF5FA;
    border-radius: 5px;
    position: relative;
    bottom: auto; }
  div#p14Box01 .scr-text01 .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }

.twin-cont.flex.p14-cont01 {
  margin-bottom: 40px; }
  .twin-cont.flex.p14-cont01 .img {
    position: relative;
    margin: 40px 0 0; }
    .twin-cont.flex.p14-cont01 .img .blue-bg-text {
      width: 42.66vw;
      text-align: center;
      height: 9.6vw;
      line-height: 9.6vw;
      font-weight: 700;
      background: #274C82;
      position: absolute;
      left: 19.73vw;
      bottom: 5.06vw;
      color: #fff; }
  .twin-cont.flex.p14-cont01 > .cont .copy02 {
    font-size: 27px;
    line-height: 1.5;
    margin-bottom: 30px; }

section#p14Box02 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }
  section#p14Box02 h2.titles01 {
    margin-bottom: 64px; }

.twin-cont-list.feature-list14 .twin-cont.flex .cont .num-tit {
  margin-bottom: 16px; }
.twin-cont-list.feature-list14 .twin-cont.flex .img {
  margin-bottom: 15px; }

section#p14Box03 {
  padding: 100px 5.33vw; }
  section#p14Box03 h2.titles01 {
    margin-bottom: 40px; }

.twin-cont-list.int-list .twin-cont.flex {
  box-sizing: border-box;
  flex-direction: row !important;
  padding: 20px;
  background: #F9F9F9;
  margin-bottom: 24px; }
  .twin-cont-list.int-list .twin-cont.flex .cont h3.tit {
    font-size: 18px;
    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: 24px; }
  .p08TBL.int-data dl dt {
    width: 90px;
    margin-bottom: 8px; }
  .p08TBL.int-data dl dd {
    width: 100%;
    color: #274C82; }

section#p14Box04 {
  padding: 100px 5.33vw;
  background: #F9F9F9;
  overflow: hidden; }
  section#p14Box04 .titles01 {
    margin-bottom: 64px; }
  section#p14Box04 .wrap {
    box-sizing: border-box; }

.gallery-slider button.slick-prev.slick-arrow {
  border-radius: 8.53vw !important;
  width: 6.93vw;
  height: 11.2vw;
  background: url("../img/p11/w-arrow01.svg") no-repeat center;
  background-size: contain;
  top: 33.6vw;
  transform: translateY(-50%);
  left: 1.33vw;
  right: auto;
  border: none; }
.gallery-slider button.slick-next.slick-arrow {
  border-radius: 8.53vw !important;
  width: 6.93vw;
  height: 11.2vw;
  background: url("../img/p11/w-arrow02.svg") no-repeat center;
  background-size: contain;
  top: 33.6vw;
  transform: translateY(-50%);
  right: 1.33vw;
  left: auto;
  border: none; }

.gallery-img-wrap {
  width: 89.34vw;
  margin-right: 5.33vw; }
  .gallery-img-wrap .cap {
    line-height: 1.8;
    margin-top: 8px; }

.gallery-img .in-img {
  padding-top: 76.92%; }

section#p14Box05 {
  padding: 100px 5.33vw;
  background: #F9F9F9; }
  section#p14Box05 .opcl-cont {
    display: none; }
    section#p14Box05 .opcl-cont > div {
      padding: 24px 20px;
      background: #fff; }
  section#p14Box05 .TBL01 th {
    width: auto;
    padding-bottom: 8px; }
  section#p14Box05 .TBL01 td {
    padding-top: 0; }
  section#p14Box05 .TBL01 th, section#p14Box05 .TBL01 td {
    display: block; }

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: 40px; }

article.rec-art:last-child {
  margin-bottom: 0; }

.rec-head.flex {
  box-sizing: border-box;
  padding: 14px 40px 14px 20px;
  color: #fff;
  background: #274C82;
  position: relative;
  cursor: pointer; }
  .rec-head.flex .sub01 {
    line-height: 1.2;
    margin-bottom: 0;
    font-weight: 700;
    font-size: 18px; }
  .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: 20px;
    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: 40px;
  justify-content: center; }
  .rec-btns.flex > div {
    margin-bottom: 8px; }
  .rec-btns.flex > div:last-child {
    margin-bottom: 0; }
  .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%); }

section#p14Box06 {
  padding: 100px 5.33vw;
  background: #fff; }

.flow-list.flex {
  display: block; }
  .flow-list.flex > .box {
    margin-bottom: 40px; }
    .flow-list.flex > .box .img {
      position: relative;
      margin-bottom: 15px; }
    .flow-list.flex > .box .num-tit {
      margin-top: 0;
      margin-bottom: 8px;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start; }
      .flow-list.flex > .box .num-tit .num {
        margin-right: 8px;
        margin-top: 5px; }
      .flow-list.flex > .box .num-tit .copy02 {
        font-size: 24px;
        margin-bottom: 0;
        width: calc(100% - 49px);
        margin-top: 0; }
    .flow-list.flex > .box > .text {
      line-height: 1.8; }
  .flow-list.flex > .box:last-child {
    margin-bottom: 0; }
    .flow-list.flex > .box:last-child .img:before {
      content: none; }

/*100 thanksページ等
----------------------------------*/
div#p100Box01 {
  padding: 56px 5.33vw 100px;
  text-align: center; }
  div#p100Box01 .btn01 {
    margin: 30px 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; }

/*ブラウザごと
----------------------------------*/
/*デバイス幅ごとの調整（必要な幅があれば追加して調整）*/
