@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap");
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #262626;
    font-size: 16px;
    line-height: 1.4;
}
body {
    width: 100%;	
    font-size: 1rem;	
   	margin: 0;
	padding: 0;
   	font-family: 'Noto Sans JP',"Meiryo","メイリオ","ＭＳ Ｐゴシック",sans-serif;
}

figure img {
    max-width: 100%;
    height: auto;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}
h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
    margin: 0;
    padding: 0;
    border: none;
    line-height: 100%;
    font-style: normal;
    font-size: 100%;
    text-align: left;
    list-style-type: none;
    border-collapse: collapse;
    vertical-align: top;
}

/* ==========================================================================
   Commons styles
   ========================================================================== */
a {
  text-decoration: none;
}
a:focus,
*:focus {
  outline: none;
}
img {
  border: 0px;
}
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
ul,
li,
dl {
  margin: 0;
  padding: 0;
  list-style: none;
}
.b {
  font-weight: bold;
}
.fw_n {
  font-weight: normal;
}
.tx_und {
  text-decoration: underline;
}
.tx_cent {
  text-align: center;
}
.tx_right {
  text-align: right;
}
.tx_left {
  text-align: left;
}
.disp_blk {
  display: block;
}
.marker_tp_1 {
  background: rgba(0, 0, 0, 0)
    linear-gradient(transparent 75%, rgba(255, 255, 255, 0.75) 0%) repeat scroll
    0 0;
}
.fc_red {
  color: #f81111;
}
.fc_pink {
  color: #ff4580;
}
.fc_ora {
  color: #fbb731;
}
.fc_sky_blue {
  color: #64c6fe;
}
.fc_blue {
  color: #165fab;
}
.fc_wht {
  color: #fff;
}
.fs_50 {
  font-size: 50px;
}
.fs_48 {
  font-size: 48px;
}
.fs_46 {
  font-size: 46px;
}
.fs_41 {
  font-size: 41px;
}
.fs_40 {
  font-size: 40px;
}
.fs_38 {
  font-size: 38px;
}
.fs_37 {
  font-size: 37px;
}
.fs_36 {
  font-size: 36px;
}
.fs_33 {
  font-size: 33px;
}
.fs_31 {
  font-size: 31px;
}
.fs_30 {
  font-size: 30px !important;
}
.fs_28 {
  font-size: 28px;
}
.fs_26 {
  font-size: 26px;
}
.fs_24 {
  font-size: 24px;
}
.fs_20 {
  font-size: 20px !important;
}
.fs_22 {
  font-size: 22px !important;
}
.fs_18 {
  font-size: 18px;
}
.fs_15 {
  font-size: 15px;
}
.fs_16 {
  font-size: 16px;
}
.fs_14 {
  font-size: 14px;
}
.fs_13 {
  font-size: 13px;
}
.fs_12 {
  font-size: 12px;
}
.lh_28 {
  line-height: 28px;
}
.bx_sdw_1 {
  box-shadow: 1px 1px 3px 1px #f2f2f2;
}
.flex_wrapper {
  　　display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.flex-wrap_par {
  flex-wrap: wrap;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.hover:hover {
  opacity: 1;
  -webkit-animation: flash 1s;
  animation: flash 1.5s;
  transition-property: all;
  transition: 0.15s linear;
}
@-webkit-keyframes flash {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
@keyframes flash {
  0% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.hover_0 {
  transition-property: all;
  transition: 0.15s linear;
}
.hover_0:hover {
  opacity: 0.5;
}
.pc {
  display: block;
}
.sp {
  display: none !important;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.max_img {
  max-width: 100%;
  height: auto;
  display: block;
}
.img_w100 {
  width: 100%;
  height: auto;
}
img.centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
img.alignright {
  padding: 4px;
  margin: 0 0 2px 10px;
  display: inline;
}
img.alignleft {
  padding: 4px;
  margin: 0 10px 2px 0;
  display: inline;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}
.clear {
  clear: both;
}
.fs_21 {
  font-size: 21px;
}
.fs_24 {
  font-size: 24px;
}
.ff_tsuku {
  font-family: 'Zen Maru Gothic', sans-serif;
}
/*-------------------------------------
ラッパー
--------------------------------------*/
.wrap_675 {
  width: 675px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_793 {
  width: 793px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_800 {
  width: 800px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_865 {
  width: 865px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_900 {
  width: 900px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_970 {
  width: 970px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_1000 {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_1040 {
  width: 1040px;
  height: auto;
  margin: 0 auto;
  position: relative;
}
.wrap_1200 {
  width: 1200px;
  height: auto;
  margin: 0 auto;
  position: relative;
}

/*-------------------------------------
背景色
--------------------------------------*/
.bg_type_1 {
  background-color: #165fab;
}
.bg_type_2 {
  background-color: #f03d61;
}
.bg_type_glad {
  background-image: url("../img/dot_bg.png");
  background: #00beff; /* Old browsers */
  background: -moz-linear-gradient(
    left,
    #00beff 0%,
    #0098ec 35%,
    #207cca 55%,
    #0062c4 75%,
    #004bb1 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    left,
    #00beff 0%,
    #0098ec 35%,
    #207cca 55%,
    #0062c4 75%,
    #004bb1 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to right,
    #00beff 0%,
    #0098ec 35%,
    #207cca 55%,
    #0062c4 75%,
    #004bb1 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00beff', endColorstr='#004bb1',GradientType=1 ); /* IE6-9 */
}
.bg_type_glad .inn {
  width: 100%;
  height: 100%;
  background: url("../img/dot_bg.png");
}
.bg_type_3 {
  background-color: #e9f3ff;
}
.bg_type_33 {
  background-color: #ffffff;
}
.bg_type_dot_only {
  background-image: url("../img/dot_bg_only.png");
}

/*-------------------------------------
見出し
--------------------------------------*/
.h_type_1 {
  position: relative;
  padding-bottom: 16px;
  margin-bottom: 70px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 30px;
  font-weight: bold;
  color: #165fac;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 40px;
}
.h_type_1::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 104px;
  height: 6px;
  margin: auto;
  background-color: #165fab;
  border-radius: 3px;
}
.h_type_1.wht {
  color: #fff;
}
.h_type_1.wht::after {
  background-color: #fff;
}
.h_type_2 {
  padding-left: 14px;
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 34px;
  border-left: 4px solid #165fab;
}

/*-------------------------------------
テキストシャドウ
--------------------------------------*/
.tx_sdw {
}
/*-------------------------------------
ボックスシャドウ
--------------------------------------*/
.bx_sdw {
}
/*-------------------------------------
ボタン
--------------------------------------*/
.btn {
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  border-radius: 38px;
  box-shadow: 2px 5px 6px 0px #dadada;
  margin: 0 auto;
}
input[type="submit"] {
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.05em;
}
.btn a,.btn button {
  width: 100%;
  height: 100%;
  color: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.05em;
}
.btn a img,
.btn button img,
input[type="submit"] {
  margin-right: 10px;
}
.btn.arrw a,
.btn.arrw button,
input[type="submit"] {
  background: url("../img/right-arrow.png") 96.5% center no-repeat !important;
}
.btn.arrw_s a {
  background: url("../img/right-arrow_s.png") 96.5% center no-repeat;
}

/*-------------------------------------
anime
--------------------------------------*/
.swing {
  animation-name: anime;
  animation-duration: 2s;
  animation-iteration-count: infinite;

  display: inline-block;
  transform: translateY(-10px);
  color: red;
}

@keyframes anime {
  from {
    transform: translateY(-10px);
  }

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

  to {
    transform: translateY(-10px);
  }
}

.up_fade {
  position: relative;
  top: 100px;
  opacity: 0;
}
.stagger div {
  position: relative;
  top: 100px;
  opacity: 0;
}
/*-------------------------------------
ボックス
--------------------------------------*/
.vx_type_1 {
  justify-content: space-between;
}
.vx_type_1 .vx {
  width: 49%;
  margin-top: 1.5%;
  padding: 6px;
  border-radius: 5px;
  background-color: #fff;
}
.vx_type_1 .vx .inn {
  padding: 20px 12px;
  border: 2px solid #4e7fc0;
  border-radius: 5px;
  font-size: 17px;
  letter-spacing: 0.02em;
  line-height: 30px;
  display: flex;
  align-items: center;
}
.vx_type_1 .vx .inn img {
  padding-right: 6px;
}
.vx_type_2 {
  border-radius: 10px;
  background: #fff;
}

/*-------------------------------------
余白
--------------------------------------*/
.sec_pad_1 {
  padding: 100px 0;
}
.sec_pad_1_b {
  padding-bottom: 100px;
}
.sec_pad_1_t {
  padding-top: 100px;
}
.pl_40 {
  padding-left: 40px;
}
.mt_10 {
  margin-top: 10px;
}
.mt_20 {
  margin-top: 20px;
}
.mt_30 {
  margin-top: 30px;
}
.mt_40 {
  margin-top: 40px;
}
.mt_42 {
  margin-top: 42px;
}
.mt_10 {
  margin-top: 10px;
}
.ml_40 {
  margin-left: 40px;
}
.mr_40 {
  margin-right: 40px !important;
}
.mr_30 {
  margin-right: 30px !important;
}
.mr_30 {
  margin-right: 30px !important;
}
.mb_10 {
  margin-bottom: 10px;
}
.mb_50 {
  margin-bottom: 50px;
}
figure {
  margin: 0;
  padding: 0;
}
/********************************/
form_parts
/********************************/
.form input[type="text"],
.form input[type="email"],
.form input[type="tel"],
.form input[type="url"],
.form input[type="button"],
input[type="submit"],
.form button, 
.form textarea, 
.form select {
  margin: 0;
  padding: 0;
  background: none;
  border: none !important;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  max-width: 100%;
}
.form input[type="text"],
.form input[type="email"],
.form input[type="url"],
.form input[type="tel"],
.form textarea {
  width: 100%;
  border-radius: 8px;
  border: none;
  background-color: #fff;
  padding: 12px 6px;
  transition-property: all;
  transition: 0.1s linear;
}
.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="tel"]:focus,
.form input[type="url"]:focus,
.form textarea:focus {
  background-color: #f6e5e5;
}
.form textarea {
  height: 180px;
}
input[type="submit"] {
  font-family: 'Zen Maru Gothic', sans-serif;
  cursor: pointer;
}
input[type="checkbox"] {
  margin: 0 6px 6px 0;
}
/*-------------------------------------
other
--------------------------------------*/
.cls_bg {
  position: relative;
  z-index: 10;
}
.cls_bg::before {
  content: "";
  position: absolute;
  top: -198px;
  right: 0;
  width: 198px;
  height: 396px;
  margin: auto;
  background-image: url("../img/cls_bg_r.png");
}
.ff_yugo {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",
    sans-serif;
  font-weight: 500;
}
@font-face {
  font-family: "op_san_b";
  src: url("../font/OpenSans-Bold.woff2") format("woff2"),
    url("../font/OpenSans-Bold.woff") format("woff"),
    url("../font/OpenSans-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "op_san_r";
  src: url("../font/OpenSans-Regular.woff2") format("woff2"),
    url("../font/OpenSans-Regular.woff") format("woff"),
    url("../font/OpenSans-Regular.ttf") format("truetype");
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
header.general {
  width: 100%;
  height: 93px;
  padding: 0 20px;
  position: relative;
  /*position: fixed;
	top: 0;
	left: 0;*/
  z-index: 10;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0px 10px 10px -5px rgba(218, 218, 218, 0.75);
}
header.general .info {
}
header.general .info .btn {
  width: 242px;
  height: 52px;
  margin-right: 83px;
  font-size: 20px;
  border-radius: 26px;
}
.switchWrap {
  width: 93px;
  height: 93px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  bottom: auto;
  left: auto;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.9);
}

@media screen and (min-width: 767px) {
  .switchWrap:hover,
  .slide_nv .inn ul li a:hover {
    background: rgba(135, 224, 253, 0.9);
  }
}
.swich_inner {
  position: relative;
  width: 59px;
  height: 100%;
}
.switch__line {
  display: block;
  width: 100%;
  height: 5px;
  position: absolute;
  top: auto;
  right: 0;
  bottom: auto;
  background: #165fab;
  margin: auto;
  transition: all 150ms 0s;
}
.swich_inner .switch__line:nth-child(1) {
  top: 45%;
}
.swich_inner .switch__line:nth-child(2) {
  width: 50%;
  top: 60%;
  left: unset;
}
.swich_inner.hov .switch__line:nth-child(1),
.swich_inner.hov .switch__line:nth-child(2) {
  top: 50%;
}
.active .switch__line:nth-child(1),
.active .switch__line:nth-child(2) {
  width: 100%;
  top: 50%;
}
.active .switch__line:nth-child(1) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.active .switch__line:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.slide_nv {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0);
  transition-duration: 800ms;
  z-index: 0;
}
.slide_nv.open {
  z-index: 300;
  background-color: rgba(255, 255, 255, 0.7);
}
.slide_nv .inn {
  position: fixed;
  top: 0;
  right: -700px;
  width: 700px;
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-top: 93px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: bold;
  background-color: rgba(22, 95, 171, 0.9);
  transition: all 300ms 0s;
}
.slide_nv.open .inn {
  right: 0;
}
.slide_nv .inn h2 {
  margin: 20px auto;
  padding: 4px 0;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.025em;
  color: #165fab;
  background-color: rgba(255, 255, 255, 0.9);
}
.slide_nv .inn ul {
  width: 100%;
}
.slide_nv .inn ul li a {
  display: block;
  padding: 18px 0;
  letter-spacing: 0.025em;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
@media all and (-ms-high-contrast: none) {
  .slide_nv .inn h2 {
    padding: 20px 0 0;
  }
  .slide_nv .inn ul li a {
    padding: 18px 0 10px;
  }
  .marker_tp_1 {
    background-position: center -20px;
  }
  .about_us .vxz .left figure {
    margin-left: -22px;
  }
}

main,
footer,
.svcnt {
  position: relative;
  z-index: 1;
}
.fv .inn {
  width: 100%;
  height: 100%;
  padding-bottom: 200px;
  background-image: /*url("../img/fv_bg_wave.png"),*/ url("../img/fv_bg_cls_l.png"),
    url("../img/fv_bg_cls_r.png"), url("../img/dot_bg.png");
  background-position: /*bottom center,*/ left 80%, right center, center;
  background-repeat: /*no-repeat,*/ no-repeat, no-repeat, repeat;
  background-size: 10%, 12%, auto;
}
.fv h2 {
  padding-top: 46px;
  margin-bottom: 26px;
  font-size: 38px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 48px;
  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff,
    2px -2px 0 #fff, 0px 2px 0 #fff, 0-2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}
.fv h2 span {
  padding: 0 0 0 20px;
}
.fv figure {
  padding: 0 40px 0 0;
}
#canvas-container {
  margin-top: -200px;
  width: 100%;
  background-color: transparent;
}
#canvas-container canvas {
}
.about_us {
  padding: 0 0 88px;
}
.about_us span {
  display: block;
  margin: 30px auto;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 28px;
}
.about_us .vxz {
  width: 704px;
  margin: 0 auto;
  align-items: center;
}
.about_us .vxz,
.about_us .vxz .left figure {
  justify-content: center;
}
.about_us .left {
  width: 450px;
  margin-left: -120px;
}
.about_us .vxz .left figure {
  margin-top: -30px;
}
.about_us .right {
  width: calc(100% - 450px);
}
.use h2 {
  margin-bottom: calc(70px - 1.5%);
}
.svcv .vxz {
  justify-content: center;
}
.svcv .vxz figure {
  margin: 0 15px;
}
.svcv .btn,
.news .btn,
.go_req .btn,
.btn.big {
  width: 600px;
  height: 84px;
}
.chara .vxz {
  height: 480px;
  box-shadow: 0px 16px 16px -16px rgba(13, 50, 88, 0.45);
}
.chara .vxz .vx {
  width: calc(33.333333% - 1px);
  height: 100%;
  margin: 0 auto;
  padding: 55px 44px;
  background-color: #fff;
}
.chara .vxz .vx h3 {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.03em;
  line-height: 33px;
}
.chara .vxz .vx figure {
  margin: 25px auto 20px;
}
.chara .vxz .vx div {
  line-height: 26px;
}
.chara .vxz .vx div span {
  display: block;
  margin-bottom: 4px;
}
.chara .vxz .vx div dl {
  margin-bottom: 6px;
}
.chara .vxz .vx div dl dt,
.chara .vxz .vx div dl dd {
  line-height: 22px;
}
.chara .vxz .vx:last-child div {
  text-align: center !important;
}
.sup_res .vx_type_1 {
  margin-bottom: 50px;
}
.sup_res .vx_type_1 .inn {
  display: block;
}
.sup_res .vx_type_1 .vx {
  width: 48%;
  margin-top: 0;
}
.sup_res .vx_type_1 .vx h3 {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 30px;
}
.sup_res .vx_type_1 .vx .in_vxz {
  margin: 10px auto;
  justify-content: space-between;
  flex-wrap: wrap;
  justify-content: center;
}
.sup_res .vx_type_1 .vx .in_vxz .in_vx {
  width: 48%;
  height: 111px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  margin: 0 1% 8px;
}
.sup_res .vx_type_1 .vx .in_vxz .in_vx h4 {
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 30px;
}
.sup_res .vx_type_1 .vx .in_vxz .in_vx span {
  font-size: 60px;
  letter-spacing: 0em;
}
.sup_res .vx_type_1 .vx p {
  line-height: 26px;
}
.sup_res .vx_type_1 .vx.doct .in_vxz .in_vx {
  margin: 0 1% 8px;
}
.sup_res .vx_type_1 .vx.doct .in_vxz .in_vx aside {
  width: 100%;
  margin-bottom: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 30px;
  border-radius: 5px 5px 0 0;
}
.sup_res .msg {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.04em;
  line-height: 36px;
}
.svcnt .vxz {
  justify-content: center;
  align-items: center;
}
.svcnt .vxz .vx {
  margin: 0 20px;
}
.svcnt .vxz .vx.btn {
  width: 382px;
  height: 80px;
}
.svcnt .tel {
  margin: 32px auto 20px;
  justify-content: center;
  align-items: center;
  font-size: 47px;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 33px;
}
.svcnt .tel img {
  padding-right: 4px;
}
.svcnt .tel a {
  color: inherit;
}
.faq .vxz {
  padding: 0 30px;
  margin-bottom: 12px;
  background-color: #ffffff;
}
.faq .vxz:last-child {
  margin-bottom: 0;
}
.faq .vxz dt {
  padding: 24px 0;
}
.faq .vxz dt {
  width: 90px;
}
.faq .vxz dd {
  width: calc(100% - 90px);
  padding: 24px 12px;
  display: flex;
  align-items: center;
  line-height: 26px;
  letter-spacing: 0.02em;
}
.faq .vxz dd.que {
  font-size: 18px;
  font-weight: bold;
  line-height: 28px;
}
.faq .vxz .bod {
  border-bottom: 1px solid #165fab;
}
.news .nws_wrap {
  padding-top: 30px;
  border-top: 1px solid #165fab;
}
.news .vxz {
  padding: 0 16px 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #165fab;
}

.news .vxz dt span,
.news .vxz dd {
  display: block;
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 24px;
}
.news .vxz dt span.cat {
  margin-left: 12px;
}
.news .vxz dt span.cat a {
  padding: 4px 10px;
  line-height: 1;
  border: 1px solid #165fab;
  border-radius: 19px;
}
.news .vxz dd {
  padding: 15px 0;
  width: 100%;
}
.news .vxz dd a {
  color: inherit;
}
.news .vxz dd a:hover {
  text-decoration: underline;
}
.go_req {
  background-image: url("../img/go_req_l.png"), url("../img/go_req_r.png");
  background-position: left top, right bottom;
  background-repeat: no-repeat;
}
.go_req .msg {
  display: block;
  margin-bottom: 75px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 36px;
}
.home .cls_bg:last-of-type::before {
  display: none;
}
/* footer {
  padding: 70px 0;
  justify-content: center;
}
footer span {
  display: block;
  margin-top: 26px;
  line-height: 26px;
}
footer nav {
  margin-left: 100px;
}
footer nav ul li a {
  margin-bottom: 7px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.025em;
  line-height: 26px;
  color: inherit;
}
footer nav ul li a:hover {
  text-decoration: underline;
}
footer nav ul li:last-child a {
  margin-bottom: 0;
}
footer nav ul:last-child {
  margin-left: 30px;
} */
.under .fv .inn {
  padding-bottom: 0;
}
.under .fv .und_tit {
  height: 100%;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  color: #fff;
  text-align: left;
}
.under .fv .und_tit h2 {
  padding-top: 100px;
  margin-bottom: 16px;
  font-family: "op_san_r";
  font-size: 38px;
  font-weight: normal;
  line-height: 42px;
  letter-spacing: 0.02em;
  text-shadow: unset;
  text-align: left;
}
.under .fv .und_tit h2 + span {
  display: block;
  font-size: 22px;
  letter-spacing: 0.055em;
}
.under #canvas-container {
  margin-top: -40px;
}
.about_sv h2 {
  margin-bottom: 30px;
}
.about_sv span.msg {
  display: block;
  margin: 30px auto;
  text-align: center;
  letter-spacing: 0.025em;
  line-height: 26px;
}
.main_job .vxz {
  justify-content: space-between;
}
.main_job .vxz .vx {
  width: 31.3333333%;
}
.main_job .vxz .vx h3 {
  font-size: 33px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.025em;
  line-height: 33px;
}
.main_job .vxz .vx .in_in {
  margin-top: 12px;
  padding: 30px 22px;
  border-radius: 10px;
  line-height: 26px;
}
.rev {
  flex-direction: row-reverse;
}
.under .chara .btn {
  margin-top: 66px;
}
.under .chara .btn img {
  margin-right: 20px;
}
.merit .vxz {
  margin-bottom: 58px;
  justify-content: center;
}
.merit .vxz:last-of-type {
  margin-bottom: 0;
}
.merit .vxz .vx {
  margin: 0 15px;
}
.merit .vxz .px img {
  border-radius: 30px;
}
.merit .vxz .tx .chk_line {
  padding-top: 10px;
}
.about_msg .vxz {
  justify-content: space-between;
}
.about_msg .vxz .px {
  width: 30%;
}
.about_msg .vxz .px img {
  width: 100%;
}
.about_msg .vxz .tx {
  width: 78%;
  margin: 50px 0 0 -8%;
  padding: 30px;
  border-radius: 30px 0 0 30px;
  background-color: #fff;
  letter-spacing: 0.02em;
  line-height: 26px;
}
.about_msg .vxz .tx h3,
.phy .vx h3 {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 30px;
}
.about_msg .vxz .tx a {
  color: inherit;
}
.phy .vx {
  margin-bottom: 70px;
  padding: 26px 20px;
  border-radius: 30px;
  position: relative;
}
.phy .vx .phy_bg {
  position: absolute;
  top: -40px;
  right: 10px;
}
.phy .vx img:first-of-type {
  position: absolute;
  top: -40px;
  right: 10px;
}

.phy .vx:last-of-type {
  margin-bottom: 0;
}
.phy .vx h3 {
  margin-bottom: 26px;
  text-align: center;
}
.phy .vx h3 + span {
  letter-spacing: 0.02em;
  line-height: 26px;
}
.base_info .vx_type_2 {
  padding: 26px 0;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.02em;
  line-height: 30px;
}
.rec_arc_vx {
  padding-top: 50px;
}
.rec_arc_vx .vxz {
  margin-bottom: 50px;
  padding: 16px;
}
.rec_arc_vx .vxz:last-of-type {
  margin-bottom: 0;
}
.rec_arc_vx .vxz .px {
  width: 304px;
}
.rec_arc_vx .vxz .px img {
  width: 304px;
  height: 269px;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover;";
  border-radius: 10px;
}
.rec_arc_vx .vxz .tx {
  width: calc(100% - 304px);
  padding: 0 10px 0 26px;
}
.rec_arc_vx .vxz .tx h3 {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 30px;
}
.rec_arc_vx .vxz .tx h3 a {
  color: inherit;
}
.rec_arc_vx .vxz .tx dl {
  align-items: flex-start;
}
.rec_arc_vx .vxz .tx dl dt,
.rec_arc_vx .vxz .tx dl dd {
  margin-top: 10px;
  padding: 4px;
  letter-spacing: 0.05em;
  line-height: 26px;
}
.rec_arc_vx .vxz .tx dl dt {
  width: 80px;
  border-radius: 5px;
  font-weight: 450;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
}
.rec_arc_vx .vxz .tx dl dd {
  width: calc(100% - 80px);
  padding-left: 12px;
}
.rec_arc_vx .vxz .tx .btn {
  width: 306px;
  height: 43px;
  margin-top: 14px;
  float: right;
  font-size: 18px;
  font-weight: normal;
}
.rec_arc_vx .vxz .tx .btn a {
  letter-spacing: 0.07em;
}
.rec_main h2 + div span {
  padding-right: 12px;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 22px;
}
.rec_main h3 {
  margin: 6px auto 30px;
  padding: 14px 4px;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 34px;
  border-top: 1px solid #165fab;
  border-bottom: 1px solid #165fab;
}
.rec_main .stg {
  padding: 20px;
}
.rec_main .stg .eye_c img {
  border-radius: 10px;
}
.rec_main .stg p {
  margin: 22px auto 40px;
  letter-spacing: 0.02em;
  line-height: 26px;
}
.rec_main .stg .tagz {
  margin: 0 auto;
}
.rec_main .stg .tagz span {
  margin-right: 12px;
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 14px;
  text-align: center;
  color: #fff;
  margin-bottom: 4px;
}
.rec_main .stg .tagz span:last-child {
  margin-right: 0;
}
.rec_main .stg h4 {
  margin: 40px 0 0;
}
.rec_main .stg .rec_tbl {
}
.rec_main .stg .rec_tbl .vx {
  margin-top: 30px;
  padding: 12px;
  letter-spacing: 0.02em;
  line-height: 26px;
  border-bottom: 1px solid #e5eef8;
}
.rec_main .stg .rec_tbl .th {
  width: 230px;
}
.rec_main .stg .rec_tbl .td {
  width: calc(100% - 230px);
  border-bottom: 1px solid #a6bfe1;
}
.rec_main .btn,
.contact_vxz .btn {
  width: 436px;
  height: 60px;
  margin-top: 30px;
}
.contact_vxz .vx_type_2 {
  margin-bottom: 70px;
}
.contact_vxz .form .vx {
  padding-bottom: 18px;
  margin-bottom: 18px;
  letter-spacing: 0.05em;
  line-height: 30px;
  border-bottom: 1px solid #a6bfe1;
}
.contact_vxz .form .th {
  width: 224px;
  padding-left: 48px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.contact_vxz .form .th.ireg {
  line-height: 22px;
}
.contact_vxz .form .th span {
  color: #f51d50;
}
.contact_vxz .form .td {
  width: calc(100% - 224px);
}
.contact_vxz .form .last_ans {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 33px auto;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 26px;
}
.contact_vxz .form .last_ans a {
  color: inherit;
  border-bottom: 1px solid #f03d61;
}
.info_arc .vxz {
}
.info_arc .vxz .vx {
  width: calc(33.33333% - 46px);
  margin: 0 23px 40px;
  padding-bottom: 10px;
  overflow: hidden;
}
.info_arc .vxz .vx figure:hover p,
.info_arc .vxz .vx p:hover,
.info_arc .vxz .vx .info span:last-of-type:hover {
  text-decoration: underline;
}
.info_arc .vxz .vx figure img {
  width: 100%;
  height: 227px;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover;";
}
.info_arc .vxz .vx .tx {
  padding: 0 12px;
}
.info_arc .vxz .vx .tx p {
  margin: 12px auto;
  font-size: 15px;
  letter-spacing: 0.02em;
  line-height: 22px;
}
.info_arc.tips_arc .vxz .vx .tx p {
  font-weight: bold;
}
.info_arc .vxz .vx .tx .info span {
  margin-right: 20px;
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 22px;
  color: #5c5c5c;
}
.info_arc.tips_arc .vxz .vx .tx .info span {
  font-size: 12px;
}
.info_arc .vxz .vx .tx .arrw {
  display: block;
  float: right;
}
.info_arc .vxz .vx a {
  color: inherit;
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px auto 0;
}
.pagination span,
.pagination a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 53px;
  height: 53px;
  margin: 0 12px 12px 0;
  text-align: center;
  color: #ffffff;
  font-size: 24px;
  font-weight: bold;
}
.pagination a {
  transition-property: all;
  transition: 0.1s linear;
  background-color: #aacbed;
}
.pagination a:hover {
  opacity: 0.7;
  background-color: #165fab;
}
.pagination span.current {
  color: #ffffff;
  background-color: #165fab;
}
.info_stg h2 {
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 33px;
  border-bottom: 1px solid #165fab;
}
.info_stg h2 + div span {
  padding-right: 20px;
  color: #5c5c5c;
}
.info_stg h2 + div span a {
  color: inherit;
  margin-right: 18px;
}
.info_stg .vx_type_2,
.voice_stg .vx_type_2 {
  margin-top: 18px;
  padding: 26px;
}
.wp-block-image {
  margin-bottom: 0;
}
.voice_stg .vx_type_2 {
  margin-top: 0;
  padding: 26px;
}
.info_stg .vx_type_2 p,
.voice_stg .vx_type_2 p {
  letter-spacing: 0.02em;
  line-height: 30px;
}
.info_stg .vx_type_2 p img,
.voice_stg .vx_type_2 .px img {
  border-radius: 10px;
}
.voice_stg .vx_type_2 .px img {
  max-width: 400px;
}
.voice_arc .vx_type_2 {
  margin-bottom: 50px;
}
.voice_arc .vxz .vx {
  width: calc(33.33333% - 46px);
  margin: 0 23px 40px;
}
.voice_arc .vxz .vx figure img {
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
  /* height: 220px; */
  height: 370px;
}
.voice_arc .vxz .vx p {
  margin: 5px auto 20px;
  letter-spacing: 0.02em;
  line-height: 26px;
}
.voice_arc .vxz .vx p a {
  color: inherit;
}
.voice_arc .vxz .vx p span {
  font-size: 17px;
  display: block;
  font-weight: bold;
}
.voice_arc .vxz .vx p a:hover {
  text-decoration: underline;
}
.voice_arc .vxz .vx .btn {
  width: 100%;
  height: 42px;
  font-size: 18px;
  letter-spacing: 0.09em;
}
.voice_stg .inn {
  margin-bottom: 40px;
  align-items: center;
}
.voice_stg .inn .tx {
  padding-left: 46px;
}
.voice_stg .inn .tx h3 {
  margin-bottom: 18px;
  font-size: 28px;
  letter-spacing: 0.08em;
  line-height: 33px;
}
.voice_stg .inn .tx h3 span {
  display: block;
  font-size: 22px;
  letter-spacing: 0.05em;
}
.voice_stg .inn .tx p {
  letter-spacing: 0.02em;
  line-height: 30px;
}
.voice_stg .inn .tx p a {
  color: #165fab;
}
.com_stg .vxz {
  padding: 25px 60px;
}
.com_stg .vxz .vx {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid #165fab;
  font-size: 18px;
  letter-spacing: 0.02em;
  line-height: 26px;
}
.com_stg .vxz .th {
  width: 205px;
  padding-left: 46px;
  font-weight: bold;
}
.com_stg .vxz .td {
  width: calc(100% - 205px);
}
.mapz .vxz {
  justify-content: center;
  margin-bottom: 36px;
}
.mapz .vxz:last-of-type {
  margin-bottom: 0;
}
.mapz .vxz .vx {
  margin: 0 15px;
}
.ggmap {
  width: 476px;
  border-radius: 10px;
  position: relative;
  padding-bottom: 33.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mapz .vxz .tx {
  width: calc(100% - 476px);
}
.mapz .vxz .tx h3 {
  font-size: 20px;
  letter-spacing: 0.02em;
  padding: 0 0 4px 4px;
  margin-bottom: 10px;
  border-left: 3px solid #165fab;
}
.mapz .vxz .tx span {
  display: block;
  letter-spacing: 0.02em;
  line-height: 34px;
}
.about_sv.cc .btn {
  margin-top: 34px;
  width: 662px;
  height: 83px;
}
span.wpcf7-list-item {
  display: block;
}
.contact .svcnt {
  display: none;
}
#post-404 {
  padding: 80px 0.8rem;
}
#post-404 h1 {
}
#post-404 h2 a {
  display: block;
  color: inherit;
  text-decoration: underline;
  padding-top: 30px;
}
#post-404 h1,
#post-404 h2 {
  text-align: center;
  font-size: 30px;
}

@media screen and (max-width: 767px) {
  /* ==========================================================================
   Commons styles
   ========================================================================== */
  .flex_wrapper,
  .flex-wrap_par {
    display: block;
  }
  .flex_sp {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .wrap_675,
  .wrap_793,
  .wrap_800,
  .wrap_865,
  .wrap_970,
  .wrap_900,
  .wrap_1000,
  .wrap_1040,
  .wrap_1200,
  .about_us .vxz {
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0 0.8rem;
  }
  .sec_pad_1 {
    padding: 40px 0;
  }
  .sec_pad_1_b {
    padding-bottom: 40px;
  }
  .sec_pad_1_t {
    padding-top: 40px;
  }
  header.general .info .btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 52px;
    margin-right: 0;
    font-size: 18px;
    border-radius: 0;
  }
  header.general .info .btn.bg_type_1 {
    background-color: rgba(22, 95, 171, 0.9);
  }
  header.general {
    width: 100%;
    height: 65px;
    padding: 0 0.8rem;
  }
  header.general .logo {
    width: 100%;
  }
  header.general .logo img {
    width: 65%;
    max-width: 250px;
    /*margin: 0 auto*/
  }
  .switchWrap {
    width: 65px;
    height: 65px;
  }
  .swich_inner {
    position: relative;
    width: 45px;
    height: 100%;
  }
  .switch__line {
    height: 4px;
  }
  .fv .inn {
    padding-bottom: 40px;
  }
  .fv h2 {
    padding: 26px 0.4rem 0;
    margin-bottom: 26px;
    font-size: 30px;
    line-height: 40px;
  }
  .fv figure {
    padding: 0 0.8rem;
  }
  #canvas-container {
    margin-top: -166px;
  }
  .about_us {
    margin-top: 0px;
    padding: 0 0 40px;
  }
  .h_type_1 {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 30px;
    font-size: 22px;
    line-height: 34px;
  }
  .h_type_1::after {
    width: 60px;
    height: 3px;
    border-radius: 3px;
  }
  .about_us span {
    display: block;
    margin: 20px auto;
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 28px;
  }
  .about_us .left {
    width: 80%;
    margin: 0 auto;
  }
  .about_us .left img {
    width: 90%;
    margin: 0 auto;
  }
  .about_us .vxz .left figure {
    margin-top: 0;
  }
  .about_us .vxz .left figure img {
    margin: 0 auto;
  }
  .about_us .vxz .left figure img:first-child {
    margin: 5px auto;
  }
  .cls_bg::before {
    top: -93.5px;
    width: 94px;
    height: 187px;
    background-size: cover;
  }
  .use h2 {
    margin-bottom: calc(50px - 1.5%);
  }
  .vx_type_1 .vx {
    width: 100%;
  }
  .vx_type_1 .vx .inn {
    padding: 10px;
  }
  .svcv .vxz figure,
  .svcv .vxz figure img {
    margin: 0 auto;
    display: block;
  }
  .svcv .vxz figure:first-of-type {
    margin: 0 auto 10px;
  }
  .svcv .btn,
  .news .btn,
  .go_req .btn,
  .btn.big {
    width: calc(100% - 1.6rem);
    height: 70px;
    margin: 0 auto;
  }
  .btn {
    font-size: 16px;
  }
  .chara .vxz {
    height: auto;
    box-shadow: 0px 0 0 -0 rgba(13, 50, 88, 0);
  }
  .chara .vxz .vx {
    margin-bottom: 20px;
    width: 100%;
    padding: 16px 10px;
    box-shadow: 0px 16px 16px -16px rgba(13, 50, 88, 0.45);
  }
  .chara .vxz .vx:last-child {
    margin-bottom: 0;
  }
  .chara .vxz .vx h3 {
    font-size: 19px;
  }
  .chara .vxz .vx figure {
    margin: 10px auto;
  }
  .chara .vxz .vx div {
    width: 90%;
    margin: 0 auto;
  }
  .chara .vxz .vx div dl dt {
    width: 16px;
  }
  .chara .vxz .vx div dl dd {
    width: calc(100% - 16px);
  }
  .sup_res .vx_type_1 .vx {
    width: 100%;
    margin-bottom: 30px;
  }
  .sup_res .vx_type_1 .vx h3 {
    font-size: 17px;
    letter-spacing: 0;
  }
  .vx_type_1 .vx .inn h3 {
    flex-wrap: wrap;
    align-items: center;
    line-height: 20px;
  }
  .vx_type_1 .vx .inn h3 img {
    width: 44px;
    height: auto;
  }
  .vx_type_1 .vx .inn h3 span {
    display: block;
    width: calc(100% - 44px);
  }
  .sup_res .vx_type_1 .vx .in_vxz .in_vx {
    width: 100%;
    height: 100px;
    margin: 10px 0;
  }
  .sup_res .vx_type_1 {
    margin-bottom: 0;
  }
  .sup_res .msg {
    width: calc(100% - 1.6rem);
    margin: 0 auto;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 30px;
  }
  .svcnt {
    padding: 40px 0.8rem;
  }
  .svcnt .vxz h2 {
    width: calc(100% - 1.6rem);
    margin: 0 auto;
  }
  .svcnt .vxz .vx {
    margin: 0;
  }
  .svcnt .vxz .vx img.logo {
    display: block;
    margin: 0 auto 20px;
  }
  .svcnt .vxz .vx.btn {
    width: calc(100% - 1.6rem);
    margin: 0 auto;
    height: 70px;
  }
  .svcnt .tel img {
    width: 50px;
  }
  .svcnt .tel span {
    width: calc(100% - 50px);
  }
  .svcnt .tel {
    margin: 20px auto;
    font-size: 9.8vw;
    letter-spacing: 0.02em;
    line-height: 12vw;
  }
  .svcnt p {
    line-height: 26px;
  }
  .faq .vxz {
    padding: 0 0.8rem;
  }
  .faq .vxz dt {
    width: 40px;
  }
  .faq .vxz dd {
    width: calc(100% - 40px);
    padding: 12px 0.8rem;
    display: flex;
    align-items: center;
    line-height: 26px;
    letter-spacing: 0.02em;
  }
  .faq .vxz dd.que {
    font-size: 18px;
    font-weight: bold;
    line-height: 26px;
  }
  .news .vxz {
    padding: 0 0 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #165fab;
  }
  .news .vxz dt {
    width: 140px;
  }
  .news .vxz dt span.cat {
    margin-left: 0;
  }
  .news .vxz dt span.cat {
    margin-top: 20px;
  }
  .news .vxz dd {
    padding: 0 0 0 10px;
    width: calc(100% - 140px);
  }
  .go_voice .inn {
    padding: 30px 0.8rem;
  }
  .go_req {
    background-size: 30%;
  }
  .go_req {
    background-image: none;
  }
  .go_req .msg {
    width: calc(100% - 0.8rem);
    margin: 0 auto;
    font-size: 5vw;
    letter-spacing: 0;
    line-height: 30px;
  }
  .go_req .btn {
    margin: 30px auto;
  }
  .slide_nv .inn {
    right: -100%;
    width: 100%;
    padding-top: 0;
  }
  .slide_nv .inn h2 {
    margin: 20px auto 10px;
    padding: 4px 0;
    font-size: 30px;
    font-weight: 900;
    text-align: center;
    letter-spacing: 0.025em;
    color: #fff;
    background: none;
    text-decoration: underline;
  }
  .slide_nv .inn ul li a {
    padding: 12px 0;
    letter-spacing: 0.01em;
    font-size: 19px;
    font-weight: bold;
    color: #fff;
    text-align: center;
  }
  /* footer {
    padding: 40px 0 60px;
  }
  footer img {
    margin: 0 auto;
  }
  footer span {
    display: block;
    margin-top: 20px;
    text-align: center;
  }
  footer nav {
    margin-left: 0;
    margin-top: 20px;
  }
  footer nav ul {
    width: 100%;
  }
  footer nav ul li a {
    display: block;
    text-align: center;
  }
  footer nav ul:last-child {
    margin-left: 0;
  } */
  .under .fv .und_tit h2 {
    padding: 50px 0 0 0;
    margin-bottom: 6px;
    font-family: "op_san_r";
    font-size: 24px;
    line-height: 24px;
  }
  .under .fv .und_tit h2 + span {
    display: block;
    font-size: 16px;
    letter-spacing: 0.02em;
  }
  .under #canvas-container {
    margin-top: -95px;
  }
  .z10 {
    position: relative;
    z-index: 10;
  }
  .under .z10 {
    margin-top: -95px;
  }
  .under .z10.bb {
    margin-top: 30px;
  }
  .about_sv {
    padding: 0 0.8rem 40px;
  }
  .tbl_cover {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .tbl_cover figure {
    width: 789px;
  }
  .main_job .vxz .vx {
    width: 100%;
  }
  .main_job .vxz .vx h3 {
    font-size: 20px;
    line-height: 30px;
  }
  .main_job .vxz .vx {
    margin-bottom: 20px;
  }
  .main_job .vxz:last-of-type .vx:last-of-type {
    margin-bottom: 0;
  }
  .main_job .vxz .vx .in_in {
    margin-top: 6px;
    padding: 20px 10px;
  }
  .under .chara .btn {
    margin-top: 30px;
  }
  .merit .vxz .tx .chk_line {
    padding-top: 16px;
    display: flex;
    align-items: center;
  }
  .merit .vxz .tx .chk_line img {
    margin-right: 6px;
  }
  .merit .vxz {
    margin-bottom: 30px;
  }
  .about_msg .vxz .px {
    width: 90%;
    position: relative;
    z-index: 20;
  }
  .about_msg .vxz .tx {
    float: right;
    width: 96%;
    margin: -100px 0 0 0;
    padding: 16px;
    border-radius: 30px 0 0 30px;
    position: relative;
    z-index: 30;
  }
  .about_msg .vxz .tx h3,
  .phy .vx h3 {
    font-size: 18px;
  }
  .phy .vx img:first-of-type {
    display: none;
  }
  .phy .vx {
    width: calc(100% - 1.6rem);
    margin: 0 auto 30px;
    padding: 16px;
  }
  .base_info .vx_type_2 {
    width: calc(100% - 1.6rem);
    margin: 0 auto;
    padding: 14px;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 0.02em;
    line-height: 30px;
  }
  .rec_arc_vx {
    padding-top: 30px;
  }
  .rec_arc_vx .vxz {
    width: calc(100% - 1.6rem);
    margin: 0 auto 30px;
    padding: 14px;
  }
  .rec_arc_vx .vxz .px,
  .rec_arc_vx .vxz .tx {
    width: 100%;
  }
  .rec_arc_vx .vxz .px img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .rec_arc_vx .vxz .tx {
    padding: 10px 0 0 0;
  }
  .rec_arc_vx .vxz .tx h3 {
    margin-bottom: 10px;
    font-size: 18px;
  }
  .rec_arc_vx .vxz .tx dl dd {
    margin-top: 10px;
    padding: 0 4px;
    letter-spacing: 0.05em;
    line-height: 26px;
  }
  .rec_arc_vx .vxz .tx .btn {
    width: 100%;
  }
  .rec_main h2 + div span {
    padding-right: 8px;
    font-size: 14px;
  }
  .rec_main h3 {
    margin: 6px auto 30px;
    padding: 8px 0px;
    font-size: 18px;
    letter-spacing: 0.03em;
    line-height: 30px;
  }
  .rec_main .stg {
    padding: 8px;
  }
  .rec_main .stg p {
    margin: 20px auto 20px;
  }
  .rec_main .stg .tagz span {
    margin: 0 8px 8px 0;
  }
  .rec_main .stg h4 {
    margin: 16px 0 0;
  }
  .rec_main .stg .rec_tbl .th,
  .rec_main .stg .rec_tbl .td {
    width: 100%;
  }
  .rec_main .stg .rec_tbl .vx:first-of-type {
    margin-top: 16px;
  }
  .rec_main .stg .rec_tbl .vx {
    margin-top: 12px;
  }
  .rec_main .stg .rec_tbl .td {
    padding: 0;
    border: none;
  }
  .rec_main .btn,
  .contact_vxz .btn {
    width: 100%;
  }
  .contact_vxz .vx_type_2 {
    margin-bottom: 30px;
  }
  .contact_vxz .form .vx {
    width: 100%;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .contact_vxz .form .th {
    padding-left: 0;
    font-size: 16px;
  }
  .contact_vxz .form .td {
    margin-bottom: 20px;
  }
  .info_arc .vxz .vx {
    width: 100%;
    margin: 0 0 30px;
    padding-bottom: 10px;
    overflow: hidden;
  }
  .pagination {
    flex-wrap: wrap;
  }
  .info_stg .vx_type_2 p img {
    width: 100%;
  }
  .info_stg .vx_type_2 {
    padding: 8px;
  }
  .voice_arc .vxz .vx {
    width: 100%;
    margin: 30px auto;
  }
  .voice_stg .vx_type_2 {
    padding: 8px;
  }
  .voice_stg .inn .tx {
    margin-top: 8px;
    padding-left: 0;
  }
  .voice_stg .inn .tx h3 {
    margin-bottom: 10px;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 30px;
  }
  .voice_stg .inn .tx h3 span {
    font-size: 16px;
    letter-spacing: 0.02em;
  }
  .voice_stg .inn {
    margin-bottom: 20px;
  }
  .com_stg .vxz {
    padding: 40px 12px;
  }
  .com_stg .vxz .vx {
    width: 100%;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 16px;
  }
  .com_stg .vxz .th {
    font-size: 18px;
    padding-left: 0;
    font-weight: bold;
  }
  .mapz .vxz .vx {
    width: 100%;
    margin: 0;
  }
  .ggmap {
    padding-bottom: 72.25%;
  }
  .mapz .vxz .tx {
    margin-top: 16px;
  }
  .mapz .vxz .tx h3 {
    font-size: 18px;
    padding: 0 0 4px 4px;
    margin-bottom: 6px;
  }
  .about_sv.cc .btn {
    margin-top: 30px;
    width: 100%;
    height: 83px;
  }
  .wp-block-image img {
    display: block;
    margin: 0 auto;
    height: auto;
  }
  .wp-block-image .alignleft {
    float: none;
    margin: 0 0.5em 0;
  }
  .archive .rec_arc_vx {
    padding-top: 0;
  }
  .archive .voice_arc .vxz .vx:first-of-type {
    margin-top: 0;
  }
  .voice_stg .vx_type_2 .px img,
  .rec_main .stg .eye_c img {
    width: 100%;
    height: auto;
  }
  .contact_vxz .form .last_ans {
    display: block;
  }
  .h_type_2 {
    padding-left: 10px;
    font-size: 20px;
    letter-spacing: 0.025em;
    line-height: 30px;
    border-left: 3px solid #165fab;
  }
  #post-404 {
    padding: 60px 0.8rem;
  }
  #post-404 h1 {
  }
  #post-404 h2 a {
    padding-top: 20px;
  }
  #post-404 h1,
  #post-404 h2 {
    font-size: 20px;
    line-height: 26px;
  }

  .voice_arc .vxz .vx figure img {
    height: 220px;
  }
}
/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap; /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print, (min-resolution: 1.25dppx), (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

.single-voice .wrap_1000 h2 {
  margin-bottom: 18px;
  font-size: 28px;
  letter-spacing: 0.08em;
  line-height: 33px;
  color: #165fab;
  margin: 30px 0;
}

.single-voice .wrap_1000 h3 {
  margin-bottom: 18px;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  line-height: 33px;
  color: #165fab;
  margin: 30px 0 18px;
  font-weight: normal;
}

.btn-col2 .btn {
  display: block;
  width: 45%;
  margin: 0 auto 30px;
}

.btn-col2 .bg_type_1 {
  background: none;
  border: 3px solid #165fab;
}

.btn-col2 .bg_type_1 a {
  color: #165fab;
  padding: 0;
}

.btn-col2 .bg_type_1 a span {
  margin: 15px auto;
}

section.sv {
  padding: 60px 0;
  background: #fff;
}

.sv .flex_wrapper {
  justify-content: center;
}

.home .voice_arc .vxz .vx,
.page-id-51 .voice_arc .vxz .vx {
  background: #fff;
  padding: 20px;
  width: calc(48% - 46px);
}

.home .voice_arc.int_arc .vxz .vx {
  background: none;
  padding: 0;
  width: calc(33.33333% - 46px);
  margin: 0 23px 40px;
}

.home .voice_arc article.wrap_1000.vxz.flex-wrap_par,
.page-id-51 .voice_arc article.wrap_1000.vxz.flex-wrap_par {
  justify-content: center;
}

.sv .btn-col2 {
  margin-top: -60px;
}

.svsv {
  margin-top: 60px;
}

ul.timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.timeline > li {
  overflow: hidden;
  margin: 0;
  position: relative;
  display: flex;
}
.timeline-date {
  width: 10%;
  font-weight: bold;
}

.timeline-content {
  width: 75%;
  border-left: 3px #e5e5d1 solid;
  padding-left: 30px;
  padding-bottom: 40px;
}

.timeline-content:before {
  content: "";
  width: 12px;
  height: 12px;
  background: #165fab;
  position: absolute;
  left: calc(10% - 4px);
  top: 8px;
  border-radius: 100%;
}
.timeline-content figure img {
  max-width: 100%;
  margin: 15px 0;
}
.timeline-content figure {
  position: relative;
}
.timeline-content figure figcaption {
  position: absolute;
  bottom: 40px;
  background: #165fabb8;
  padding: 10px;
  border-radius: 20px;
  color: #fff;
  left: 10px;
  right: 10px;
  height: auto;
  letter-spacing: 1px;
  font-size: 13px;
}

figure.w20 {
  width: 50%;
}
figure.w30 {
  width: 30%;
}

figure.w40 {
  width: 50%;
}

figure.w50 {
  width: 50%;
}

figure.w60 {
  width: 60%;
}

figure.w70 {
  width: 60%;
}

.under section.sv {
  background: #e9f3ff;
  padding: 0;
}

.under .chara .vxz {
  box-shadow: none;
  height: auto;
}

.c-num-block__block {
  margin-top: 5rem;
  background-color: #fff;
  padding: 2.1875rem 8.47458% 2.1875rem;
  display: flex;
  justify-content: space-between;
  position: relative;
}

.c-num-block__num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  font-size: 5.25rem;
  letter-spacing: 0.05em;
  line-height: 1;
  position: absolute;
  right: 80px;
  top: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-num-block__image {
  width: 40.81633%;
  text-align: center;
}
.c-num-block__content {
  padding-top: 2.5rem;
  width: 50%;
}

.c-heading.is-xxs {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  margin-bottom: 1.25rem;
}
.c-heading.is-xxs span {
  background: linear-gradient(transparent 75%, #f0eb47 0%);
}

.c-num-block__text li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.71429;
  margin-bottom: 0.75rem;
}

.c-num-block__text li::before {
  content: "●";
  font-size: 0.625rem;
  color: rgb(6, 92, 150);
  position: absolute;
  left: 0px;
  top: 0.25rem;
}
.c-num-block__image img {
  width: 100%;
}
.aaa10 {
  padding: 40px 20px;
}
.aaa10 img {
  max-width: 600px;
  margin: 0 auto;
}
.wmwm .right {
  width: 40%;
}
section.news {
  width: 45%;
}
.flex-wrap_par.infow {
  justify-content: space-between;
}
.infow .news .btn {
  width: 90%;
  height: auto;
  padding: 20px;
}
.infow section.fb {
  width: 53%;
  padding: 30px 0;
}
.fb-wrap {
  max-width: 100%;
  width: 100%;
  text-align: center !important;
  margin: 0 auto !important;
}
.fb-page {
  text-align: center !important;
  margin: 0 auto !important;
}
.sup_res .vx_type_1 .vx.grh img {
  width: 80%;
  margin: 0 auto;
}
.sup_res .vx_type_1 .vx.grh {
  width: 100%;
  text-align: center;
}

section#story img {
  width: 100%;
}
.merit .vxz .vx.btn {
  max-width: 500px;
  margin: 20px auto;
}
.merit .btn a {
  padding: 20px;
}
.merit .h_type_1 {
  margin-bottom: 30px;
  text-align: left;
  background: #f7f7f7;
  padding: 15px;
}
.merit .h_type_1::after {
  content: none;
}
.merit span.msg {
  line-height: 1.6;
  margin: 40px 0;
  display: block;
}
.merit .tx img {
  max-width: 600px;
}
.sv .merit .flex_wrapper:first-child .tx img {
  max-width: 450px;
}
.sv .merit .flex_wrapper {
  margin-bottom: 100px;
}
span.ous {
  text-align: center;
  display: block;
  font-size: 1.1em;
  font-weight: bold;
}

.under span.ous {
  color: #165fab;
}
.ifr {
  margin: 30px auto;
  text-align: center;
}
.ifr iframe {
  width: 350px;
  height: 2200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  span.ous {
    text-align: center;
    display: block;
    font-size: 0.9em;
    font-weight: bold;
  }
  .sv .merit .flex_wrapper {
    margin-bottom: 0;
  }
  .sv .merit .flex_wrapper:first-child {
    margin-bottom: 60px;
  }

  .merit .h_type_1 {
    margin-bottom: 15px;
    text-align: left;
    background: #f7f7f7;
    padding: 6px 15px;
    line-height: 1.2;
    margin-top: 20px;
  }

  .sv .merit .flex_wrapper img {
    width: 100%;
    margin: 10px auto;
  }
  .sv .merit .flex_wrapper:first-child .tx img {
    width: 76%;
  }
  .sup_res .vx_type_1 .vx.grh img {
    width: 100%;
    margin: 0 auto;
  }
  .infow section.fb {
    width: 100%;
  }
  section.news {
    width: 100%;
  }
  .aaa10 img {
    max-width: 100%;
    margin: 0 auto;
  }
  .aaa10 {
    padding: 20px 0;
  }
  .aaa11 h2 {
    padding: 60px 0 20px;
  }
  .timeline-content:before {
    left: calc(16% - 4px);
  }
  .timeline-content figure {
    width: 100% !important;
  }
  .timeline-content {
    width: 84%;
    border-left: 3px #e5e5d1 solid;
    padding-left: 15px;
    padding-bottom: 40px;
    line-height: 1.4;
    font-size: 14px;
  }
  .timeline-date {
    width: 16%;
    font-weight: bold;
    font-size: 15px;
  }
  .sv .flex_wrapper {
    justify-content: flex-start;
    align-items: baseline;
    flex-wrap: wrap;
    display: flex;
  }

  .sv figure.flex_wrapper img {
    width: 45%;
    display: block;
    margin: 0 1%;
    /* max-width: 45%; */
  }

  .sv .flex_wrapper img {
    width: 45%;
    display: block;
    margin: 0 auto;
    /* max-width: 45%; */
  }
  .sv .right img {
    width: 180%;
    margin: 0 auto;
    /* max-width: 45%; */
    max-width: 180%;
    margin-left: -30px;
  }

  .svsv img {
    width: 95%;
  }

  .sv .btn-col2 {
    margin-top: -20px;
  }

  .sv .btn-col2 .btn {
    width: 90%;
    margin-bottom: 60px;
  }
  .about_us span {
    font-size: 14px;
  }
  .sv .left {
    width: 80%;
  }
  .sv .right {
    width: 20%;
    margin-left: -10%;
    align-self: center;
  }
  .home .voice_arc .vxz .vx,
  .home .voice_arc.int_arc .vxz .vx,
  .page-id-51 .voice_arc .vxz .vx {
    width: 100%;
  }
  .home .voice_arc.int_arc .vxz .vx {
    margin: 0 auto 40px;
  }
  .c-num-block__num {
    font-size: 2.75rem;
    right: auto;
    left: 16px;
  }
  .c-num-block__content {
    padding-top: 0;
    width: 100%;
  }
  .c-num-block__block {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-top: 2rem;
  }
  .c-num-block__image {
    width: 100%;
    text-align: center;
  }

  .sv .wmwm .left {
    width: 60%;
  }

  .sv .wmwm .left img {
    width: 100%;
  }

  .sv .wmwm .right {
    width: 30%;
    margin-left: -10%;
    align-self: center;
  }
}

/*インタビュー*/

.voice_stg .vx_type_2 p.qa-a {
  color: #003953;
}

.voice_stg .vx_type_2 p.qa-q {
  color: #2f89b2;
  font-weight: bold;
  font-size: 1.35em;
  position: relative;
  margin-top: 70px;
  z-index: 0;
  padding-left: 15px;
}

.voice_stg .vx_type_2 p.qa-q::after {
  position: absolute;
  display: block;
  content: "Q";
  color: #e6f7fe;
  font-size: 2.2em;
  top: -10px;
  z-index: -1;
  left: -5px;
}

.int_wrap h3.fc_blue {
  font-size: 1.5em;
}

.int_wrap .px {
  background: url(../img/det_bg.png) no-repeat;
  background-size: contain;
  padding: 0;
  padding-left: 0;
  margin-left: 5%;
  width: 35%;
  display: flex;
  background-position: bottom center;
  text-align: center;
}
.voice_stg.int_wrap .inn .tx {
  padding-left: 0;
  width: 60%;
  color: #003953;
}

.voice_stg.int_wrap .inn {
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 60px;
}

.voice_stg.int_wrap .vx_type_2 .px img {
  align-items: flex-end;
  display: block;
  width: auto;
  vertical-align: bottom;
  margin: 0 auto;
  padding-top: 20px;
  height: 400px;
  filter: drop-shadow(5px 0 5px rgb(40, 100, 127, 0.6));
}
.int-1 {
  font-weight: bold;
  font-size: 1.3em;
  margin-bottom: 40px;
}

.int-2 {
  border-bottom: 1px solid #003953;
  padding: 10px 0;
  display: flex;
}

.voice_stg.int_wrap .inn .tx div.int-2:nth-of-type(2) {
  border-top: 1px solid #003953;
}

.voice_stg .inn .tx p.int-2-n {
  width: 75%;
}

.voice_stg .inn .tx p.int-2-b {
  font-weight: bold;
  width: 25%;
}
.btn.bg_type_1.arrw_s.hover_0.int {
  width: 300px;
  padding: 20px 0;
  margin: 20px auto;
  font-size: 1.2em;
}

.int_arc figure {
  background: url(../img/top_bg.png) no-repeat;
  background-size: contain;
  padding: 0;
  padding-left: 0;
  margin-left: 0;
  width: 100%;
  display: flex;
  background-position: bottom center;
  text-align: center;
  justify-content: center;
}
.int_arc .vxz .vx figure img {
  width: 100%;
  /* border-radius: 10px; */
  align-items: flex-end;
  display: block;
  width: auto;
  vertical-align: bottom;
  margin: 0 auto;
  padding-top: 0;
  height: 400px;
  filter: drop-shadow(5px 0 5px rgb(40, 100, 127, 0.6));
}

.int_arc .vxz .vx p span {
  font-size: 17px;
  display: block;
  font-weight: bold;
  color: #00264f;
  line-height: 1.4;
  margin-top: 10px;
}
.int_arc .vxz .vx p span.int_name {
  font-size: 16px;
  display: block;
  font-weight: normal;
  color: #165fac;
}
.int_arc .vxz .vx p span.ff-1 {
  font-size: 15px;
  display: block;
  font-weight: normal;
  color: #54708e;
  margin-top: 0;
  padding-left: 0;
  margin-left: 0;
}
.arw-n a {
  display: block;
  background: url(../img/arn.png) no-repeat center right;
  color: #165fac;
  text-align: right;
  padding-right: 40px;
}
.int_arc .flex-wrap_par {
  align-items: flex-start;
}
.home .voice_arc.int_arc .vxz .vx:nth-child(3n-2) {
  margin-top: 120px;
}
.home .voice_arc.int_arc .vxz .vx:nth-child(3n-1) {
  margin-top: 60px;
}
.int_arc .btn.bg_type_1 {
  background: none;
  box-shadow: none;
  color: #165fab;
  border: 2px solid #165fab;
  padding: 10px 0;
  width: 310px;
  font-size: 1.2em;
}
section#interv {
  background-image: /*url(../img/fv_bg_wave.png),*/ url(../img/fv_bg_cls_lb.png),
    url(../img/fv_bg_cls_rb.png);
  background-position: /*bottom center,*/ left 20%, right center, center;
  background-repeat: /*no-repeat,*/ no-repeat, no-repeat, repeat;
  background-size: 10%, 12%, auto;
}
span.ff-1 {
  /* display: block; */
  font-weight: normal;
  font-size: 14px;
  margin-top: 5px;
  margin-left: 10px;
}
span.ff-2 {
  display: block;
  font-weight: normal;
  font-size: 14px;
  /* margin-top: 5px; */
}

section.fv {
  position: relative;
}

div#fv_bnr a {
  display: block;
  position: absolute;
  background: url(../img/recruit_icon.png) no-repeat 15px center, #faff4c;
  background-size: 60px;
  color: #165fab;
  border-radius: 6px;
  padding: 20px 20px 20px 90px;
  letter-spacing: 1px;
  font-weight: bold;
  box-shadow: 2px 2px 4px #07699b;
  font-size: 1.2em;
  right: 50px;
  bottom: 300px;
}

div#fv_bnr02 a {
  display: block;
  position: absolute;
  background: url(../img/int_icon.png) no-repeat 15px center, #ffffff;
  background-size: 60px;
  color: #165fab;
  border-radius: 6px;
  padding: 30px 20px 30px 90px;
  letter-spacing: 1px;
  font-weight: bold;
  box-shadow: 2px 2px 4px #07699b;
  font-size: 1.2em;
  right: 50px;
  bottom: 419px;
}
@media screen and (max-width: 767px) {
  .news .vxz dt span.cat a {
    font-size: 12px;
  }
  div#fv_bnr a {
    display: block;
    position: absolute;
    background: url(../img/recruit_icon.png) no-repeat 9px center, #faff4c;
    background-size: 31px;
    color: #165fab;
    border-radius: 6px;
    padding: 9px 10px 10px 45px;
    letter-spacing: -1px;
    font-weight: bold;
    box-shadow: 2px 2px 4px #07699b;
    font-size: 0.9em;
    right: 5px;
    bottom: 170px;
  }
  div#fv_bnr02 a {
    display: block;
    position: absolute;
    background: url(../img/int_icon.png) no-repeat 5px center, #fff;
    background-size: 45px;
    color: #165fab;
    border-radius: 6px;
    padding: 14px 10px 10px 45px;
    letter-spacing: -1px;
    font-weight: bold;
    box-shadow: 2px 2px 4px #07699b;
    font-size: 0.8em;
    left: 10px;
    bottom: 170px;
    right: auto;
  }
  .int_wrap h3.fc_blue {
    font-size: 1.3em;
    line-height: 1.4;
    padding: 20px 10px;
  }
  .voice_stg.int_wrap .inn {
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 20px;
    flex-flow: column-reverse;
    display: flex;
  }
  .voice_stg.int_wrap .inn .tx {
    padding-left: 0;
    width: 100%;
  }
  .voice_stg .inn .tx p.int-2-n {
    width: 65%;
    line-height: 1.4;
  }
  .voice_stg .inn .tx p.int-2-b {
    width: 30%;
  }
  .int-2 {
    justify-content: space-between;
  }
  .int_wrap .px {
    width: 100%;
    display: flex;
    text-align: center;
    margin-bottom: 10px;
    margin-left: 0;
  }
  .int-1 {
    text-align: center;
  }
  .voice_stg.int_wrap .vx_type_2 .px img {
    height: 300px;
  }
  .voice_stg .vx_type_2 p.qa-q {
    margin-top: 40px;
    font-size: 1.25em;
  }
  .voice_stg .vx_type_2 p.qa-a {
    padding-left: 15px;
  }

  .home .voice_arc.int_arc .vxz .vx:nth-child(3n-2) {
    margin-top: 0;
  }

  .home .voice_arc.int_arc .vxz .vx:nth-child(3n-1),
  .home .voice_arc.int_arc .vxz .vx:nth-child(3n) {
    margin-top: 30px;
  }

  .int_arc .vxz .vx figure img {
    height: 350px;
    filter: drop-shadow(5px 0 5px rgb(40, 100, 127, 0.6));
  }

  .int_arc figure {
    width: 80%;
    margin: 0 auto;
  }
}

/* Block Image Caption */
.wp-block-image figcaption {
  color: #555d66;
  text-align: center;
  font-size: 13px;
}

.form select {
  border: 1px solid #ccc !important;
  background: #fff;
  padding: 10px;
  border-radius: 4px;
}

.base_info div#fv_bnr {
  position: relative;
}

.base_info div#fv_bnr a {
  bottom: 141px;
}

.vo-br div#fv_bnr,
.coms div#fv_bnr {
  position: relative;
  text-align: center;
}

.vo-br div#fv_bnr a,
.coms div#fv_bnr a {
  display: inline-block;
  position: relative;
  padding: 40px 80px 40px 120px;
  right: auto;
  bottom: 0;
  z-index: 999;
  margin: 40px auto;
}
.sns__container {
  display: flex;
  margin: 40px auto;
  justify-content: center;
}

.sns__container a {
  text-decoration: none;
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  max-width: 180px;
}

.sns__container a:hover {
  opacity: 0.6;
}

.sns__twitter {
  background: #55acee;
}

.sns__facebook {
  background: #3b5998;
}

.sns__pocket {
  background: #ef3f56;
}

.sns__line {
  background: #1dcd00;
}
div#md_bnr {
  position: absolute;
  left: 30%;
  bottom: 50px;
  width: 40%;
}
div#md_bnr img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .base_info div#fv_bnr a {
    bottom: 34px;
    right: 28%;
  }
  .vo-br div#fv_bnr a,
  .coms div#fv_bnr a {
    display: inline-block;
    position: relative;
    padding: 20px 30px 20px 55px;
    right: auto;
    bottom: 0;
    z-index: 999;
    margin: 40px auto;
    font-size: 1.1em;
  }
  div#md_bnr {
    position: absolute;
    right: 2%;
    bottom: 20px;
    width: 96%;
    left: 2%;
  }
}

/* ==========================================================================
   数字で見る当直連携基盤
   ========================================================================== */

.number .sec_pad_1 .blue-back {
  padding: 70px 0 20px;
}

.number .number-inn {
  padding-top: 80px;
}

.number .sec_pad_1 .number-h3 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 32px;
}

.number .vx_type_1 .inn.service-gragh-wrap {
  width: 49%;
  margin-bottom: 24px;
}

.number .vx_type_1 .inn.service-gragh-wrap img {
  width: 100%;
}

.number .sec_pad_1 .employee-img,
.number .sec_pad_1 .area-wrap {
  max-width: 970px;
  margin: 0 auto;
  justify-content: space-between;
}

.number .sec_pad_1 .area-img {
  width: 50%;
}

.number .sec_pad_1 .area-wrap .area-text-wrap .area-text {
  font-size: 24px;
  line-height: 44px;
}

.number .sec_pad_1 .area-wrap .area-text-wrap .area-after {
  padding-left: 7em;
  text-indent: -7em;
}

.number .sec_pad_1 .area-wrap .area-text-wrap .area-before::before {
  content: ""; /*何も入れない*/
  display: inline-block; /*忘れずに！*/
  width: 167px; /*画像の幅*/
  height: 44px; /*画像の高さ*/
  background-image: url("../img/ym01.png");
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.number .sec_pad_1 .area-wrap .area-text-wrap .area-after::before {
  content: ""; /*何も入れない*/
  display: inline-block; /*忘れずに！*/
  width: 167px; /*画像の幅*/
  height: 44px; /*画像の高さ*/
  background-image: url("../img/ym02.png");
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}

.number .sec_pad_1 .area-wrap .area-text-wrap figure {
  margin: 24px 0 24px 40px;
}

.number .sec_pad_1 .area-wrap .area-text-wrap figure img {
  height: 90px;
}

.number .sec_pad_1 .mgb80 {
  margin-bottom: 80px;
}

.number .sec_pad_1 .area-img img,
.number .sec_pad_1 .employee-img img {
  width: 100%;
}

.number {
  position: relative;
}

.number::before {
  content: "";
  position: absolute;
  top: 1700px;
  right: 0;
  width: 198px;
  height: 396px;
  margin: auto;
  background-image: url(../img/cls_bg_r.png);
}

.number::after {
  content: "";
  position: absolute;
  top: 1200px;
  left: 0;
  width: 198px;
  height: 396px;
  margin: auto;
  background-image: url(../img/cls_bg_r.png);
  transform: scale(-1, 1);
}

.number .sec_pad_1 .area-wrap .area-text-wrap .area-after .space-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .number .sec_pad_1 .blue-back {
    padding: 30px 0 10px;
  }

  .number .vx_type_1 .inn.service-gragh-wrap {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .number .number-inn {
    padding-top: 40px;
  }

  .number .sec_pad_1 .number-h3 {
    font-size: 20px;
  }

  .number .vx_type_1 .inn.service-gragh-wrap {
    width: 95%;
  }

  .number .number-inn .section-area {
    margin-top: 64px;
  }

  .number .sec_pad_1 .area-img {
    width: 100%;
    margin-bottom: 24px;
  }

  .number .sec_pad_1 .employee-img,
  .number .sec_pad_1 .area-wrap {
    display: block;
  }

  .number .sec_pad_1 .area-wrap .area-text-wrap .area-text {
    font-size: 20px;
  }

  .number .sec_pad_1 .area-wrap .area-text-wrap .area-after {
    padding-left: 8.5em;
    text-indent: -8.5em;
  }

  .number .sec_pad_1 .area-wrap .area-text-wrap figure img {
    height: 50px;
  }

  .number .sec_pad_1 .area-wrap .area-text-wrap .area-after .br-pc {
    display: none;
  }

  .number .sec_pad_1 .area-wrap .area-text-wrap .area-after .space-sp {
    display: inline;
  }

  .number::before {
    top: 800px;
    width: 60px;
    height: 120px;
    background-size: cover;
  }

  .number::after {
    top: 2100px;
    width: 60px;
    height: 120px;
    background-size: cover;
  }
}

.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  border-top: 2px solid #ccc; /*矢印の色*/
  border-right: 2px solid #ccc; /*矢印の色*/
  height: 15px;
  width: 15px;
}

.slick-prev {
  /*戻る矢印の位置と形状*/
  left: -1.5%;
  transform: rotate(-135deg);
}

.slick-next {
  /*次へ矢印の位置と形状*/
  right: -1.5%;
  transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
  text-align: center;
  margin: 20px auto 0;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 12px; /*ドットボタンのサイズ*/
  height: 12px; /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #ccc; /*ドットボタンの色*/
  border: none;
}

.slick-dots .slick-active button {
  background: #333; /*ドットボタンの現在地表示の色*/
}

@media screen and (max-width: 767px) {
  .vxz {
    width: 90%;
  }
}
