@charset "utf-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 3.8vw;
  /* 18px*/
  background: #fff;
  position: relative;
  color: #333;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic",
    "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  text-align: left;
  box-sizing: border-box;
  line-height: 1.8;
  font-weight: normal;
  /* max-width: 2120px; */
  /* min-width: 1300px; */
  display: block;
  width: 100%;
}

.sp {
  display: block !important;
}

.pc {
  display: none !important;
}

object {
  pointer-events: none;
}

figure {
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

a:link,
a:visited {
  color: #000;
}

.rela {
  position: relative;
}

img {
  width: 100%;
  display: block;
  transition: 0.3s;
}

/*hover*/

.cf::after {
  display: block;
  content: "";
  clear: both;
}

.d_bl {
  display: block;
}
.guimg_up {
  overflow: hidden;
}

/*★★★gfont*/
.Josefin_Sans {
  font-family: "Josefin Sans", sans-serif;
}

.NotoSerifJP {
  font-family: "Noto Serif JP", serif;
}

.HGPPOPtai {
  font-family: "HGP創英角ﾎﾟｯﾌﾟ体";
}

.Crimson_Text {
  font-family: "Crimson Text", serif;
}

.bk_gry {
  background: #f3f3f3;
}

.bk_kon {
  background: #0c3380;
}

.bk_kon_str {
  background: #0c3380;
  background-size: auto auto;
  background-color: rgba(31, 70, 146, 1);
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 15px,
    rgba(12, 51, 128, 1) 15px,
    rgba(12, 51, 128, 1) 30px
  );
}

.bk_lb_str {
  background-size: auto auto;
  background-color: rgba(220, 246, 253, 1);
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 30px,
    rgba(206, 242, 252, 1) 15px,
    rgba(206, 242, 252, 1) 60px
  );
}

.bk_gr_str {
  background-size: auto auto;
  background-color: #f3f3f3;
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 25px,
    #e8e8e8 15px,
    #e8e8e8 50px
  );
}

.bk_kon2 {
  background: #032465;
}

.bk_white {
  background: #fff;
}

.bk_whi08 {
  background: rgba(255, 255, 255, 0.8);
}

.gaps_bule {
  background: rgba(12, 51, 128, 0.2);
}

.gaps_bule_af {
  position: relative;
  overflow: hidden;
}

.gaps_bule_af::before {
  display: block;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: rgba(12, 51, 128, 0.2);
}

.gaps_black_af {
  position: relative;
  overflow: hidden;
}

.gaps_black_af::before {
  display: block;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: rgba(0, 0, 0, 0.1);
}

.bk_black_02 {
  background: rgba(0, 0, 0, 0.2);
}

.gaps_black_af02 {
  position: relative;
  overflow: hidden;
}

.gaps_black_af02::before {
  display: block;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
}

.gaps_black_af2::before {
  display: block;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  background: rgba(0, 0, 0, 0.2);
}

.wh_color,
a.wh_color,
.wh_color a,
.wh_color .tit02 b,
.wh_color .tit02 span {
  color: #fff;
}

.ko_color,
.ko_color.tit02.tit02_x span {
  color: #0c3380;
}

.bsdow_gry {
  box-shadow: 25px 25px 0px #f3f3f3;
}

.parallax {
  width: 100%;
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #e6e6e6;
}

.txt_csb {
  /* text-align: center; */
}
.border_solid_1 {
  border: solid 1px;
}

.text-shadow {
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.6);
}

/* [UL ol] style
----------------------------------------------------------*/
ul.disc {
  margin-left: 20px;
  list-style-type: disc;
}

ul.disc li {
  padding-bottom: 5px;
  list-style-type: disc;
}

ul.disc li:last-child {
  padding-bottom: 0;
}

ol.decimal {
  margin-left: 20px;
  list-style-type: decimal;
}
ol.decimal li {
  padding-bottom: 5px;
  list-style-type: decimal;
}
.small {
  font-size: 85%;
}

/*base*/
#wb_wrap {
  /* max-width: 1920px; */
  overflow: hidden;
  margin: 0 auto;
  /* z-index: -1; */
  position: relative;
  /* opacity: 0; */
  transition-duration: 0.5s;
  transition-timing-function: ease-in;
  z-index: 1;
  opacity: 1;
}

#wb_wrap.opp_ac {
  z-index: 1;
  opacity: 1;
}

.inner {
  position: relative;
  max-width: 1250px;
  width: 96%;
  margin: 0 auto;
}

.inner-1000 {
  position: relative;
  max-width: 1000px;
  width: 96%;
  margin: 0 auto;
}

.inner-900 {
  position: relative;
  max-width: 900px;
  width: 96%;
  margin: 0 auto;
}

.flex_nowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.ul50_max > li,
.ul50_max > a {
  margin: 0 0 5% 0;
  box-sizing: border-box;
}

.ul50 > li,
.ul50 > a {
  margin: 0 0% 5% 0;
  box-sizing: border-box;
  width: 100%;
}

.ul33 > li,
.ul33 > a {
  float: left;
  width: 48%;
  margin: 0 4% 4% 0;
  box-sizing: border-box;
  position: relative;
}

.ul33 > li:nth-child(2n),
.ul33 > a:nth-child(2n) {
  margin: 0 0 4%;
}

.ul25 li,
.ul25 > a {
  float: left;
  width: 48%;
  margin: 0 4% 4% 0;
  box-sizing: border-box;
  position: relative;
}

.ul25 > li:nth-child(2n),
.ul25 > a:nth-child(2n) {
  margin: 0 0 4%;
}

.ul50 > li > a,
.ul33 > li > a,
.ul25 > li > a {
  display: block;
}

.ul4_6,
.ul6_4 {
  display: flex;
  justify-content: space-between;
}

.ul6_4 > *:nth-child(odd),
.ul4_6 > *:nth-child(even),
.ul6_4 > *:nth-child(odd),
.ul4_6 > *:nth-child(even) {
  width: 100%;
}

.c_c_c {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.l_disc li {
  list-style-type: disc;
  list-style-position: outside;
}

ul.l_disc {
  margin-left: 20px;
}

.table01 {
  margin-bottom: 5%;
}

.table01 table {
  margin-bottom: 10%;
  border-top: 1px solid #9a9999;
  width: 100%;
}

.table01 table tbody tr {
  border-bottom: 1px solid #9a9999;
  display: block;
}

.table01 table tbody tr th {
  padding: 3%;
  vertical-align: middle;
  background: #dcdcdc;
  width: 100%;
  display: block;
}

.table01 table tbody tr td {
  padding: 3%;
  vertical-align: middle;
  display: block;
}

.table01 table tbody tr td label {
  margin-right: 10px;
}

.table01 table tbody tr th span {
  margin-left: 10px;
}

.yt_wrap {
  position: relative;
  padding: 0 0 55%;
  margin: 0 auto;
  overflow: hidden;
}

.yt_wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.gmap_wrap {
  position: relative;
  padding: 0 0 55%;
  margin: 0 auto;
  overflow: hidden;
}

.gmap_wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}

.movie_wrap {
  position: relative;
  padding: 0 0 56.6%;
  margin: 0 auto;
  overflow: hidden;
}

.movie_wrap video {
  position: absolute;
  width: 100%;
  height: 100%;
}

.sToggle > dl > dd {
  /* display: none; */
}

.plus_wrap {
  position: absolute;
  right: 30px;
  width: 10px;
  content: "";
  display: block;
  height: 10px;
  top: -5px;
  bottom: 0;
  margin: auto;
}

.plus_wrap span {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background-color: #1b1d25;
  top: 50%;
  bottom: 0;
  position: absolute;
  margin: 0;
}

.pl02 {
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
}

.togg .pl02 {
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
}

/* =======================================
★★★title
========================================== */
.tit02 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 5%;
}

.tit02 b {
  font-size: 7vw;
  line-height: 1.5;
  letter-spacing: 2px;
  display: inline-block;
  position: relative;
}

.tit02 span {
  font-size: 5vw;
  display: block;
  line-height: 1;
  color: #0c3380;
}

.tit02.h2bor b {
  margin-bottom: 2%;
}

.tit02.h2bor b::before,
.tit02.h2bor b::after {
  content: "";
  display: block;
  max-width: 90px;
  width: 40%;
  height: 1px;
  background: #707070;
  position: absolute;
}

.tit02.h2bor b::before {
  top: 50%;
  left: -100px;
  -webkit-transform: translateY(-50%) translateX(-0%);
  transform: translateY(-50%) translateX(-0%);
}

.tit02.h2bor b::after {
  top: 50%;
  right: -100px;
  -webkit-transform: translateY(-50%) translateX(-0%);
  transform: translateY(-50%) translateX(-0%);
}

.wh_color .tit02.h2bor b::before,
.wh_color .tit02.h2bor b::after {
  background: #fff;
}

.tit02_02 {
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 10%;
}

.tit02_02 b {
  font-size: 6vw;
  line-height: 1.5;
  letter-spacing: 2px;
  display: inline-block;
  position: relative;
  word-break: keep-all;
}

.tit02_02 span {
  font-size: 2rem;
  display: block;
  line-height: 1;
  color: #0c3380;
}

.tit02_02.h2bor2 b {
  margin-bottom: 2%;
  margin-left: 7%;
}

.tit02_02.h2bor2 b::before,
.tit02_02.h2bor2 b::after {
  content: "";
  display: block;
  max-width: 80px;
  width: 60%;
  height: 1px;
  background: #0c3380;
  position: absolute;
}

.tit02_02.h2bor2 b::before {
  top: 50%;
  left: -50px;
  -webkit-transform: translateY(-50%) translateX(-0%);
  transform: translateY(-50%) translateX(-0%);
  max-width: 30px;
}

.tit02_02.h2bor2 b::after {
  top: 50%;
  right: -100px;
  -webkit-transform: translateY(-50%) translateX(-0%);
  transform: translateY(-50%) translateX(-0%);
}

.wh_color .tit02_02.h2bor2 b::before,
.wh_color .tit02_02.h2bor2 b::after {
  background: #fff;
}

.wh_bon {
  color: #0c3380;
}

.wh_bon.tit02.h2bor b::before,
.wh_bon.tit02.h2bor b::after {
  background: #0c3380;
}

h2.tit02.tit02_x {
  text-align: center;
}

h2.tit02.tit02_x span {
  color: #b0b0b0;
  font-size: 1.4rem;
  line-height: 1.8;
}

.h2st {
  font-size: 11vw;
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
}

.tit03 {
  font-size: 5.5vw;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 10%;
}

/* =======================================
★★★txt
========================================== */
.txt01 {
  text-align: center;
}
.small_txt {
  font-size: small;
}

/* =======================================
★animte
========================================== */
/**/
.effectFU {
  overflow: hidden;
  display: block;
}

.effectFU > div.efdiv {
  overflow: hidden;
  position: relative;
  display: block;
  width: 100%;
  -webkit-transform: translate3d(-100.5%, 0, 0);
  transform: translate3d(-100.5%, 0, 0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.effectFU.isShow > div.efdiv {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.effectFU > div.efdiv:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  /* background-color: rgba(243,243,243,0); */
  background-color: #f3f3f3;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.effectFU.isShow > div.efdiv:before {
  /* -webkit-transform: scale(0, 1); */
  transform: scale(0, 1);
}

.effectFU.isShow > div.efdiv > img {
  width: 100%;
  transition-duration: 4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.concept_ul01 li:first-child .effectFU {
  margin: 0 0 0 0px;
  position: relative;
  top: 40px;
}

.effectFU.bsdow_gry_ef {
  z-index: 1;
  position: relative;
}

.effectFU.bsdow_gry_ef {
  transition: 0.3s;
  transition-delay: 1s;
  box-shadow: 0px 0px 0px #f3f3f3;
  overflow: auto;
}

.effectFU.isShow.bsdow_gry_ef {
  box-shadow: 10px 10px 0px #f3f3f3;
}

@-webkit-keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 20%, 0);
    transform: translate3d(0, 20%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp2 {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2;
}

.Onfade.isShow {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2;
}

/* =======================================
★ページ遷移
========================================== */
/* #pg_show-bg {
  content: "";
  width: 2400px;
  height: 2400px;
  margin-right: -1200px;
  margin-top: -1200px;
  top: -40px;
  right: -40px;
  display: block;
  position: fixed;
  z-index: 100;
  background: #0C3380;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: scale(.02);
  transform: scale(.02);
}

.open_pg #pg_show-bg {
  -webkit-transform: scale(1);
  transform: scale(2);
  -webkit-transition: all .4s ease-out;
  transition: all .4s ease-out;
  animation: chenge_color 1.6s;
  -webkit-animation: chenge_color 1.6s;
} */

@-webkit-keyframes chenge_color {
  0% {
    background-color: #5573af;
  }

  100% {
    background-color: #0c3380;
  }
}

@keyframes chenge_color {
  0% {
    background-color: #90b0ef;
  }

  100% {
    background-color: #0c3380;
  }
}

/* ---------------------------------------------------------------------------
  ★ヘッダー
--------------------------------------------------------------------------- */
/*header*/
header {
  /* position: absolute; */
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  transition: 0.3s;
  /* min-width: 1250px; */
  /* max-width: 2120px; */
  height: auto;
  /* transition: all 0.3s; */
}

@keyframes fadesin {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

#hnav_area {
}

.logo {
}

.hnav_inner {
  width: auto;
  overflow: hidden;
  position: relative;
  z-index: 2;
  color: #fff;
  float: right;
}

.spnaviwrap {
  /* display: none; */
}

.hpc_nav {
  float: right;
}

.hpc_navwrap01 {
  float: left;
  margin: 17px 10px 0 0px;
  padding: 10px 0;
}

.hpc_navwrap02 {
  float: left;
  font-size: 0;
}

.hpc_navwrap01 a {
  display: inline-block;
  margin: 0 20px 20px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

.hpc_navwrap01 a.wborder {
  border: solid 1px;
  padding: 3px 15px;
}

.hpc_navwrap01 a::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #005eb5;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}

.hpc_navwrap01 a.wborder::after {
  display: none;
}

.hpc_navwrap01 a.pjapaimg {
  position: relative;
  top: 16px;
}

.hpc_navwrap01 a.pjapaimg::after {
  display: none;
}

.hpc_navwrap02 a {
  display: inline-block;
  font-size: 4vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  padding: 36px 30px 36px 50px;
}

.hpc_navwrap02 a:before {
}

.hpc_navwrap02 a.hn_reuruit {
  background: url(../img/nav_recruit_icon.png) #3daed2;
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: 23px 22px;
  padding: 36px 30px 36px 50px;
}

.hpc_navwrap02 a.hn_contact {
  padding: 36px 40px;
  background: url(../img/nav_contact_icon.png) #005eb5;
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: 23px 22px;
  padding: 36px 14px 36px 30px;
}

.magabox {
  position: absolute;
  bottom: -40px;
  width: 100%;
  z-index: -1;
  opacity: 0;
  transition: 0.3s;
  background: rgb(12 51 128);
  padding: 11px 5px;
}

.magabox.on {
  z-index: 1;
  opacity: 1;
  transition: 0.3s;
  bottom: -50px;
}

.magabox .close {
  width: 48px;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.magabox .close::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
  z-index: 10;
}

.magabox .close::after {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
  transform: translateY(-50%) translateX(-50%) rotate(135deg);
}

.megainner {
  max-width: 1500px;
  margin: 0 0 0 12%;
}

.megainner > dl {
  z-index: -1;
  position: relative;
  opacity: 0;
  transition: 0.3s;
  display: none;
}

.megainner > dl.on {
  z-index: 1;
  opacity: 1;
  display: block;
}

.megainner > dl dt {
  display: inline-block;
  border-right: solid 1px #005eb5;
  margin: 0 0px 0;
}

.megainner > dl dt a {
  /* font-weight: bold; */
  font-size: 4vw;
  font-weight: 500;
  color: #98c9f7;
  margin-right: 30px;
}

.megainner > dl dd {
  display: inline-block;
  margin-left: 15px;
}

.megainner > dl dd a {
  display: inline-block;
  color: #98c9f7;
}

.megainner a {
  position: relative;
  line-height: 1.3;
  margin-bottom: 5px;
  margin: 0 15px 0;
}

.megainner a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #005eb5;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}

.hpc_navwrap01 a.on::after {
  transform-origin: center top;
  transform: scale(1, 1);
}

.hpc_navwrap01 a.on {
  color: #1790ff;
}

.hpc_navwrap02 a.on.hn_reuruit {
  background: url(../img/nav_recruit_icon.png) #009ed0;
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: 23px 22px;
  padding: 36px 30px 36px 50px;
}

#hnav_area {
  display: none;
}

@media screen and (max-width: 1600px) {
  .hpc_navwrap01 a {
    margin: 0 10px 10px;
    font-size: 1.4rem;
  }

  /*
  .h_ipan_btnwrap a {
    font-size: 1.4rem;
  } */
  .megainner > dl dt a {
    font-size: 1.6rem;
  }

  .megainner > dl dd a {
    font-size: 1.4rem;
  }
}

/*スクロールチェンジ*/
header.changed {
  position: fixed;
  height: auto;
  /* background: rgba(12, 51, 128, 0.5); */
}

header.changed .hlogo_wrap {
  z-index: 3;
  opacity: 1;
  height: auto;
  pointer-events: auto;
  display: block;
  width: 40%;
  transition: 0.3s;
  margin: 15px 0 0 20px;
}

/* header.changed .hpc_navwrap01 {
  margin: 0 10px 0 0px;
}

header.changed .h_ipan_btnwrap a {
  opacity: 1;
  height: auto;
  right: 30px;
  position: absolute;
} */
header.changed .hnav_inner {
  display: none;
}

header.changed .spnaviwrap {
  display: block;
}

header.changed .magabox.on {
  opacity: 0;
  z-index: -1;
}

/* ---------------------------------------------------------------------------
  ★★★ハンバーガー
--------------------------------------------------------------------------- */
.n_logo_wrap {
  max-width: 272px;
  margin: 0 auto 40px;
}

.menu-trigger_wrap {
  /* position: absolute; */
  /* right: 0; */
}

.menu-trigger_wrap {
  float: right;
  width: 54px;
  position: absolute;
  z-index: 10;
  right: 13px;
  top: 2px;
  padding: 10px 0;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  width: 38px;
  height: 28px;
  z-index: 20;
  display: block;
  margin: 0 auto;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #b7b7b7;
  border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  top: 12px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger span:nth-of-type(1) {
  -webkit-animation: menu-bar01 0.75s forwards;
  animation: menu-bar01 0.75s forwards;
}

.menu-trigger em {
  position: absolute;
  top: 33px;
  font-size: 1.3rem;
  color: #b7b7b7;
  font-weight: bold;
  text-align: center;
  left: 50%;
  -webkit-transform: translateY(0%) translateX(-50%);
  transform: translateY(0%) translateX(-50%);
}

@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }

  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg);
  }

  50% {
    transform: translateY(20px) rotate(0);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

.menu-trigger span:nth-of-type(2) {
  transition: all 0.25s 0.25s;
  opacity: 1;
}

.menu-trigger span:nth-of-type(3) {
  -webkit-animation: menu-bar02 0.75s forwards;
  animation: menu-bar02 0.75s forwards;
}

@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }

  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes menu-bar02 {
  0% {
    transform: translateY(-20px) rotate(-45deg);
  }

  50% {
    transform: translateY(-20px) rotate(0);
  }

  100% {
    transform: translateY(0) rotate(0);
  }
}

.active .menu-trigger span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 0.75s forwards;
  animation: active-menu-bar01 0.75s forwards;
  top: -7px;
}

@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
}

@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(20px) rotate(0);
  }

  100% {
    transform: translateY(20px) rotate(45deg);
  }
}

.active .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}

.active .menu-trigger span:nth-of-type(3) {
  -webkit-animation: active-menu-bar03 0.75s forwards;
  animation: active-menu-bar03 0.75s forwards;
  bottom: -9px;
}

@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }

  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }

  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
}

@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-20px) rotate(0);
  }

  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

/* ---------------------------------------------------------------------------
  ★★★ナビゲーション
--------------------------------------------------------------------------- */
/*navi*/
.nav_site {
  top: 0;
  right: -100%;
  width: 100%;
  /* max-width: 500px; */
  height: 100%;
  padding: 100px 10px 50px;
  position: fixed;
  z-index: 1;
  opacity: 0;
  transition: 0.7s;
  transition-timing-function: cubic-bezier(0.96, -0.01, 0.08, 1);
  background: rgba(0, 0, 0, 0.8);
  overflow-y: auto;
}

.active .nav_site {
  opacity: 1;
  top: 0;
  right: 0;
}

header .gnavi {
  text-align: center;
}

nav.gnavi .hbtn_wrap {
  position: relative;
}

nav.gnavi {
  position: relative;
}

header .gnavi a {
  display: block;
  margin: 0 0 10px;
  color: #fff;
}

header .gnavi .sig_wrap {
  max-width: 800px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

header .gnavi .sig_wrap dl {
  float: left;
  width: 50%;
  margin-bottom: 10%;
  padding: 0 5%;
}

header .gnavi dt a {
  position: relative;
  border-bottom: solid 1px #fff;
  padding: 0 0 10px;
  margin: 0 0 20px;
  font-size: 4vw;
}

header .gnavi dd a {
  position: relative;
}

header .hbig_wrap a {
  border: solid 2px #e7568f;
  padding: 10px 10px;
  background: #fff;
  color: #e7568f;
  position: relative;
  font-weight: bold;
  line-height: 1.3;
}

header nav.gnavi li {
  display: inline-block;
  margin: 0 1.6%;
}

header .gnavi ul > li a span object {
  max-width: 40px;
}

header .gnavi ul > li a em {
  font-size: 14px;
  /* font-size: calc(1.275rem + ((1vw - 12px) * 0.6667)); */
  font-weight: 500;
  display: block;
}

.gnavi ul > li a {
  display: block;
  height: 100%;
  width: 100%;
  transition: 0.3s;
}

.gnavi ul > li a span {
  display: block;
}

.gnavi ul > li a span object {
  max-width: 50px;
  width: 70%;
  transition: 0.3s;
}

.gnavi ul > li a em {
  font-size: 18px;
  font-weight: 500;
  display: block;
}

.gnavi .sig_wrap dt {
  position: relative;
  font-family: "Noto Serif JP", serif;
}

.gnavi .hbtn_wrap {
  padding: 0 0 220px;
}

/* ---------------------------------------------------------------------------
  ★totop
--------------------------------------------------------------------------- */
#totop {
  /* color: #ff610c; */
  width: 60px;
  height: 60px;
  background: rgba(0, 0, 0, 0.5);
  display: block;
}

.totop_wrap {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 2;
  /* color: #ff610c; */
  display: none;
}

.totop_wrap .icon-totop {
  display: block;
  width: 100%;
  text-align: center;
}

.totop_wrap .icon-totop:before {
  font-size: 5rem;
  content: "";
  width: 15px;
  height: 15px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  margin: auto;
  transition: 0.3s;
  position: absolute;
  top: 55%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(-45deg);
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
}

#totop span {
  /* color: #ff610c; */
  /* position: relative; */
  display: none;
}

/* ---------------------------------------------------------------------------
  ★フッター
--------------------------------------------------------------------------- */
.f_front {
  background: #4d586b;
}

.f_front_inner {
  max-width: 1350px;
  width: 96%;
  margin: 0 auto;
}

.fnav_wrap {
  /* text-align: center; */
  /* flex-wrap: nowrap; */
  /* display: flex; */
  /* justify-content: space-between; */
  margin-bottom: 5%;
}

.fnav_wrap a {
  color: #fff;
  display: inline-block;
  margin: 0 12px 15px;
  position: relative;
}
.fnav_wrap a::after,
.fpunder a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}

.f_logo_wrap {
  text-align: center;
  margin-bottom: 10%;
}

.f_logo_wrap img {
  margin: 0 auto;
  max-width: 210px;
  width: 90%;
}

.adress_area {
  color: #fff;
  /* flex-wrap: nowrap; */
  /* display: flex; */
  /* justify-content: space-between; */
  /* margin-bottom: 100px; */
  max-width: 600px;
  width: 90%;
  margin: 0 auto;
}

.adress_area dl {
  text-align: left;
  width: 100%;
  margin-bottom: 5%;
}

.adress_area dl dd {
  font-weight: bold;
}

.adress_area dl dt {
}

.adress_area dl dt a {
  color: #fff;
}

.f_front .icons_wrap {
  position: relative;
  display: block;
  margin-bottom: 10px;
  width: 90%;
  margin: 0 auto;
}

.gnavi .icons_wrap {
  display: block;
  text-align: right;
  width: 94%;
  margin: 40px auto;
}

.icons_wrap > a {
  display: inline-block !important;
  max-width: 50px;
  margin: 0 5px !important;
}

.fpunder a {
  color: #fff;
  position: relative;
  display: inline-block;
  margin-left: 5%;
}

.copyright_wrap {
  /* text-align: center; */
  position: relative;
  padding: 10px 0;
  max-width: 1350px;
  margin: 0 auto;
  width: 96%;
}

.copyright {
  text-align: center;
  color: #fff;
  padding: 0;
  font-size: 14px;
}

.f_front_inner {
  position: relative;
  /* background: #f5f5f5; */
  padding: 40px 0 20px;
}

.f_under {
  background: #041d4e;
}

.f_logo {
  max-width: 250px;
  margin: 0 0 15px;
  float: left;
  width: 37%;
  padding: 0 10px 0;
}

.copyright {
  color: #fff;
}

.f_under_inner {
  max-width: 1500px;
  width: 96%;
  margin: 0 auto;
  padding: 50px 0 0;
}

/* ---------------------------------------------------------------------------
  ★パンくず
--------------------------------------------------------------------------- */
.pankuzu_wrap {
  max-width: 100%;
  margin: 0 auto;
  width: 96%;
}

.pankuzu {
  margin: 3% auto;
  font-size: 4vw;
}

.pankuzu li {
  display: inline-block;
  position: relative;
  word-break: break-all;
}

.pankuzu li::after {
  display: inline-block;
  color: #3d3d3d;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1px solid #3d3d3d;
  border-right: 1px solid #3d3d3d;
  position: relative;
  top: 3px;
  margin: 0 10px 0 14px;
  transition: 0.3s;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

.pankuzu li:last-child::after {
  display: none;
}

.pankuzu a {
  color: #6ac8ff;
}

/* ---------------------------------------------------------------------------
  ★★★ボタン
--------------------------------------------------------------------------- */
.vmbtn {
  color: #fff;
  position: relative;
  font-size: 4.2vw;
  display: inline-block;
  padding: 2% 11% 2% 5%;
  font-weight: bold;
  letter-spacing: 1px;
  border: solid 1px;
  text-align: center;
  margin-bottom: 5%;
  min-width: 180px;
}

a.vmbtn {
  color: #fff;
}

.vmbtn.bla_color {
  color: #464646;
}

.vmbtn::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: auto;
  transition: 0.3s;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

.vmbtn.bla_color::after {
  border-top: 2px solid #464646;
  border-right: 2px solid #464646;
}

a.btn01 {
  position: relative;
  text-align: center;
  z-index: 2;
  background-color: #7dddff;
  border: 5px solid #17b4eb;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  text-decoration: none;
  border-radius: 10px;
  color: #fff;
  padding: 15px 50px 15px 80px;
  font-size: 2.4rem;
  font-weight: bold;
}

a.btn01.icon-door:before {
  font-size: 3.3rem;
  position: absolute;
  left: 46px;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
}

a.btn02 {
  position: relative;
  z-index: 2;
  background-color: #005eb5;
  border: 2px solid #005eb5;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: inline-block;
  min-width: auto;
  width: 90%;
  max-width: 380px;
  text-align: center;
  text-decoration: none;
  padding: 3px 0;
}

a.btn02:before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: auto;
  transition: 0.3s;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

a.btn02.bks {
  border-radius: 0;
}

a.btn02.bks:before {
  right: auto;
  left: 25px;
  transform: translateY(-50%) translateX(-50%) rotate(225deg);
}

a.btn02 > span {
  color: #fff;
  font-size: 5.3vw;
}

.ntag {
  display: inline-block;
  border: solid 1px;
  color: #eee;
  padding: 0 5px;
  margin: 0 15px 0 0;
  line-height: 1.5;
  min-width: 66px;
  text-align: center;
}

.ntag01 {
  display: inline-block;
  border: solid 1px #3daed2;
  color: #3daed2;
}

a.txt_link {
  color: #009ad2;
}

.btn_2retu a {
  margin: 0 3% 3%;
}

.vmbtn.bigvm {
  min-width: 320px;
  font-size: 5.5vw;
  padding: 12px 55px;
}
.vmbtn.bigvm::before {
}

/* =======================================
	★ページャー
========================================== */
.pager {
  width: auto;
  margin: 0 auto;
  padding-bottom: 5%;
}

.wp-pagenavi {
  clear: both;
  font-size: 14px;
  text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  width: 35px;
  height: 35px;
  line-height: 2.6;
  border: 1px solid #000000;
  transition: ease-out 0.5s;
  color: #000000;
  font-size: 14px;
  margin: 5px;
  vertical-align: top;
  padding: 0px;
  background-color: #fff;
  border-radius: 4px;
}

.wp-pagenavi span.extend {
  border: 1px solid rgba(245, 245, 245, 0);
}

.wp-pagenavi span.current {
  color: #fff;
  background-color: #000000;
  font-size: 14px;
  vertical-align: top;
  text-decoration: none;
}

/* ---------------------------------------------------------------------------
  ★★★modal
--------------------------------------------------------------------------- */
.modal_area {
  position: absolute;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  top: 44%;
  z-index: -1;
  opacity: 0;
  transition: 0.3s;
  transform-origin: center;
  transform: scale(0, 0);
}

.modal_area.on {
  z-index: 3;
  opacity: 1;
  transform: scale(1, 1);
  padding: 3%;
}

.modal_area .modal_inner {
  width: 96%;
  margin: 0 auto;
  max-width: 1250px;
}

.modal_area h2 {
  color: #fff;
  font-size: 6vw;
  font-family: "Noto Serif JP", serif;
  border-bottom: solid 1px;
  margin-bottom: 5%;
  padding-bottom: 5%;
}

.modal_area dl {
  display: none;
}

.modal_area dl.on {
  display: block;
}

.modal_area dl dt {
  color: #fff;
  font-size: 1.6rem;
  /* font-weight: bold; */
  font-family: "Noto Serif JP", serif;
  border: solid 1px;
  padding: 1px 15px;
  display: inline-block;
  margin-bottom: 15px;
}

.modal_area dl a {
  color: #bfddff;
  margin-right: 20px;
}

.modal_area dl.dal4 a {
  padding: 3px 5px;
  margin-bottom: 10px;
  display: inline-block;
}

.modal_area dl dd {
  margin-bottom: 20px;
}

.dal1 dd a {
  display: block;
}

.modal_area .close {
  width: 48px;
  height: 48px;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.modal_area .close::before {
  content: "";
  display: block;
  width: 16px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
  z-index: 10;
}

.modal_area .close::after {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
  transform: translateY(-50%) translateX(-50%) rotate(135deg);
}

/* ---------------------------------------------------------------------------
★TOP
--------------------------------------------------------------------------- */
main {
  display: block;
  padding: 0px 0 0;
}

/*topcover*/
.hcover {
}

.hcover .cover_inner {
  position: relative;
  background: #0c3380;
  display: block;
  flex-wrap: nowrap;
}

.hcover .cover_inner dt {
  float: none;
  /* max-width: 400px; */
  width: 26%;
  height: 70px;
  background: #0c3380;
  padding: 10px;
  max-width: 97.5px;
}

.hcover .cover_inner dt .img_wrap {
  max-width: 64px;
  margin: 0px 0 0 5px;
  width: 90%;
}
.hcover .cover_inner dt .img_wrap a {
  display: block;
}
.hcover .cover_inner dd {
  float: none;
  /* max-width: 1520px; */
  width: 100%;
  position: relative;
}

.hh1wrap {
  z-index: 3;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  width: 90%;
}

.hh1wrap h1 {
  /* line-height: 1.6; */
  position: relative;
  /* padding: 0 0 0 100px; */
  line-height: 2;
}

.hh1wrap strong {
  font-size: 5vw;
  font-weight: bold;
  display: block;
  line-height: 1;
}

.hh1wrap strong b {
  display: inline-block;
  margin: 0;
}

.hh1wrap strong b:nth-of-type(1) {
}

.hh1wrap strong b:nth-of-type(2) {
  /* margin-left: 30px; */
}

.hh1wrap h1 span {
  font-size: 4vw;
  font-weight: bold;
  z-index: 1;
  position: relative;
}

.hh1wrap h1 em {
  position: absolute;
  /* display: block; */
  top: -18px;
  left: -82px;
  max-width: 180px;
  z-index: 0;
  display: none;
}

.hh1wrap h1 em img {
  display: block;
  /* width: auto; */
  /* max-width: 605px; */
}

/*TOPmovie*/
.home_w .main_movie {
  overflow: hidden;
  margin: auto;
  position: relative;
  width: 100%;
  padding: 0 0 56%;
}

.home_w .main_movie:before {
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 0 0 60%;
  position: absolute;
  z-index: 2;
}

.home_w .main_movie video {
  width: 100%;
  min-width: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.home_w .main_movie .movie_loading {
  width: 80px;
  height: 80px;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 5;
}

.home_w .main_movie .movie_loading svg {
  width: 3.75em;
  transform-origin: center;
  animation: rotate 2s linear infinite;
}

.ipan_btnwrap {
  position: absolute;
  bottom: 40px;
  right: 0px;
  display: block;
  color: #fff;
  z-index: 3;
  background: #0c3380;
  font-size: 2rem;
  display: none;
}

.ipan_btnwrap a {
  color: #fff;
  background: #0c3380;
  padding: 10px 50px 10px 30px;
  font-size: 2rem;
}

.ipan_btnwrap a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: auto;
  transition: 0.3s;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

/*ＴＯＰメイン*/
.home_w .maincont {
}

.maincont .gaps {
  padding: 10% 0;
}

.hnews_wrap {
  margin: 0;
}

.hnews_title_warap > dt {
  background: #474747;
  width: 100%;
  float: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.hnews_title_warap > dd {
  float: none;
  width: 100%;
}

.hnews_title_warap > dd .newslist_wrap {
  margin-left: 3%;
  overflow: hidden;
}

.hnews_title_warap > dd .newslist_wrap a dl {
  width: 400px;
}

.hnews_title_warap > dd .newslist_wrap a dl dt {
  width: 100%;
  margin-bottom: 0;
}

.hnews_title_warap > dd .newslist_wrap a {
  margin: 5.5px 0;
}

.hnews_title_warap > dd .newslist_wrap a dl dd {
  width: 600%;
  overflow: hidden;
  word-break: keep-all;
}

.daystxt {
  display: inline-block;
}

h2.top_newtitl {
  font-size: 5vw;
  line-height: 2.5;
  color: #fff;
  padding: 3%;
  margin-left: 0;
  text-align: center;
  width: 60%;
}

.hnews_title_warap .vmbtn {
  position: relative;
  width: 40%;
  font-size: 3.2vw;
  border: solid 0px;
  background: #bfbfbf;
  padding: 3%;
  margin: 0;
  min-width: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hnews_title_warap .vmbtn::after {
  width: 5px;
  height: 5px;
  right: 7px;
}

.home_w .maincont {
}

.top_serect_wrap {
  position: relative;
}

.top_serect_wrap::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: 23px;
  background: #0c3380;
  position: absolute;
  bottom: 0;
}

.ts_txt {
  text-align: center;
  margin-bottom: 10%;
}

.top_serect_wrap .blue_borders {
  position: relative;
}

.top_serect_wrap .blue_borders::before {
  width: 100%;
  content: "";
  display: block;
  padding: 0 0 180px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  background: #0c3380;
}

.top_serect_wrap .blue_borders .ul25 {
  position: relative;
  z-index: 2;
  max-width: 1520px;
  margin: 0 auto;
  width: 98%;
}

.top_serect_wrap .blue_borders .ul25 > a {
  margin-bottom: 4%;
}

a.select_box {
  color: #fff;
  border: solid 1px #fff;
  position: relative;
  font-family: "Noto Serif JP", serif;
  transition: 0.3s !important;
  overflow: hidden;
}

.gaps_black::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0;
  z-index: 2;
}
.gaps_black > img {
  position: relative;
  z-index: 1;
}
.sou_san {
}

.sou_san::before {
  transition: 0.3s;
  z-index: 3;
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 45px 45px 0 0;
  border-color: #ffffff transparent transparent transparent;
  top: 2px;
  left: 2px;
}

.sou_san::after {
  transition: 0.3s;
  z-index: 3;
  position: absolute;
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 45px 45px;
  border-color: transparent transparent #ffffff transparent;
  bottom: 2px;
  right: 2px;
}

.gaps_black p {
  width: 100%;
  text-align: center;
  z-index: 3;
}

.gaps_black p em {
  display: inline-block;
  border-bottom: solid 1px;
  font-size: 6vw;
}

.gaps_black p span {
  /* font-weight: 100; */
  display: block;
}

.top_sec1_01 {
  display: block;
  max-width: 396px;
  width: 100%;
  position: absolute;
  top: -90px;
  right: 1595px;
  display: none;
}

.top_sec1_02 {
  display: block;
  max-width: 1590px;
  width: 1590px;
  position: absolute;
  top: -80px;
  right: 0;
  overflow: hidden;
  height: 870px;
  display: none;
}

.h2st_wrap {
  margin-bottom: 3%;
}

.maincont .business_area .gaps {
  padding: 10% 0 15%;
}

.business_area .h2st_wrap strong {
  width: 98%;
  max-width: 1570px;
  float: right;
  display: block;
}

.business_area h2.tit02 span {
  margin: 0 0 0 10px;
  color: #fff;
}

.business_area ul {
  float: none;
  width: 100%;
  max-width: 1200px;
  margin-right: 6%;
  margin-top: 0;
  background: #0c3380;
  padding: 0;
}

.business_area ul li:first-child {
  float: none;
  width: 100%;
  max-width: 600px;
}

.business_area ul li:first-child > div {
  position: relative;
  top: 0;
  max-height: 260px;
  margin-bottom: 0%;
  overflow: hidden;
}
.business_area ul li:first-child > div img {
  position: relative;
  top: -80px;
}
.business_area ul li:last-child {
  float: none;
  width: 100%;
  max-width: 560px;
  padding: 5%;
}

.box_wp {
  position: relative;
}

.box_wp p {
  margin-bottom: 10%;
}

.ba_btnwrap {
  position: relative;
  margin-top: 5%;
  margin-bottom: 3%;
}

.ba_btnwrap a.vmbtn {
  margin-right: 20px;
}

.ba_btnwrap .vmbtn {
  background: #0c3380;
  box-shadow: 3px 4px 0px #f3f3f3;
}

.akusent_wrap {
  background-image: url(../img/akusento_img.png);
  background-position: center center;
  background-size: 200%;
  background-attachment: unset;
}

.akusent_wrap > div {
  position: relative;
  overflow: hidden;
  padding: 0 0 36%;
}

.maincont .about_area .gaps {
  padding: 10% 0 15%;
}

.about_area {
}

.top_sec2_01 {
  display: none;
  max-width: 396px;
  width: 100%;
  position: absolute;
  top: 110px;
  left: 1675px;
}

.top_sec2_02 {
  display: none;
  max-width: 1676px;
  width: 1676px;
  position: absolute;
  top: 110px;
  left: 0;
  overflow: hidden;
  height: 890px;
}

.about_area .h2st_wrap strong {
  width: 98%;
  max-width: 1730px;
  float: right;
  /* text-align: right; */
  display: block;
}

.about_area h2.tit02 span {
  margin: 0 0 0 10px;
  color: #fff;
}

.about_area ul {
  float: none;
  width: 100%;
  max-width: 1200px;
  margin-left: 0;
  margin-top: 0;
  background: #0c3380;
}

.about_area ul li:first-child {
  float: none;
  width: 100%;
  max-width: 600px;
  margin-bottom: 10%;
}

.about_area ul li:first-child > div {
  position: relative;
  top: 0;
  max-height: 260px;
  overflow: hidden;
}

.about_area ul li:last-child {
  float: none;
  width: 100%;
  max-width: 560px;
  padding: 5%;
}

.setubi_virtual_area {
}

.setubi_virtual_area {
}

.setubi_virtual_area .box h2 {
  margin-bottom: 6%;
}

.recruit_area .gaps {
  padding: 5% 0 5%;
}

.recruit_area .box_wp {
  position: relative;
  display: block;
  /* max-width: 450px; */
  padding: 10% 5% 5%;
  /* text-align: center; */
  margin: 75% 0 0;
}

.recruit_area .box_wp h2 {
}

.recruit_area .box_wp p {
}

.recruit_area .box_wp .btn_wrap {
}

.recruit_area .job_box {
  font-size: 4rem;
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  position: absolute;
  top: -78%;
  line-height: 1;
  width: 100%;
  left: 4%;
}

.recruit_area .job_box strong {
  float: none;
  word-break: keep-all;
  display: block;
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff,
    -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff,
    0px -1px 0px #fff;
}

.recruit_area .img_wrap_r1 {
  position: absolute;
  top: -53%;
  right: 0;
  max-width: 1390px;
  width: 100%;
}

.recruit_area .graybox {
  position: absolute;
  top: -85%;
  right: 0;
  overflow: hidden;
  padding: 0 0 65%;
  width: 90%;
  background: #f3f3f3;
  max-width: 1660px;
}

.recruit_area .img_wrap_r1 {
}

.recruit_area .graybox.ennoko:after {
  position: absolute;
  width: 60%;
  height: 80%;
  display: block;
  content: "";
  border: solid 20px #0c3380;
  border-radius: 50%;
  top: -40px;
  right: -35%;
}

.insta_area {
  overflow: hidden;
}

.instagram_wrap {
  max-width: 1350px;
  margin: 3%;
}

.instagramcont {
}

.instagramcont li {
}

.instagramcont li a {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 0 0 100%;
}

.instagramcont li a img {
  position: absolute;
  width: 110%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.insta_area_bk {
  position: absolute;
  bottom: -22%;
  left: -35%;
  max-width: 746px;
  width: 100%;
}

.contact_area {
}

.contact_area .gaps {
}

.contact_area .ctxt {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 8%;
}

.contact_area ul {
  max-width: 1000px;
  margin: 0 auto 5%;
}

.contact_area ul li {
  width: 100%;
  margin: 0 4% 4%;
}

.bor_bottm {
  border-bottom: solid 1px #000;
}

.contact_area ul li p {
  font-size: 5vw;
  font-weight: bold;
  margin-bottom: 7%;
  padding-left: 10px;
}

.contact_area ul li .telbox {
  margin-left: 70px;
}

.contact_area ul li .telbox .tel_txt {
  position: relative;
  font-size: 8vw;
  color: #6ea1da;
  text-shadow: 1px 1px 0px #3a8dcb, -1px 1px 0px #3a8dcb, 1px -1px 0px #3a8dcb,
    -1px -1px 0px #3a8dcb, 1px 0px 0px #3a8dcb, 0px 1px 0px #3a8dcb,
    -1px 0px 0px #3a8dcb, 0px -1px 0px #3a8dcb;
  font-family: "Noto Serif JP";
  display: block;
  letter-spacing: 1.5px;
  font-family: "メイリオ", Meiryo, "游ゴシック体", "YuGothic", "游ゴシック",
    "Yu Gothic", sans-serif;
  line-height: 1;
}

.contact_area ul li .telbox .tel_txt:before {
  display: block;
  content: "";
  width: 22%;
  padding: 0 0 23%;
  background: url(../img/icon_phone.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 76%;
  left: -60px;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}

.contact_area ul li .telbox > span {
  margin-left: 10px;
}

.contact_area ul li .mailbox {
  text-align: center;
}

.contact_area ul li .mailbox a {
  color: #fff;
  font-size: 5.3vw;
  display: block;
  background-image: url(../img/mail_icon_off.png);
  background-color: #0c3380;
  background-position: 16% center;
  background-repeat: no-repeat;
  background-size: 30px;
  padding: 10px 20px 10px 80px;
  border: solid 1px #0c3380;
}

/* ---------------------------------------------------------------------------
★下層
--------------------------------------------------------------------------- */
/*topcover*/
.under_l .maincont section .gaps {
  padding: 10% 0;
}

.u_cover {
}

.u_cover .cover_inner {
  position: relative;
  background: #0c3380;
  display: block;
  flex-wrap: nowrap;
}

.u_cover .cover_inner dt {
  float: none;
  /* max-width: 400px; */
  width: 26%;
  height: 70px;
  background: #0c3380;
  padding: 10px;
  max-width: 97.5px;
}

.u_cover .cover_inner dt .img_wrap {
  max-width: 64px;
  margin: 0 0 0 5px;
  width: 90%;
}

.u_cover .cover_inner dd {
  float: right;
  /* max-width: 1520px; */
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 0 0 52%;
}

.u_h1wrap {
  z-index: 3;
  font-family: "Noto Serif JP", serif;
  position: absolute;
  bottom: 10%;
  left: 0;
  width: auto;
  background-image: url(../img/u_h1wrap_bk.png);
  background-repeat: no-repeat;
  background-color: #fff;
  background-position: right -100px center;
  background-size: 200px;
  width: auto;
  max-width: 350px;
  padding: 3% 5% 3% 3%;
  min-width: 180px;
}

.u_h1wrap h1 {
  line-height: 1.6;
  position: relative;
  padding: 0;
}

.u_h1wrap strong {
  font-size: 4.6vw;
  font-weight: bold;
  display: block;
  line-height: 1.1;
}

.u_h1wrap h1 span {
  font-size: 3.1vw;
  font-weight: bold;
  z-index: 1;
  position: relative;
  color: #0c3380;
  display: inline-block;
  margin-left: 1%;
  line-height: 1;
}

/*★★下層カバー*/
.about.under_l .cover_inner dd {
  background: url(../img/about_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.greeting.under_l .cover_inner dd {
  background: url(../img/greeting_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.history.under_l .cover_inner dd {
  background: url(../img/history_bk.jpg) no-repeat;
  background-position: center right -24px;
  background-size: cover;
}

.sdgs.under_l .cover_inner dd {
  background: url(../img/sdgs_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.partner.under_l .cover_inner dd {
  background: url(../img/partner_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.business.under_l .cover_inner dd {
  background: url(../img/business_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.liquid_coating.under_l .cover_inner dd {
  background: url(../img/liquid_coating_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.powder_coating.under_l .cover_inner dd {
  background: url(../img/powder_coating_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.general_painting.under_l .cover_inner dd {
  background: url(../img/general_painting_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.architecture.under_l .cover_inner dd {
  background: url(../img/architecture_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.gew_painting.under_l .cover_inner dd {
  background: url(../img/gew_painting_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.example.under_l .cover_inner dd {
  background: url(../img/example_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.reason.under_l .cover_inner dd {
  background: url(../img/reason_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.introduction.under_l .cover_inner dd {
  background: url(../img/introduction_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.virtual_factory.under_l .cover_inner dd {
  background: url(../img/virtual_factory_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.interview.under_l .cover_inner dd {
  background: url(../img/interview_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.news.under_l .cover_inner dd {
  background: url(../img/news_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.recruit.under_l .cover_inner dd {
  background: url(../img/recruit_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.recruitment.under_l .cover_inner dd {
  background: url(../img/recruitment_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.sbn.under_l .cover_inner dd {
  background: url(../img/sbn_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.staff.under_l .cover_inner dd {
  background: url(../img/staff_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.faq.under_l .cover_inner dd {
  background: url(../img/faq_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.entry.under_l .cover_inner dd {
  background: url(../img/entry_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.contact.under_l .cover_inner dd {
  background: url(../img/contact_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.privacy.under_l .cover_inner dd {
  background: url(../img/privacy_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.thanks.under_l .cover_inner dd {
  background: url(../img/thanks_bk.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
.under_l .cover_inner dd {
  background: #eee;
}

/*採用情報とお問い合わせ*/
.recu_conwrap {
  margin: 5px 0;
}

.recu_conwrap a {
  color: #fff;
  width: 100%;
  display: block;
}
.recu_conwrap a::before {
  background: rgba(0, 0, 0, 0.6);
}

.recu_conwrap a.recu_btn {
  background: url(../img/recu_btn_bk.png) no-repeat;
  background-size: cover;
  background-position: center center;
  margin-bottom: 5px;
}

.recu_conwrap a.con_btn {
  background: url(../img/con_btn_bk.png) no-repeat;
  background-size: cover;
  background-position: center center;
}

.recu_conwrap .flex_wrap a strong {
  font-family: "Noto Serif JP", serif;
  display: block;
  margin-bottom: 0%;
}

.recu_conwrap .flex_wrap a strong em {
  display: block;
  width: auto;
  border-bottom: solid 1px #fff;
  font-size: 7vw;
  margin-bottom: 3px;
}

.recu_conwrap .flex_wrap a strong span {
  display: block;
  font-size: 5vw;
}

.recu_conwrap .flex_wrap a p {
  display: block;
  font-size: 4vw;
}

.recu_conwrap .flex_wrap a .box {
  position: relative;
  z-index: 2;
  padding: 3% 5%;
}

/* ---------------------------------------------------------------------------
  ★会社概要
--------------------------------------------------------------------------- */
.about {
}

.about .sect01 {
}

.tit02_rights {
  color: #fff;
  font-size: 5vw;
  position: absolute;
  left: -16%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0%) rotate(-90deg);
  transform: translateY(-50%) translateX(0%) rotate(-90deg);
  opacity: 0.2;
}

.tit02_rights b {
  border-bottom: solid 2px;
}

.about_sect01box {
  text-align: center;
  font-size: 0;
}

.about_sect01box > a {
  margin: 0 2% 5%;
  width: 46%;
  display: inline-block;
  overflow: hidden;
}

.about_sect01box > a p {
  z-index: 3;
  position: absolute;
  bottom: 0%;
  left: 0%;
  color: #fff;
  width: auto;
  padding: 3% 5% 1%;
  background: -moz-linear-gradient(left, #0c4e80, rgba(255, 255, 255, 0));
  background: -webkit-linear-gradient(left, #0c4e80, rgba(255, 255, 255, 0));
  background: linear-gradient(to right, #0c4e80, rgba(255, 255, 255, 0));
  text-align: left;
  line-height: 1.3;
}

.about_sect01box > a p em {
  display: block;
  font-size: 4vw;
  line-height: 1;
}

.about_sect01box > a p span {
  display: block;
  font-size: 2.9vw;
}

.about_sect01box > a img {
  position: relative;
  z-index: 1;
}

.atoub_table {
  margin-bottom: 100px;
}

.atoub_table table {
  margin-top: 7%;
  /* border-top: 1px solid #333; */
  width: 100%;
}

.atoub_table table thead tr {
  border-bottom: 1px solid #9a9999;
  font-size: 5.5vw;
  color: #0c3380;
  font-family: "Noto Serif JP", serif;
}

.atoub_table table thead tr th {
  padding: 0%;
}

.atoub_table table tbody tr {
  border-bottom: 1px solid #9a9999;
}

.atoub_table table tbody tr th {
  padding: 0;
  vertical-align: middle;
  background: rgba(245, 245, 245, 0.06);
  width: auto;
  display: block;
}

.atoub_table table tbody tr td {
  padding: 5px;
  vertical-align: middle;
  padding: 0;
  display: block;
}

.atoub_table table tbody tr td a {
  display: inline-block;
}

.atoub_table table tbody tr td label {
  margin-right: 10px;
}

.atoub_table table tbody tr th span {
  margin-left: 10px;
}

.about .sect02 {
  padding: 10% 0;
}

.about .sect02 .gaps {
  background: url(../img/bk_gry_img01.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 5%;
}

.about .sect02 .ul50 {
  background: #fff;
  margin-bottom: 15%;
}

.about .sect02 .ul50 li {
  margin-bottom: 0px;
}
.about .sect02 .ul50 li.img_wrap {
  margin-bottom: 0px;
  max-height: 250px;
  overflow: hidden;
}
.about .sect02 .ul50 li.atoub_table {
  padding: 5%;
}
.about .table01 {
  background: #fff;
}

.about .atoub_table table {
}
.about .atoub_table table tr {
  display: block;
  padding: 2%;
}
.about .atoub_table table td {
}
.about .atoub_table table th {
}

.about .sect03 {
  padding: 10% 0;
}

.about .sect03 .gaps {
  padding: 80px 0;
  background: url(../img/about_sec03_bk.jpg) no-repeat;
  background-size: cover;
}

.about .sect03 .gaps .img_wrap {
  padding: 70px 0;
}

.about .sect03 .gaps .img_wrap img {
  max-width: 1100px;
  margin: 0 auto;
  width: 96%;
}

.about .sect04 ul li {
  border-top: solid 20px #0c3380;
  border-bottom: solid 20px #0c3380;
  background: #fff;
  position: relative;
  z-index: 3;
}

.about .sect04 ul li .box {
  padding: 20px 30px;
}

.about .sect04 ul li .box h3 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.about .sect04 ul li .box .gmap_wrap {
  margin-bottom: 20px;
}

.about .sect04 ul li .box p {
  margin-bottom: 20px;
}

.about .sect04 .gaps {
  padding: 10% 0;
}

.about .sect04 .gaps::before {
  content: "";
  display: block;
  background: url(../img/about_sect04_bk01.png) no-repeat;
  background-size: 100%;
  max-width: 360px;
  width: 360px;
  padding-bottom: 694px;
  position: absolute;
  top: 0;
  left: 0;
}

.about .sect04 .gaps::after {
  background: url(../img/about_sect04_bk02.png) no-repeat;
  content: "";
  display: block;
  background-size: 100%;
  max-width: 360px;
  width: 360px;
  padding-bottom: 43.3%;
  position: absolute;
  bottom: 0;
  right: 0;
}

.seicyou_box {
  position: relative;
  background: #fff;
  padding: 20px;
}
.seicyou_box::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 230px 230px 0 0;
  border-color: #dcdcdc transparent transparent transparent;
  position: absolute;
  left: 0px;
  top: 0px;
  transition: 0.3s;
}
.seicyou_box::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 230px 230px;
  border-color: transparent transparent #dcdcdc transparent;
  position: absolute;
  right: 0px;
  bottom: 0px;
  transition: 0.3s;
}

.seicyou_box .seicyou_inner {
  position: relative;
  z-index: 2;
}
.seicyou_box .img_wrap {
  float: none;
  width: 51%;
  position: absolute;
  top: 105%;
}

.seicyou_box .img_wrap > a img {
  max-width: 348px;
  margin: 0 auto;
}
.seicyou_box .txt_box {
  position: relative;
  width: 100%;
}
.seicyou_box .txt_box h3 {
  font-family: "Noto Serif JP", serif;
  margin: 0 0 5%;
}
.seicyou_box .txt_box span {
  font-size: 5vw;
  display: inline-block;
}
.seicyou_box .txt_box span:nth-of-type(2) {
  margin-left: 0;
}
.seicyou_box .txt_box span em {
  font-size: 6vw;
}
.seicyou_box .txt_box p {
  margin-bottom: 60%;
}
.seicyou_box .seicyou_inner > img {
  position: absolute;
  max-width: 95px;
  right: 0;
  bottom: -55%;
}
.saisyu_nouhin {
}
.about .sect02 .saisyu_nouhin .ul50 {
  margin-bottom: 5%;
}

.kanhin_area {
  background: #e1ebff;
  background-size: auto auto;
  background-color: rgb(255 255 255);
  background-image: repeating-linear-gradient(
    135deg,
    transparent,
    transparent 15px,
    rgb(251 251 251) 15px,
    rgb(254 254 255) 30px
  );
}
.kanhin_area .gaps {
  padding: 10% 0;
}
.kanhin_area .inner {
}
.kanhin_area h2 {
}
.kanhin_area .box {
  margin-bottom: 10%;
}
.kanhin_area .box h3 {
  border-bottom: 2px solid #e0e0e0;
  display: inline-block;
  font-size: 5.2vw;
  margin-bottom: 6%;
  padding: 0 10% 0 3%;
  font-family: "Noto Serif JP", serif;
  position: relative;
}

h3.border_plusb:after {
  position: absolute;
  display: block;
  bottom: -2px;
  left: 0;
  width: 40%;
  height: 2px;
  background-color: #00b3af;
  content: "";
}

.kanhin_area .box b {
  margin-bottom: 5px;
  font-size: 4vw;
}
.kanhin_area .box ol,
.kanhin_area .box ul {
  font-size: 4vw;
}
.kanhin_area .boxbox {
  border: solid 2px #f3f3f3;
  padding: 6%;
  background: #fff;
  border-radius: 15px;
  position: relative;
  overflow: hidden;
}

/* ---------------------------------------------------------------------------
  ★社長挨拶
--------------------------------------------------------------------------- */
.about_link_cont {
  text-align: center;
  font-size: 0;
  margin: 5%;
  display: none;
}

.about_link_cont span {
  border-left: solid 1px #3d3d3d;
  border-right: solid 1px #3d3d3d;
  display: block;
  font-size: 4vw;
  margin: 0 0 20px 0;
  text-align: center;
}

.about_link_cont span:last-child {
  /* border-right: solid 1px #3d3d3d; */
}

.about_link_cont span a {
  display: inline-block;
  margin: 0px 40px;
}

.greeting {
}

.about_link_wrap {
  position: relative;
  z-index: 3;
}

.greeting .sect01 {
}

.greeting .sect01 h2 {
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  font-size: 6vw;
  border-bottom: double 4px;
  margin-bottom: 3%;
  padding-bottom: 10px;
}

.greeting .sect01 h3 {
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  font-size: 5.5vw;
  margin-bottom: 20px;
}

.greeting .sect01 p {
  /* font-size: 1.6rem; */
  margin-bottom: 20px;
}

.greeting .sect01 .box {
  margin-bottom: 10%;
}

.greeting .sect01 .box .img_wrap {
  float: none;
  max-width: 285px;
  width: 90%;
  margin: 0 auto 5%;
}

.to_imgimg {
  margin-bottom: 5%;
}

.to_nameimg {
  max-width: 320px;
  margin: 0 auto;
}

.greeting .gaps {
  background: url(../img/bk_gry_img02.png);
  background-position: top center;
  background-size: 100%;
}

/* ---------------------------------------------------------------------------
  ★沿革
--------------------------------------------------------------------------- */
.history {
}

.history .sect01 {
  padding: 10% 0 0;
}

.history_list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
}
.history_list dl dt {
  float: none;
  width: 100%;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 2rem;
  letter-spacing: 0.2em;
  color: #00a0b4;
}

.history_list dl dd {
  float: none;
  width: 100%;
  border-left: solid 1px #00a0b4;
  font-family: 游明朝, YuMincho, "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  font-size: 4vw;
  padding: 3% 0 3% 20px;
  position: relative;
}
.history_list dl dd::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #00a0b4;
  left: -5px;
  top: 10px;
  position: absolute;
}
.history_list dl dd .img_wrap {
  float: right;
  max-width: 400px;
  width: 70%;
  margin: 3%;
}

.history .sect01 .gaps {
  background: url(../img/bk_gry_img02.png);
  background-size: 1920px;
  background-position: center;
  position: relative;
}

/* .history .sect01 .gaps::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  background: #000;
} */

/* ---------------------------------------------------------------------------
  ★私たちの取り組み
--------------------------------------------------------------------------- */
.sdgs {
}
.sdgs .sect01 h2 {
  margin-bottom: 3%;
  font-weight: bold;
  z-index: 1;
  position: relative;
}
.sdgs .sect01 h2 b {
  color: #0c3380;
  border-bottom: solid 1px;
}
.sdgs .sect01 h3 {
  margin-bottom: 3%;
  text-align: center;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  position: relative;
  z-index: 1;
}
.sdgs .sect01 .txt_csb {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto 3%;
  font-weight: 500;
}
.sdgs .sect01 .box {
  margin: 0 auto 10%;
  /* overflow: hidden; */
}
.sdgs .maincont section.sect01 .gaps {
  padding: 10% 0 0;
}
.sdgs .sect01 .box::before {
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 80%;
  background: url(../img/sdg_icon_wheel_2.png) no-repeat;
  background-size: 110%;
  background-position: center center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 0;
  opacity: 0.1;
}

.sdgs .sect01 .small {
  margin-bottom: 10%;
  position: relative;
  z-index: 1;
}

.sdgs .sect01 .img_wrap {
  padding: 5%;
  max-width: 1000px;
  margin: 0 auto;
}
.sdgs .sect02 h2 {
  margin-bottom: 5%;
}
.sdgs .sect02 h3 {
  margin-bottom: 5%;
  color: #0c3380;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: 5.3vw;
}
.sdgs .sect02 .txt_csb {
  margin-bottom: 10%;
}
.sdgs .textImgBox10 {
  overflow: hidden;
  background: #fff;
  padding: 5%;
  border-radius: 20px;
  border: 1px solid #ddd;
}
.sdgs .textImgBox10 .box p.title {
  padding-bottom: 20px;
  background: url(../img/sdgs_line.png) no-repeat bottom left;
  line-height: 130%;
  font-weight: bold;
  font-size: 22px;
  margin-bottom: 20px;
}

.sdgs .textImgBox10 .box p.txt_p {
  margin-bottom: 20px;
}

.sdgs .textImgBox10 .photo img {
  border-radius: 10px;
  margin-bottom: 20px;
}

.sdgs .icons {
  max-width: 460px;
}
.sdgs .icons li {
}

.sdgs .textImgBox10 .btn_wrap {
  margin-bottom: 5%;
}
.sdgs .textImgBox10 .btn_wrap a {
  color: #6ac8ff;
  border-bottom: solid 1px;
}

/* ---------------------------------------------------------------------------
  ★パートナー会社
--------------------------------------------------------------------------- */
.partner {
}
.partner .sect01 {
}
.partner .sect01 h2 {
}
.partner .sect01 .txt_csb {
  margin-bottom: 50px;
}
.partner .sect01 .part_box {
}
.partner .sect01 .part_box h3 {
  font-size: 5.5vw;
  display: block;
  background: #0c3380;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  padding: 3px 5px;
  margin-bottom: 10%;
}
.partner .sect01 .part_box ul {
}
.partner .sect01 .part_box ul li {
  background: #fff;
  padding: 10px;
  border: solid 1px #0c3380;
}
.partner .sect01 .part_box ul li h4 {
  text-align: center;
  font-size: 4vw;
  display: block;
  color: #0c3380;
  font-family: "Noto Serif JP", serif;
  border-bottom: solid 1px;
  padding: 0 0;
  margin-bottom: 15px;
}
.partner .sect01 .part_box ul li .img_wrap {
  margin-bottom: 15px;
}
.partner .sect01 .part_box ul li .txt_box {
  margin-bottom: 15px;
  font-size: 1.4rem;
}
.partner .sect01 .part_box ul li .btn_wrap {
  margin-bottom: 5px;
}

.vmbtn.litbtn {
  color: #0c3380;
  font-size: 1.4rem;
  padding: 3% 15%;
  min-width: auto;
  margin-bottom: 5%;
}
.vmbtn.litbtn::after {
  border-top: 2px solid #0c3380;
  border-right: 2px solid #0c3380;
  right: 8px;
  width: 7px;
  height: 7px;
}

.boutetu {
  margin: 5% 0 !important;
}
/* ---------------------------------------------------------------------------
  ★業務案内
--------------------------------------------------------------------------- */
.business {
}

.business .sect01 {
}

.business .sect01 .box {
  position: relative;
}

.business_sect01_01 {
  max-width: 215px;
  width: 50%;
  position: absolute;
  top: 50%;
  left: -240px;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}

.business_sect01_02 {
  max-width: 217px;
  width: 50%;
  position: absolute;
  top: 57%;
  right: -240px;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}

.business .sect01 .box {
  border-bottom: solid 1px #0c3380;
  border-top: solid 1px #0c3380;
  max-width: 1000px;
  margin: 0 auto 70px;
  padding: 30px;
}

.business .sect01 .box::before {
  position: absolute;
  content: "";
  display: block;
  top: -6px;
  left: 10px;
  border-top: solid 1px #0c3380;
  width: 100%;
}

.business .sect01 .box::after {
  position: absolute;
  content: "";
  display: block;
  bottom: -6px;
  left: -10px;
  border-top: solid 1px #0c3380;
  width: 100%;
}

.business .sect01 .box h2 {
  font-size: 5.3vw;
  margin-bottom: 10%;
}

.business .sect01 .box h2 b {
  font-size: 6vw;
  color: #0c3380;
  font-weight: bold;
}

.business .sect01 .box p {
}

.business .sect02 {
}

.business .sect02 .busibox {
}

.business .sect02 .busibox li {
  width: 100%;
  /* float: left; */
}

.business .sect02 .busibox .img_wrap {
  position: relative;
  padding: 0 0 56%;
}

.business .sect02 .busibox li .bs_txt {
  position: absolute;
  bottom: 10px;
  right: 5%;
  font-size: 6vw;
  font-weight: bold;
  opacity: 0.5;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 1.5px;
}

.business .sect02 .busimg01 {
  background: url(../img/business_sect02_01.jpg) no-repeat;
  background-position: right;
  background-size: 100%;
}

.business .sect02 .busimg02 {
  background: url(../img/business_sect02_02.jpg) no-repeat;
  background-position: center;
  background-size: 100%;
}

.business .sect02 .busimg03 {
  background: url(../img/business_sect02_04.jpg) no-repeat;
  background-position: center;
  background-size: 100%;
}

.box_wpwp {
  max-width: 600px;
  width: 100%;
  text-align: center;
  padding: 5%;
}

.box_wpwp h2 {
}

.box_wpwp p {
  margin-bottom: 5%;
  text-align: left;
}

.box_wpwp .btn_wrap {
}

.business .sect02 ul {
  margin-bottom: 15%;
}

.business .sect02 ul:nth-child(2n) {
}

.business .sect02 ul:nth-child(2n) li:first-child .bs_txt {
  left: 5%;
  right: auto;
}
.business .sect02 ul:nth-child(2n) li:first-child,
.business .sect02 ul:nth-child(2n) li:last-child,
.business .sect02 ul:nth-child(2n) li:last-child .box_wpwp {
  float: right;
}

.business .sect02 ul:nth-of-type(3) li .box_wpwp {
  padding: 5%;
}

.business .sect03 {
  padding: 10% 0 0;
}

.business .sect03 .txt_csb {
  margin-bottom: 10%;
}

.business .sect03 .gaps {
}

.example_list_wrap {
  padding: 10% 0 7%;
  background: #122d63;
}
.example_list {
  width: 100%;
  margin: 0 auto 10%;
}

.example_list_wrap .tit02 {
  margin-bottom: 15%;
}

.example_list_wrap .tit02 b {
  font-size: 6vw;
}

.example_list_wrap .tit02 span {
  font-size: 4vw;
}

.example_list a {
  display: block;
  width: 100%;
  float: left;
  position: relative;
  padding: 0 0 55%;
  overflow: hidden;
}

.example_list a p {
  position: relative;
  text-align: center;
  right: 0;
  bottom: 0;
  background: #fff;
  padding: 1% 3%;
  font-weight: bold;
  color: #000;
}

.example_list a > img {
  position: absolute;
}

.haisou_wrap {
  background-color: #0c3380;
  background-position: right -135px center;
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 10% 0;
}
.haisou_wrap h3 {
  margin: 0 auto;
  text-align: left;
}
.haisou_wrap h3 b {
  font-size: 7vw;
}
.haisou_wrap .img_wrap {
  width: 98%;
  margin: 3% auto;
}
.haisou_wrap strong {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 5%;
  color: #ffd0a1;
  border-bottom: solid 1px;
  font-size: 5.1vw;
}
.haisou_wrap em {
  display: block;
  font-size: 4.8vw;
  font-weight: bold;
  margin-bottom: 20px;
}
.haisou_wrap p {
  margin-bottom: 5%;
}

.business .sect04 {
  padding: 10% 0 0;
}
.business .sect04 .txt_csb {
  margin-bottom: 10%;
}
.kumitate_wrap {
  background-color: #0c3380;
  background-position: right -135px center;
  background-size: 100%;
  background-repeat: no-repeat;
  padding: 10% 0;
}
.kumitate_wrap h3 {
  margin: 0 auto;
  text-align: left;
}
.kumitate_wrap h3 b {
  font-size: 7vw;
}
.kumitate_wrap .img_wrap {
  width: 98%;
  margin: 3% auto;
}
.kumitate_wrap strong {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 5%;
  color: #ffd0a1;
  border-bottom: solid 1px;
  font-size: 5.1vw;
}
.kumitate_wrap em {
  display: block;
  font-size: 4.8vw;
  font-weight: bold;
  margin-bottom: 20px;
}
.kumitate_wrap p {
  margin-bottom: 5%;
}

/* ---------------------------------------------------------------------------
  ★溶剤焼き付け塗装
--------------------------------------------------------------------------- */
.liquid_coating {
}

.gr_en_box .tit02_paint {
  font-size: 3rem;
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  margin-bottom: 10%;
}
.gr_en_box .tit02_paint b {
  display: inline-block;
  border-bottom: double 4px;
  line-height: 1.5;
}
.gr_en_box p {
  font-size: 5vw;
}
.gr_en_box {
}
.gr_en_box .side_txt {
}
.gr_en_box .img_wrap {
  max-width: 545px;
  width: 96%;
  margin: 0 auto 5%;
}

.box_bkgry {
  position: absolute;
  top: 20px;
  right: 0;
  overflow: hidden;
  padding: 0 0 170%;
  width: 90%;
  background: #f3f3f3;
  max-width: 1660px;
}

.box_bkgry.ennoko:after {
  position: absolute;
  width: 79%;
  height: 40%;
  display: block;
  content: "";
  border: solid 20px rgba(12, 51, 128, 0.2);
  border-radius: 50%;
  top: 25%;
  right: -53%;
}

.liquid_coating .sect01 {
  margin: 0;
}
.side_txt {
  font-size: 6vw;
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  position: absolute;
  word-break: keep-all;
  display: inline-block;
  border-bottom: solid 1px;
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff,
    -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff,
    0px -1px 0px #fff;
  transform: rotate(90deg);
  right: -210px;
  top: 270px;
}

.sect_b_movies {
}

.sect_b_movies ul {
  margin-bottom: 5%;
}
.sect_b_movies ul li {
  /* float: left; */
  width: 100%;
}

.sect_b_movies ul li.movieb_li {
}
.sect_b_movies ul li.txt_li p {
  padding: 5%;
  font-size: 4vw;
}
.movieb_li span {
  position: absolute;
  right: 5%;
  bottom: 42%;
  font-size: 5vw;
  font-family: "Noto Serif JP", serif;
  border-bottom: solid 1px;
}
.under_l .maincont section.sect_b_movies {
  padding: 0;
  margin-bottom: 5%;
}
.under_l .maincont section.sect_b_movies .gaps {
  padding: 7% 3%;
}

.sect_b_movies ul:nth-of-type(1) .movieb_li {
  position: relative;
  top: 0;
}
.sect_b_movies ul:nth-of-type(2) {
}

.sect_b_movies ul:nth-of-type(2) li {
  float: right;
}

.sect_b_movies ul:nth-of-type(2) .movieb_li span {
  position: absolute;
  right: auto;
  left: 5%;
}
.sect_b_movies ul:nth-of-type(3) .movieb_li {
  position: relative;
  bottom: 0;
}
.sect_b_movies ul:nth-of-type(3) .txt_li p {
}
.sect_b_tables {
}
.sect_b_flow {
  position: relative;
  margin-bottom: 10%;
}
.sect_b_flow::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 50vw 269vw 122vw;
  border-color: transparent transparent #d8d8d8 transparent;
  z-index: 0;
}
.sect_b_flow h2 {
  margin-bottom: 5%;
}
.sect_b_flow .flowbox {
  width: 96%;
  margin: 0 auto;
}
.sect_b_flow .flowbox li {
  position: relative;
  float: left;
  width: 48%;
  margin: 0 4% 4% 0;
}
.sect_b_flow .flowbox li b {
  font-size: 5.3vw;
  font-weight: bold;
  position: absolute;
  left: 3%;
  top: 3%;
  font-family: "Noto Serif JP", serif;
}
.sect_b_flow .flowbox li p {
  position: absolute;
  right: 3%;
  bottom: 1%;
  font-size: 3.6vw;
  font-family: "Noto Serif JP", serif;
}
.sect_b_flow .flowbox li:nth-child(2n) {
  margin: 0 0 4%;
}

.sect_b_flow .flowbox li::before {
  content: "";
  display: block;
  background: #0f2774;
  width: 26px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0px;
  z-index: 1;
}
.sect_b_flow .flowbox li::after {
  content: "";
  display: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17.5px 0 17.5px 30px;
  border-color: transparent transparent transparent #a5a5a5;
  position: absolute;
  right: -21%;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(00%);
  z-index: 3;
}

.sect_b_flow .flowbox li:nth-child(4n)::after {
  display: none;
}
.b_link_area {
  margin: 50px auto;
  display: none;
}
.b_link_cont {
  text-align: center;
}

.b_link_cont a {
  position: relative;
  display: inline-block;
  border: solid 1px;
  padding: 10px 50px 10px 20px;
  margin: 0 20px;
  color: #122d63;
}
.b_link_cont a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #122d63;
  border-right: 2px solid #122d63;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: auto;
  transition: 0.3s;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
}
/* ---------------------------------------------------------------------------
  ★粉体焼き付け塗装
--------------------------------------------------------------------------- */
.powder_coating {
}

/* ---------------------------------------------------------------------------
  ★一般塗装
--------------------------------------------------------------------------- */
.general_painting {
}
.general_painting .sect03 {
  margin-bottom: 150px;
}
.general_painting .sect03 article {
  padding: 40px 0 10px;
}
.general_painting .sect03 ul {
  max-width: 1150px;
  width: 96%;
  margin: 0 auto;
}

.general_painting .sect03 ul .txt_wrap p {
  margin-bottom: 10%;
}
/* ---------------------------------------------------------------------------
  ★建築工事全般、建築塗装
--------------------------------------------------------------------------- */
.architecture {
}
.architecture .sect03 {
  margin-bottom: 150px;
}
.architecture .sect03 article {
  padding: 40px 0 10px;
}
.architecture .sect03 ul {
  max-width: 1150px;
  width: 96%;
  margin: 0 auto;
}

.architecture .sect03 ul .txt_wrap p {
  margin-bottom: 10%;
}
/* ---------------------------------------------------------------------------
  ★一般外壁塗装
--------------------------------------------------------------------------- */
.gew_painting {
}
.gew_painting h2 {
  font-size: 7vw;
  line-height: 1.5;
  letter-spacing: 2px;
  font-family: "Noto Serif JP", serif;
  color: #0c3380;
  display: inline-block;
}
.gew_painting .maincont section .gaps {
}
.gew_painting .maincont section.sect01 .gaps {
}
.gew_painting .maincont section.sect02 .gaps {
}
.gew_painting .maincont section.sect03 .gaps {
}
.gew_painting .maincont section.sect04 .gaps {
  padding: 10% 4%;
}
.gew_painting .maincont section.sect05 .gaps {
  padding: 10% 0;
}
.gew_painting .maincont section.sect06 .gaps {
  margin-bottom: 10%;
}
.gew_painting .maincont section.sect07 .gaps {
}
.gew_painting .maincont section.sect08 .gaps {
}

.gew_painting .sect01 {
}
.gew_painting .sect01 .inner::before {
  content: "";
  display: none;
  width: 28%;
  padding: 0px 0 21%;
  background: url(../img/gew_painting_hicon.png) no-repeat;
  background-size: 100%;
  background-position: left 40px top 0px;
  /* float: left; */
}
.gew_painting .sect01 .txt_box {
  float: right;
  width: 81%;
  margin-left: 2%;
}
.gew_painting .sect01 h2 {
  position: relative;
  font-size: 6vw;
  margin-bottom: 10%;
}
.gew_painting .sect01 h2::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  padding-bottom: 5px;
  color: #0c3380;
  border-top: solid 2px;
  border-bottom: solid 4px;
}
.gew_painting .sect01 h2 em {
  font-size: 10.5vw;
  display: inline-block;
  margin: 0 5px 0 0;
}
.gew_painting .sect01 p {
  font-size: 4vw;
  margin: 0 0 10px;
  font-weight: bold;
}
.suku_x {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 10%;
  height: 100%;
  background: #0c3380;
}
.suku_x::before {
  display: block;
  content: "";
  position: absolute;
  right: -65%;
  top: 0;
  width: 45%;
  height: 100%;
  background: #0c3380;
}
.ennoko_x {
  position: absolute;
  width: 100%;
  height: 90%;
  display: block;
  content: "";
  border: solid 20px #0c3380;
  border-radius: 50%;
  top: 75%;
  right: -65%;
  opacity: 0.1;
}

.ennoko_x::before {
  position: absolute;
  width: calc(100% - 8%);
  height: calc(100% - 8%);
  display: block;
  content: "";
  border: solid 10px #0c3380;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.over_hid {
  overflow: hidden;
}

.gew_painting .sect02 {
}
.paindl {
  margin-bottom: 7%;
}
.paindl dt p {
  font-size: 24vw;
  font-family: "Noto Serif JP", serif;
  position: relative;
  display: inline-block;
  line-height: 1;
  padding: 0 5%;
}

.paindl dt p::after {
  content: "";
  display: block;
  border: solid 1px;
  width: 3px;
  height: 57%;
  padding-bottom: 3px;
  position: relative;
  position: absolute;
  top: 49%;
  right: -10%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}

.paindl dt {
  position: relative;
  margin-bottom: 15%;
}
.paindl dt::after {
  content: "";
  display: block;
  border: solid 1px;
  width: 100%;
  padding-bottom: 3px;
  position: absolute;
  bottom: -20px;
  left: 0;
}
.paindl h2 {
  margin-left: 10%;
  vertical-align: top;
}
.paindl h2 span {
  display: inline-block;
  padding: 3%5%;
  background: #000;
  color: #fff;
  font-size: 3.1vw;
  margin-top: 5%;
}
.paindl h2 em {
  display: block;
}
.paindl dd {
  padding: 0 3% 3%;
}

.gew_painting .sect03 {
}
.painsect2dl {
  margin-bottom: 5%;
}
.painsect2dl .box h2 {
  margin-bottom: 5%;
  font-size: 6.2vw;
}

.painsect2dl .box h2 b {
}
.painsect2dl .box p {
  margin-bottom: 5%;
}
.painsect2dl .box .table01 {
  margin-bottom: 10%;
  max-width: 500px;
}
.painsect2dl .box .table01 table {
}
.painsect2dl .box .table01 table thead tr {
  border-bottom: solid 2px;
  border-top: solid 2px;
  display: block;
}
.painsect2dl .box .table01 table thead tr th {
  margin-right: 5%;
  display: inline-block;
  padding: 3%;
}
.painsect2dl .box .table01 table tbody tr td {
  margin-right: 5%;
  display: inline-block;
  padding: 3%;
}
.painsect2dl dt {
  float: none;
  width: 100%;
  overflow: hidden;
}
.painsect2dl dd {
  float: none;
  width: 100%;
  padding: 5%;
}
.painsect2dl_2 {
  /* flex-flow: row-reverse; */
}

.painsect2dl:nth-of-type(1) {
  background: #dff8ff;
}
.painsect2dl:nth-of-type(2) {
  background: #e5fff5;
}
.painsect2dl:nth-child(2n) dt {
  float: none;
}
.painsect2dl:nth-child(2n) dd {
  float: none;
  padding: 5%;
}
.pact2b01 {
  background: url(../img/gew_painting_sect03_bk01.jpg) no-repeat;
  background-size: 100%;
  background-position: center;
  border-right: solid 10px #fff;
  padding: 0 0 60%;
}
.pact2b02 {
  background: url(../img/gew_painting_sect03_bk02.jpg) no-repeat;
  background-size: 100%;
  background-position: center;
  border-left: solid 10px #fff;
  padding: 0 0 60%;
}

.painsect2dl .box .ul50 {
}
.painsect2dl .box .ul50 li {
  margin-bottom: 0;
}

.gew_painting .sect04 {
  background: url(../img/gew_painting_sect05_bk.jpg);
  background-size: 1920px;
  background-position: center;
  background-repeat: no-repeat;
}
.gew_painting .sect04 h2 {
  color: #fff;
  text-align: center;
  border-left: solid 3px;
  border-right: solid 3px;
  display: inline-block;
  margin-bottom: 13%;
  padding: 3%;
  font-size: 5.1vw;
}
.gew_painting .sect04 .tit_wrap {
  text-align: center;
}
.gew_painting .bigcont_btn {
  color: #fff;
  font-size: 5.5vw;
  font-weight: bold;
  border: solid 3px;
  padding: 3% 5%;
  font-family: "Noto Serif JP", serif;
  position: relative;
  overflow: hidden;
  letter-spacing: 3px;
  text-shadow: 2px 2px 1px #828282;
  box-shadow: 2px 2px 1px #828282;
}

.gew_painting .bigcont_btn::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5vw 5vw 0 0;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  left: 0px;
  top: 0px;
  transition: 0.3s;
}
.gew_painting .bigcont_btn::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 5vw 5vw;
  border-color: transparent transparent #ffffff transparent;
  position: absolute;
  right: 0px;
  bottom: 0px;
  transition: 0.3s;
}
.gew_painting .sect05 {
}

.gew_painting .sect05 .tit_wrap {
  text-align: center;
}
.gew_painting .sect05 h2 {
  position: relative;
  margin-bottom: 110px;
}
.borders_st {
  position: absolute;
  display: block;
  bottom: -34px;
  left: 0;
  content: "";
  height: 4px;
  width: 100%;
  background: -webkit-repeating-linear-gradient(
    45deg,
    #fff,
    #fff 2px,
    #aaa 2px,
    #aaa 4px
  );
  background: repeating-linear-gradient(
    45deg,
    #fff,
    #fff 2px,
    #aaa 2px,
    #aaa 4px
  );
}
.borders_st::before,
.borders_st::after {
  position: absolute;
  bottom: 0;
  content: "";
  height: 4px;
  width: 20%;
  display: block;
  background: #0c3380;
}
.borders_st::before {
  left: 0;
}
.borders_st::after {
  right: 0;
}

.xboxx li {
  float: none;
  width: 100%;
}
.xboxx li.gew_painting_sect06_bk {
  padding: 0 0 60%;
  background: url(../img/gew_painting_sect06_bk.jpg);
  background-position: right;
  background-size: 100%;
  background-repeat: no-repeat;
}
.gew_painting .sect05 .txt_wrap {
  position: relative;
  background: #f3f3f3;
}
.gew_painting .sect05 .txt_wrap::before {
  content: "";
  display: block;
  width: 20%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: #dcdcdc;
}
.gew_painting .sect05 .txt_wrap p {
  background: #f3f3f3;
  padding: 5%;
  width: 80%;
  position: relative;
  z-index: 1;
}
.gew_painting .sect05 .txt_wrap ::after {
}

.gew_painting .sect06 {
}
.gew_painting .sect06 .tit_wrap {
  text-align: center;
}
.gew_painting .sect06 h2 {
  position: relative;
  margin-bottom: 70px;
  padding: 10px 35px;
}
.gew_painting .sect06 .tit_wrap h2::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  border-top: solid 2px;
  border-bottom: solid 4px;
  bottom: -10px;
  left: 0;
}
.gew_painting .sect06 .tit_wrap h2::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  border-top: solid 4px;
  border-bottom: solid 2px;
  top: -10px;
  left: 0;
}
.gew_painting .sect06 .suku_x {
  background: #ececec;
}
.gew_painting .sect06 .suku_x::before {
  background: #ececec;
}
.gew_painting .sect06 .suku_xr {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 10%;
  height: 100%;
  background: #ececec;
}
.gew_painting .sect06 .suku_xr::before {
  background: #ececec;
  display: block;
  content: "";
  position: absolute;
  left: -65%;
  top: 0;
  width: 45%;
  height: 100%;
}
.force_box {
  max-width: 900px;
  margin: 0 auto;
}
.force_box li {
  background: #0c3380;
  padding: 10px;
}
.force_box li .box {
  position: relative;
  color: #fff;
  border: solid 1px;
  padding-bottom: 200px;
}
.force_box li .box p {
  font-size: 5vw;
  text-align: center;
  width: 100%;
  font-family: "Noto Serif JP", serif;
}
.gew_painting .sect07 {
}
.gew_painting .sect08 {
  padding: 10% 0 0;
}
.sectcon_area {
  background: url(../img/gew_painting_sectcon_bk.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.gew_painting .sect09 {
}
.gew_painting .sect09 .txt_csb {
  margin-bottom: 5%;
}
.gew_painting .sect09 .ul50 {
  max-width: 800px;
  margin: 0 auto 10%;
}
.gew_painting .sect09 .ul50 li {
  width: 100%;
  margin: 0;
}
.gew_painting .sect09 .ul50 li .telbox_wrap {
}
.gew_painting .sect09 .ul50 li .telbox {
  padding: 3% 3% 3% 17%;
  border-right: solid 1px;
}

.gew_painting .sect09 .telbox .tel_txt {
  position: relative;
  font-size: 9vw;
  color: #b9edff;
  text-shadow: 1px 1px 0px #0c3380, -1px 1px 0px #3a8dcb, 1px -1px 0px #3a8dcb,
    -1px -1px 0px #3a8dcb, 1px 0px 0px #3a8dcb, 0px 1px 0px #3a8dcb,
    -1px 0px 0px #3a8dcb, 0px -1px 0px #3a8dcb;
  font-family: "Noto Serif JP";
  display: block;
  letter-spacing: 1.5px;
  font-family: "メイリオ", Meiryo, "游ゴシック体", "YuGothic", "游ゴシック",
    "Yu Gothic", sans-serif;
  line-height: 1;
}
.gew_painting .sect09 .telbox .tel_txt:before {
  display: block;
  content: "";
  width: 22%;
  padding: 0 0 23%;
  background: url(../img/icon_phone_w.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: -22%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}
.gew_painting .sect09 .txt_box {
  font-size: 4.7vw;
  text-shadow: 2px 2px 1px #828282;
  padding: 3% 3% 3% 14%;
  line-height: 1.5;
}
.gew_painting .sect09 .btn_wrap {
  margin-bottom: 10%;
}

.gew_painting .gew_li_ryokin_wrap {
}
.gew_painting .box .gew_li_ryokin_wrap strong {
  font-weight: bold;
  font-size: 4.7vw;
  border-bottom: double 4px;
  margin-bottom: 3%;
  display: inline-block;
  padding: 0 3%;
}
.gew_painting .box .gew_li_ryokin_wrap .ryokin_txt01 {
  margin-bottom: 3%;
}
.gew_painting .box .gew_li_ryokin_wrap .ryokin_txt01 b {
  display: block;
  font-weight: bold;
  font-size: 4.2vw;
}
.gew_painting .box .gew_li_ryokin_wrap .ryokin_txt02 {
}
.gew_painting .box .gew_li_ryokin_wrap .ryokin_txt02 span {
  display: inline-block;
  background: linear-gradient(transparent 60%, #ffff66 60%);
  font-weight: bold;
  font-size: 4.4vw;
  text-shadow: 2px 1px #ffdbdb;
}

/* ---------------------------------------------------------------------------
  ★塗装事例紹介
  --------------------------------------------------------------------------- */
.example {
}

.example_taxlist_area {
}
.example_taxlist_area h2 {
  font-size: 5.3vw;
  font-weight: bold;
  color: #0c3380;
  margin-bottom: 0;
}
.example_taxlist_area h3 {
  font-size: 4vw;
  margin-bottom: 3%;
}
.example_taxlist {
  border-bottom: solid 1px;
  border-top: solid 1px;
  margin: 0px 0 3%;
  padding: 20px 0 15px;
  color: #0c3380;
}

.example_taxlist span {
  margin: 0 0 5%;
  font-weight: bold;
  border-right: solid 1px;
  padding: 1% 3%;
  display: block;
  max-width: 170px;
}

.example_taxlist span a {
  color: #2c8be2;
}
.example_taxlist > a {
  display: inline-block;
  padding: 5px 20px;
  color: #fff;
  margin: 0 15px 15px;
  position: relative;
}
.example_taxlist > a:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 0;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  left: 0px;
  top: 0px;
  transition: 0.3s;
}
.ex_general_tax {
  background: #0099ff;
}

.ex_powder_tax {
  background: #0d75bb;
}

.ex_painting_tax {
  background: #3c7398;
}

.ex_architecture_tax {
  background: #446dde;
}

.ex_gew_tax {
  background: #2850be;
}

.ex_outwork_tax {
  background: #7d3232;
}

.bk_gry_img02 {
  background: url(../img/bk_gry_img02.png);
  background-position: top center;
  background-size: 1920px;
}

/* ---------------------------------------------------------------------------
  ★塗装事例紹介詳細
--------------------------------------------------------------------------- */

.ex_details {
}
.ex_details_wrap {
  padding: 0 0 15%;
}
.etd_list {
  margin-bottom: 5%;
}
.etd_list > span {
  display: inline-block;
  padding: 3px 10px;
  color: #fff;
  margin: 0 10px 10px;
  position: relative;
  font-size: 1.4rem;
}
.details_title {
  font-family: "Noto Serif JP", serif;
  font-size: 5.3vw;
  font-weight: bold;
  color: #0c3380;
  margin-bottom: 5%;
  display: inline-block;
  border-bottom: solid;
}
.details_box {
}

.details_box .img_wrap {
  margin-bottom: 10%;
}

.details_box .img_wrap img {
  max-width: 100%;
  width: auto;
}

.example_xfree {
  margin-bottom: 3%;
}
.example_xfree img {
  max-width: 100%;
  width: auto;
  height: auto;
}
.example_xfree .gallery-caption {
  text-align: center;
  background: #fff;
  font-weight: bold;
}
.example_xfree .gallery {
}
.example_xfree figure.gallery-item {
  display: inline-block;
  width: 48%;
  margin: 0 0.1%;
}
.example_xfree .gallery img {
  max-width: 100%;
  width: auto;
  height: auto;
}
.details_cont {
}
.details_cont .bikou {
  font-size: 5vw;
  font-weight: bold;
  border-bottom: solid 1px;
  color: #0c3380;
}
.details_contin {
  padding: 30px;
}

/* ---------------------------------------------------------------------------
  ★お知らせ
--------------------------------------------------------------------------- */
.news {
}

.nslist {
  padding: 10% 0;
}

.nslist .ns_aside {
  float: none;
  width: 100%;
  border-left: solid 1px;
  border-right: solid 1px;
  padding-left: 30px;
}

.nslist .ns_aside h2 {
  font-size: 5vw;
  font-weight: bold;
  z-index: 1;
  position: relative;
  color: #0c3380;
  margin-bottom: 5px;
}

.nslist .nsmain {
  float: none;
  width: 100%;
  padding: 0 3%;
}

.sect_news_list .newslist_wrap {
  margin-bottom: 10%;
  background: #fff;
  padding: 30px;
}

.sect_news_list .newslist_wrap a {
  display: block;
  margin: 10px 0;
}

.sect_news_list .newslist_wrap a dl dt {
  float: none;
  width: 100%;
  margin-bottom: 0;
}

.sect_news_list .newslist_wrap a {
  margin: 10px 0;
  border-bottom: solid 1px #c1c1c1;
  padding-bottom: 10px;
}

.sect_news_list .newslist_wrap a dl dd {
  float: left;
}

.archive_box > dl a {
  position: relative;
  display: block;
  margin-bottom: 5px;
  font-size: 5vw;
}

.archive_box > dl dd {
  display: none;
}
.news_titles {
  margin-bottom: 5%;
}

.news_titles h2 {
  display: inline-block;
  border-bottom: solid 1px;
  font-size: 4.2vw;
  margin-bottom: 3%;
  font-family: "Noto Serif JP", serif;
}
.archivetitle {
}
.newsall a {
  position: relative;
  display: block;
  margin-bottom: 5px;
  font-size: 5vw;
}

/* ---------------------------------------------------------------------------
  ★お知らせ詳細
--------------------------------------------------------------------------- */
.news_detail {
}
.sect_news_detail {
}
.news_detail_box {
  padding: 40px;
  margin-bottom: 70px;
  background: #fff;
  min-height: 370px;
}
.news_detail_box h2 {
  font-size: 5.3vw;
  font-weight: bold;
  color: #0c3380;
  word-break: break-all;
}
.news_detail_box .days {
  text-align: right;
}

.h_day_wrap {
  margin-bottom: 15%;
}

.news_detail_ubox {
}
.news_detail_ubox a {
  color: #6ac8ff;
  border-bottom: solid 1px;
}
.news_detail_ubox img {
  max-width: 100%;
  width: auto;
}

/* ---------------------------------------------------------------------------
  ★選ばれる理由
--------------------------------------------------------------------------- */
.reason {
}

.reasonlist_wrap span {
  display: block;
}

.reason .sect01 h2 {
  margin-bottom: 5%;
}
.reason .sect01 h2 b {
  color: #0c3380;
  border-bottom: solid 1px;
  padding: 0 0 3%;
}
.reason .sect01 .txt_csb {
  margin-bottom: 10%;
  color: #0c3380;
}

.reason .sect02.bk_gry_img02 {
  background: url(../img/bk_gry_img02.png);
  background-repeat: repeat;
  background-size: 100%;
}

.reason .sect02 ul {
  background: #fff;
  margin-bottom: 5%;
}

.reason .sect02 ul li {
  /* float: left; */
  width: 100%;
  margin: 0 auto;
}

.reason .sect02 ul li:nth-child(2n) {
  margin: 0 0% 0% 0;
}

.reason .sect02 .txt_wrap {
  padding: 5%;
}
.reason .sect02 .txt_wrap b {
  border-bottom: solid 1px;
  font-size: 5.3vw;
  font-weight: bold;
  color: #0c3380;
  margin-bottom: 5%;
  font-family: "Noto Serif JP", serif;
  display: block;
  padding-bottom: 3%;
}
.reason .sect02 .txt_wrap p {
  margin-bottom: 5%;
}

/* ---------------------------------------------------------------------------
  ★設備紹介
--------------------------------------------------------------------------- */
.introduction {
}
.idu_wrap .inner {
  background: #fff;
  padding: 5%;
  border-bottom: solid 10px #4e6798;
}
.introduction .tit02_02 {
  margin-bottom: 3%;
}
.idu_wrap .inner > div {
  /* margin-bottom: 0; */
}
.idu_wrap {
  margin-bottom: 10%;
}
.idu_wrap .img_wrap_m {
}
.idu_wrap .img_wrap_m video {
  width: 100%;
}
.idu_wrap .img_wrap_s {
}
.img_wrap_s .sub_img_wrap > div {
  float: left;
  width: 48%;
  margin: 0 4% 0 0;
}
.img_wrap_s .sub_img_wrap > div:nth-child(2n) {
  margin: 0 0% 0 0;
}

.img_wrap_s .btn_wrap {
  margin: 10% 0 0;
}
.img_wrap_s .btn_wrap a.vmbtn {
  color: #ffffff;
  background: #0c3380;
}

.idu_wrap .txt_wrap {
  margin-bottom: 15%;
  color: #0c3380;
  border: solid 1px;
  padding: 20px;
}

.idu_wrap .txt_wrap b {
  font-size: 5vw;
  font-weight: bold;
  color: #0c3380;
  margin-bottom: 20px;
  padding-bottom: 5px;
  border-bottom: solid 1px;
  display: inline-block;
}

.idu_wrap h3 {
  background: #f0f5ff;
  margin-bottom: 10%;
  position: relative;
}

.idu_wrap h3 span {
  font-size: 5vw;
  color: #4b4d6c;
  font-weight: bold;
  padding: 5px 0 5px 30px;
  display: inline-block;
}

.idu_wrap h3::before {
  content: "";
  position: absolute;
  background: #0c3380;
  top: 0;
  left: 0;
  height: 100%;
  width: 10px;
}

.idu_wrap .inner > div.table02 {
  margin-bottom: 10%;
}

/*cyouseibtalbe*/
.table0x1 table.style01 {
  width: 100%;
}
.table0x1 table.style01 .intr_txth {
  width: 100%;
  vertical-align: middle;
  background: #d4d4d4;
  padding: 0 30px;
  display: block;
}
.table0x1 table.style01 .intr_d {
  width: 100%;
  vertical-align: middle;
  background: #fff;
  display: block;
  display: flex;
}
.table0x1 table.style01 td::after {
  content: "";
  display: block;
  clear: both;
}
.table0x1 table.style01 .box {
  background: #fff;
  /* float: left; */
  width: 50%;
  display: block;
}
.table0x1 table.style01 .box::after {
  content: "";
  display: block;
  clear: both;
}
.table0x1 table.style01 .box p {
  display: inline-block;
  font-size: 0;
  display: flex;
  flex-wrap: nowrap;
}
.table0x1 table.style01 .box p b {
  display: inline-block;
  background: #e2e2e2;
  padding: 7% 0;
  font-size: 2.6vw;
  width: 70%;
  text-align: center;
}
.table0x1 table.style01 .box p em {
  display: inline-block;
  background: #eee;
  padding: 7.2% 0;
  font-size: 2.6vw;
  width: 30%;
  text-align: center;
}
.table0x1 table.style01 tr {
  border: 1px solid #9a9999;
}
.table0x1 table.style01 .intr_d > span {
  padding: 4.6% 4%;
  line-height: 1;
  /* float: left; */
  display: block;
  width: 50%;
  font-size: 2.8vw;
  word-break: break-all;
}
.table0x1 table.style01 .intr_d span > b {
  padding: 0;
  display: inline-block;
}
.table0x1 table.style01 .box.retu2 {
}
.table0x1 table.style01 span.retu2 {
}
td.intr_d.retu6_w {
  display: flex;
}
.retu6_w .box p b .inbox {
  display: block;
  padding: 5% 0;
}
.retu6_w > span b {
  display: block !important;
  padding: 6.7% 0 !important;
  font-size: 2.6vw;
}
.retu6_w .box p em {
}
.retu6_w .box p em .sp {
  padding: 11.6% 0;
}

td.intr_d.cyousei_td .box {
  /* display: flex; */
}

td.intr_d.cyousei_td .box p {
  /* display: flex; */
}
.cyousei_td > span b {
  padding: 4.5% 0 !important;
}

td.intr_d.cyousei_td .box p b {
  padding: 40px 0;
}
td.intr_d.cyousei_td .box p em {
  padding: 40px 0;
}

span.retucsp {
  padding: 10.5% 5% !important;
}
.intr_sizet {
  display: block;
  font-size: 4vw;
}

.tit_intrst {
  display: block;
  font-size: 4.5vw;
  font-family: "Noto Serif JP", serif;
  margin: 0 0 5%;
  /* border-bottom: solid 1px; */
}
.tit_intrst b {
  border-bottom: solid 1px;
}
/* ---------------------------------------------------------------------------
  ★バーチャル工場見学
--------------------------------------------------------------------------- */
.virtual_factory {
}

.fact_maesetsu_wrap {
  position: relative;
  background: #0c3380;
  padding: 0px 0 30px;
}
.fact_maesetsu_wrap::before {
  display: block;
  content: "";
  width: 100%;
  padding: 0 0 65%;
  background: #fff;
  position: absolute;
  top: 0;
}

.fact_maesetsu_wrap ul {
  /* display: block; */
  /* flex-wrap: nowrap; */
}
.fact_maesetsu_wrap ul li {
  width: 100%;
  float: left;
  margin: 0;
  padding: 5%;
}
.fact_maesetsu_wrap ul li {
}

.hosoku_wrap {
}
.box_hwp {
  margin-top: 0;
}
.box_hwp b {
  font-size: 4vw;
  border: solid 2px;
  padding: 5px 10px;
  margin-bottom: 5%;
  display: inline-block;
  color: #2573c1;
  font-weight: bold;
}
.box_hwp .box_met {
  padding: 15px 0;
  position: relative;
  background: #fff;
  max-width: 360px;
}

.box_hwp .box_met::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 45px 45px 0 0;
  border-color: #c8c8c8 transparent transparent transparent;
}

.box_hwp .box_met::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 45px 45px;
  border-color: transparent transparent #c8c8c8 transparent;
}
.box_hwp .box_met_in {
  /* border-top: solid 1px#a2a2a2; */
  /* border-bottom: solid 1px#a2a2a2; */
  padding: 5%;
  width: 90%;
  margin: 0 auto;
  border: solid 1px #a2a2a2;
}
.box_hwp .box_met_in p {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 50px;
  margin-bottom: 5%;
}
.box_met_in p::before {
  display: block;
  content: "";
  position: absolute;
  padding: 0 0 10px;
  background-size: 100%;
}
.box_met_in p.doga_p::before {
  background: url(../img/doga_p.png) no-repeat;
  background-position: center center;
  width: 40px;
  padding-bottom: 40px;
  background-size: 100%;
  left: 0;
  top: 0;
}

.box_met_in p.sha_p::before {
  background: url(../img/sha_p.png) no-repeat;
  background-position: center center;
  width: 40px;
  padding-bottom: 40px;
  background-size: 100%;
  left: 0;
  top: 0;
}
.box_met_in p.ins360_p::before {
  background: url(../img/ins360_p.png) no-repeat;
  background-position: center center;
  width: 40px;
  padding-bottom: 40px;
  background-size: 100%;
  left: 0;
  top: 0;
}
.box_met_in p.dr_p::before {
  background: url(../img/dr_p.png) no-repeat;
  background-position: center center;
  width: 35px;
  padding-bottom: 35px;
  background-size: 100%;
  left: 4px;
  top: 0;
}

.virtual_factory .sect01 {
}
.virtual_factory .sect01 h2 {
  margin: 5% 0% 32%;
  position: relative;
}
.virtual_factory .sect01 h2 b {
  color: #0c3380;
  position: relative;
  font-size: 3.5rem;
  /* text-shadow: 1px 1px 0px #3a8dcb, -1px 1px 0px #3a8dcb, 1px -1px 0px #3a8dcb, -1px -1px 0px #3a8dcb, 1px 0px 0px #3a8dcb, 0px 1px 0px #3a8dcb, -1px 0px 0px #3a8dcb, 0px -1px 0px #3a8dcb; */
  font-weight: bold;
}

.virtual_factory_title_img01 {
  position: absolute;
  top: -45%;
  left: 50%;
  -webkit-transform: translateY(0%) translateX(-50%);
  transform: translateY(0%) translateX(-50%);
  max-width: 586px;
  width: 90%;
}

.vfimg {
  max-width: 120px;
  width: 15%;
  z-index: 5;
}

.virtual_factory_sect01_bk01 {
  position: absolute;
  top: 34%;
  left: 3%;
}
.virtual_factory_sect01_bk02 {
  position: absolute;
  top: 34%;
  left: 29%;
}
.virtual_factory_sect01_bk03 {
  position: absolute;
  top: 34%;
  right: 29%;
}
.virtual_factory_sect01_bk04 {
  position: absolute;
  top: 34%;
  right: 2%;
}

.virtual_factory .sect02 h2 {
  margin-bottom: 10%;
  position: relative;
  /* border: solid 1px; */
  font-weight: bold;
  color: #0c3380;
  border-top: solid 4px;
  border-bottom: solid 19px;
  padding: 10px 0;
  background: #fff;
}
.virtual_factory .sect02 h2 b {
  color: #0c3380;
  position: relative;
}

.virtual_factory .sect01 h2 b::before,
.virtual_factory .sect01 h2 b::after {
  position: absolute;
  display: block;
  content: "";
  width: 90px;
  height: 4px;
  border-top: solid 2px;
  border-bottom: solid 2px;
}

.virtual_factory .sect01 h2 b::before {
  left: -11%;
  top: 43%;
  transform: rotate(52deg);
}
.virtual_factory .sect01 h2 b::after {
  right: -11%;
  top: 43%;
  transform: rotate(-52deg);
}

.virtual_factory .sect01 .txt_csb {
  color: #0c3380;
  margin: 0 0 70px;
  font-size: 4vw;
}
.bbb_www {
}

.bbb_www .boxchenge_wrap {
  /* float: left; */
  width: 100%;
}

.bbb_www .boxchenge_btn_wrap {
  /* float: right; */
  width: 100%;
  border-left: solid 2px;
  border-right: solid 2px;
  padding: 0px 0;
}

.boxchenge_btn_wrap h3 {
  font-size: 2.8rem;
  color: #0c3380;
  font-family: "Noto Serif JP", serif;
  border-bottom: solid 1px;
  padding-bottom: 3%;
  width: 96%;
  max-width: 235px;
  margin: 0 auto 10%;
}

.boxchenge_wrap {
  background: #fff;
  padding: 3% 0%;
  margin: 0 auto 5%;
}
.boxchenge_wrap > div {
  width: 0;
  transition: 0.3s;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
}

.boxchenge_wrap > div > a {
  top: 0;
  position: absolute;
  transition-duration: 0.3s;
  transition-delay: 0.3s;
  transition-timing-function: cubic-bezier(0.82, -0.53, 0.08, 1.07);
  opacity: 0;
  -webkit-transform: translateY(-200%) translateX(0%);
  transform: translateY(-200%) translateX(0%);
}

.boxchenge_wrap > div.on a {
  display: block;
  width: 13%;
  max-width: 40px;
  opacity: 1;
  -webkit-transform: translateY(0%) translateX(0%);
  transform: translateY(0%) translateX(0%);
}

.ins360_pimg {
  max-width: 60px;
  width: 30%;
}

.doga_pimg {
  max-width: 60px;
  width: 30%;
}

.sha_pimg {
  max-width: 60px;
  width: 30%;
}

.dr_pimg {
  max-width: 55px;
  width: 30%;
}

#pt_bc01_ins360_p01 {
  top: 63%;
  left: 50%;
}

#pt_bc01_ins360_p02 {
  top: 18%;
  left: 41%;
}

#pt_bc01_ins360_p03 {
  top: 56%;
  left: 12%;
}

#pt_bc01_doga_p01 {
  top: 8%;
  left: 52%;
}

#pt_bc01_doga_p02 {
  top: 10%;
  left: 29%;
}

#pt_bc01_doga_p03 {
  top: 33%;
  left: 45%;
}

#pt_bc01_doga_p04 {
  top: 65%;
  left: 31%;
}

#pt_bc01_doga_p05 {
  top: 53%;
  left: 70%;
}

#pt_bc01_sha_p01 {
  top: 47%;
  left: 27%;
}

#pt_bc01_sha_p02 {
  top: 31%;
  left: 29%;
}
#pt_bc01_sha_p03 {
  top: 81%;
  left: 79%;
}

#pt_bc01_sha_p04 {
  top: 81%;
  left: 32%;
}
#pt_bc01_dr_p01 {
  top: 80%;
  left: 50%;
}

/**/

#pt_bc02_ins360_p01 {
  top: 40%;
  left: 50%;
}

#pt_bc02_ins360_p02 {
  top: 76%;
  left: 8%;
}

#pt_bc02_ins360_p03 {
  top: 56%;
  left: 12%;
}

#pt_bc02_doga_p01 {
  top: 15%;
  left: 75%;
}

#pt_bc02_doga_p02 {
  top: 30%;
  left: 26%;
}

#pt_bc02_doga_p03 {
  top: 24%;
  left: 49%;
}

#pt_bc02_doga_p04 {
  top: 65%;
  left: 31%;
}

#pt_bc02_doga_p05 {
  top: 53%;
  left: 70%;
}

#pt_bc02_sha_p01 {
  top: 59%;
  left: 74%;
}

#pt_bc02_sha_p02 {
  top: 52%;
  left: 31%;
}
#pt_bc02_sha_p03 {
  top: 85%;
  left: 83%;
}

#pt_bc02_sha_p04 {
  top: 81%;
  left: 32%;
}
#pt_bc02_dr_p01 {
  top: 63%;
  left: 50%;
}

#pt_bc02_dr_p02 {
  top: 80%;
  left: 56%;
}

/**/

#pt_bc03_ins360_p01 {
  top: 31%;
  left: 25%;
}

#pt_bc03_ins360_p02 {
  top: 81%;
  left: 68%;
}

#pt_bc03_ins360_p03 {
  top: 81%;
  left: 33%;
}

#pt_bc03_ins360_p04 {
  top: 43%;
  left: 68%;
}

#pt_bc03_ins360_p05 {
  top: 9%;
  left: 50%;
}

#pt_bc03_ins360_p06 {
  top: 74%;
  left: 17%;
}

.boxchenge_wrap > div.on {
  display: block;
  width: 100%;
}

.boxchenge_btn_wrap {
  text-align: center;
}
.boxchenge_btn_wrap a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding: 16px 20px 16px 90px;
  background: #707070;
  margin: 0 0px 20px;
  transition: 0.3s;
  border: solid 1px #707070;
  color: #fff;
}

.boxchenge_btn_wrap a.on {
  color: #103475;
  background: #f3f3f3;
}

.boxchenge_btn_wrap a > span {
  transform: skewX(-30deg);
  z-index: 3;
  position: absolute;
  left: -40px;
  top: 0;
  display: inline-block;
  color: #fff;
  background: #cecece;
  transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
  padding: 21px 30px;
}

.boxchenge_btn_wrap a.on > span {
  left: -140px;
}

.boxchenge_btn_wrap a span span {
  transform: skewX(30deg);
  display: inline-block;
  position: relative;
  top: -13px;
  right: -13px;
  display: inline-block;
  font-size: 5.3vw;
  color: #7390ad;
  font-weight: bold;
}

.boxchenge_btn_wrap a b {
  position: relative;
  z-index: 2;
  display: inline-block;
  position: relative;
  font-size: 5.5vw;
  font-family: "Noto Serif JP", serif;
}
.boxchenge_btn_wrap a > em {
  transform: skewX(-30deg);
  z-index: 3;
  position: absolute;
  left: -140px;
  top: 0;
  display: inline-block;
  color: #fff;
  background: #103475;
  transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
  padding: 21px 30px;
}

.boxchenge_btn_wrap a em em {
  transform: skewX(30deg);
  display: inline-block;
  position: relative;
  top: -13px;
  right: -6px;
  display: inline-block;
  font-size: 5.3vw;
  color: #ffffff;
  font-weight: bold;
}

.boxchenge_btn_wrap a.on > em {
  left: -29px;
}

/* ---------------------------------------------------------------------------
  ★採用情報
--------------------------------------------------------------------------- */

.recruit {
}

.recruit .sect01 h2 {
  margin-bottom: 10%;
}
.recruit .sect01 h2 b {
  color: #0c3380;
  border-bottom: solid 1px;
  font-size: 6.5vw;
  padding: 0 0 3%;
}
.recruit .sect01 .txt_csb {
  margin-bottom: 5%;
  color: #0c3380;
}

/*リクルート共有*/
.recruit_list_area {
}
.relibtn_wrap {
}

.under_l .maincont section.recruit_list_area .gaps {
  padding: 8% 0;
}

.relibtn_wrap a {
  display: block;
  float: left;
  position: relative;
  padding: 3%;
  background-size: 380px;
  background-position: center;
  color: #fff;
  overflow: hidden;
  width: 48%;
  margin: 0 4% 4% 0;
  transition: 0.3s !important;
}
.wow_wrap a {
  margin: 0 2% 4% 2%;
}
.relibtn_wrap a.test {
  width: 45%;
  margin-left: auto;
  margin-right: auto;
}
.relibtn_wrap a:nth-child(2n) {
  margin: 0 0 4% 0;
}
.wow_wrap a:nth-child(2n) {
  margin: 0 2% 4% 2%;
}
.relibtn_wrap a .borderbox {
  border-top: solid 1px;
  border-bottom: solid 1px;
  position: relative;
  width: 100%;
  padding: 0 0 81.6%;
}

.relibtn_wrap a .borderbox span {
  position: absolute;
  top: 73%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
  font-size: 4.1vw;
  font-family: "Noto Serif JP", serif;
}

.relibtn_wrap a span::before {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  background-image: url(../img/recruit_icon01.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 70%;
  width: 93px;
  padding: 0 0 75%;
  max-width: 110px;
}

.relibtn_wrap a::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
}
.relibtn_wrap a.banner::before {
  background: none !important;
}
a.wow.fadeInUp2.banner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.relibtn_01 {
  background-image: url(../img/recruit_icon01_bk.png);
}
.relibtn_02 {
  background-image: url(../img/recruit_icon02_bk.png);
}
.relibtn_03 {
  background-image: url(../img/recruit_icon03_bk.png);
}
.relibtn_04 {
  background-image: url(../img/recruit_icon04_bk.png);
}
.relibtn_05 {
  background-image: url(../img/recruit_icon05_bk.png);
}
.relibtn_06 {
  background-image: url(../img/recruit_icon06_bk.png);
}

.relibtn_wrap a.relibtn_01 span::before {
  background-image: url(../img/recruit_icon01.png);
  width: 48%;
  top: 22%;
  left: 53%;
}
.relibtn_wrap a.relibtn_02 span::before {
  background-image: url(../img/recruit_icon02.png);
  width: 60%;
  top: 7%;
  left: 53%;
  max-width: 87px;
}
.relibtn_wrap a.relibtn_03 span::before {
  background-image: url(../img/recruit_icon03.png);
  width: 75px;
  padding: 0 0 90px;
  top: -31%;
  left: 53%;
}
.relibtn_wrap a.relibtn_04 span::before {
  background-image: url(../img/recruit_icon04.png);
  width: 110px;
  padding: 0 0 110px;
  top: -42%;
  left: 53%;
}

.relibtn_wrap a.relibtn_05 span::before {
  background-image: url(../img/recruit_icon05.png);
  width: 83px;
  top: 2%;
  left: 53%;
}
.relibtn_wrap a.relibtn_06 span::before {
  background-image: url(../img/recruit_icon06.png);
  width: 85px;
  top: 3%;
  left: 53%;
}

/*募集要項*/

.recruit .sect02 {
}
.recruit .sect02 h2 {
  margin: 0 auto 60px;
}

.bosyu_cont_wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.bosyu_chenge_btn_wrap {
  font-size: 0;
  margin-bottom: 8%;
}
.bosyu_chenge_btn_wrap > a {
  padding: 2% 3%;
  border: solid 2px #0086a1;
  display: inline-block;
  border-radius: 0;
  font-size: 4vw;
  margin-right: 0;
  /* border-bottom: 0; */
  font-weight: bold;
  background: #fff;
  max-width: 180px;
  width: 46%;
  margin: 0 2% 5%;
  text-align: center;
}

.bosyu_chenge_btn_wrap > a.on {
  background: #0086a1;
  border: solid 2px #0086a1;
  color: #fff;
}

.bosyu_chenge_wrap {
  border: solid 2px #0086a1;
  padding: 5%;
  border-radius: 0;
  background: #fff;
}
.bosyu_chenge_wrap h3 {
  font-size: 5vw;
  font-weight: bold;
  margin-bottom: 0;
}
.bosyu_chenge_wrap table {
  border: solid 1px #9a9999;
  margin: 10px 0 0;
}

.bosyu_chenge_wrap .table01 {
  margin-bottom: 10%;
}
.bosyu_chenge_wrap > div {
  display: none;
}
.bosyu_chenge_wrap > div.on {
  display: block;
}

/*福利厚生*/
.wel_wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.wel_wrap .ul33 {
  width: 96%;
  max-width: 880px;
  margin: 0 auto;
  padding: 5% 0 2%;
}

.wel_wrap .ul33 li {
  padding: 3%;
  background: #fff;
  border-bottom: solid 10px #9cddf0;
}

.wel_wrap .ul33 li .img_wrap {
  margin: 0 auto 10px;
  max-width: 75px;
}

.wel_wrap .ul33 li em {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-bottom: solid 2px #aba7a7;
  padding: 0 0 7px;
  margin: 0 0 10px;
}

.wel_wrap .ul33 li p {
  font-size: 1.4rem;
}

/*選考の流れ*/
.ssflowbox {
  margin-bottom: 0px;
}

.ssflowbox.sect_b_flow::after {
  position: absolute;
  bottom: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 50vw 219vw 122vw;
  border-color: transparent transparent #d8d8d8 transparent;
  z-index: 0;
}
.ssflowbox h2 {
}
.ssflowbox .flowbox_wrap {
  max-width: 860px;
  margin: 0 auto;
  width: 96%;
}
.ssflowbox .small_txt {
  margin: 0 auto;
  color: #000;
}
.ssflowbox .flowbox li {
  float: none;
  background: #fff;
  width: 100%;
  padding: 3%;
  margin: 0 0 10%;
}
.ssflowbox .flowbox li:nth-child(2n) {
  margin: 0 0 10%;
}
.ssflowbox .flowbox li .box {
}
.ssflowbox .flowbox li .box h3 {
  color: #000;
  text-align: center;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 6vw;
  font-weight: bold;
  margin: 0;
}
.ssflowbox .flowbox li .box p {
  position: relative;
  color: #000;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  z-index: 3;
  width: 88%;
  margin: 0 0 0 40px;
}
.ssflowbox .flowbox li::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 23.5px 0 23.5px 30px;
  border-color: transparent transparent transparent #a5a5a5;
  position: absolute;
  right: auto;
  top: auto;
  bottom: -55px;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(0%) rotate(90deg);
  transform: translateY(-50%) translateX(0%) rotate(90deg);
  z-index: 3;
}

.ssflowbox .flowbox li:last-child::after {
  display: none;
}

.entry_imasugu_area {
}
.entry_imasugu_area .box {
  padding: 5%;
  max-width: 1000px;
  margin: 0 auto;
}
.entry_imasugu_area h3 {
  display: block;
  max-width: 500px;
  border-bottom: solid 4px #ffce9e;
  font-size: 7vw;
  margin-bottom: 3px;
  font-family: "Noto Serif JP", serif;
  margin: 0 auto 5%;
  text-align: center;
  padding-bottom: 10px;
}
.entry_imasugu_box {
}
.entry_imasugu_box ul {
  max-width: 770px;
  margin: 0 auto;
  width: 97%;
}
.entry_imasugu_box ul li {
}
.contact_area ul li .telbox {
  margin-left: 70px;
}

.entry_imasugu_box ul li .telbox .tel_txt {
  position: relative;
  font-size: 8vw;
  color: #6ea1da;
  text-shadow: 1px 1px 0px #3a8dcb, -1px 1px 0px #3a8dcb, 1px -1px 0px #3a8dcb,
    -1px -1px 0px #3a8dcb, 1px 0px 0px #3a8dcb, 0px 1px 0px #3a8dcb,
    -1px 0px 0px #3a8dcb, 0px -1px 0px #3a8dcb;
  font-family: "Noto Serif JP";
  display: block;
  letter-spacing: 1.5px;
  font-family: "メイリオ", Meiryo, "游ゴシック体", "YuGothic", "游ゴシック",
    "Yu Gothic", sans-serif;
  line-height: 1;
}

.entry_imasugu_box ul li .telbox .tel_txt:before {
  display: block;
  content: "";
  width: 24%;
  padding: 0 0 25%;
  background: url(../img/icon_phone_w.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: -25%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}

.entry_imasugu_box ul li .telbox > span {
  margin-left: 0;
}

.entry_imasugu_box ul li .mailbox {
  text-align: center;
}

.entry_imasugu_box ul li .mailbox a {
  color: #fff;
  display: block;
  background-color: #0c3380;
  padding: 5%;
  border: solid 1px #ffffff;
  position: relative;
  overflow: hidden;
}

.entry_imasugu_box ul li .mailbox a::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  background: url(../img/mail_icon_off.png) no-repeat;
  background-position: center;
  background-size: 100%;
  width: 55%;
  padding: 0 0 35%;
  left: -15%;
  opacity: 0.1;
}

.entry_imasugu_box ul li .mailbox a b {
  font-size: 11vw;
  position: relative;
  z-index: 2;
  display: block;
  font-weight: bold;
  line-height: 1.3;
}
.entry_imasugu_box ul li .mailbox a span {
  font-size: 1.4rem;
  position: relative;
  z-index: 2;
  line-height: 1;
  display: block;
}

.entry_imasugu_box ul li .telbox {
  margin-left: 15%;
  margin-top: 10px;
}
.entry_imasugu_box ul li .telbox h4 {
  border-bottom: solid 1px;
  margin: 0 0 5%;
  display: inline-block;
  font-size: 4vw;
}
.entry_imasugu_box ul li .telbox .tel_txt {
}
.entry_imasugu_box ul li .telbox span {
}
.entry_imasugu_box ul li .mailbox {
}
.entry_imasugu_box ul li .mailbox .malilinka {
}
.entry_imasugu_box ul li .mailbox span {
}
/* ---------------------------------------------------------------------------
  ★求める人材
--------------------------------------------------------------------------- */

.recruitment {
}
.recruitment .sect01 {
}
.recruitment .sect01 .box {
}
.recruitment .sect01 .box h2 {
  background: #eee;
  margin: 0;
  padding: 10px;
}
.recruitment .sect01 .box .img_wrap {
  /* margin-bottom: 15%; */
}
.recruitment .sect01 .box .txt_box {
  padding: 7%;
  font-size: 5vw;
  margin-bottom: 10%;
}
.recruitment .sect01 .box .ul25 {
  margin-bottom: 15%;
}
.recruitment .sect01 .box .ul25 li {
  text-align: center;
}
.recruitment .sect01 .box .ul25 li h3 {
  font-size: 0;
  width: 150px;
  height: 150px;
  display: block;
  background: #eee;
  border-radius: 50%;
  position: relative;
  margin: 0 auto 20px;
  color: #fff;
}
.recruitment .sect01 .box .ul25 li h3 em {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  font-size: 4vw;
  width: 96%;
  text-align: center;
  margin: 0 auto;
}
.recruitment .sect01 .box .ul25 li h3 em small {
}
.recruitment .sect01 .box .ul25 li b {
  position: relative;
  margin-bottom: 10%;
}
.recruitment .sect01 .box .ul25 li b::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 50px;
  height: 2px;
  background: #eee;
  -webkit-transform: translateY(0%) translateX(-50%);
  transform: translateY(0%) translateX(-50%);
}
.recruitment .sect01 .box .ul25 li p {
  font-size: 1.4rem;
}

.lg_red b {
  color: #ac3961;
}
.lg_green b {
  color: #63867f;
}
.lg_blue b {
  color: #445672;
}
.lg_bra b {
  color: #936656;
}
.recruitment .sect01 .box .ul25 li.lg_red h3 {
  background: #ac3961;
}
.recruitment .sect01 .box .ul25 li.lg_green h3 {
  background: #63867f;
}
.recruitment .sect01 .box .ul25 li.lg_blue h3 {
  background: #445672;
}
.recruitment .sect01 .box .ul25 li.lg_bra h3 {
  background: #936656;
}

/* ---------------------------------------------------------------------------
  ★数字で見る鳥井
--------------------------------------------------------------------------- */

.sbn {
}
.sbn .sect01 {
  padding: 10% 0 0;
}
.sbn .sect01 h2 {
  margin-bottom: 10%;
}
.sbn .sect01 h2 b {
  font-size: 5.1vw;
}
.sbn .sect01 .gaps {
}
.sbn .sect01 .gaps .sbn_boxwr {
}
.sbn .sect01 .gaps .ul33 {
}
.sbn .sect01 .gaps .ul33 li {
}
.sbn .sect01 .gaps .ul33 li h3 {
  font-size: 4.6vw;
  font-weight: bold;
  text-align: center;
  margin-bottom: 3%;
  font-family: "Noto Serif JP", serif;
}
.sbn .sect01 .gaps .ul33 li .sbns_box {
  border: solid 4px #0c3380;
  padding: 3%;
  background: #fff;
}
.sbn .sect01 .gaps .ul33 li .box_in {
  border: solid 3px #0c3380;
  padding-bottom: 66.6%;
  position: relative;
  width: 100%;
}
.sbn .sect01 .gaps .ul33 li .box_in p {
  line-height: 1;
  width: 100%;
  text-align: center;
}
.sbn .sect01 .gaps .ul33 li .box_in > em {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #0c3380 transparent transparent transparent;
  position: absolute;
  left: 0px;
  top: 0px;
  transition: 0.3s;
}
.sbn .sect01 .gaps .ul33 li .box_in > span {
  display: block;
  content: "";
  width: 30%;
  height: 2px;
  background: #0c3380;
  position: absolute;
  left: -5%;
  top: 14%;
  transition: 0.3s;
  transform: rotate(-45deg);
}

.sbn .sect01 .gaps .ul33 li .box_in > em:nth-last-of-type(1) {
  transform: rotate(180deg);
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
}
.sbn .sect01 .gaps .ul33 li .box_in > span:nth-last-of-type(1) {
  top: auto;
  bottom: 12%;
  left: auto;
  right: -5%;
}
.sbn .sect01 .gaps .ul33 li .box_in p small {
  font-weight: bold;
}
.sbn .sect01 .gaps .ul33 li .box_in p b {
  font-family: "Crimson Text", serif;
  font-size: 13vw;
  font-weight: bold;
  color: #0c3380;
  line-height: 1;
  display: block;
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px #adadad;
}
.sbn .sect01 .gaps .ul33 li .box_in p b span {
  font-size: 5vw;
  line-height: 1;
  display: inline-block;
}

.sbn .sect02 {
}
.sbn .sect02 h2 {
  margin-bottom: 5%;
}
.sbn .sect02 .gaps {
}
.sbn .sect02 .gaps .ul50 {
  margin-bottom: 5%;
}
.sbn .sect02 .gaps .ul50 .txt_wrap {
  padding: 0;
}
.sbn .sect02 .gaps .ul50 .txt_wrap h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 6vw;
  font-weight: bold;
  margin-bottom: 2%;
  margin-top: 2%;
}

.sbn .sect02 .gaps .ul50 .txt_wrap .box_in {
  margin-bottom: 10%;
}
.sbn .sect02 .gaps .ul50 li strong {
  font-family: "Noto Serif JP", serif;
  font-size: 6vw;
  font-weight: bold;
  line-height: 1;
  border-bottom: double 4px;
  padding: 0 0 2%;
}
.sbn .sect02 .gaps .ul50 li .box_in b {
  font-size: 12vw;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  margin: 0 3%;
}
.sbn .sect02 .gaps .ul50 li .box_in b span {
  font-size: 9vw;
  line-height: 1;
  display: inline-block;
  margin: 0 0%;
}
.sbn .sect02 .gaps .ul50 .txt_wrap p {
  font-size: 4.5vw;
  margin-left: 3%;
}
.sbn .sect02 .gaps .ul50 .img_wrap {
  padding: 3%;
}

.sbn .sect02 .gaps .ul33 li {
  background-color: #fff;
  padding: 2%;
}
.sbn .sect02 .gaps .ul33 h3 {
  position: relative;
  border: solid 1px #0c3380;
  display: block;
  padding: 0;
  text-align: center;
  font-weight: bold;
  font-size: 4vw;
  margin-bottom: 5%;
}
.sbn .sect02 .gaps .ul33 h3::before {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 0;
  border-color: #0c3380 transparent transparent transparent;
  position: absolute;
  left: 0px;
  top: 0px;
  transition: 0.3s;
}

.sbn .sect02 .gaps .ul33 h3::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 10px 0 0;
  border-color: #0c3380 transparent transparent transparent;
  position: absolute;
  right: 0px;
  bottom: 0px;
  transition: 0.3s;
  transform: rotate(180deg);
}
.sbn .sect02 .gaps .ul33 small {
  display: block;
  font-weight: bold;
  margin-bottom: 1%;
}
.sbn .sect02 .gaps .ul33 {
  color: #000;
}
.sbn .sect02 .gaps .ul33 .box_in {
  text-align: center;
  margin: 3% 0;
}

.sbn .sect02 .gaps .ul33 li .box_in b {
  font-family: "Crimson Text", serif;
  font-size: 14vw;
  font-weight: bold;
  color: #0c3380;
  line-height: 1;
  display: inline-block;
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px #adadad;
  text-align: center;
  border-bottom: double;
}
.sbn .sect02 .gaps .ul33 li .box_in b em {
  font-size: 8vw;
  line-height: 1;
  display: inline-block;
}
.sbn .sect02 .gaps .ul33 li .box_in b span {
  font-size: 6vw;
  line-height: 1;
  display: inline-block;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(1) {
  background-image: url(../img/sbn_sect02_bk01.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(2) {
  background-image: url(../img/sbn_sect02_bk02.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(3) {
  background-image: url(../img/sbn_sect02_bk03.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(4) {
  background-image: url(../img/sbn_sect02_bk04.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(5) {
  background-image: url(../img/sbn_sect02_bk05.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}
.sbn .sect02 .gaps .ul33 li:nth-of-type(6) {
  background-image: url(../img/sbn_sect02_bk06.png);
  background-repeat: no-repeat;
  background-size: 200px;
  background-position: right bottom;
}

.sbn .maincont section.sect03 .gaps {
  padding: 10% 0 0;
}
.sbn .sect03 h2 {
  margin-bottom: 10%;
}
.sbn .sect03 .sbns_box3 {
}
.sbns_box3 {
}
.sbns_box3 > ul li {
}

.sbns_box3 ul li h3 {
  position: relative;
  color: #0c3380;
  font-size: 5vw;
  border-bottom: solid 2px #0c3380;
  padding-bottom: 3%;
  margin-bottom: 5%;
  padding-left: 40px;
  font-weight: bold;
}
.sbns_box3 ul li h3::before {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  padding: 0 0 20px;
  background: #0c3380;
  left: 10px;
  top: 9px;
}

.sbns_box3 .img_wrap {
  background: #fff;
  padding: 5%;
}
.sbns_box3 .img_wrap_l {
  float: left;
  width: 50%;
  margin-right: 5%;
}
.sbns_box3 .img_wrap_r {
  float: left;
  width: 45%;
  margin-top: 2%;
}

.sbns_box3 ul .img_wrap_r .img_wrap_r_list {
}
.sbns_box3 ul .img_wrap_r .img_wrap_r_list li {
  position: relative;
  color: #000;
  font-size: 3.7vw;
  padding-left: 19%;
  line-height: 1.3;
  margin-bottom: 7%;
}
.sbns_box3 ul .img_wrap_r .img_wrap_r_list li small {
  display: inline-block;
  line-height: 0;
}
.sbns_box3 ul .img_wrap_r .img_wrap_r_list li::before {
  content: "";
  display: inline-block;
  width: 14%;
  padding-bottom: 14%;
  position: absolute;
  top: 0px;
  left: 0;
}
.blue_s1::before {
  background-color: #72acd3;
}
.blue_s2::before {
  background-color: #4d8abc;
}
.blue_s3::before {
  background-color: #3769a5;
}
.blue_s4::before {
  background-color: #26569b;
}
.blue_s5::before {
  background-color: #92c4e0;
}
.blue_s6::before {
  background-color: #19468e;
}
/* ---------------------------------------------------------------------------
  ★働くスタッフ一覧
--------------------------------------------------------------------------- */
.staff {
}
.staff .sect01 {
}
.staff .sect01 .ul33 {
}
.staff .sect01 .ul33 li {
  background: #fff;
  border: solid 1px #c1c1c1;
  position: relative;
  overflow: hidden;
}
.staff .sect01 .ul33 li::before {
  content: "";
  background: url(../img/logoss_2_gry.png) no-repeat;
  background-position: center;
  background-size: 100%;
  display: block;
  width: 150px;
  padding-bottom: 160px;
  position: absolute;
  bottom: -40px;
  right: -40px;
  opacity: 0.5;
}
.staff .sect01 .ul33 li .img_wrap {
}
.staff .sect01 .ul33 li small {
  font-weight: bold;
}
.staff .sect01 .ul33 li h3 {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: 4vw;
}
.staff .sect01 .ul33 li p {
  margin: 0 0 6%;
  font-size: 3.6vw;
}
.staff .sect01 .ul33 li .btn_wrap {
}
.staff .sect01 .ul33 li .txt_box {
  padding: 5%;
}
.staff .sect01 .ul33 li .txt_box .vmbtn {
  padding: 3%;
  min-width: auto;
  font-size: 3.6vw;
  display: block;
  width: 96%;
  margin: 0 auto;
}

.staff .sect01 .ul33 li .txt_box .vmbtn::after {
  width: 7px;
  height: 7px;
  border-top: 1px solid #464646;
  border-right: 1px solid #464646;
  right: 8px;
}

/* ---------------------------------------------------------------------------
  ★働くスタッフ詳細
--------------------------------------------------------------------------- */
.staff_detail {
}
.staff_detail .sect01 {
  padding: 5% 0 10%;
}

/* textImgBox45
----------------------------------------------------------*/
/* textImgBox45
----------------------------------------------------------*/
.textImgBox45 {
  border: 1px solid #ccc;
  overflow: hidden;
  margin-bottom: 10%;
}
.textImgBox45 .photoL {
  width: 100%;
  /* float: left; */
}
.textImgBox45 .photoL img {
  width: 100%;
}
.textImgBox45 .box {
  padding: 5%;
  box-sizing: border-box;
  width: 100%;
  float: none;
  color: #000;
}
.textImgBox45 p.cate {
  margin: 3% 0;
  padding-bottom: 2%;
  border-bottom: 1px solid #ccc;
}
.textImgBox45 p.sub {
  padding-bottom: 5px;
  font-size: 14px;
}
.textImgBox45 .box p.title {
  font-size: 7vw;
}
.textImgBox45 .box p.title span {
  display: block;
  line-height: 170%;
  font-size: 16px;
}
.textImgBox45 .box p.catch {
}

/* textImgBox46
----------------------------------------------------------*/
.textImgBox46 {
}
.textImgBox46 p.title {
  margin-top: 5%;
  margin-bottom: 3%;
  padding: 5px 0 11px 60px;
  background: url(../img/icon02.png) no-repeat;
  background-size: 40px;
  overflow: hidden;
  font-size: 4vw;
  border-bottom: 1px solid #ccc;
}
.textImgBox46 p.title:first-child {
  margin-top: 0;
}
/* 左画像 */
.textImgBox46 .photoL {
  width: 100%;
  /* float: left; */
  padding: 0;
}
.textImgBox46 .photoL img {
  width: 100%;
}
/* 右画像 */
.textImgBox46 .photoR {
  width: 100%;
  /* float: right; */
  padding: 0;
}
.textImgBox46 .photoR img {
  width: 100%;
}
/* 横幅いっぱい画像 */
.textImgBox46 .photo {
  padding-bottom: 20px;
  width: 100%;
}
.textImgBox46 .photo img {
  width: 100%;
}
.textImgBox46 .box {
  width: 50%;
  float: right;
  color: #fff;
  margin-top: 50px;
}
/* textImgBox47
----------------------------------------------------------*/
.textImgBox47 {
  overflow: hidden;
}

.textImgBox47 .photo {
  /* float: left; */
  /* width: 48%; */
}

.textImgBox47 .photo img {
  width: 100%;
}

.textImgBox47 .box {
  /* float: right; */
  width: 100%;
}

.textImgBox47 dl {
  background: url(../img/line.png) repeat-y 20px 0;
}

.textImgBox47 dt {
  font-size: 5vw;
  padding: 5px 10px 15px 70px;
  background: url(../img/clock.png) no-repeat 1px;
  background-size: 40px;
}

.textImgBox47 p.time {
  border-bottom: 1px solid #4e4e4e;
}

.textImgBox47 dd {
  padding: 0px 10px 2% 70px;
}

.staff_detail .textImgBox45 {
}
.staff_detail .textImgBox45 .photoL {
}
.staff_detail .textImgBox45 .box p.title {
}

.staff_detail .textImgBox46 {
}
.staff_detail .textImgBox46 {
}

.holiday_area {
}
.holiday_area .ul25 {
  text-align: center;
}
.holiday_area .ul25 .img_wrap {
  margin-bottom: 5px;
}

.staff_tit {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 10%;
}
.staff_tit b {
  font-size: 7vw;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  display: block;
  margin-bottom: 0px;
}
.staff_tit span {
  font-size: 4vw;
  display: block;
  margin-bottom: 0px;
}

.staff_list_area {
}
.under_l .maincont section.staff_list_area .gaps {
  padding: 70px 0 40px;
}
.staff_list_area h2 {
}
.staff_list_area h2 b {
}
.staff_list_area h2 span {
}
.staff_list_area .ul33 {
}
.staff_list_area .ul33 li {
  background: #fff;
  transition: 0.3s;
}
.staff_list_area .ul33 li a {
  display: block;
}
.staff_list_area .ul33 li .img_wrap {
  float: left;
  width: 55%;
  overflow: hidden;
  transition: 0.3s;
}
.staff_list_area .ul33 li .txt_box {
  float: left;
  width: 45%;
  padding: 3% 0 2% 5%;
  transition: 0.3s;
}
.staff_list_area .ul33 li .txt_box small {
  border-bottom: solid 1px;
  display: inline-block;
  padding: 0 0 3px;
  margin-bottom: 4px;
}
.staff_list_area .ul33 li .txt_box h3 {
  font-size: 4vw;
  font-weight: bold;
  margin-bottom: 5%;
}
.staff_list_area .ul33 li .vmbtn {
  padding: 4px;
  min-width: auto;
  font-size: 1.4rem;
  padding: 0 7%;
}
.staff_list_area .ul33 li .vmbtn::after {
  display: none;
}

/* ---------------------------------------------------------------------------
    ★よくある質問
  --------------------------------------------------------------------------- */
.faq .sect01 {
  padding: 10% 0 0;
}
.faq .sect01 h2 {
  margin-bottom: 13%;
}
.faq .sect01 .box {
}

.faq_area .sToggle dl {
  padding: 10px;
  border-radius: 10px;
  border: solid 1px #0c3380;
  background: #fff;
  margin: 0 0 5%;
}

.faq_area .sToggle dl dt {
  padding: 5px 35px 5px 60px;
  font-size: 4vw;
  position: relative;
  font-weight: bold;
  color: #0c3380;
  cursor: pointer;
  pointer-events: auto;
  transition: 0.3s;
}

.faq_area .sToggle dl dd {
  padding: 5px 35px 5px 60px;
  display: none;
  position: relative;
}

.faq_area .sToggle dl dt::after {
  content: "";
  width: 13px;
  height: 13px;
  border-top: 2px solid #ff9595;
  border-right: 2px solid #de0101;
  position: absolute;
  top: 45%;
  right: 15px;
  margin: auto;
  transform: translateY(-50%) translateX(-50%) rotate(135deg);
  transition: 0.3s;
}

.faq_area .sToggle dl dt.togg::after {
  animation: sTog 0.7s;
  transform: translateY(-20%) translateX(-50%) rotate(315deg);
}

@-webkit-keyframes sTog {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
    transform: translateY(-50%) translateX(-50%) rotate(135deg);
  }
  25% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(70%) translateX(-50%) rotate(135deg);
    transform: translateY(70%) translateX(-50%) rotate(135deg);
  }
  50.1% {
    opacity: 0;
    -webkit-transform: translateY(70%) translateX(-50%) rotate(315deg);
    transform: translateY(70%) translateX(-50%) rotate(315deg);
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20%) translateX(-50%) rotate(315deg);
    transform: translateY(-20%) translateX(-50%) rotate(315deg);
  }
}

@keyframes sTog {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(135deg);
    transform: translateY(-50%) translateX(-50%) rotate(135deg);
  }
  25% {
    opacity: 0;
  }
  50% {
    opacity: 0;
    -webkit-transform: translateY(70%) translateX(-50%) rotate(135deg);
    transform: translateY(70%) translateX(-50%) rotate(135deg);
  }
  50.1% {
    opacity: 0;
    -webkit-transform: translateY(70%) translateX(-50%) rotate(315deg);
    transform: translateY(70%) translateX(-50%) rotate(315deg);
  }
  75% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20%) translateX(-50%) rotate(315deg);
    transform: translateY(-20%) translateX(-50%) rotate(315deg);
  }
}

.faq_area .sToggle dl dt:before {
  /* content: "Q.01"; */
  display: block;
  position: absolute;
  font-size: 2rem;
  font-weight: bold;
  color: #008f96;
  top: 47%;
  left: 29px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "Lora", serif;
}

.faq_area .sToggle dl dd:before {
  /* content: "A.01"; */
  display: block;
  position: absolute;
  font-size: 2rem;
  font-weight: bold;
  color: #da0000;
  top: 0;
  left: 29px;
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  font-family: "Lora", serif;
}

.faq_area .sToggle {
  counter-reset: numb2;
}

.faq_area .sToggle dl {
  counter-increment: numb2;
}

.faq_area .sToggle dl dt:before {
  content: "Q" counter(numb2);
}

.faq_area .sToggle dl dd:before {
  content: "A" counter(numb2);
}

/* ---------------------------------------------------------------------------
  ★お客様インタビュー
--------------------------------------------------------------------------- */

.interview {
}
.interview .sect01 {
}

.interview_box .ul33 {
}
.interview_box .ul33 li {
  background: #fff;
}
.interview_box .img_wrap {
  margin-bottom: 5px;
  position: relative;
  overflow: hidden;
  padding-bottom: 67.335%;
}
.interview_box .img_wrap img {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  width: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}
.interview_box .txt_box {
  margin-bottom: 5%;
  padding: 3%;
}
.interview_box .txt_box b {
  display: block;
  font-size: 4vw;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
.interview_box .txt_box em {
  display: block;
  font-size: 5vw;
  font-weight: bold;
  margin-bottom: 3%;
}
.interview_box .txt_box p {
  margin-bottom: 5%;
  font-size: 3vw;
}
.interview_box .txt_box .btn_wrap {
}
.syunbicyu {
  text-align: center;
  width: 100%;
  font-size: 4.2vw;
  font-weight: bold;
  font-family: "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic",
    sans-serif;
}

.details_interview {
}
.details_interview .sect01 {
}
.details_interview .sect01 .ul50 {
  border-bottom: solid 1px;
  border-top: solid 1px;
  padding-top: 5px;
  margin-bottom: 10%;
}
.details_interview .sect01 .ul50 .img_wrap {
}
.details_interview .sect01 .ul50 .txt_box {
}

.details_interview .deta_inte_box .img_wrap {
  padding: 3%;
  margin-bottom: 5%;
}
.details_interview .deta_inte_box .txt_box {
  margin-bottom: 5%;
  padding: 5%;
}
.details_interview .deta_inte_box .txt_box b {
  display: block;
  font-size: 4vw;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
}
.details_interview .deta_inte_box .txt_box em {
  display: block;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 5px;
}
.details_interview .deta_inte_box .txt_box p {
  margin-bottom: 15px;
}
.details_interview .deta_inte_box .txt_box .box {
  margin-top: 0;
}

.details_interview .deta_inte_box .deta_inte_dl_wrap {
  margin-bottom: 5px;
}
.deta_inte_dl {
  margin-bottom: 5px;
  padding: 20px;
}
.deta_inte_dl dd {
  border-bottom: solid 1px #eee;
  padding-bottom: 5px;
  margin-bottom: 15px;
  font-weight: bold;
}
.deta_inte_dl dd::before {
  display: inline-block;
  content: "Q";
  background: #eee;
  font-family: "Lora", serif;
  padding: 4px 11px;
  margin-right: 10px;
}
.deta_inte_dl dt {
}

.back_number_area {
  padding: 40px 0 0;
}

.interview_box li > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: inline-block;
  z-index: 1;
}

.interview_box li > a:hover ~ .txt_box .btn_wrap .vmbtn {
  background: #0c3380;
  color: #fff;
}

.interview_box li > a:hover ~ .txt_box .btn_wrap .vmbtn::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 5px;
}

.interview_box .ul33 li {
  padding: 1.5%;
}

.interview_box .img_wrap img {
  position: static;
}

.interview_box .img_wrap {
  padding-bottom: 3%;
}

.interview_box .txt_box {
  margin-bottom: 0;
  padding: 0;
}

.interview_box .txt_box em,
.interview_box .txt_box b,
.interview_box .txt_box p {
  line-height: 1.5;
}

.interview_box .txt_box b {
  display: block;
  font-size: 3.8vw;
  font-weight: bold;
  color: #0c3380;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic",
    "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.interview_box .txt_box em {
  display: block;
  font-size: 3.7vw;
  font-weight: bold;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic",
    "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.interview_box .txt_box p {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 4.4vw;
  font-family: "Noto Serif JP", serif;
}

.interview_box .vmbtn.litbtn {
  color: #0c3380;
  font-size: 1.4rem;
  padding: 5px 30px;
  min-width: auto;
  margin-bottom: 10px;
  width: 100%;
}

.com_name_area {
  padding-top: 8px;
  border-top: 1px solid #e6eaf1;
}

.interview_txt_area .box {
  border-bottom: solid 1px #0c3380;
  border-top: solid 1px #0c3380;
  max-width: 1000px;
  margin: 0 auto 20px;
  padding: 15px;
  position: relative;
}

.interview_txt_area .box::before {
  position: absolute;
  content: "";
  display: block;
  top: -6px;
  left: 10px;
  border-top: solid 1px #0c3380;
  width: 100%;
}

.interview_txt_area .box::after {
  position: absolute;
  content: "";
  display: block;
  bottom: -6px;
  left: -10px;
  border-top: solid 1px #0c3380;
  width: 100%;
}

.profileBox {
  padding: 3% 3.4%;
  background: #f0f5ff;
  margin-bottom: 6%;
}

.details_interview .deta_inte_box .txt_box b {
  font-size: 4vw;
  color: #0c3380;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic",
    "Meiryo UI", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.details_interview .deta_inte_box .txt_box em {
  font-size: 1.8rem;
  margin-bottom: 0;
}

.profileBox .ul4_6 > *:nth-child(odd) {
  width: 40%;
  padding-right: 4%;
}

.details_interview .deta_inte_box .txt_box .box {
  margin-top: 0;
}

.details_interview .deta_inte_box .txt_box {
  margin-bottom: 0px;
  padding: 0px;
  align-items: center;
}

.details_interview .deta_inte_box .txt_box p {
  margin-bottom: 0px;
}

.profileBox > div > div:nth-child(2) {
  padding-top: 2%;
  border-top: 2px solid #fff;
  margin-top: 2%;
}

.details_interview .deta_inte_box .box > p {
  font-family: "Noto Serif JP", serif;
}

.c_tit {
  font-size: 5vw;
  font-weight: bold;
  color: #0c3380;
  margin-bottom: 10px;
  font-family: "Noto Serif JP", serif;
  display: block;
  padding-bottom: 0px;
  margin-top: 0px;
}

.details_interview .ul50 {
  display: flex;
  justify-content: space-between;
}

.details_interview .ul50 > * {
  float: none;
}

.details_interview .sect01 .ul50 {
  border-bottom: none;
  border-top: none;
  padding-top: 0;
  margin-bottom: 0;
  flex-wrap: wrap;
}

.details_interview .sect01 .interview_txt_area > .ul50:nth-child(3n) {
  flex-direction: column-reverse;
}

.interview_txt_area {
  margin-top: 4%;
}

.interview_box .ul33 > li,
.interview_box .ul33 > a {
  width: 100%;
}
.interview_box .ul33 li {
  padding: 4.5% 4.5% 2%;
  margin-right: 0;
}
.details_interview .deta_inte_box .txt_box {
  flex-wrap: wrap;
}
.profileBox .ul4_6 > *:nth-child(odd),
.profileBox .ul4_6 > *:nth-child(even) {
  width: 100%;
  padding-right: 4%;
}

.interview_txt_area .f26 {
  font-size: 5.5vw !important;
  text-align: left !important;
}

/* ---------------------------------------------------------------------------
  ★エントリー
--------------------------------------------------------------------------- */
.entry {
}
.entry .sect01 {
  padding: 10% 0 0;
}

.entry .sect01 {
  padding: 10% 0 0;
}
.entry .sect01 .txtp {
  margin-bottom: 15%;
}

.entry .sect01 .box {
  margin-bottom: 5%;
}

.entry .contact_form table tbody tr td select {
  padding: 2px;
  font-size: 1.6rem;
  width: 400px;
  border: solid 1px #cacaca;
}

.entry .contact_form table.style02 tbody tr td input.files {
  border: none;
  font-size: 1.4rem;
  margin: 0 0px 15px 0;
}

/* ---------------------------------------------------------------------------
  ★お問い合わせ
--------------------------------------------------------------------------- */

/*contactform*/
.nini {
  padding: 3px 6px 2px 6px;
  background: #f5f5f5;
  border: 1px solid #cecece;
  border-radius: 4px;
  display: block;
  float: right;
  color: #222;
  font-weight: bold;
  font-size: 11px;
}

.hissu {
  padding: 3px 4px 2px 4px;
  background: #e60012;
  border: 1px solid #fff;
  border-radius: 4px;
  display: block;
  float: right;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
}

.contact_form table.style02 tbody tr th {
  vertical-align: top;
  padding: 3%;
  font-size: 16px;
  color: #000000;
  font-weight: bold;
  width: 100%;
  background: #def5ff;
}

.contact_form table.style02 {
  border: solid 1px #cecece;
}

.contact_form table.style02 tbody tr td {
  vertical-align: top;
  padding: 3%;
  background: #fff;
}

.contact_form table.style02 tbody tr td input {
  border: solid 1px #cacaca;
}

.contact_form table.style02 tbody tr td input.long {
  width: 70%;
}

.contact_form table tbody tr td input:focus {
  border: solid 2px #17b4eb;
  outline: none;
}

.contact_form table.style02 tbody tr td textarea {
  border: solid 1px #cacaca;
  max-width: 900px;
  width: 96%;
  min-height: 130px;
}

.contact_form table tbody tr td textarea:focus {
  border: solid 2px #17b4eb;
  outline: none;
}

.contact_form {
}

.checkbox-deko em {
  display: inline-block;
  margin-right: 10px;
}
/*
.radio-deko input{
  display: none;
}
.radio-deko label > span{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}

.radio-deko label > span::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
}
.radio-deko input:checked + span{
  color: #d01137;
}
.radio-deko input:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #d01137;
  border-radius: 50%;
}

.checkbox-deko input{
    display: none;
}
.checkbox-deko label > span{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
}
.checkbox-deko label > span::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
}
.checkbox-deko input:checked + span{
  color: #d01137;
}
.checkbox-deko input:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #d01137;
  border-right: 3px solid #d01137;
} */

.kojin_wrap {
  margin-bottom: 10%;
  border: solid 1px #cecece;
  padding: 5%;
  background: #fff;
}

.kojin_wrap > p {
  margin-bottom: 5%;
}

.kojin_checkwp {
}
.kojin_checkwp input {
}

.submit_wrap {
  text-align: center;
}

.submit_wrap input {
  background: #def5ff;
  border: solid 1px #cecece;
  font-size: 5vw;
  padding: 10px 0;
  width: 300px;
  cursor: pointer;
  transition: 0.3s;
}

/*contactform*/

.contact {
}
.contact .sect01 {
}
.contact .sect01 .ul50 {
  margin-bottom: 5%;
}
.contact .sect01 .txt_wrap h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 7vw;
  font-weight: bold;
  z-index: 1;
  position: relative;
  color: #0c3380;
  border-bottom: solid 1px;
  margin-bottom: 21px;
  padding-bottom: 5px;
}
.contact .sect01 .txt_wrap p {
  margin-bottom: 10%;
}
.contact .sect01 .txt_wrap .telbox {
  margin-left: 16%;
}
.contact .sect01 .txt_wrap .telbox .tel_txt {
  position: relative;
  font-size: 9vw;
  color: #6ea1da;
  text-shadow: 1px 1px 0px #3a8dcb, -1px 1px 0px #3a8dcb, 1px -1px 0px #3a8dcb,
    -1px -1px 0px #3a8dcb, 1px 0px 0px #3a8dcb, 0px 1px 0px #3a8dcb,
    -1px 0px 0px #3a8dcb, 0px -1px 0px #3a8dcb;
  font-family: "Noto Serif JP";
  display: block;
  letter-spacing: 1.5px;
  font-family: "メイリオ", Meiryo, "游ゴシック体", "YuGothic", "游ゴシック",
    "Yu Gothic", sans-serif;
  line-height: 1;
}
.contact .sect01 .txt_wrap .telbox .tel_txt:before {
  display: block;
  content: "";
  width: 22%;
  padding: 0 0 23%;
  background: url(../img/icon_phone.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  left: -22%;
  -webkit-transform: translateY(-50%) translateX(0%);
  transform: translateY(-50%) translateX(0%);
}
.contact .sect01 .txt_wrap .telbox span {
  margin-left: 10px;
}

.contact .contact_form table.style02 tbody tr th {
  background: #f7f7f7;
  background-image: url(../img/logo_to.png);
  background-repeat: no-repeat;
  background-size: 130px;
  background-position: right -114px bottom -86px;
}
.contact .submit_wrap input {
  background: #d4d4d4;
  background-image: url(../img/logo_to.png);
  background-repeat: no-repeat;
  background-size: 90px;
  background-position: right 8px bottom -24px;
  color: #000;
}

.contact .contact_form table.style02 tbody tr td input.files {
  border: none;
  font-size: 1.4rem;
  margin: 0 0px 15px 0;
}
/* ---------------------------------------------------------------------------
  個人情報保護方針
--------------------------------------------------------------------------- */
.privacy {
}

.privacy h2 b {
  color: #0c3380;
  border-bottom: solid 1px;
}
.privacy .inner_cont {
  background: #fff;
  padding: 5%;
}
.privacy .inner_cont > p {
  margin: 0 0 10%;
}

.privacy .vacy_box b {
  font-weight: bold;
  margin: 0 0 10px;
  display: block;
}

.privacy .vacy_box {
  margin: 0 0 10%;
}

.privacy .vacy_box p {
  margin: 0 0 5%;
}

/* ---------------------------------------------------------------------------
  ★QR
--------------------------------------------------------------------------- */
.line_wrap {
}
.line_wrap h3 {
  font-size: 4.7vw;
  margin-bottom: 5%;
  font-weight: bold;
}
.line_wrap h3 span {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
.line_wrap p {
  margin-bottom: 5%;
}
.line_wrap h4 {
  font-size: 4.5vw;
  margin-bottom: 3%;
  font-weight: bold;
}
.line_wrap .img_wrap {
  margin-bottom: 5%;
}

/* ---------------------------------------------------------------------------
  ★LINEBIG
--------------------------------------------------------------------------- */

.linkbig_wrap li {
}
.linkbig_wrap li:first-child {
}
.linkbig_wrap li:last-child {
  max-width: 220px;
  margin: 7% auto;
  width: 90%;
}
.linkbig_wrap li .txt_box {
}
.linkbig_wrap li .txt_box p {
  text-decoration: underline;
  margin: 0 0 3%;
}
.linkbig_wrap li .txt_box em {
  font-size: 4.5vw;
  background: linear-gradient(transparent 85%, #6ac8ff 36%);
  font-weight: bold;
}
.linkbig_wrap li .img_wrap {
}
.linkbig_wrap li .img_wrap img {
}

.linkbig_wrap_Wrap {
  max-width: 920px;
  margin: 0 auto;
  width: 92%;
}
.linkbig_wrap_Wrap .bor_bottm {
  font-size: 5vw;
  font-weight: bold;
  margin-bottom: 7%;
  padding-left: 10px;
}
.linkbig_wrap_Wrap .linkbig_wrap {
}
.linkbig_wrap_Wrap .linkbig_wrap li:first-child {
  margin: 0;
  box-sizing: border-box;
  padding: 3%;
}
.linkbig_wrap_Wrap .linkbig_wrap li:first-child .txt_box {
}
.linkbig_wrap_Wrap .linkbig_wrap li:first-child .txt_box p {
  text-decoration: underline;
  margin: 0 0 3%;
  padding-left: 0;
}
.linkbig_wrap_Wrap .linkbig_wrap li:first-child .txt_box em {
}
.linkbig_wrap_Wrap .linkbig_wrap li:last-child {
  max-width: 220px;
  margin: 7% auto;
  width: 90%;
}
.linkbig_wrap_Wrap .linkbig_wrap li:last-child .img_wrap {
}

/* ---------------------------------------------------------------------------
  ★エラー
--------------------------------------------------------------------------- */
#error {
  max-width: 600px;
  margin: 10% auto;
  width: 96%;
}

/* ---------------------------------------------------------------------------
  ★IE
--------------------------------------------------------------------------- */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  .entry .contact_form table.style02 tbody tr td input.files {
    /* IE11 にのみ適用される */
    max-width: 80%;
    width: 90%;
  }

  *::-ms-backdrop,
  .telephone .tel span a {
    color: #093fb6;
  }
}

/*追記20201121*/
.news_title_strong {
  color: red;
}

/*追記202010707*/
.h_iso_wp {
  position: absolute;
  max-width: 90px;
  bottom: 3%;
  z-index: 3;
  right: 3%;
}
.iso_wp {
  display: inline-block;
  max-width: 139px;
  margin-left: 3%;
}

.seicyou_box2 {
  margin-top: 20%;
}
.seicyou_box2 .txt_box {
  position: relative;
  width: 100%;
}
.seicyou_box2 .img_wrap {
  width: 73%;
  margin-top: 0%;
}

b.big_iso {
  font-size: 4.8vw;
  font-weight: bold;
  color: #113476;
}
/*追記20211208*/
.atoub_table td .blue_links {
  color: #2ab0ff;
}
/*追記20220902*/

.table0x1 table.style01 .intr_d.retu2x {
}
.table0x1 table.style01 .intr_d.retu2x .box p b {
  padding: 12% 0;
}
.table0x1 table.style01 .intr_d.retu2x .box p em {
  padding: 12% 0;
}
.table0x1 table.style01 .intr_d.retu2x span > b {
  padding: 1% 0;
}

/*追記20230110*/
#pt_bc01_dr_p001 {
  top: 88%;
  left: 53%;
}
#pt_bc01_sha_p004 {
  top: 88%;
  left: 32%;
}
#pt_bc01_sha_p003 {
  top: 87%;
  left: 79%;
}
#pt_bc01_doga_p004 {
  top: 77%;
  left: 31%;
}
#pt_bc01_ins360_p001 {
  top: 77%;
  left: 50%;
}
#pt_bc01_ins360_p003 {
  top: 72%;
  left: 12%;
}
#pt_bc01_doga_p005 {
  top: 71%;
  left: 70%;
}
#pt_bc01_sha_p001 {
  top: 68%;
  left: 25%;
}
#pt_bc01_doga_p003 {
  top: 61%;
  left: 45%;
}
#pt_bc01_sha_p002 {
  top: 59%;
  left: 32%;
}
#pt_bc01_ins360_p002 {
  top: 48%;
  left: 44%;
}
#pt_bc01_doga_p002 {
  top: 46%;
  left: 32%;
}
#pt_bc01_doga_p001 {
  top: 45%;
  left: 52%;
}
a#pt_bc01_ins360_p004 {
  top: 13%;
  left: 42%;
}
#pt_bc02_dr_p002 {
  top: 93%;
  left: 53%;
}
#pt_bc02_sha_p003 {
  top: 88%;
  left: 83%;
}
#pt_bc02_ins360_p002 {
  top: 85%;
  left: 8%;
}
#pt_bc02_dr_p001 {
  top: 78%;
  left: 50%;
}
#pt_bc02_sha_p001 {
  top: 76%;
  left: 74%;
}
#pt_bc02_sha_p002 {
  top: 73%;
  left: 31%;
}
#pt_bc02_ins360_p001 {
  top: 65%;
  left: 50%;
}
#pt_bc02_doga_p002 {
  top: 62%;
  left: 26%;
}
#pt_bc02_doga_p003 {
  top: 54%;
  left: 49%;
}
#pt_bc02_doga_p001 {
  top: 51%;
  left: 75%;
}
#pt_bc02_doga_p04 {
  top: 46%;
  left: 55%;
}
#pt_bc02_doga_p05 {
  top: 31%;
  left: 24%;
}
a#pt_bc02_doga_p06 {
  top: 10%;
  left: 24%;
}
a#pt_bc02_doga_p07 {
  top: 10%;
  left: 64%;
}
#pt_bc02_ins360_p03 {
  top: 10%;
  left: 44%;
}
a#pt_bc02_ins360_p04 {
  top: 37%;
  left: 44%;
}
#pt_bc03_ins360_p003 {
  top: 85%;
  left: 33%;
}
#pt_bc03_ins360_p006 {
  top: 85%;
  left: 17%;
}
#pt_bc03_ins360_p007 {
  top: 38%;
  left: 58%;
}
#pt_bc03_ins360_p002 {
  top: 87%;
  left: 68%;
}
#pt_bc03_ins360_p004 {
  top: 67%;
  left: 68%;
}
#pt_bc03_ins360_p001 {
  top: 66%;
  left: 25%;
}
#pt_bc03_ins360_p005 {
  top: 48%;
  left: 60%;
}
ul.ul33.cf.flex_wrap.ul_test > li {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
}

.staff .sect01 .ul33 li .txt_box .vmbtn.num {
  min-width: 45px !important;
  width: 0;
  display: inline-block;
}
.vmbtn.num::after {
  display: none !important;
}
