@charset "UTF-8";
* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  outline: none;
}

/*==========================================================*/
/*	responsive
-----------------------------------------------------------*/
/*  animation
---------------------------------------------------------------*/
.move {
  transform-origin: center top;
  transition: all 0.8s;
  opacity: 0;
  transform: translate(0, 30px) scale(1);
}
.move.moving {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

/*	css
-----------------------------------------------------------*/
/*==========================================================*/
html {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
select,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
button,
caption,
cite,
code,
dfn,
em,
input,
optgroup,
option,
select,
strong,
textarea,
th,
var {
  font: inherit;
}

del,
ins {
  text-decoration: none;
}

li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: baseline;
}

sub {
  vertical-align: baseline;
}

strong {
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

body,
html {
  width: 100%;
  height: 100%;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Helvetica Neue", Meiryo, メイリオ, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.subtext *,
canvas,
.is_dragging *,
.js-draw-text,
.subtitles,
.subtitles span,
.to-scroll,
.menu-li .in,
.menu-li a,
.single-sub-title span,
.work-sub-title span,
.link,
.view-more a,
.work-title a,
.unselectable {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-drag: none;
  -khtml-user-drag: none;
}

[class^=icon-],
[class*=" icon-"] {
  font-family: "icon" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.i-fb:before {
  content: "f";
}

.i-tw:before {
  content: "t";
}

.i-inst:before {
  content: "i";
}

.i {
  font-family: "i";
}

.is_waiting body {
  overflow: hidden !important;
}

body,
a {
  color: #333;
}

article {
  display: block;
}

video,
img,
canvas {
  vertical-align: bottom;
}

a {
  text-decoration: none;
}

.table {
  display: table;
  width: 100%;
  height: 100%;
}

/*	input
-----------------------------------------------------------*/
input[type=text],
input[type=email] {
  width: auto;
  height: 5rem;
  border: 1px solid #999999;
  color: #000;
  padding: 0px 1rem;
  -webkit-appearance: none;
  outline: 0;
  border-radius: 0px;
  box-sizing: border-box;
}
@media only screen and (max-width: 380px) {
  input[type=text],
  input[type=email] {
    width: 100%;
    height: 4rem;
    border: 1px solid #999999;
    color: #000;
    padding: 0px 1rem;
    -webkit-appearance: none;
    outline: 0;
    border-radius: 0px;
    box-sizing: border-box;
  }
}

/* ===== select ===== */
label.select_cover {
  position: relative;
  display: inline-block;
}
@media only screen and (max-width: 380px) {
  label.select_cover {
    width: 100%;
  }
}
label.select_cover:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 17px;
  right: 5px;
  display: inline-block;
  margin-right: 10px;
  border: 5px solid transparent;
  border-color: black black transparent transparent;
  width: 0;
  height: 0;
  pointer-events: none;
  transform: rotate(135deg);
}
@media only screen and (max-width: 380px) {
  label.select_cover:before {
    top: 12px;
  }
}

textarea {
  width: 300px;
  min-height: 200px;
  border: 1px solid #999999;
  color: #000;
  padding: 15px 10px;
}
@media only screen and (max-width: 380px) {
  textarea {
    width: 100%;
    min-height: 200px;
    border: 1px solid #999999;
    color: #000;
    padding: 10px 10px;
    box-sizing: border-box;
    border-radius: 1px;
    -webkit-appearance: none;
    line-height: 1.4;
  }
}

select {
  position: relative;
  z-index: 1;
  border: 1px solid #999999;
  box-sizing: border-box;
  color: #000;
  width: 450px;
  padding: 0 10px;
  border-radius: 1px;
  background-color: white;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
@media only screen and (max-width: 380px) {
  select {
    width: 100%;
    padding: 0 10px;
  }
}

select::-ms-expand {
  display: none;
}

/*  img
---------------------------------------------------------------*/
img {
  border: none;
}

/*  cf
---------------------------------------------------------------*/
/* .〇〇:after {
    content: '';
    display: table;
    clear: both;
} */
/*  align
---------------------------------------------------------------*/
.center {
  text-align: center !important;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

/*  ul
---------------------------------------------------------------*/
li {
  list-style-type: none;
}

/*  font
---------------------------------------------------------------*/
:root {
  --max-size: 1.66rem;
  --base-size: 1.4rem;
  --slide-tb: 120vw;
  --slide-mb: 150vw;
  --land-mb: 80vw;
}

.font {
  font-size: calc(var(--base-size) * 1.9);
}

.red {
  color: #e60012;
}

.orange {
  color: #d47714;
}

/*==========================================================*/
/*==========================================================*/
/*==========================================================*/
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9991;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #preloader #progressInner {
    width: 25rem;
  }
}
#preloader #progressInner #progressImgWrap {
  position: relative;
  flex: 0 1 800px;
  overflow: hidden;
}
#preloader #progressInner #progressImgWrap span {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  background: #fff;
  display: block;
  transform: translate(100%, 0);
}
#preloader #progressInner #progressImgWrap #progressimgBox {
  z-index: 2;
  overflow: hidden;
  transition: all 0.5s ease-out 0.5s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#preloader #progressInner #progressImgWrap #progressimgBox img {
  width: 20rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #preloader #progressInner #progressImgWrap #progressimgBox img {
    width: 100%;
  }
}
#preloader #progressInner #progressImgWrap .progressTxtWrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 0.5rem auto 0;
  position: relative;
}
#preloader #progressInner #progressImgWrap .progressTxtWrap #progressTxt {
  font-size: 1.4rem;
  color: #aaa;
}
#preloader #progressInner #progressImgWrap .progressTxtWrap .yey {
  position: relative;
  margin-left: 1rem;
  padding-left: 1rem;
  font-size: 1.4rem;
  color: #333;
}
#preloader #progressInner #progressImgWrap .progressTxtWrap .yey:before {
  content: "";
  display: block;
  width: 1px;
  height: 21px;
  background-color: #9b9b9b;
  background-color: #d1d3d5;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(38deg);
}

#progressBar {
  width: 0;
  height: 1px;
  background-color: #0080cc;
}

#progressTxt {
  text-align: center;
  margin-top: 5px;
  color: #0080cc;
}

.loadingLine {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  transform-origin: left;
  transform: scaleY(1);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.68, 0.01, 0.65, 0.98);
  transition-property: transform;
  z-index: 1000;
}

.loadingLine01 {
  background: #fff;
  z-index: 103;
}

.loadingLine02 {
  background: #eee;
  z-index: 98;
  transition-delay: 0.2s;
}

.loadingLine03 {
  background: #1f2025;
  z-index: 97;
  transition-delay: 0.3s;
}

.loadingLine04 {
  background: #fff;
  z-index: 99;
  transition: none;
}

.loadFin .loadingLine {
  transform-origin: top;
  transform: scaleY(0);
}

#wrap {
  position: relative;
  z-index: 91;
}

.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner1100 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.inner1200 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.inner1400 {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.innerDX1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

.innerDX1100 {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

.innerDX1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

.innerDX1400 {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

.innerDX1600 {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

.innerDX {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}

@media only screen and (max-width: 768px) {
  .inner,
  .inner1100,
  .inner1200,
  .inner1400 {
    width: 100%;
    margin: 0 auto;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .spOnly {
    width: 100%;
    margin: 0 auto;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}
.default {
  padding: 140px 0;
}
@media only screen and (max-width: 768px) {
  .default {
    padding: 60px 0;
  }
}

.fit {
  width: 100%;
  height: auto;
}

.btnLine a {
  display: inline-block;
  margin: 0 auto;
  position: relative;
  color: #ddd;
  text-align: right;
  padding: 0;
  padding-top: 1.38889vw;
  padding-bottom: 1.38889vw;
  padding-left: 20rem;
}
.btnLine a .el_cmnMoreBtn_line-wrap {
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 20rem;
}
.btnLine a .el_cmnMoreBtn_line-wrap span {
  height: 1px;
  background: #ddd;
  transform: scaleX(1);
  display: block;
  will-change: transform;
  transform-origin: left;
  backface-visibility: hidden;
  width: calc(100% - 0vw);
  transition: transform 0.4s ease-out, background 500ms linear;
}
.btnLine a .mi-wrap {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.btnLine a .mi-wrap p {
  transform: translateY(0);
  line-height: 1;
}
.btnLine a:hover .el_cmnMoreBtn_line-wrap span {
  /* -webkit-transform: scaleX(1); */
  transform: scaleX(0);
  transform-origin: right;
}
.btnLine a:hover .mi-wrap p {
  animation: ahButtonText 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  animation-delay: 0.2s;
}

.js-mouse {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #000;
  position: absolute;
  transition: 0.1s;
}
@media only screen and (max-width: 768px) {
  .js-mouse {
    display: none;
  }
}

.cursor-follower {
  position: absolute;
  background-color: rgba(0, 46, 191, 0.06);
  width: 20px;
  height: 20px;
  border-radius: 100%;
  z-index: 1;
  transition: 0.3s cubic-bezier(0.75, -1.27, 0.3, 2.33) transform, 0.1s cubic-bezier(0.75, -0.27, 0.3, 1.33) opacity;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  z-index: 10000;
  transform: translate(5px, 5px);
}
.cursor-follower.active {
  opacity: 0.7;
  transform: scale(2);
}
@media only screen and (max-width: 768px) {
  .cursor-follower {
    display: none;
  }
}

/*=========================================================*/
/*	SEC*/
/*=========================================================*/
.secMainvisualMai {
  position: relative;
  overflow: hidden;
  background: #1f2025;
  min-height: 34rem;
  padding: 9rem 0 5rem;
}
@media only screen and (max-width: 768px) {
  .secMainvisualMai {
    min-height: auto;
    padding: 6rem 0 6rem;
  }
}
.secMainvisualMai .bgLogoA {
  position: absolute;
  top: 3rem;
  right: 3rem;
  width: 44rem;
}
@media only screen and (max-width: 768px) {
  .secMainvisualMai .bgLogoA {
    width: 15rem;
  }
}
.secMainvisualMai .bgText {
  position: absolute;
  bottom: 0rem;
  left: 3rem;
  font-size: 11.6rem;
  line-height: 12rem;
  color: #fff;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  opacity: 0.1;
}
@media only screen and (max-width: 768px) {
  .secMainvisualMai .bgText {
    left: 3rem;
    font-size: 5.6rem;
    line-height: 6rem;
  }
}
.secMainvisualMai ._in .innerDX1400 {
  max-width: none;
}
.secMainvisualMai ._in .inin h1 {
  font-size: 4.6rem;
  line-height: 6rem;
  font-weight: bold;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #fff;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .secMainvisualMai ._in .inin h1 {
    font-size: 3.6rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}

#breadcrumbs {
  color: #fff;
  position: absolute;
  top: 35rem;
  left: 6.25%;
  z-index: 100;
}
@media only screen and (max-width: 768px) {
  #breadcrumbs {
    top: 20rem;
  }
}
#breadcrumbs a,
#breadcrumbs .breadcrumb_last {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2.1rem;
}

/*=========================================================*/
/*	お問い合わせ*/
/*=========================================================*/
.contactTopWrap {
  padding: 10rem 0;
  background: #f6f6f6;
}
@media only screen and (max-width: 768px) {
  .contactTopWrap {
    padding: 6rem 0;
  }
}
.contactTopWrap .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .contactTopWrap .flexWrap {
    display: block;
  }
}
.contactTopWrap .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 4rem 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .contactTopWrap .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.contactTopWrap .flexWrap .textBox .inin .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  color: #d47714;
  margin-bottom: 2rem;
}
.contactTopWrap .flexWrap .textBox .inin .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.contactTopWrap .flexWrap .textBox .inin .ttlX h2 {
  color: #111;
  font-size: 3rem;
  line-height: 5rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .contactTopWrap .flexWrap .textBox .inin .ttlX h2 {
    font-size: 3rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}
.contactTopWrap .flexWrap .imgBox {
  position: relative;
  flex-basis: 45rem;
  margin-top: 3rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .contactTopWrap .flexWrap .imgBox {
    margin-bottom: 0rem;
  }
}

.contactMiddleWrap {
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap {
    padding: 6rem 0;
  }
}
.contactMiddleWrap ._in .ttlAX {
  text-align: center;
}
.contactMiddleWrap ._in .ttlAX .sub {
  position: relative;
  color: #222;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.contactMiddleWrap ._in .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #222;
}
.contactMiddleWrap ._in .ttlAX h2 {
  color: #222;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap ._in .ttlAX h2 {
    font-size: 4.5rem;
    line-height: 5rem;
    margin-bottom: 3rem;
  }
}
.contactMiddleWrap ._in .zoomWra .zoomIn {
  display: flex;
  justify-content: center;
  align-items: center;
}
.contactMiddleWrap ._in .zoomWra .zoomIn .imgimg {
  width: 8rem;
}
.contactMiddleWrap ._in .zoomWra .zoomIn dl {
  margin-left: 1rem;
}
.contactMiddleWrap ._in .zoomWra .zoomIn dl dt {
  font-size: 2.6rem;
  line-height: 2.6rem;
  font-weight: bold;
  /* margin-bottom: 2rem; */
  font-family: arial;
}
.contactMiddleWrap ._in .textC {
  margin: 3rem 0 6rem;
  text-align: center;
}
.contactMiddleWrap ._in .contactMovieWrap {
  position: relative;
}
.contactMiddleWrap ._in .contactMovieWrap .movieIn {
  position: relative;
  display: flex;
}
.contactMiddleWrap ._in .contactMovieWrap .movieIn .contactOnline {
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 4.2rem;
  letter-spacing: 0.2rem;
  font-feature-settings: "palt";
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap ._in .contactMovieWrap .movieIn .contactOnline {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 2.2rem;
  }
}
.contactMiddleWrap ._in .contactMovieWrap .movieIn .contactOnline span {
  background: #d47714;
  color: #fff;
  display: inline-block;
  padding: 3rem 1rem;
}
.contactMiddleWrap ._in .contactMovieWrap .movieIn .movieCCC {
  margin-left: 5rem;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap ._in .contactMovieWrap .movieIn .movieCCC {
    margin-left: 2rem;
  }
}
.contactMiddleWrap ._in .contactMovieWrap .movieIn .movieCCC video {
  width: 100%;
  height: auto;
}
.contactMiddleWrap ._in .t01 {
  margin-top: 4rem;
}
.contactMiddleWrap ._in .t01 dl dt {
  color: #111;
  font-size: 2.8rem;
  line-height: 3.4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap ._in .t01 dl dt {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 1.5rem;
  }
}
.contactMiddleWrap ._in .t02 {
  background: #f6f6f6;
  margin-top: 5rem;
  padding: 3rem 3rem;
  position: relative;
}
.contactMiddleWrap ._in .t02::before {
  content: "";
  background: #d47714;
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.contactMiddleWrap ._in .t02 .ininin .tellLeft {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .contactMiddleWrap ._in .t02 .ininin .tellLeft {
    margin-right: 0rem;
    padding-right: 0rem;
    margin-top: 3rem;
    margin-bottom: 2rem;
    padding-bottom: 0rem;
    border-right: none;
  }
}
.contactMiddleWrap ._in .t02 .ininin .tellLeft a {
  color: #000;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2.1rem;
  letter-spacing: 0.08rem;
  font-family: "Amiri", serif;
}
.contactMiddleWrap ._in .t02 .ininin .tellLeft a .numnum {
  font-size: 3.4rem;
  display: inline;
}

/*=========================================================*/
/*	contact*/
/*=========================================================*/
/*=========================================================*/
/*	CONTACT*/
/*=========================================================*/
.contactTitleBody {
  margin-bottom: 6rem;
}

._dede {
  padding-top: 12rem;
}
@media only screen and (max-width: 768px) {
  ._dede {
    padding-top: 8rem;
  }
}

.contactTopTitle {
  padding-top: 12rem;
}
@media only screen and (max-width: 768px) {
  .contactTopTitle {
    padding-top: 8rem;
  }
}
.contactTopTitle .centerTI {
  text-align: center;
}
.contactTopTitle .centerTI h2 {
  font-size: 2.4rem;
  background: #eaf7ff;
  display: inline-block;
  margin-bottom: 10rem;
  padding: 1rem 2rem;
}
@media only screen and (max-width: 768px) {
  .contactTopTitle .centerTI h2 {
    margin-bottom: 5rem;
  }
}

.thanks {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .thanks {
    margin-bottom: 10rem;
  }
}

.sec_contact {
  /*	Form
  ---------------------------------------------------------------*/
  /* address Number */
  /* ===== radiobox ===== */
  /* ===== select ===== */
  /* input全体に指定する場合は以下 */
  /* ボタンだけに指定する場合は以下 */
}
@media only screen and (max-width: 768px) {
  .sec_contact .contactInfo {
    width: 100%;
  }
}
.sec_contact .contactInfo .contactSpace {
  padding-right: 0;
  padding-left: 0;
}
.sec_contact input[type=radio],
.sec_contact input[type=checkbox] {
  vertical-align: middle;
  margin: 0 0.2rem 0 1rem;
}
.sec_contact .checkBody label,
.sec_contact .searchandfilter label {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0.1rem;
  padding: 0px 30px;
  position: relative;
  width: auto;
  /* チェックボックス01 */
}
@media only screen and (max-width: 768px) {
  .sec_contact .checkBody label,
  .sec_contact .searchandfilter label {
    margin-bottom: 0.6rem;
  }
}
.sec_contact .checkBody label input[type=checkbox],
.sec_contact .searchandfilter label input[type=checkbox] {
  display: none;
}
.sec_contact .checkBody label::before,
.sec_contact .searchandfilter label::before {
  background: #fff;
  border: 1px solid #999999;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.sec_contact .checkBody label::after,
.sec_contact .searchandfilter label::after {
  border-right: 3px solid #0080cc;
  border-bottom: 3px solid #0080cc;
  content: "";
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}
.sec_contact .checkBody label input[type=checkbox]:checked + span::after,
.sec_contact .searchandfilter label input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.sec_contact .checkBody label.selected:after,
.sec_contact .searchandfilter label.selected:after {
  opacity: 1;
}
.sec_contact .checkBody.searchandfilter label,
.sec_contact .searchandfilter.searchandfilter label {
  padding: 0px 20px 0 30px;
}
.sec_contact input[type=radio]:checked {
  background: rgb(48, 153, 211);
  border-color: rgb(5, 131, 201);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.3);
}
.sec_contact label {
  display: inline-block;
  cursor: pointer;
}
.sec_contact.input .contactForm,
.sec_contact .check .contactForm {
  width: 100%;
  max-width: 1000px;
  display: block;
  margin: 0 auto 0px;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm,
  .sec_contact .check .contactForm {
    width: 100%;
  }
}
.sec_contact.input .contactForm .formIn,
.sec_contact .check .contactForm .formIn {
  margin-bottom: 0.3rem;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm .formIn,
  .sec_contact .check .contactForm .formIn {
    margin-bottom: 2rem;
  }
}
.sec_contact .contactForm dl::after {
  content: "";
  display: table;
  clear: both;
}
.sec_contact .contactForm dl {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  background: url(../img/line3.gif) repeat-x bottom left;
  background-size: 8px;
}
@media only screen and (max-width: 768px) {
  .sec_contact .contactForm dl {
    margin-bottom: 1.6rem;
    padding-bottom: 1.5rem;
  }
}
.sec_contact .contactForm dl:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
.sec_contact.input .contactForm dt {
  float: left;
  font-weight: bold;
  position: relative;
  padding-top: 0.1rem;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dt {
    float: none;
    width: 100%;
    font-weight: bold;
    position: relative;
    padding-top: 1rem;
    margin-bottom: 2rem;
  }
}
.sec_contact.input .contactForm dt::after {
  content: "";
  display: table;
  clear: both;
}
.sec_contact.input .contactForm dd {
  margin: 0 0 0px 20rem;
  position: relative;
  text-align: left;
}
.sec_contact.input .contactForm dd span.small {
  font-size: 1rem;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd span.small {
    line-height: 1.5;
    display: inline-block;
  }
  .sec_contact.input .contactForm dd span.small._mailSmall {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd {
    position: relative;
    text-align: left;
    margin: 0 0 0px 0px;
  }
}
.sec_contact.input .contactForm dd.checkBody .wrap-checkbox {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
.sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item {
  margin-bottom: 1rem;
}
.sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .sec_contact.input .contactForm dd.checkBody .wrap-checkbox .wpcf7-list-item:last-child {
    margin-bottom: 0;
  }
}
.sec_contact.input .contactForm dd .error {
  font-size: 14px;
  color: #F00;
}
.sec_contact.input .contactForm .checkSpecial dt {
  padding-top: 0rem;
}
.sec_contact.input .contactForm .checkSpecial dd br {
  display: none;
}
.sec_contact.input .contactForm dd.select_Wrap label {
  width: 100%;
}
.sec_contact.input .contactForm dd.select_Wrap label br {
  display: none;
}
.sec_contact.input .contactForm dd input[type=text], .sec_contact.input .contactForm dd input[type=email] {
  width: 100%;
  height: 50px;
  border: 1px solid #999999;
  font-size: 1.3rem;
  color: #000;
  padding: 0px 10px;
  -webkit-appearance: none;
  outline: 0;
  border-radius: 0px;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd input[type=text], .sec_contact.input .contactForm dd input[type=email] {
    width: 100%;
    height: 42px;
    border: 1px solid #999999;
    font-size: 13px;
    color: #000;
    padding: 0px 10px;
    -webkit-appearance: none;
    outline: 0;
    border-radius: 0px;
    box-sizing: border-box;
  }
}
.sec_contact.input .contactForm dd input#zip[type=text] {
  width: 25rem;
}
@media only screen and (max-width: 1400px) {
  .sec_contact.input .contactForm dd input#zip[type=text] {
    width: 30rem;
  }
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd input#zip[type=text] {
    width: 15rem;
    margin-bottom: 2rem;
  }
}
.sec_contact.input .contactForm dd select#address01 {
  width: 25rem;
  font-size: 13px;
}
@media only screen and (max-width: 1400px) {
  .sec_contact.input .contactForm dd select#address01 {
    width: 30rem;
  }
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd select#address01 {
    width: 100%;
  }
}
.sec_contact.input .contactForm dd .flexAddress {
  display: flex;
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd .flexAddress {
    display: block;
  }
}
.sec_contact.input .contactForm dd .flexAddress br {
  display: none;
}
.sec_contact.input .contactForm dd .flexAddress .select_cover {
  margin-left: auto;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd .flexAddress .select_cover {
    display: block;
  }
}
.sec_contact.input .contactForm dd .flexAddress .address01 {
  margin-left: auto;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd .flexAddress .address01 {
    display: block;
  }
}
.sec_contact.input .contactForm dd input:focus, .sec_contact.input .contactForm dd textarea:focus {
  outline: 0;
  box-shadow: 0px 0px 4px 1px #3da4de;
  -moz-box-shadow: 0px 0px 4px 1px #3da4de;
  -webkit-box-shadow: 0px 0px 4px 1px #3da4de;
}
.sec_contact.input .contactForm dd textarea {
  width: 100%;
  border: 1px solid #999999;
  font-size: 15px;
  color: #000;
  padding: 15px 10px;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm dd textarea {
    width: 100% !important;
    min-height: 200px !important;
    border: 1px solid #999999;
    font-size: 14px;
    color: #000;
    padding: 10px 10px;
    box-sizing: border-box;
    border-radius: 1px;
    -webkit-appearance: none;
    line-height: 1.4;
  }
}
.sec_contact input[type=radio] {
  box-sizing: border-box;
  padding: 0;
  display: none;
}
.sec_contact .doui {
  text-align: center;
  margin: 0.2rem 0 0.3rem;
}
@media only screen and (max-width: 768px) {
  .sec_contact .doui {
    margin: 1rem 2rem;
  }
}
.sec_contact .doui label {
  /* チェックボックス01 */
}
.sec_contact .doui label input[type=checkbox] {
  display: none;
}
.sec_contact .doui label span {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}
.sec_contact .doui label span::before {
  background: #fff;
  border: 1px solid #999999;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.sec_contact .doui label span::after {
  border-right: 3px solid #ff0000;
  border-bottom: 3px solid #ff0000;
  content: "";
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}
.sec_contact .doui label input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.sec_contact .mwform-radio-field label span {
  box-sizing: border-box;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 4px 12px 4px 24px !important;
  border-radius: 8px;
  vertical-align: middle;
  cursor: pointer;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-align: left;
}
.sec_contact .mwform-radio-field label:hover:after {
  border-color: #333;
}
.sec_contact .mwform-radio-field label span:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 1px solid #333;
  border-radius: 50%;
  content: "";
}
.sec_contact .mwform-radio-field label span:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin-top: -5px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #333;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
}
.sec_contact input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}
.sec_contact input[type=radio]:checked + .mwform-radio-field-text:before,
.sec_contact input[type=radio]:checked + .radiobox_sp:before {
  opacity: 1;
}
.sec_contact input[type=radio]:checked + .wpcf7-list-item-label:before,
.sec_contact input[type=radio]:checked + .radiobox_sp:before {
  opacity: 1;
}
.sec_contact label.select_cover {
  position: relative;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .sec_contact label.select_cover {
    width: 100%;
  }
}
.sec_contact .contactForm select {
  position: relative;
  z-index: 1;
  width: 20rem;
  height: 50px;
  border: 1px solid #999999;
  box-sizing: border-box;
  color: #808080;
  border-radius: 1px;
  background-color: white;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
@media only screen and (max-width: 768px) {
  .sec_contact .contactForm select {
    width: 100%;
    height: 42px;
    padding: 0 10px;
    font-size: 14px;
  }
}
.sec_contact select::-ms-expand {
  display: none;
}
.sec_contact label.select_cover:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 17px;
  right: 5px;
  display: inline-block;
  margin-right: 10px;
  border: 5px solid transparent;
  border-color: #808080 #808080 transparent transparent;
  width: 0;
  height: 0;
  pointer-events: none;
  transform: rotate(135deg);
}
@media only screen and (max-width: 768px) {
  .sec_contact label.select_cover:before {
    top: 12px;
  }
}
.sec_contact input[type=submit],
.sec_contact .submit_area input[type=button] {
  background-color: #d47714;
  border-width: 0;
  color: #fff;
  cursor: pointer;
  font-size: 1.5rem;
  text-align: center;
  padding: 1.5rem 8rem;
  position: relative;
  transition: all 0.2s ease-out;
}
@media only screen and (max-width: 768px) {
  .sec_contact input[type=submit],
  .sec_contact .submit_area input[type=button] {
    min-width: 240px;
    padding: 1.5rem 3rem;
  }
}
.sec_contact input[type=submit]:hover {
  opacity: 0.7;
}
.sec_contact input {
  -webkit-appearance: none;
}
.sec_contact input[type=button] {
  -webkit-appearance: none;
}
.sec_contact .wpcf7-not-valid-tip {
  font-size: 1rem;
  color: #ff0000;
}
@media only screen and (max-width: 768px) {
  .sec_contact .wpcf7-not-valid-tip {
    font-size: 1rem;
  }
}

.screen-reader-response {
  display: none;
}

.wpcf7-response-output {
  display: none;
}

.inv-recaptcha-holder {
  margin-bottom: 0;
}
.inv-recaptcha-holder .grecaptcha-badge {
  margin: 20px auto;
}

.checkBody label,
.searchandfilter label {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 0.1rem;
  padding: 0px 30px;
  position: relative;
  width: auto;
  /* チェックボックス01 */
}
@media only screen and (max-width: 768px) {
  .checkBody label,
  .searchandfilter label {
    margin-bottom: 0.6rem;
  }
}
.checkBody label input[type=checkbox],
.searchandfilter label input[type=checkbox] {
  display: none;
}
.checkBody label::before,
.searchandfilter label::before {
  background: #fff;
  border: 1px solid #999999;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}
.checkBody label::after,
.searchandfilter label::after {
  border-right: 3px solid #00692f;
  border-bottom: 3px solid #00692f;
  content: "";
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}
.checkBody label input[type=checkbox]:checked + span::after,
.searchandfilter label input[type=checkbox]:checked + span::after {
  opacity: 1;
}
.checkBody label.selected:after,
.searchandfilter label.selected:after {
  opacity: 1;
}
.checkBody.searchandfilter label,
.searchandfilter.searchandfilter label {
  padding: 0px 20px 0 30px;
}

.bgGrayA {
  background: #f6f6f6;
  padding: 8rem 0 8rem 0;
}
@media only screen and (max-width: 768px) {
  .bgGrayA {
    padding: 6rem 0 6rem 0;
  }
}

._whiteOff {
  background: none !important;
}

.sec_online.input .contactForm {
  margin-bottom: 3rem;
}

.wpcf7-spinner {
  display: none !important;
}

.contactLastWrap ._in {
  text-align: center;
}
.contactLastWrap ._in h2 {
  position: relative;
  font-size: 3.2rem;
  line-height: 4.4rem;
  font-weight: bold;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .contactLastWrap ._in h2 {
    font-size: 2.8rem;
    line-height: 3.8rem;
    margin-bottom: 4rem;
    padding-bottom: 3rem;
  }
}
.contactLastWrap ._in h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0px);
  background: #00692f;
  width: 6rem;
  height: 1px;
}
.contactLastWrap ._in .textC {
  margin-bottom: 3rem;
}
.contactLastWrap ._in .sub {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 500;
  margin-bottom: 6rem;
}

._thanks {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  ._thanks {
    padding: 6rem 0;
  }
}

/*=========================================================*/
/*	新着情報*/
/*=========================================================*/
.sec_news ._newsText ._in {
  text-align: center;
}
.sec_news ._newsText .leftTitle {
  display: none;
}
.sec_news ._newsText .rightMain {
  width: 100%;
}

/*	NEWS
---------------------------------------------------------------*/
.news {
  width: 100%;
  position: relative;
}
.news .companyBox {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .news .companyBox {
    margin-top: 5rem;
  }
}

.news .newsOuter {
  position: relative;
  margin: 0 auto 0px;
}

.newsList {
  margin-top: 0px;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .newsList {
    margin-top: 0px;
    margin-bottom: 6rem;
  }
}

.news .newsOuter .title {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter .title {
    margin-bottom: 15px;
  }
}

.news .newsOuter .title .eng02 {
  font-size: 3.4rem;
  font-weight: 600;
  letter-spacing: 0.24em;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter .title .eng02 {
    font-size: 2.4rem;
    letter-spacing: 0.14em;
  }
}

.news .newsOuter ul {
  text-align: left;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter ul {
    margin-bottom: 6rem;
  }
}

.news .newsOuter ul li:first-child {
  border-top: 1px dashed #b4b4b4;
}

.news .newsOuter ul li {
  border-bottom: 1px dashed #b4b4b4;
  padding: 3rem 3rem 3rem;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter ul li {
    padding: 1.5rem 0%;
  }
}
.news .newsOuter ul li a {
  display: block;
}

.news .newsOuter ul li dl dt {
  color: #333;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 3rem;
  letter-spacing: 0.06em;
  vertical-align: top;
  display: inline-block;
  padding-right: 2.5rem;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter ul li dl dt {
    margin-bottom: 0rem;
  }
}

.news .newsOuter ul li dl dd {
  width: 780px;
  vertical-align: middle;
  font-size: 1.5rem;
  line-height: 3rem;
  letter-spacing: 0.06em;
  display: inline-block;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter ul li dl dd {
    width: 100%;
    font-size: 1.6rem;
  }
}

.news .newsOuter ul li dl dd a {
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  .news .newsOuter ul li dl dd a {
    font-size: 1.5rem;
  }
}

.news .newsOuter ul li dl dd a:hover {
  text-decoration: underline;
}

/*	詳細
---------------------------------------------------------------*/
.nDetail {
  padding-top: 0px;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .nDetail {
    padding-top: 0px;
    padding-bottom: 6rem;
  }
}
.nDetail .detailBox a {
  text-decoration: underline;
  color: #0080cc;
}
.nDetail .detailBox a:hover {
  text-decoration: none;
}

.nDetail .newsInnerTop {
  margin: 0px auto 0px !important;
}

.newsDetail h2.mainT {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 4rem;
  padding-bottom: 1.5rem;
  text-align: left;
  border-bottom: 2px solid #00692f;
}
@media only screen and (max-width: 768px) {
  .newsDetail h2.mainT {
    font-size: 2rem;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
  }
}

.companyBox .inBtn {
  text-align: center;
}
.companyBox .inBtn a {
  background: #fff;
  color: #00692f;
  border: 1px solid #00692f;
  font-size: 1.4rem;
  font-family: arial;
  font-weight: bold;
  padding: 1.5rem 5rem;
  border-radius: 4rem;
  display: inline-block;
  transition: all 0.4s;
}
.companyBox .inBtn a:hover {
  opacity: 0.7;
}

.newsDetail .detailBox {
  text-align: left;
  min-height: 150px;
}
.newsDetail .detailBox ul {
  margin-left: 2rem;
}
.newsDetail .detailBox ul li {
  list-style-type: disc;
  margin-top: 1rem;
}
.newsDetail .detailBox ol {
  margin-left: 2rem;
}
.newsDetail .detailBox ol li {
  list-style-type: decimal;
  margin-top: 1rem;
}
.newsDetail .detailBox h2 {
  border-left: 4px solid #00692f;
  margin-top: 4rem;
  margin-bottom: 2rem;
  padding-left: 12px;
  font-size: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .newsDetail .detailBox h2 {
    font-size: 2.2rem;
    margin-top: 3rem;
  }
}
.newsDetail .detailBox h3 {
  margin-top: 4rem;
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  color: #00692f;
}
@media only screen and (max-width: 768px) {
  .newsDetail .detailBox h3 {
    font-size: 2.2rem;
  }
}

.newsDetail .btnA {
  margin-top: 6rem;
  text-align: center;
}
.newsDetail .btnA a {
  margin: 0 auto;
}

.newsDetail h3#mainTitle {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  letter-spacing: 0.04em;
  text-align: left;
  line-height: 1.4;
  border-bottom: 2px solid #00692f;
  background: none;
  color: #333;
  height: auto;
  text-align: left;
  display: block;
  margin-top: 5rem;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}
.newsDetail h3#mainTitle:before {
  display: none;
}
@media only screen and (max-width: 768px) {
  .newsDetail h3#mainTitle {
    font-size: 1.8rem;
    margin-top: 0px;
    margin-bottom: 1.5rem;
  }
}

.newsDetail .days {
  text-align: left;
  margin-bottom: 1rem;
  color: #888;
  font-size: 1.5rem;
}

.newsDetail ul {
  margin-left: 2rem;
}

.newsDetail ul li {
  text-align: left;
  list-style-type: disc;
}

.newsDetail .detailBox {
  margin-bottom: 5rem;
}

.newsDetail .detailBox h3 {
  margin: 3rem 0 1rem 0;
}

.newsDetail .detailBox dt,
.newsDetail .detailBox dd,
.newsDetail .detailBox p,
.newsDetail .detailBox li {
  color: #333;
  font-size: 1.5rem;
  line-height: 3.2rem;
  letter-spacing: 0rem;
}

.btn_newsList a {
  margin-top: 1rem;
  display: inline-block;
  background-color: #00692f;
  vertical-align: top;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  padding: 1.5rem 10rem;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
@media only screen and (max-width: 768px) {
  .btn_newsList a {
    padding-right: 0px;
    padding-left: 0px;
    width: 100%;
    font-size: 1.5rem;
  }
}
.btn_newsList a:hover {
  opacity: 0.8;
}

.newsDetail .btn a {
  width: auto;
  display: inline-block;
  padding-right: 100px;
  padding-left: 100px;
}
@media only screen and (max-width: 768px) {
  .newsDetail .btn a {
    padding-right: 0px;
    padding-left: 0px;
  }
}

/*=========================================================*/
/*	NEWS*/
/*=========================================================*/
.newsTopWrap {
  background: #fff;
}

.worksDetailWrap {
  position: relative;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .worksDetailWrap {
    margin-top: 0rem;
    margin-bottom: 0rem;
    padding-bottom: 0;
  }
}

.newsOuter .newsMain {
  flex: 1;
}
.newsOuter .sideBarContents {
  width: 25rem;
  margin-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents {
    width: 100%;
    margin-left: 0px;
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .cateListA li a {
    font-size: 1.9rem;
    line-height: 3.2rem;
  }
}
.newsOuter .sideBarContents .side_section_Useful,
.newsOuter .sideBarContents .side_section_Archive {
  margin-bottom: 3rem;
}
.newsOuter .sideBarContents .side_section_Useful li,
.newsOuter .sideBarContents .side_section_Archive li {
  position: relative;
  border-top: none;
  border-bottom: 1px dashed #333;
  margin-bottom: 0px;
  padding: 1rem 2rem 1rem 3rem;
  text-align: left;
  font-size: 1.4rem;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .side_section_Useful li,
  .newsOuter .sideBarContents .side_section_Archive li {
    padding: 1.5rem 2rem 1.5rem 3rem;
    font-size: 1.6rem;
  }
}
.newsOuter .sideBarContents .side_section_Useful li:after,
.newsOuter .sideBarContents .side_section_Archive li:after {
  content: "";
  position: absolute;
  top: 2rem;
  left: 1.5rem;
  z-index: 2;
  width: 0;
  height: 0;
  border-left: 0.5rem solid #696969;
  border-top: 0.3rem solid transparent;
  border-bottom: 0.3rem solid transparent;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .side_section_Useful li:after,
  .newsOuter .sideBarContents .side_section_Archive li:after {
    top: 2.5rem;
  }
}
.newsOuter .sideBarContents .side_section_Useful li a,
.newsOuter .sideBarContents .side_section_Archive li a {
  position: relative;
  display: block;
  line-height: 2.6rem;
}
.newsOuter .sideBarContents .side_section_Useful li a.aa,
.newsOuter .sideBarContents .side_section_Archive li a.aa {
  pointer-events: none;
}
.newsOuter .sideBarContents .side_section_Useful li a .days,
.newsOuter .sideBarContents .side_section_Archive li a .days {
  font-size: 1.4rem;
  color: #0080cc;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .side_section_Useful li a .days,
  .newsOuter .sideBarContents .side_section_Archive li a .days {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }
}
.newsOuter .sideBarContents .side_section_Useful li a .sideTitle,
.newsOuter .sideBarContents .side_section_Archive li a .sideTitle {
  font-size: 1.4rem;
  line-height: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .side_section_Useful li a .sideTitle,
  .newsOuter .sideBarContents .side_section_Archive li a .sideTitle {
    font-size: 1.9rem;
    line-height: 3.2rem;
  }
}
.newsOuter .sideBarContents .side_section_Useful li:first-child,
.newsOuter .sideBarContents .side_section_Archive li:first-child {
  border-top: none;
  margin-top: 0px;
}
.newsOuter .sideBarContents .title {
  text-align: center;
  background: #f2f0f4;
  font-weight: bold;
  color: #333;
  margin-bottom: 0rem;
  padding: 0.5rem 0;
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .newsOuter .sideBarContents .title {
    padding: 1.5rem 0;
    font-size: 2rem;
  }
}

.newsDetailMain .btnX a {
  margin: 0 auto;
}
.newsDetailMain .detailBox {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox {
    margin-bottom: 4rem;
  }
}
.newsDetailMain dl {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain dl {
    font-size: 13px;
  }
}
.newsDetailMain dl dt {
  display: inline-block;
  margin-right: 15px;
}
.newsDetailMain dl dd {
  display: inline-block;
}
.newsDetailMain .days {
  text-align: left;
  margin-bottom: 0.05rem;
  color: #888;
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .days {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    letter-spacing: 0.05rem;
  }
}
.newsDetailMain h1,
.newsDetailMain .h1 {
  font-size: 2.8rem;
  font-weight: 600;
  margin-bottom: 4rem;
  padding-bottom: 1.5rem;
  letter-spacing: 0.02rem;
  text-align: left;
  border-bottom: 0.02rem solid #1f2025;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain h1,
  .newsDetailMain .h1 {
    font-size: 2.4rem;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    line-height: 3.4rem;
  }
}
.newsDetailMain .detailBox {
  /*-----------------------------
      ギャラリー
      ------------------------------*/
  /** 自動で挿入される clearfix の余白解除 **/
}
.newsDetailMain .detailBox h2 {
  font-weight: bold;
  font-size: 2rem;
  line-height: 3.4rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 2rem;
  text-align: left;
  background: #1f2025;
  border-bottom: none;
  color: #fff;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h2 {
    font-size: 1.9rem;
    line-height: 3.4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem;
  }
}
.newsDetailMain .detailBox h3 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 3.4rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 2rem;
  text-align: left;
  background: #f2f0f4;
  border-bottom: none;
  color: #1f2025;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h3 {
    font-size: 1.9rem;
    line-height: 3.4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem;
  }
}
.newsDetailMain .detailBox h4 {
  border-left: 4px solid #1f2025;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 3.4rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 0 0 0 1.4rem;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h4 {
    font-size: 1.9rem;
    line-height: 3.4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 0 0 0 1rem;
  }
}
.newsDetailMain .detailBox h5 {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 3.4rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h5 {
    font-size: 1.9rem;
    line-height: 3.4rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
.newsDetailMain .detailBox h6 {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h6 {
    font-size: 1.8rem;
    line-height: 3.6rem;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox p {
  font-size: 1.7rem;
  line-height: 3rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox p {
    font-size: 1.9rem;
    line-height: 3.4rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox ul {
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox ul {
    margin-left: 2rem;
  }
}
.newsDetailMain .detailBox ul li {
  list-style-type: disc;
  font-size: 1.7rem;
  line-height: 3rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox ul li {
    font-size: 1.9rem;
    line-height: 3.4rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox table {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox table {
    font-size: 1.2rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox iframe {
    width: 100%;
  }
}
.newsDetailMain .detailBox .gallery {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
.newsDetailMain .detailBox .gallery {
  /** ギャラリーを囲むボックス **/
  width: 100%;
  margin-bottom: 20px !important;
  overflow: hidden;
}
.newsDetailMain .detailBox .gallery br {
  display: none;
}
.newsDetailMain .detailBox .gallery-item {
  /** 画像共通のスタイル **/
  float: left;
  margin-bottom: 0 !important;
}
.newsDetailMain .detailBox .gallery-icon {
  /** 画像を囲む dt のスタイル **/
  text-align: center;
}
.newsDetailMain .detailBox .gallery-icon img {
  width: 100%;
  height: auto;
  margin-bottom: 10px !important;
}
.newsDetailMain .detailBox .gallery-caption {
  /** キャプション **/
  color: #222;
  font-size: 1.4rem;
  margin: 0 0 1rem;
  text-align: center;
}
.newsDetailMain .detailBox .gallery-columns-1 .gallery-item {
  /** カラムなし **/
  width: 100%;
  margin-right: 0;
}
.newsDetailMain .detailBox .gallery-columns-2 .gallery-item {
  /** 2カラム **/
  width: 48%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-3 .gallery-item {
  /** 3カラム **/
  width: 31.33333%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-4 .gallery-item {
  /** 4カラム **/
  width: 23%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-5 .gallery-item {
  /** 5カラム **/
  width: 18%;
  margin: 0 1%;
}
@media screen and (max-width: 768px) {
  .newsDetailMain .detailBox {
    /* 640px以下用の記述 */
  }
  .newsDetailMain .detailBox .gallery-columns-3 .gallery-item,
  .newsDetailMain .detailBox .gallery-columns-4 .gallery-item {
    width: 48%;
    margin: 0 1%;
  }
  .newsDetailMain .detailBox .gallery-columns-5 .gallery-item {
    width: 31.33333%;
    margin: 0 1%;
  }
}

.newsBodyMain .news_list {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain .news_list {
    margin-bottom: 2rem;
  }
}
.newsBodyMain ul {
  text-align: left;
}
.newsBodyMain ul li {
  border-bottom: 1px solid #444;
  padding: 3rem 2rem;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li {
    padding: 3rem 0rem;
  }
}
.newsBodyMain ul li:first-child {
  border-top: 1px solid #444;
}
.newsBodyMain ul li dl dt {
  font-size: 1.6rem;
  color: #0080cc;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dt {
    font-size: 1.8rem;
  }
}
.newsBodyMain ul li dl dt a,
.newsBodyMain ul li dl dt .a {
  min-width: 11rem;
  display: inline-block;
  margin-left: 2rem;
  padding: 0.2rem 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  color: #1f2025;
  background: #ffd129;
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dt a,
  .newsBodyMain ul li dl dt .a {
    margin-left: 1rem;
    font-size: 1.8rem;
  }
}
.newsBodyMain ul li dl dd {
  letter-spacing: 0.06em;
  width: 100%;
  vertical-align: middle;
  line-height: 2.4rem;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dd {
    width: 100%;
    font-size: 1.9rem;
    line-height: 3.2rem;
    letter-spacing: 0.02em;
  }
}
.newsBodyMain ul li dl dd a,
.newsBodyMain ul li dl dd .a {
  pointer-events: none;
}
.newsBodyMain ul li dl dd a:hover,
.newsBodyMain ul li dl dd .a:hover {
  opacity: 0.8;
}

.h2normal {
  position: relative;
  text-align: center;
  font-size: 2.8rem;
  line-height: 3rem;
  font-weight: bold;
  margin-bottom: 4rem;
  padding: 3.5rem 0 4.5rem 0;
  border-bottom: 1px solid #e4e4e4;
}
.h2normal .squareObject {
  position: absolute;
  top: 0;
  left: 44%;
  transform: translate(-50%, 0px);
  background-color: rgba(237, 255, 59, 0.43);
  -webkit-clip-path: polygon(0 0, 35% 0, 100% 100%, 65% 100%);
          clip-path: polygon(0 0, 35% 0, 100% 100%, 65% 100%);
  display: block;
  width: 10rem;
  height: 10rem;
  margin: 0 auto;
}
.h2normal .t {
  position: relative;
  z-index: 1;
  display: block;
}
.h2normal .t.ttLine {
  padding: 0rem 0 2rem 0;
}
.h2normal .t.ttLine::after {
  content: "";
  background: #1f2025;
  width: 4rem;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

.h2Center {
  text-align: center;
}

.h2big {
  position: relative;
  display: inline-block;
  text-align: center;
  font-size: 4.2rem;
  line-height: 5rem;
  font-weight: bold;
  margin-bottom: 4rem;
  padding: 0rem 0 2rem 0;
}
@media only screen and (max-width: 768px) {
  .h2big {
    font-size: 2.8rem;
    line-height: 3rem;
  }
}
.h2big::after {
  content: "";
  background: #1f2025;
  width: 4rem;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.h2big .squareObject {
  position: absolute;
  top: 0;
  left: 0%;
  transform: translate(0%, 0px);
  background-color: rgba(237, 255, 59, 0.43);
  -webkit-clip-path: polygon(0 0, 35% 0, 100% 100%, 65% 100%);
          clip-path: polygon(0 0, 35% 0, 100% 100%, 65% 100%);
  display: block;
  width: 10rem;
  height: 10rem;
  margin: 0 auto;
  display: none;
}
.h2big .t {
  position: relative;
  z-index: 1;
  display: block;
}

.secH2Main {
  text-align: center;
}
.secH2Main h2 {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 8.6rem;
  line-height: 8.8rem;
  font-weight: bold;
}
@media only screen and (max-width: 1400px) {
  .secH2Main h2 {
    font-size: 7.2rem;
    line-height: 7.8rem;
    font-weight: bold;
  }
}
@media only screen and (max-width: 768px) {
  .secH2Main h2 {
    font-size: 5.8rem;
    line-height: 6rem;
  }
}

/*=========================================================*/
/*	プライバシー*/
/*=========================================================*/
.privacyTopWrap {
  position: relative;
  background: #050f1b;
  margin-bottom: 8rem;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap {
    margin-bottom: 5rem;
    padding: 6rem 0;
  }
}
.privacyTopWrap ._in .c01 {
  padding: 0rem 0 0 6.25%;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .c01 {
    margin-top: 0rem;
    padding: 0rem 0 0 6.25%;
  }
}
.privacyTopWrap ._in .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .flexWrap {
    display: block;
  }
}
.privacyTopWrap ._in .flexWrap .imgBox {
  position: relative;
  flex-basis: 50%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .flexWrap .imgBox {
    margin-bottom: 3rem;
  }
}
.privacyTopWrap ._in .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 8rem 0 0rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.privacyTopWrap ._in .flexWrap .textBox .inin h2 {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  color: #fff;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .flexWrap .textBox .inin h2 {
    font-size: 3rem;
    font-weight: bold;
    line-height: 4rem;
    letter-spacing: 0.2rem;
    margin-bottom: 2rem;
  }
}
.privacyTopWrap ._in .flexWrap .textBox .inin h3 {
  background: linear-gradient(transparent 0%, #00692f 0%);
  display: inline;
  /*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
  color: #fff;
  font-size: 3rem;
  line-height: 6rem;
  font-weight: bold;
  font-style: normal;
  display: inline;
  margin-bottom: 2rem;
  padding: 0.5rem 1rem;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .flexWrap .textBox .inin h3 {
    font-size: 2.2rem;
    line-height: 5.2rem;
    margin-bottom: 2rem;
  }
}
.privacyTopWrap ._in .c02 {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .c02 {
    margin-top: 5rem;
  }
}
.privacyTopWrap ._in .c02 .boxbox {
  background: #1a2f49;
  margin: 0 auto;
  color: #fff;
  padding: 3rem 4rem;
}
.privacyTopWrap ._in .c02 .boxbox h4 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3.2rem;
  letter-spacing: 0.2rem;
  color: #fff;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .privacyTopWrap ._in .c02 .boxbox h4 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 3rem;
    letter-spacing: 0.2rem;
    margin-bottom: 1rem;
  }
}
.privacyTopWrap ._in .c02 .boxbox dl dt {
  font-size: 1.7rem;
  line-height: 3rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
.privacyTopWrap ._in .c02 .boxbox dl dd {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 500;
}
.privacyTopWrap ._in .c02 .boxbox dl dd a.textLink {
  color: #fff;
  border-bottom: 1px solid #fff;
  display: inline-block;
  word-break: break-all;
}
.privacyTopWrap ._in .c02 .boxbox dl dd a.textLink:hover {
  border: none;
}

.special h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 40px;
  padding-bottom: 15px;
  letter-spacing: 2px;
  text-align: left;
  border-bottom: 2px solid #00692f;
}
@media only screen and (max-width: 768px) {
  .special h2 {
    font-size: 2.4rem;
    margin-bottom: 30px;
    padding-bottom: 10px;
  }
}
.special h3 {
  border-left: 4px solid #00692f;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 0 0 0 1.4rem;
}
@media only screen and (max-width: 768px) {
  .special h3 {
    font-size: 2rem;
  }
}
.special h4 {
  font-size: 1.7rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .special h4 {
    font-size: 2rem;
  }
}

/*=========================================================*/
/*	施工実績一覧*/
/*=========================================================*/
.worksMiddleWrap {
  margin-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .worksMiddleWrap {
    margin-top: 5rem;
  }
}
.worksMiddleWrap .inin .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .worksMiddleWrap .inin .flexWrap {
    display: block;
  }
}
.worksMiddleWrap .inin .flexWrap .flexBox {
  flex-basis: 32.3336%;
  margin: 0 0.5% 6rem;
}
@media only screen and (max-width: 768px) {
  .worksMiddleWrap .inin .flexWrap .flexBox {
    display: block;
    margin: 0 2% 6rem;
  }
}
.worksMiddleWrap .inin .flexWrap .flexBox a {
  display: block;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .imgBox_recommended {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.6s;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .imgBox_recommended:before {
  content: "";
  display: block;
  padding-top: 63.5%;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .imgBox_recommended .recoImg {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: 4s;
  background: url() center no-repeat #e5e5e5;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .textBB {
  margin-top: 1rem;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .textBB dl {
  margin-bottom: 1rem;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .textBB dl dt {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2.4rem;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .textBB dl dd {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.2rem;
}
.worksMiddleWrap .inin .flexWrap .flexBox a .textBB .catecate {
  border: 1px solid #333;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2rem;
  padding: 0.3rem 0.5rem;
  display: inline-block;
}
.worksMiddleWrap .inin .flexWrap .flexBox a:hover .imgBox_recommended .recoImg {
  transform: scale(1.05);
}

.wp-pagenavi {
  text-align: center;
}
.wp-pagenavi a {
  display: inline-block;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 40px;
  height: 40px;
  line-height: 35px;
  border: 3px solid #333;
  color: #333;
  font-size: 16px;
  margin: 5px 5px;
  opacity: 1;
  transition: all 0.3s;
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi a {
    width: 35px;
    height: 35px;
    line-height: 30px;
    border: 3px solid #333;
    font-size: 15px;
  }
}
.wp-pagenavi a.page {
  background: #fff;
}
.wp-pagenavi a.previouspostslink {
  border: none;
}
.wp-pagenavi a.nextpostslink {
  border: none;
}
.wp-pagenavi a:hover {
  opacity: 0.8;
}
.wp-pagenavi span.current {
  display: inline-block;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
  border: 3px solid #ccc;
  color: #ccc;
  font-size: 1.6rem;
  margin: 0 0.5rem;
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi span.current {
    width: 4rem;
    height: 4rem;
    line-height: 4rem;
    border: 3px solid #ccc;
    font-size: 1.5rem;
  }
}

/*=========================================================*/
/*	施工実績*/
/*=========================================================*/
.worksDetailWrap {
  position: relative;
  background: #050f1b;
  padding: 6rem 0;
}
@media only screen and (max-width: 768px) {
  .worksDetailWrap {
    padding: 5rem 0;
  }
}
.worksDetailWrap .c01 .ttlAX {
  text-align: center;
}
.worksDetailWrap .c01 .ttlAX .sub {
  position: relative;
  color: #00692f;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.worksDetailWrap .c01 .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #00692f;
}
.worksDetailWrap .c01 .ttlAX h2 {
  color: #00692f;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .worksDetailWrap .c01 .ttlAX h2 {
    font-size: 4.5rem;
    line-height: 5rem;
  }
}

.worksDetailMainWrap {
  margin: 8rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .worksDetailMainWrap {
    margin: 4rem 0 6rem;
  }
}
.worksDetailMainWrap .itemJs {
  margin-bottom: 5rem;
}
.worksDetailMainWrap .itemJs h2 {
  font-size: 2.4rem;
  color: #fff;
  background: #22223d;
  margin-bottom: 3rem;
  padding: 1rem 2rem;
}
@media only screen and (max-width: 768px) {
  .worksDetailMainWrap .itemJs h2 {
    font-size: 1.8rem;
  }
}
.worksDetailMainWrap .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.5rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .worksDetailMainWrap .flexBoxInfo dl {
    display: block;
    font-size: 1.6rem;
  }
}
.worksDetailMainWrap .flexBoxInfo dl dt {
  border-top: solid 1px #bebebe;
  flex-basis: 23rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .worksDetailMainWrap .flexBoxInfo dl dt {
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 0rem;
    font-size: 1.8rem;
  }
}
.worksDetailMainWrap .flexBoxInfo dl dd {
  border-top: solid 1px #f4f4f4;
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .worksDetailMainWrap .flexBoxInfo dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.worksDetailMainWrap .btn_black {
  margin-top: 3rem;
  text-align: center;
}
.worksDetailMainWrap .btn_black a {
  display: inline-block;
  text-align: center;
  color: #333;
  transition: all 0.5s;
  position: relative;
  text-align: center;
  padding: 1rem 6rem;
  background: #00692f;
  font-size: 1.6rem;
  color: #fff;
  transition: all 0.4s;
}
.worksDetailMainWrap .btn_black a::after {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: 2rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(45deg) translate(0, -50%);
  transition: all 0.12s ease-in 0s;
}
.worksDetailMainWrap .btn_black a:hover {
  opacity: 0.7;
}

.projectWrap {
  position: relative;
  padding: 18rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .projectWrap {
    padding: 13rem 0 5rem;
  }
}
.projectWrap:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 7rem;
  background-color: #000;
}
.projectWrap .ttlAX {
  text-align: center;
  margin-bottom: 5rem;
}
.projectWrap .ttlAX .sub {
  position: relative;
  color: #111;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.projectWrap .ttlAX h2 {
  color: #111;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .projectWrap .ttlAX h2 {
    font-size: 4.5rem;
    line-height: 5rem;
    margin-bottom: 1rem;
  }
}
.projectWrap .ttlAX .textC {
  text-align: center;
}
.projectWrap .proTitle {
  font-family: mr-eaves-xl-modern, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 6rem;
  text-align: center;
  font-size: 1.6rem;
  letter-spacing: 0.16em;
}
@media only screen and (max-width: 768px) {
  .projectWrap .proTitle {
    margin-bottom: 3rem;
  }
}
.projectWrap ul {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
.projectWrap ul li {
  flex-basis: 25%;
}
@media only screen and (max-width: 768px) {
  .projectWrap ul li {
    flex-basis: 50%;
  }
}
.projectWrap ul li a {
  position: relative;
  display: block;
}
.projectWrap ul li a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: all 0.4s;
}
@media only screen and (max-width: 768px) {
  .projectWrap ul li a:before {
    opacity: 0;
  }
}
.projectWrap ul li a .imgBody {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.6s;
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.projectWrap ul li a .imgBody:before {
  content: "";
  display: block;
  padding-top: 64%;
}
.projectWrap ul li a .imgBody .img {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.6s;
  background: url() center no-repeat #ececec;
}
.projectWrap ul li a:hover:before {
  opacity: 1;
}

/*=========================================================*/
/*	採用情報*/
/*=========================================================*/
.recruitTopWrap {
  padding: 14rem 0 0rem;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap {
    padding: 10rem 0 0;
  }
}
.recruitTopWrap ._in .c01 {
  margin-top: 12rem;
}
.recruitTopWrap ._in .c01 .inin {
  position: relative;
  z-index: 2;
}
.recruitTopWrap ._in .c01 ul {
  margin-top: -10rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruitTopWrap ._in .c01 ul li {
  margin-right: 1rem;
  margin-left: 1rem;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap ._in .c01 ul li {
    margin-left: 0rem;
  }
}
.recruitTopWrap ._in .c01 ul li:nth-child(1) {
  margin-top: -11rem;
}
.recruitTopWrap ._in .c01 ul li:nth-child(2) {
  margin-top: -20rem;
}
.recruitTopWrap ._in .c01 ul li:nth-child(3) {
  margin-top: 0rem;
}
.recruitTopWrap ._in .c01 ul li:nth-child(4) {
  margin-top: -11rem;
}
.recruitTopWrap ._in .c01 .inininin {
  background: url(../img/recruit_bg01.jpg) no-repeat center/cover;
  margin-top: -24rem;
  padding: 30rem 0 10rem 0;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap ._in .c01 .inininin {
    margin-top: -21rem;
    padding: 25rem 0 5rem 0;
  }
}
.recruitTopWrap ._in .c01 .inininin .ininA {
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap ._in .c01 .inininin .ininA {
    padding: 0 3rem;
  }
}
.recruitTopWrap ._in .c01 .inininin .bgEngText {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 9.8rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  color: #ddd5aa;
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap ._in .c01 .inininin .bgEngText {
    font-size: 6.8rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.recruitTopWrap ._in .c01 .inininin .ttA {
  position: relative;
}
.recruitTopWrap ._in .c01 .inininin .ttA .sub {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: bold;
  margin-bottom: 2rem;
  padding-bottom: 0.2rem;
}
.recruitTopWrap ._in .c01 .inininin .ttA h2 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 5.1rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitTopWrap ._in .c01 .inininin .ttA h2 {
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 3.4rem;
    margin-bottom: 2rem;
  }
}

.recruitCompanyWrap {
  background: url(../img/top_concept_bga.jpg) no-repeat center/contain;
  position: relative;
  padding: 10rem 0 12rem 0;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap {
    padding: 6rem 0 6rem 0;
  }
}
.recruitCompanyWrap .inBox .ttlY {
  text-align: center;
}
.recruitCompanyWrap .inBox .ttlY h3 {
  color: #111;
  font-size: 2.8rem;
  line-height: 3.4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 1rem;
}
.recruitCompanyWrap .inBox .ttlY .sub {
  font-size: 1.4rem;
  line-height: 3rem;
  font-weight: 500;
  color: #d47714;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap .inBox .ttlY .sub {
    margin-bottom: 2rem;
  }
}
.recruitCompanyWrap .inBox .centerP {
  text-align: center;
  margin-bottom: 4rem;
}
.recruitCompanyWrap .inBox .flexBox {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap .inBox .flexBox {
    display: block;
  }
}
.recruitCompanyWrap .inBox .flexBox .inB {
  width: 32%;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap .inBox .flexBox .inB {
    width: 100%;
  }
  .recruitCompanyWrap .inBox .flexBox .inB:not(:first-child) {
    margin-top: 3rem;
  }
}
.recruitCompanyWrap .inBox .flexBox .inB .iconBox {
  text-align: center;
  background: #383838;
  margin-bottom: 2rem;
  padding: 4rem 5rem;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap .inBox .flexBox .inB .iconBox {
    border-radius: 1rem;
  }
}
.recruitCompanyWrap .inBox .flexBox .inB .iconBox .icon {
  width: 8rem;
  margin: 0 auto 2rem;
}
.recruitCompanyWrap .inBox .flexBox .inB .iconBox .ttt {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.04rem;
  line-height: 2rem;
  color: #fff;
}
.recruitCompanyWrap .inBox .flexBox .inB .iconBox .bbb {
  font-size: 1.4rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.04rem;
  line-height: 2rem;
  color: #fff;
}
.recruitCompanyWrap .inBox .flexBox .inB .txt {
  margin-top: 1rem;
}

.recruitMentWrap {
  position: relative;
  background: #050f1b;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap {
    padding: 6rem 0;
  }
}
.recruitMentWrap .bgbgTexture {
  position: absolute;
  bottom: 16rem;
  right: 5rem;
  width: 23rem;
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap .bgbgTexture {
    display: none;
  }
}
.recruitMentWrap ._in {
  position: relative;
  z-index: 1;
}
.recruitMentWrap ._in .inin {
  padding: 0 6.25%;
}
.recruitMentWrap ._in .inin .ttlAX {
  text-align: center;
}
.recruitMentWrap ._in .inin .ttlAX .sub {
  position: relative;
  color: #00692f;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.recruitMentWrap ._in .inin .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #00692f;
}
.recruitMentWrap ._in .inin .ttlAX h2 {
  color: #00692f;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap ._in .inin .ttlAX h2 {
    font-size: 4.5rem;
    line-height: 5rem;
    margin-bottom: 3rem;
  }
}
.recruitMentWrap ._in .inin .imgBox {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap ._in .inin .imgBox {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap ._in .inin .innerDX1200 {
    padding: 0 0% 0px;
  }
}
.recruitMentWrap ._in .inin .textBox h3 {
  background: linear-gradient(transparent 0%, #00692f 0%);
  display: inline;
  /*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
  color: #fff;
  font-size: 3rem;
  line-height: 6rem;
  font-weight: bold;
  font-style: normal;
  display: inline;
  padding: 0.5rem 0rem;
}
@media only screen and (max-width: 768px) {
  .recruitMentWrap ._in .inin .textBox h3 {
    font-size: 2.2rem;
    line-height: 5.2rem;
    margin-bottom: 2rem;
  }
}
.recruitMentWrap ._in .inin .textBox p {
  margin-top: 3rem;
  color: #fff;
}

.recruitCompanyWrap02 {
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 {
    padding: 6rem 0;
  }
}
.recruitCompanyWrap02 .inBox02 .ttlAX {
  text-align: center;
}
.recruitCompanyWrap02 .inBox02 .ttlAX .sub {
  position: relative;
  color: #00692f;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.recruitCompanyWrap02 .inBox02 .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #00692f;
}
.recruitCompanyWrap02 .inBox02 .ttlAX h2 {
  color: #00692f;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .ttlAX h2 {
    font-size: 4.5rem;
    line-height: 5rem;
    margin-bottom: 3rem;
  }
}
.recruitCompanyWrap02 .inBox02 .h44h {
  text-align: center;
  color: #00692f;
  font-size: 2.2rem;
  line-height: 3rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
.recruitCompanyWrap02 .inBox02 .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.5rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .flexBoxInfo dl {
    display: block;
    font-size: 1.6rem;
  }
}
.recruitCompanyWrap02 .inBox02 .flexBoxInfo dl dt {
  border-top: solid 1px #bebebe;
  flex-basis: 23rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 2.5rem;
  padding-bottom: 3rem;
  padding-left: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .flexBoxInfo dl dt {
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 0rem;
    font-size: 1.8rem;
  }
}
.recruitCompanyWrap02 .inBox02 .flexBoxInfo dl dd {
  border-top: solid 1px #f4f4f4;
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2.5rem;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .flexBoxInfo dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBtn {
  display: flex;
  justify-content: space-between;
  margin: 0 0px 0rem;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .tabBtn {
    display: block;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBtn li {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .tabBtn li {
    width: 100%;
  }
  .recruitCompanyWrap02 .inBox02 .tabBtn li:not(:first-child) {
    margin-top: 1rem;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBtn li a {
  overflow: hidden;
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 2rem 0px;
  text-align: center;
  color: #222;
  border-right: 1px solid #eceaf1;
  border-bottom: 1px solid #eceaf1;
  background: #e2e3e3;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .tabBtn li a {
    width: 100%;
    font-size: 1.8rem;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBtn li a.is_active {
  color: #fff;
  font-weight: bold;
  background: #00692f;
}
.recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1) a.is_active::after {
  color: #fff;
}
.recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(2) a.is_active::after {
  color: #fff;
}
.recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(2), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(3), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(4) {
  border-top: 1px solid #eceaf1;
}
.recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(5) {
  border-left: 1px solid #eceaf1;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(2), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(3), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(4), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(5), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(6), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(7), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(8) {
    border-top: none;
  }
  .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(2) {
    border-top: 1px solid #eceaf1;
  }
  .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(1), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(3), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(5), .recruitCompanyWrap02 .inBox02 .tabBtn li:nth-child(7) {
    border-left: 1px solid #eceaf1;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBlockIn {
  margin: 0 auto;
  padding: 8rem 0 4rem;
  box-sizing: content-box;
}
@media only screen and (max-width: 768px) {
  .recruitCompanyWrap02 .inBox02 .tabBlockIn {
    padding: 5rem 0 0rem;
  }
  .recruitCompanyWrap02 .inBox02 .tabBlockIn .w950 {
    padding: 0;
  }
}
.recruitCompanyWrap02 .inBox02 .tabBlockIn .tab-content {
  display: none;
}
.recruitCompanyWrap02 .inBox02 .tabBlockIn .tab-content.is_show {
  display: block;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn {
  text-align: center;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a {
  display: -webkit-flex;
  display: inline-block;
  justify-content: center;
  align-items: center;
  align-items: center;
  border: 1px solid #00692f;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
  transition: 0.3s ease-in-out;
  color: #fff;
  padding: 2rem 5rem;
  line-height: 1.2;
  z-index: 1;
  font-size: 1.5rem;
  font-weight: 700;
  color: #00692f;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a._01 {
  border: 1px solid #06c755;
  color: #06c755;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a._01 .iniB {
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a._01 .iniB .icon {
  display: inline-block;
  width: 4rem;
  padding-right: 1rem;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a._02 ._tel {
  font-size: 1.9rem;
}
.recruitCompanyWrap02 .inBox02 .recruitBtnbtn a:hover {
  opacity: 0.7;
}

/*=========================================================*/
/*	会社概要*/
/*=========================================================*/
.companyTopWrap {
  padding: 12rem 0 6rem;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap {
    padding: 6rem 0;
  }
}
.companyTopWrap .ttlA {
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .ttlA {
    margin-bottom: 5rem;
  }
}
.companyTopWrap .ttlA h2 {
  position: relative;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: bold;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #00692f;
  margin-bottom: 3rem;
}
.companyTopWrap .ttlA .textC {
  text-align: center;
}
.companyTopWrap ._in {
  position: relative;
}
.companyTopWrap ._in .bgText {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 11.8rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  white-space: nowrap;
  color: #eee;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap ._in .bgText {
    font-size: 6.8rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.companyTopWrap ._in .inin {
  position: relative;
  text-align: center;
}
.companyTopWrap ._in .inin h3 {
  position: relative;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: bold;
  margin-bottom: 5rem;
  padding-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap ._in .inin h3 {
    font-size: 2.8rem;
    line-height: 3.8rem;
    margin-bottom: 4rem;
    padding-bottom: 3rem;
  }
}
.companyTopWrap ._in .inin h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0px);
  background: #00692f;
  width: 6rem;
  height: 1px;
}
.companyTopWrap .flexWrap {
  position: relative;
  justify-content: flex-end;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap {
    display: block;
  }
}
.companyTopWrap .flexWrap .imgBox {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .imgBox {
    width: 90%;
  }
}
.companyTopWrap .flexWrap .textBox {
  width: 90%;
  margin-right: auto;
  position: relative;
  padding: 18rem 0 0 0;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .textBox {
    width: 100%;
    padding: 40rem 0 0 0;
  }
}
.companyTopWrap .flexWrap .textBox .bgText {
  position: absolute;
  top: 8rem;
  left: 0%;
  transform: translate(0%, 0);
  font-size: 15rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  color: #e8e8e8;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .textBox .bgText {
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 4rem;
    display: none;
  }
}
.companyTopWrap .flexWrap .textBox .inin {
  background: #1f2025;
  padding: 7rem 50rem 7rem 5rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .textBox .inin {
    padding: 14rem 6.25% 5rem 6.25%;
  }
}
.companyTopWrap .flexWrap .textBox .inin .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  color: #d47714;
  margin-bottom: 2rem;
}
.companyTopWrap .flexWrap .textBox .inin .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.companyTopWrap .flexWrap .textBox .inin .ttlX h2 {
  color: #fff;
  font-size: 4rem;
  line-height: 6rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .textBox .inin .ttlX h2 {
    font-size: 3rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}
.companyTopWrap .flexWrap .textBox .inin .nameWrap {
  margin-top: 3rem;
  text-align: right;
}
.companyTopWrap .flexWrap .textBox .inin .nameWrap .sub {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
.companyTopWrap .flexWrap .textBox .inin .nameWrap .namename .daigyou {
  display: inline-block;
  font-size: 1.5rem;
  margin-right: 1rem;
}
.companyTopWrap .flexWrap .textBox .inin .nameWrap .namename .nameImg {
  display: inline-block;
  width: 13rem;
}
@media only screen and (max-width: 768px) {
  .companyTopWrap .flexWrap .textBox .inin .nameWrap .namename .nameImg {
    width: 15rem;
  }
}
.companyTopWrap .movieArea {
  margin-top: 6rem;
}
.companyTopWrap .movieArea video {
  width: 100%;
}

.companyPhilosophyWrap {
  position: relative;
  background: #f4f4f4;
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .companyPhilosophyWrap {
    padding: 6rem 0 8rem;
  }
}
.companyPhilosophyWrap::before {
  position: absolute;
  content: "";
  top: 0px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-right: solid 20rem transparent;
  border-top: solid 10rem #1f2025;
}
@media only screen and (max-width: 768px) {
  .companyPhilosophyWrap::before {
    border-right: solid 15rem transparent;
    border-top: solid 5rem #1f2025;
  }
}
.companyPhilosophyWrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 3rem;
  background: #1f2025;
}
@media only screen and (max-width: 768px) {
  .companyPhilosophyWrap::after {
    height: 2rem;
  }
}
.companyPhilosophyWrap ._in {
  text-align: center;
}
.companyPhilosophyWrap ._in .ttlS h2 {
  color: #1f2025;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .companyPhilosophyWrap ._in .ttlS h2 {
    font-size: 4.5rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}
.companyPhilosophyWrap ._in .ttlS .sub {
  color: #1f2025;
  position: relative;
  display: inline-block;
  font-size: 2.2rem;
  line-height: 2.6rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .companyPhilosophyWrap ._in .ttlS .sub {
    margin-bottom: 3rem;
  }
}
.companyPhilosophyWrap ._in .textC p {
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 500;
}

.companyFeatureWrap {
  padding: 12rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap {
    padding: 6rem 0;
  }
}
.companyFeatureWrap ._in .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap {
    display: block;
  }
}
.companyFeatureWrap ._in .flexWrap .leftBox {
  position: relative;
  flex-basis: 45rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .leftBox {
    margin-bottom: 3rem;
  }
}
.companyFeatureWrap ._in .flexWrap .leftBox h2 {
  font-size: 7.5rem;
  line-height: 7rem;
  margin-bottom: 2rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .leftBox h2 {
    font-size: 4.5rem;
    line-height: 5rem;
    margin-bottom: 1rem;
  }
}
.companyFeatureWrap ._in .flexWrap .leftBox .sub {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2rem;
}
.companyFeatureWrap ._in .flexWrap .rightBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 0rem 0 4rem;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li:nth-child(1) {
  margin-bottom: 6rem;
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner {
    display: block;
  }
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .imgBox {
  position: relative;
  flex-basis: 16rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .imgBox {
    width: 19rem;
    margin: 0 auto 3rem;
  }
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 3rem 0 0;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox dl {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox dl dt {
  color: #111;
  font-size: 2.8rem;
  line-height: 3.4rem;
  font-weight: bold;
  font-style: normal;
  margin-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox dl dt {
    font-size: 3rem;
    line-height: 4rem;
  }
}
.companyFeatureWrap ._in .flexWrap .rightBox ul li .flexInner .textBox dl dd {
  font-size: 1.4rem;
  line-height: 3rem;
  font-weight: 500;
  color: #d47714;
}

.companyInfoWrap {
  position: relative;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap {
    margin-bottom: 6rem;
  }
}
.companyInfoWrap::before {
  position: absolute;
  content: "";
  top: 0px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-right: solid 60rem transparent;
  border-top: solid 40rem #1f2025;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap::before {
    border-right: solid 30rem transparent;
    border-top: solid 20rem #1f2025;
  }
}
.companyInfoWrap ._in .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap {
    display: block;
  }
}
.companyInfoWrap ._in .flexWrap .imgBox {
  position: relative;
  flex-basis: 45rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .imgBox {
    margin-bottom: 3rem;
    width: 29rem;
  }
}
.companyInfoWrap ._in .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 0rem 0 4rem;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.companyInfoWrap ._in .flexWrap .textBox .inin .ttlF {
  margin-bottom: 5rem;
}
.companyInfoWrap ._in .flexWrap .textBox .inin .ttlF h3 {
  font-size: 6rem;
  line-height: 6rem;
  margin-bottom: 2rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .textBox .inin .ttlF h3 {
    font-size: 4rem;
    line-height: 5rem;
    margin-bottom: 1rem;
  }
}
.companyInfoWrap ._in .flexWrap .textBox .inin .ttlF .sub {
  text-align: left;
}
.companyInfoWrap ._in .flexWrap .textBox .inin .ttlF .sub p {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: bold;
}
.companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl {
    display: block;
  }
}
.companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl dt {
  border-top: solid 1px #111;
  flex-basis: 15rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl dt {
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl dd {
  border-top: solid 1px #f4f4f4;
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .companyInfoWrap ._in .flexWrap .textBox .inin .flexBoxInfo dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}

.companyOverviewWrap {
  position: relative;
  background: #1f2025;
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .companyOverviewWrap {
    padding: 8rem 0;
  }
}
.companyOverviewWrap .bgLogo {
  position: absolute;
  top: 4rem;
  right: 4rem;
  width: 25rem;
  opacity: 0.1;
}
.companyOverviewWrap ._in .c01 {
  margin-bottom: 5rem;
}
.companyOverviewWrap ._in .c01 .ttlX {
  display: flex;
}
.companyOverviewWrap ._in .c01 .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  color: #d47714;
  margin-right: 2rem;
  margin-bottom: 3rem;
}
.companyOverviewWrap ._in .c01 .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 1.5rem;
}
.companyOverviewWrap ._in .c01 .ttlX h2 {
  color: #fff;
  font-size: 4rem;
  line-height: 6rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .companyOverviewWrap ._in .c01 .ttlX h2 {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 2rem;
  }
}
.companyOverviewWrap ._in .c01 p {
  color: #fff;
}
.companyOverviewWrap ._in .c02 .flexWrap {
  display: flex;
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox {
  width: 50%;
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox a {
  display: block;
  position: relative;
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox a .imgBox {
  overflow: hidden;
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox a .imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
  transition: all 0.5s;
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox a .inin {
  position: absolute;
  left: 2rem;
  bottom: 4rem;
  font-size: 12.8rem;
  font-weight: bold;
  line-height: 12.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  color: #fff;
  font-feature-settings: "palt";
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .companyOverviewWrap ._in .c02 .flexWrap .flexBox a .inin {
    font-size: 4.4rem;
    line-height: 4.8rem;
  }
}
.companyOverviewWrap ._in .c02 .flexWrap .flexBox a:hover .imgBox img {
  transition: all 0.5s;
  transform: scale(1.1);
}

/*=========================================================*/
/*	選ばれる理由*/
/*=========================================================*/
.reasonTopWrap {
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .reasonTopWrap {
    padding: 4rem 0 6rem 0;
  }
}
.reasonTopWrap .ttlAX {
  text-align: center;
}
.reasonTopWrap .ttlAX .sub {
  position: relative;
  color: #1f2025;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.reasonTopWrap .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #1f2025;
}
.reasonTopWrap .ttlAX h2 {
  color: #1f2025;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .reasonTopWrap .ttlAX h2 {
    font-size: 6.5rem;
    line-height: 6rem;
    margin-bottom: 3rem;
  }
}
.reasonTopWrap dl {
  text-align: center;
}
.reasonTopWrap dl dt {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .reasonTopWrap dl dt {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 3.1rem;
    margin-bottom: 2rem;
  }
}
.reasonTopWrap dl dd {
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  color: #1f2025;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonTopWrap dl dd {
    font-size: 3rem;
    font-weight: bold;
    line-height: 4rem;
    letter-spacing: 0.2rem;
    margin-bottom: 3rem;
  }
}
.reasonTopWrap .tCenter {
  text-align: center;
}

.reasonMiddleWrap {
  position: relative;
  background: #050f1b;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap {
    padding: 6rem 0;
  }
}
.reasonMiddleWrap .bgbgTexture {
  position: absolute;
  top: 0;
  right: 0;
  width: 35rem;
}
.reasonMiddleWrap ._in {
  position: relative;
  z-index: 1;
}
.reasonMiddleWrap ._in .inin._c01 {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 {
    margin-bottom: 6rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ttlAX {
  text-align: center;
}
.reasonMiddleWrap ._in .inin._c01 .ttlAX .sub {
  position: relative;
  color: #00692f;
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 1rem;
}
.reasonMiddleWrap ._in .inin._c01 .ttlAX .sub::before {
  content: "";
  width: 1px;
  height: 3rem;
  display: block;
  margin: 0 auto 2rem auto;
  background: #00692f;
}
.reasonMiddleWrap ._in .inin._c01 .ttlAX h2 {
  color: #00692f;
  font-size: 7.5rem;
  line-height: 7rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ttlAX h2 {
    font-size: 6.5rem;
    line-height: 6rem;
    margin-bottom: 3rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 h3 {
  text-align: center;
  color: #fff;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 h3 {
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 5.2rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .t02 {
  text-align: center;
}
.reasonMiddleWrap ._in .inin._c01 .t02 p {
  color: #969696;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Helvetica Neue", Meiryo, メイリオ, sans-serif;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox {
  background: #131f30;
  border: 2px solid #283a55;
  margin-top: 5rem;
  padding: 5rem 5rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox {
    padding: 4rem 3rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox dl {
  text-align: center;
  margin-bottom: 3rem;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox dl dt {
  font-size: 2.8rem;
  line-height: 3.6rem;
  font-weight: bold;
  color: #fff;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox dl dt {
    font-size: 2rem;
    line-height: 3.6rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox dl dd {
  color: #969696;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Helvetica Neue", Meiryo, メイリオ, sans-serif;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap {
    display: block;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox {
  width: 48%;
  text-align: center;
  padding: 3rem 4rem 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox {
    padding: 3rem 2rem 3rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox:nth-child(1) {
  background: #00692f;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox:nth-child(1) .ttt {
  color: #00692f;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox:nth-child(2) {
  background: #d47714;
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox:nth-child(2) .ttt {
  color: #d47714;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox {
    width: 100%;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox .ttt {
  background: #fff;
  font-size: 1.8rem;
  line-height: 2.6rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 3rem;
  padding: 0.3rem 2rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox .ttt {
    margin-bottom: 1rem;
  }
}
.reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox .bigTTT {
  text-align: center;
  color: #fff;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 5.2rem;
  letter-spacing: 0.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c01 .ininBox .flexWrap .flexBox .bigTTT {
    font-size: 3.8rem;
    font-weight: bold;
    line-height: 4.2rem;
  }
}
.reasonMiddleWrap ._in .inin._c02 {
  position: relative;
  text-align: center;
}
.reasonMiddleWrap ._in .inin._c02 .bgText {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 15rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  color: #131f30;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c02 .bgText {
    font-size: 4.8rem;
    font-weight: bold;
    line-height: 4rem;
  }
}
.reasonMiddleWrap ._in .inin._c02 .ininin {
  position: relative;
  z-index: 2;
  color: #fff;
}
.reasonMiddleWrap ._in .inin._c02 .ininin .sub {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.8rem;
  margin-bottom: 2rem;
}
.reasonMiddleWrap ._in .inin._c02 .ininin .ttlBig {
  text-align: center;
  color: #fff;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 2rem;
}
.reasonMiddleWrap ._in .inin._c02 .ininin .icoll {
  width: 2rem;
  height: 4rem;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
}
.reasonMiddleWrap ._in .inin._c02 .ininin .icoll span {
  width: 0.4rem;
  height: 100%;
  display: inline-block;
  background: #d47714;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap {
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c02 .flexWrap {
    display: block;
  }
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox {
  width: 31%;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox {
    width: 100%;
  }
  .reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox:not(:first-child) {
    margin-top: 3rem;
  }
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko {
  position: relative;
  text-align: center;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko::before, .reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko::after {
  content: "";
  width: 100%;
  height: 2rem;
  position: absolute;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko::before {
  border-left: solid 2px #888;
  border-top: solid 2px #888;
  border-right: solid 2px #888;
  top: 0;
  left: 0;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko::after {
  border-right: solid 2px #888;
  border-left: solid 2px #888;
  border-bottom: solid 2px #888;
  bottom: 0;
  left: 0;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn {
  padding: 2rem 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn {
    padding: 3rem 3rem;
  }
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn dl {
  text-align: center;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn dl dt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.8rem;
  color: #d47714;
  margin-bottom: 0.5rem;
}
.reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn dl dd {
  text-align: center;
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 4.2rem;
  letter-spacing: 0.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  .reasonMiddleWrap ._in .inin._c02 .flexWrap .flexBox .kakko .kakkoIn dl dd {
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 3.4rem;
  }
}

.reasonCheckWrap ._c01 {
  position: relative;
}
.reasonCheckWrap ._c01 .imgBox {
  margin-left: auto;
  width: 93.75%;
}
.reasonCheckWrap ._c01 .imgBox span {
  background: url(../img/reason_img01.jpg) no-repeat center/cover;
  display: block;
  width: 100%;
  height: 70rem;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c01 .imgBox span {
    height: 34rem;
  }
}
.reasonCheckWrap ._c01 .textBox {
  width: calc(100% - 30rem);
  margin-left: 6.25%;
  background: #fff;
  margin-top: -10rem;
  padding: 6rem 4rem 10rem 6rem;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c01 .textBox {
    width: 87.5%;
    margin-right: auto;
    margin-left: auto;
    padding: 4rem 3rem 5rem 3rem;
  }
}
.reasonCheckWrap ._c01 .textBox .ttlX {
  color: #d47714;
}
.reasonCheckWrap ._c01 .textBox .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.reasonCheckWrap ._c01 .textBox .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.reasonCheckWrap ._c01 .textBox .ttlX h2 {
  color: #111;
  font-size: 4rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c01 .textBox .ttlX h2 {
    font-size: 3rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}
.reasonCheckWrap ._c01 .textBox .ttt p {
  font-size: 1.7rem;
  line-height: 3.4rem;
  font-weight: 500;
}
.reasonCheckWrap ._c02 {
  background: #22232c;
  padding: 30rem 0 12rem;
  margin-top: -15rem;
  margin-right: auto;
  width: 93.75%;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c02 {
    width: 100%;
    padding: 20rem 0 8rem;
    margin-top: -15rem;
  }
}
.reasonCheckWrap ._c02 .inin .flexWrap {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c02 .inin .flexWrap {
    display: block;
  }
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox {
  width: 31%;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c02 .inin .flexWrap .flexBox {
    width: 100%;
  }
  .reasonCheckWrap ._c02 .inin .flexWrap .flexBox:not(:first-child) {
    margin-top: 4rem;
  }
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko {
  position: relative;
  text-align: center;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko::before, .reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko::after {
  content: "";
  width: 100%;
  height: 2rem;
  position: absolute;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko::before {
  border-left: solid 2px #d47714;
  border-top: solid 2px #d47714;
  border-right: solid 2px #d47714;
  top: 0;
  left: 0;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko::after {
  border-right: solid 2px #d47714;
  border-left: solid 2px #d47714;
  border-bottom: solid 2px #d47714;
  bottom: 0;
  left: 0;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .kakkoIn {
  padding: 2rem 3rem;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .kakkoIn dl {
  text-align: center;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .kakkoIn dl dt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2.8rem;
  color: #d47714;
  margin-bottom: 0.5rem;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .kakkoIn dl dd {
  text-align: center;
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 4.2rem;
  letter-spacing: 0.2rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop {
  padding: 5rem 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop {
    padding: 4rem 2rem;
  }
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop .flexIn {
  border-bottom: 1px solid #d47714;
  display: flex;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop .flexIn dl {
  text-align: center;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop .flexIn dl dt {
  position: relative;
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  color: #fff;
  transition: all 0.6s 0s;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop .flexIn dl dd {
  display: inline-block;
  color: #fff;
  font-size: 7.5rem;
  line-height: 9rem;
  font-family: ofelia-text, sans-serif;
  font-weight: bold;
  font-style: normal;
  opacity: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttTop .flexIn .iconRight {
  margin-left: auto;
  width: 12rem;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttBottom {
  text-align: left;
  padding: 0 3rem 5rem;
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttBottom h3 {
  color: #fff;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttBottom h3 {
    font-size: 2.6rem;
    line-height: 3rem;
  }
}
.reasonCheckWrap ._c02 .inin .flexWrap .flexBox .kakko .ttBottom p {
  color: #fff;
}

.reasonWorksWrap {
  padding: 12rem 0 0;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap {
    padding: 4rem 0 0;
  }
}
.reasonWorksWrap ._in .inin {
  position: relative;
  text-align: center;
  padding: 2rem 2rem 2rem;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin {
    padding: 0rem 0rem 0rem;
  }
}
.reasonWorksWrap ._in .inin::before, .reasonWorksWrap ._in .inin::after {
  content: "";
  width: 2rem;
  height: 100%;
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin::before, .reasonWorksWrap ._in .inin::after {
    display: none;
  }
}
.reasonWorksWrap ._in .inin::before {
  border-left: solid 2px #00692f;
  border-top: solid 2px #00692f;
  border-bottom: solid 2px #00692f;
  top: 0;
  left: 0;
}
.reasonWorksWrap ._in .inin::after {
  border-right: solid 2px #00692f;
  border-top: solid 2px #00692f;
  border-bottom: solid 2px #00692f;
  bottom: 0;
  right: 0;
}
.reasonWorksWrap ._in .inin .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin .flexWrap {
    display: block;
  }
}
.reasonWorksWrap ._in .inin .flexWrap .leftBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 10rem 0 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin .flexWrap .leftBox {
    margin-bottom: 5rem;
    padding: 0 0rem 0 0rem;
  }
}
.reasonWorksWrap ._in .inin .flexWrap .leftBox .ininin .sub {
  position: relative;
  color: #00692f;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.reasonWorksWrap ._in .inin .flexWrap .leftBox .ininin h2 {
  color: #00692f;
  font-size: 4rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin .flexWrap .leftBox .ininin h2 {
    font-size: 3.5rem;
    line-height: 4rem;
    margin-bottom: 3rem;
  }
}
.reasonWorksWrap ._in .inin .flexWrap .leftBox .ininin p {
  margin-bottom: 3rem;
}
.reasonWorksWrap ._in .inin .flexWrap .rightBox {
  position: relative;
  flex-basis: 45rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .reasonWorksWrap ._in .inin .flexWrap .rightBox {
    margin-bottom: 3rem;
  }
}

/*=========================================================*/
/*	事業内容*/
/*=========================================================*/
.serviceTopWrap {
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .serviceTopWrap {
    padding: 6rem 0;
  }
}
.serviceTopWrap ._in {
  position: relative;
}
.serviceTopWrap ._in .bgText {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 11.8rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  white-space: nowrap;
  color: #eee;
}
@media only screen and (max-width: 768px) {
  .serviceTopWrap ._in .bgText {
    font-size: 6.8rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.serviceTopWrap ._in .inin {
  position: relative;
  text-align: center;
}
.serviceTopWrap ._in .inin h3 {
  position: relative;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: bold;
  margin-bottom: 5rem;
  padding-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .serviceTopWrap ._in .inin h3 {
    font-size: 2.8rem;
    line-height: 3.8rem;
    margin-bottom: 4rem;
    padding-bottom: 3rem;
  }
}
.serviceTopWrap ._in .inin h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0px);
  background: #00692f;
  width: 6rem;
  height: 1px;
}

.serviceMiddleWrap {
  background: #f6f6f6;
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .serviceMiddleWrap {
    padding: 8rem 0;
  }
}
.serviceMiddleWrap .flexWrap {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .serviceMiddleWrap .flexWrap {
    display: block;
  }
}
.serviceMiddleWrap .flexWrap .flexBox {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .serviceMiddleWrap .flexWrap .flexBox {
    width: 100%;
  }
}
.serviceMiddleWrap .flexWrap .flexBox .imgBox a {
  display: block;
  position: relative;
}
.serviceMiddleWrap .flexWrap .flexBox .imgBox a::before {
  content: "";
  background: rgba(0, 0, 0, 0.06);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.4s;
}
.serviceMiddleWrap .flexWrap .flexBox .imgBox a:hover::before {
  opacity: 1;
}
.serviceMiddleWrap .flexWrap .flexBox .textBox {
  background: #fff;
  padding: 5rem 3rem 4rem;
}
.serviceMiddleWrap .flexWrap .flexBox .textBox h4 {
  font-size: 2.2rem;
  line-height: 3.4rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 2rem;
}
.serviceMiddleWrap .flexWrap .flexBox .textBox p {
  margin-bottom: 3rem;
}
.serviceMiddleWrap .flexWrap .flexBox._01 .textBox {
  border-right: 1px solid #f5f5f5;
}

.serviceBlackWrap {
  background: #1f2025;
  margin-bottom: 18rem;
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap {
    margin-bottom: 8rem;
    padding: 8rem 0;
  }
}
.serviceBlackWrap ._c01,
.serviceBlackWrap ._c02 {
  position: relative;
}
.serviceBlackWrap ._c01 ._in,
.serviceBlackWrap ._c02 ._in {
  position: relative;
  z-index: 2;
}
.serviceBlackWrap ._c01 ._in .textBox .inin .ttlX .sub,
.serviceBlackWrap ._c02 ._in .textBox .inin .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  color: #d47714;
  margin-bottom: 3rem;
}
.serviceBlackWrap ._c01 ._in .textBox .inin .ttlX .sub:before,
.serviceBlackWrap ._c02 ._in .textBox .inin .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.serviceBlackWrap ._c01 ._in .textBox .inin .ttlX h2,
.serviceBlackWrap ._c02 ._in .textBox .inin .ttlX h2 {
  color: #fff;
  font-size: 4rem;
  line-height: 6rem;
  font-weight: bold;
  font-style: normal;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c01 ._in .textBox .inin .ttlX h2,
  .serviceBlackWrap ._c02 ._in .textBox .inin .ttlX h2 {
    font-size: 3rem;
    line-height: 4rem;
    margin-bottom: 2rem;
  }
}
.serviceBlackWrap ._c01 ._in .textBox .inin p,
.serviceBlackWrap ._c02 ._in .textBox .inin p {
  color: #fff;
}
.serviceBlackWrap ._c01 {
  padding: 0 6.25%;
}
.serviceBlackWrap ._c01 .bgText {
  position: absolute;
  top: 0;
  right: 15rem;
  font-size: 34.8rem;
  font-family: arial;
  font-weight: bold;
  line-height: 1;
  color: #2a2c32;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c01 .bgText {
    top: 54rem;
    right: 5rem;
    font-size: 24.8rem;
    font-family: arial;
  }
}
.serviceBlackWrap ._c01 ._in .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c01 ._in .flexWrap {
    display: block;
  }
}
.serviceBlackWrap ._c01 ._in .flexWrap .imgBox {
  position: relative;
  flex-basis: 42rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c01 ._in .flexWrap .imgBox {
    margin-bottom: 3rem;
  }
}
.serviceBlackWrap ._c01 ._in .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 10rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c01 ._in .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.serviceBlackWrap ._c02 {
  margin-top: 5rem;
  padding: 8rem 0 0 6.25%;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c02 {
    margin-top: 0rem;
    padding: 8rem 0 0 6.25%;
  }
}
.serviceBlackWrap ._c02 .bgText {
  position: absolute;
  top: 0;
  left: 35rem;
  font-size: 34.8rem;
  font-family: arial;
  font-weight: bold;
  line-height: 1;
  color: #2a2c32;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c02 .bgText {
    top: 41rem;
    left: auto;
    right: 5rem;
    font-size: 24.8rem;
  }
}
.serviceBlackWrap ._c02 ._in .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c02 ._in .flexWrap {
    display: block;
  }
}
.serviceBlackWrap ._c02 ._in .flexWrap .imgBox {
  position: relative;
  flex-basis: 65%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c02 ._in .flexWrap .imgBox {
    margin-bottom: 3rem;
  }
}
.serviceBlackWrap ._c02 ._in .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 8rem 0 0rem;
}
@media only screen and (max-width: 768px) {
  .serviceBlackWrap ._c02 ._in .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}

.serviceMaintenanceWrap ._top {
  position: relative;
  padding-top: 5rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top {
    background: #1f2025;
    padding-top: 0;
    padding-bottom: 6rem;
  }
}
.serviceMaintenanceWrap ._top::before {
  content: "";
  background: #1f2025;
  width: 100%;
  height: 75rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top::before {
    height: 45rem;
    display: none;
  }
}
.serviceMaintenanceWrap ._top .flexWrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top .flexWrap {
    display: block;
  }
}
.serviceMaintenanceWrap ._top .flexWrap .imgBox {
  position: relative;
  flex-basis: 40%;
  margin-top: -8rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top .flexWrap .imgBox {
    margin-bottom: 3rem;
  }
}
.serviceMaintenanceWrap ._top .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 10rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top .flexWrap .textBox {
    padding: 0 6.25% 0 6.25%;
  }
}
.serviceMaintenanceWrap ._top .flexWrap .textBox .inin .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  color: #00692f;
  margin-bottom: 1.5rem;
}
.serviceMaintenanceWrap ._top .flexWrap .textBox .inin .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #00692f;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.serviceMaintenanceWrap ._top .flexWrap .textBox .inin .ttlX h2 {
  background: #fff;
  color: #00692f;
  font-size: 3rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
  display: inline-block;
  margin-bottom: 3rem;
  padding: 0.5rem 2rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top .flexWrap .textBox .inin .ttlX h2 {
    font-size: 2.2rem;
    line-height: 1;
    margin-bottom: 2rem;
  }
}
.serviceMaintenanceWrap ._top .flexWrap .textBox .inin h3 {
  text-stroke: 1px #FFF;
  -webkit-text-stroke: 1px #FFF;
  color: transparent;
  font-size: 6.8rem;
  font-weight: 400;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  color: #1f2025;
  font-feature-settings: "palt";
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._top .flexWrap .textBox .inin h3 {
    font-size: 4.4rem;
    font-weight: 400;
    line-height: 4.8rem;
  }
}
.serviceMaintenanceWrap ._top .flexWrap .textBox .inin p {
  color: #fff;
}
.serviceMaintenanceWrap ._bottom {
  margin-top: 14rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom {
    margin-top: 7rem;
  }
}
.serviceMaintenanceWrap ._bottom ul {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul {
    display: block;
  }
}
.serviceMaintenanceWrap ._bottom ul li {
  width: 30%;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li {
    width: 100%;
    display: flex;
  }
  .serviceMaintenanceWrap ._bottom ul li:not(:first-child) {
    margin-top: 4rem;
  }
}
.serviceMaintenanceWrap ._bottom ul li .imgBox {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li .imgBox {
    display: block;
    flex-basis: 18rem;
  }
}
.serviceMaintenanceWrap ._bottom ul li .imgBox .inText {
  position: absolute;
  top: 0;
  left: 0;
  /* transform: translate(-50%, -50%); */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li .imgBox .inText {
    top: auto;
    bottom: 0;
  }
}
.serviceMaintenanceWrap ._bottom ul li .imgBox .inText dl {
  text-align: center;
}
.serviceMaintenanceWrap ._bottom ul li .imgBox .inText dl dt {
  color: #fff;
  font-size: 7.5rem;
  line-height: 8rem;
  font-family: ofelia-text, sans-serif;
  font-weight: 300;
  font-style: normal;
  opacity: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li .imgBox .inText dl dt {
    font-size: 4.5rem;
    line-height: 5rem;
  }
}
.serviceMaintenanceWrap ._bottom ul li .imgBox .inText dl dd {
  background: #00692f;
  color: #fff;
  font-size: 3rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
  display: inline-block;
  margin-bottom: 3rem;
  padding: 0.5rem 2rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li .imgBox .inText dl dd {
    font-size: 1.7rem;
    line-height: 3rem;
    margin-bottom: 0rem;
    padding: 0.5rem 0.5rem;
  }
}
.serviceMaintenanceWrap ._bottom ul li .textBox {
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceMaintenanceWrap ._bottom ul li .textBox {
    position: relative;
    flex-grow: 1;
    flex-basis: 100px;
    text-align: left;
    margin-top: 0;
    padding: 0 0rem 0 2rem;
  }
}

.serviceMiddleBottomWrap {
  padding: 10rem 0;
  background: #ddd;
}
@media only screen and (max-width: 768px) {
  .serviceMiddleBottomWrap {
    padding: 4rem 0 4rem;
  }
}
.serviceMiddleBottomWrap .inin h2 {
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 0.4rem;
  font-size: 3rem;
  line-height: 4rem;
  font-weight: bold;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .serviceMiddleBottomWrap .inin h2 {
    font-size: 2.4rem;
    line-height: 3rem;
  }
}
.serviceMiddleBottomWrap .inin h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #00692f;
  width: 100%;
  height: 1px;
}

.serviceLastWrap {
  padding: 10rem 0 0;
}
@media only screen and (max-width: 768px) {
  .serviceLastWrap {
    padding: 6rem 0 0rem;
  }
}
.serviceLastWrap h2 {
  text-align: center;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 7.2rem;
  letter-spacing: 0.2rem;
  color: #1f2025;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-feature-settings: "palt";
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceLastWrap h2 {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 3rem;
    letter-spacing: 0.2rem;
    margin-bottom: 3rem;
  }
}
.serviceLastWrap ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.serviceLastWrap ul li {
  width: 23%;
}
@media only screen and (max-width: 768px) {
  .serviceLastWrap ul li {
    width: 48%;
  }
}
.serviceLastWrap ul li .iconBox {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceLastWrap ul li .iconBox {
    margin-bottom: 1rem;
  }
}
.serviceLastWrap ul li dl dt {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 3rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .serviceLastWrap ul li dl dt {
    font-size: 2rem;
    font-weight: bold;
    line-height: 3rem;
  }
}

._lastWrap {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  ._lastWrap {
    margin-bottom: 8rem;
  }
}

.btnA a {
  display: inline-block;
  text-align: center;
  color: #333;
  transition: all 0.5s;
  position: relative;
  text-align: center;
  padding: 2rem 0;
  display: block;
  background: #00692f;
  font-size: 1.6rem;
  color: #fff;
  transition: all 0.4s;
}
.btnA a::after {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: 2rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(45deg) translate(0, -50%);
  transition: all 0.12s ease-in 0s;
}

.btnB a {
  display: inline-block;
  text-align: center;
  transition: all 0.5s;
  position: relative;
  text-align: center;
  padding: 2rem 0;
  display: block;
  border: 1px solid #222;
  font-size: 1.6rem;
  color: #222;
  transition: all 0.4s;
}
.btnB a::after {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: 2rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  transform: rotate(45deg) translate(0, -50%);
  transition: all 0.12s ease-in 0s;
}

/*=========================================================*/
/*	TOP*/
/*=========================================================*/
.topDesignWrap {
  position: relative;
  background: #050f1b;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap {
    padding: 6rem 0;
  }
}
.topDesignWrap .bgText {
  position: absolute;
}
.topDesignWrap .bgText._daimyoujin {
  top: 0;
  right: 4rem;
  width: 56rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap .bgText._daimyoujin {
    right: 2rem;
    width: 30rem;
  }
}
.topDesignWrap .bgText._miyazaki {
  top: 0;
  left: 0rem;
  width: 16rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap .bgText._miyazaki {
    width: 10rem;
  }
}
.topDesignWrap ._top {
  position: relative;
  padding: 14rem 0;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top {
    margin-bottom: 0rem;
    padding: 6rem 0;
  }
}
.topDesignWrap ._top ._in .flexWrap {
  display: flex;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap {
    display: block;
  }
}
.topDesignWrap ._top ._in .flexWrap .imgBox {
  width: 55%;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .imgBox {
    width: 100%;
  }
}
.topDesignWrap ._top ._in .flexWrap .imgBox .animationImg {
  position: relative;
}
.topDesignWrap ._top ._in .flexWrap .imgBox .animationImg .bgCarten {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  background: #050f1b;
  width: 100%;
  height: 100%;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
}
.topDesignWrap ._top ._in .flexWrap .imgBox .animationImg .imageOuter {
  z-index: 2;
  overflow: hidden;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  top: 0;
  left: 0;
}
.topDesignWrap ._top ._in .flexWrap .imgBox .animationImg .imageOuter img {
  left: 0;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .imgBox .animationImg .imageOuter img {
    -o-object-fit: cover;
       object-fit: cover;
    width: calc(100vw - 40px);
    height: auto;
  }
}
.topDesignWrap ._top ._in .flexWrap .imgBox.topTodayWrap.moving .animationImg .bgCarten {
  width: 0%;
}
.topDesignWrap ._top ._in .flexWrap .imgBox.topTodayWrap.moving .animationImg .imageOuter {
  width: 100%;
}
.topDesignWrap ._top ._in .flexWrap .textBox {
  padding: 0rem 5% 0 5%;
  position: relative;
  z-index: 2;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox {
    margin-bottom: 6rem;
    padding: 0rem 6.25%;
  }
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin .ttlX {
  color: #fff;
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin .ttlX .sub {
  position: relative;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 400;
  margin-bottom: 1rem;
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin .ttlX .sub:before {
  content: "";
  width: 2rem;
  height: 1px;
  margin-top: -1px;
  background: #d47714;
  position: absolute;
  left: -2.4rem;
  top: 50%;
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin .ttlX h2 {
  color: #fff;
  font-size: 7.5rem;
  line-height: 7rem;
  margin-bottom: 2rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox ._inin .ttlX h2 {
    font-size: 6.5rem;
    line-height: 6rem;
    margin-bottom: 3rem;
  }
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin dl {
  margin-bottom: 4rem;
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin dl dt {
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 5.1rem;
  letter-spacing: 0.2rem;
  color: #fff;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox ._inin dl dt {
    font-size: 3rem;
    font-weight: bold;
    line-height: 4rem;
    letter-spacing: 0.2rem;
    color: #fff;
    margin-bottom: 3rem;
  }
}
.topDesignWrap ._top ._in .flexWrap .textBox ._inin dl dd {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 300;
  color: #969696;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "Helvetica Neue", Meiryo, メイリオ, sans-serif;
}
.topDesignWrap ._top ._in .flexWrap .textBox .ttl {
  color: #70644f;
  font-size: 5.5rem;
  margin-bottom: 2rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 600;
  font-style: normal;
  margin-left: -10rem;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox .ttl {
    font-size: 4rem;
    margin-left: 0rem;
    margin-bottom: 4rem;
  }
}
.topDesignWrap ._top ._in .flexWrap .textBox .txtIn {
  margin-left: 8rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox .txtIn {
    margin-left: 0rem;
  }
}
.topDesignWrap ._top ._in .flexWrap .textBox .txtIn .textMain {
  margin-bottom: 3rem;
}
.topDesignWrap ._top ._in .flexWrap .textBox .txtIn p {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox .txtIn p {
    font-size: 1.6rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._top ._in .flexWrap .textBox .txtIn .btnLine {
    text-align: right;
  }
}
.topDesignWrap ._bottom {
  position: relative;
}
.topDesignWrap ._bottom ._section {
  position: relative;
  z-index: 2;
}
.topDesignWrap ._bottom .ttl {
  color: #70644f;
  font-size: 5.5rem;
  margin-bottom: 2rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._bottom .ttl {
    font-size: 4rem;
    margin-bottom: 4rem;
  }
}
.topDesignWrap ._bottom .txtIn {
  margin-left: 8rem;
  color: #fff;
  font-family: source-han-serif-japanese, serif;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._bottom .txtIn {
    margin-left: 0rem;
  }
}
.topDesignWrap ._bottom .txtIn p {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .topDesignWrap ._bottom .txtIn p {
    font-size: 1.6rem;
    line-height: 3rem;
  }
}

.topAboutNextWrap ._in .flexWrap {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.topAboutNextWrap ._in .flexWrap .flexBox {
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox {
    width: 100%;
  }
  .topAboutNextWrap ._in .flexWrap .flexBox:nth-child(1) {
    order: 3;
  }
  .topAboutNextWrap ._in .flexWrap .flexBox:nth-child(2) {
    order: 2;
  }
  .topAboutNextWrap ._in .flexWrap .flexBox:nth-child(3) {
    order: 4;
  }
  .topAboutNextWrap ._in .flexWrap .flexBox:nth-child(4) {
    order: 5;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 {
  background: #333;
  height: 100%;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a {
  display: flex;
  align-items: stretch;
  height: 100%;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a.reverse {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c01 a.reverse._last {
    flex-direction: initial;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox {
  width: 50%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  padding: 56px 50px 50px;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox {
    padding: 3rem 2rem;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin {
  color: #fff;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3 {
  position: relative;
  display: inline-block;
  font-size: 3.2rem;
  line-height: 3.8rem;
  font-weight: 400;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3 {
    font-size: 2.2rem;
    line-height: 2.8rem;
    margin-bottom: 1rem;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3.rightLine:before {
  content: "";
  width: 14rem;
  height: 2px;
  margin-top: -2px;
  background: #fff;
  position: absolute;
  right: -16.4rem;
  top: 50%;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3.rightLine:before {
    height: 1px;
    margin-top: -1px;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3.leftLine:before {
  content: "";
  width: 8rem;
  height: 2px;
  margin-top: -2px;
  background: #fff;
  position: absolute;
  left: -10.4rem;
  top: 50%;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c01 a .textBox .inin h3.leftLine:before {
    height: 1px;
    margin-top: -1px;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .imgBox {
  width: 50%;
  overflow: hidden;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .imgBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover";
  transition: all 0.5s;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .imgBox.--01 img {
  aspect-ratio: 50/51;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a .imgBox.--02 img, .topAboutNextWrap ._in .flexWrap .flexBox .c01 a .imgBox.--03 img {
  aspect-ratio: 160/167;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a:hover .textBox .inin .inABox .a .circle {
  transform: translate(0.5rem, -50%);
}
.topAboutNextWrap ._in .flexWrap .flexBox .c01 a:hover .imgBox img {
  transition: all 0.5s;
  transform: scale(1.1);
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 {
  background: #ddd;
  height: 100%;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c02 {
    padding: 4rem 0%;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin {
  position: relative;
  padding: 0 5rem;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin {
    padding: 0rem 6.25%;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .textBgText {
  position: absolute;
  top: 0;
  left: 5rem;
  font-size: 9.8rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  color: #eee;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .textBgText {
    font-size: 6.8rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .inin02 {
  position: relative;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .inin02 .sub {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 2rem;
  padding-bottom: 0.2rem;
  color: #212;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .inin02 .sub::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ffd129;
  width: 100%;
  height: 1px;
}
.topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .inin02 h3 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 5.1rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  color: #212;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .topAboutNextWrap ._in .flexWrap .flexBox .c02 .ininin .inin02 h3 {
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 4.1rem;
  }
}

.topPhilosophyWrap {
  padding: 10rem 0 6rem;
  background: #22232c;
}
@media only screen and (max-width: 768px) {
  .topPhilosophyWrap {
    padding: 6rem 0 3rem;
  }
}
.topPhilosophyWrap ._in .ininin {
  position: relative;
  text-align: center;
}
.topPhilosophyWrap ._in .ininin .bgEngText {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 9.8rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 10rem;
  color: #18191e;
}
@media only screen and (max-width: 768px) {
  .topPhilosophyWrap ._in .ininin .bgEngText {
    font-size: 6rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.topPhilosophyWrap ._in .ininin .ttA {
  position: relative;
  color: #fff;
}
.topPhilosophyWrap ._in .ininin .ttA .sub {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 2rem;
  padding-bottom: 0.2rem;
  color: #ddd;
}
.topPhilosophyWrap ._in .ininin .ttA .sub::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ffd129;
  width: 100%;
  height: 1px;
}
.topPhilosophyWrap ._in .ininin .ttA h2 {
  font-size: 4rem;
  font-weight: bold;
  line-height: 5.1rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.2rem;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .topPhilosophyWrap ._in .ininin .ttA h2 {
    font-size: 3.4rem;
    font-weight: bold;
    line-height: 4.1rem;
    margin-bottom: 2rem;
  }
}

.topTextDesignWrap {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap {
    padding: 8rem 0;
  }
}
.topTextDesignWrap .c01 {
  margin-bottom: 3rem;
  padding: 0 10%;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c01 {
    padding: 0 6.25%;
  }
}
.topTextDesignWrap .c01 .inin .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
}
.topTextDesignWrap .c01 .inin .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 4rem 0 0;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c01 .inin .flexWrap .textBox {
    margin-bottom: 2rem;
    padding: 0 0rem 0 0rem;
  }
}
.topTextDesignWrap .c01 .inin .flexWrap .textBox .ininin {
  position: relative;
}
.topTextDesignWrap .c01 .inin .flexWrap .textBox .ininin .t01 {
  color: #ddd;
  font-size: 13.5rem;
  line-height: 12rem;
  font-family: ofelia-text, sans-serif;
  font-weight: 300;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c01 .inin .flexWrap .textBox .ininin .t01 {
    font-size: 9.5rem;
    line-height: 12rem;
  }
}
.topTextDesignWrap .c01 .inin .flexWrap .textBox .ininin .t02 {
  color: #8e8e8e;
  font-size: 3rem;
  line-height: 3rem;
  font-family: ofelia-text, sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-top: -3rem;
  margin-left: 25rem;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c01 .inin .flexWrap .textBox .ininin .t02 {
    margin-left: 14rem;
  }
}
.topTextDesignWrap .c01 .inin .flexWrap .imgBox {
  position: relative;
  flex-basis: 50%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c01 .inin .flexWrap .imgBox {
    flex-basis: 80%;
    margin-bottom: 3rem;
  }
}
.topTextDesignWrap .c02 {
  padding: 0 10% 0 0;
}
.topTextDesignWrap .c02 .inin {
  position: relative;
}
.topTextDesignWrap .c02 .inin .flexWrap {
  flex-basis: auto;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}
.topTextDesignWrap .c02 .inin .flexWrap .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 0 0rem 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c02 .inin .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.topTextDesignWrap .c02 .inin .flexWrap .textBox .t03 a {
  display: block;
  color: #888;
  font-size: 4.5rem;
  line-height: 5rem;
  font-family: ofelia-text, sans-serif;
  font-weight: 300;
  font-style: normal;
  opacity: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.topTextDesignWrap .c02 .inin .flexWrap .textBox .t03 a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c02 .inin .flexWrap .textBox .t03 a {
    font-size: 3rem;
    line-height: 3rem;
  }
}
.topTextDesignWrap .c02 .inin .flexWrap .imgBox {
  position: relative;
  flex-basis: 70%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c02 .inin .flexWrap .imgBox {
    flex-basis: 100%;
    margin-bottom: 2rem;
  }
}
.topTextDesignWrap .c02 .inin .textBottomB {
  text-align: center;
}
.topTextDesignWrap .c02 .inin .textBottomB span {
  display: inline-block;
  color: #555;
  font-size: 7.5rem;
  line-height: 9rem;
  font-family: ofelia-text, sans-serif;
  font-weight: 300;
  font-style: normal;
  opacity: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@media only screen and (max-width: 768px) {
  .topTextDesignWrap .c02 .inin .textBottomB span {
    font-size: 4.5rem;
    line-height: 5rem;
    white-space: nowrap;
  }
}

.top_newsWrap {
  margin-top: 14rem;
  margin-bottom: 14rem;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
}
.top_newsWrap .flexWrap {
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap {
    display: block;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap {
  position: relative;
  width: 100%;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap {
    width: 100%;
    margin: 0 auto 6rem;
    display: block;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap {
  margin-bottom: 3rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap {
    margin-bottom: 2rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap h2 {
  font-size: 6rem;
  font-weight: bold;
  line-height: 6rem;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-right: 2rem;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap h2 {
    font-size: 5rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap .sub {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2rem;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap .sub a {
  display: inline-block;
  position: relative;
  padding-right: 2rem;
  opacity: 1;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap .sub a:hover {
  opacity: 0.7;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .tltWrap .sub a::after {
  content: "›";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  color: #333;
  font-family: ltc-goudy-oldstyle-pro, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  line-height: 0.6;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .all_l_wrap_s {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox .all_l_wrap_s {
    margin-bottom: 7rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li {
  border-bottom: 1px solid #f3f3f3;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a {
  width: 100%;
  padding: 25px 0;
  position: relative;
  display: flex;
  color: #262626;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a {
    display: block;
    padding: 2rem 0;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a:before {
  content: "›";
  position: absolute;
  top: 2.6rem;
  right: 0;
  color: #000;
  font-family: ltc-goudy-oldstyle-pro, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  line-height: 0.6;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a:before {
    top: auto;
    bottom: 4.2rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_header {
  width: 20rem;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_header {
    width: auto;
    margin-bottom: 1rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_header .top_news_date {
  font-size: 1.3rem;
  font-weight: 700;
  color: #a4a4a4;
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_header .top_news_tag {
  min-width: 10rem;
  display: inline-block;
  margin-left: 2rem;
  padding: 0.2rem 0;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
  background: #333;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_header .top_news_tag {
    min-width: 13rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_title {
  width: calc(100% - 200px);
  padding-right: 15px;
  padding-bottom: 0.1em;
  overflow: hidden;
  font-size: 1.5rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 768px) {
  .top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_title {
    width: auto;
    font-size: 1.6rem;
  }
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a .top_news_item_title span {
  background: linear-gradient(#262626, #262626) no-repeat 100% 100%;
  background-size: 0 1px;
  transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.top_newsWrap .flexWrap .newsLeftWrap .mainNewsBox ul li a:hover .top_news_item_title span {
  background-position: 0 100%;
  background-size: 100% 1px;
}

.topCompanyWrap {
  position: relative;
}
.topCompanyWrap .movieIn {
  position: relative;
  width: 100%;
  height: auto;
  height: 50rem;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .topCompanyWrap .movieIn {
    height: 32rem;
  }
}
.topCompanyWrap .movieIn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #232323 25%, transparent 25%, transparent 75%, #232323 75%), linear-gradient(45deg, #232323 25%, transparent 25%, transparent 75%, #232323 75%);
  background-size: 2px 2px;
  background-position: 0 0, 1px 1px;
  z-index: 1;
  opacity: 0.7;
}
.topCompanyWrap .movieIn .underBgn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  background: url(../img/poster.jpg) no-repeat;
  background-size: cover;
}
.topCompanyWrap .movieIn .centerTT {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 768px) {
  .topCompanyWrap .movieIn .centerTT {
    top: 40%;
  }
}
.topCompanyWrap .movieIn .centerTT h2 {
  color: #fff;
  font-size: 7rem;
  font-family: rajdhani, sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .topCompanyWrap .movieIn .centerTT h2 {
    font-size: 5rem;
  }
}

.inABox {
  width: 14rem;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .inABox {
    width: 15rem;
  }
}
.inABox .a {
  position: relative;
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 1.5rem 1rem;
  color: #fff;
  transition: all 0.6s 0s;
}
@media only screen and (max-width: 768px) {
  .inABox .a {
    font-size: 1.6rem;
    width: 100%;
    max-width: 100%;
  }
}
.inABox .a .circle {
  position: absolute;
  top: 48%;
  right: 2rem;
  transform: translate(0, -50%);
  transition: all 0.5s 0s;
}
.inABox .a .circle svg {
  fill: #fff;
}
.inABox .a:hover {
  background-position: 100% 100%;
  background-size: 0% 2px;
}
.inABox .a:hover .circle {
  transform: translate(0.5rem, -50%);
}

/*=========================================================*/
/*	mainvisual*/
/*=========================================================*/
#mainvisual {
  z-index: 0;
}
@media only screen and (max-width: 768px) {
  #mainvisual {
    z-index: 0;
    margin-top: 0;
    padding-top: 0;
  }
}
@media only screen and (max-width: 768px) {
  #mainvisual:after {
    display: none;
  }
}
#mainvisual .inner_content .centerI {
  width: 80%;
}
@media only screen and (max-width: 768px) {
  #mainvisual .inner_content .centerI {
    width: 100%;
  }
}

#background {
  position: relative;
  padding-bottom: 2rem;
  max-height: 92vh;
}
@media only screen and (max-width: 768px) {
  #background {
    max-height: 100vh;
  }
}
#background::before {
  content: "";
  background: #1f2025;
  width: calc(100% - 20rem);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 768px) {
  #background::before {
    bottom: -3rem;
  }
}
#background #mainvisualImg {
  position: relative;
  z-index: 2;
  background: url(../img/poster.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 100vh;
  transition: all 1.8s;
}
@media only screen and (max-width: 768px) {
  #background #movieMain div#svg-animation {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  #background #movieMain div#svg-animation:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: transparent none repeat 0 0;
  }
}
#background #movieMain div#svg-animation #js_video {
  width: 100%;
  height: auto;
  position: static;
  left: auto;
  width: 100%;
  height: auto;
  vertical-align: top;
  transform: none;
}
@media only screen and (max-width: 768px) {
  #background #movieMain div#svg-animation #js_video {
    position: relative;
    top: 0px;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100vw;
    height: 90vh;
  }
}
#background .bgSlideTop00 {
  background: #000;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #background .bgSlideTop00 {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: calc(100% - 0px);
    min-height: 80vh;
  }
}
#background .bgSlideTop {
  background: #000;
  position: relative;
  z-index: 2;
  top: 0;
  right: 0;
  width: calc(100% - 7rem);
  height: auto;
  max-height: 92vh;
  overflow: hidden;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  #background .bgSlideTop {
    position: relative;
    overflow: hidden;
    width: calc(100% - 0px);
    height: 90vh;
    min-height: 80vh;
  }
}
#background .bgSlideTop:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%), linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%);
  background-size: 2px 2px;
  background-position: 0 0, 1px 1px;
  z-index: 1;
  opacity: 0.2;
}
#background .visualCenterBox {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 23;
  transform: translate(-50%, -50%);
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #background .visualCenterBox {
    width: 100%;
    left: calc(50% - 0px);
  }
}
#background .visualCenterBox .logoCenter {
  width: 11rem;
  margin: 0 auto 3rem;
}
@media only screen and (max-width: 768px) {
  #background .visualCenterBox .logoCenter {
    width: 6rem;
  }
}
#background .visualCenterBox .jpText {
  display: inline-block;
  font-weight: bold;
  color: #fff;
  font-size: 3rem;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #background .visualCenterBox .jpText {
    font-size: 2rem;
  }
}

.kv_scroll {
  width: 1px;
  height: 70px;
  position: absolute;
  left: 2%;
  bottom: 6rem;
  z-index: 100;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .kv_scroll {
    display: none;
    bottom: 0%;
  }
}
.kv_scroll ._pointer {
  animation: moveScrollPointer 1.8s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}
.kv_scroll ._pointer:before {
  content: "";
  display: block;
  width: 1px;
  height: 10px;
  border-radius: 50%;
  background-color: #333;
}
.kv_scroll ._text {
  position: absolute;
  top: -55px;
  left: -7px;
  writing-mode: vertical-lr;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .kv_scroll ._text {
    bottom: -20px;
    color: #fff;
  }
}
@keyframes moveScrollPointer {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, 50px, 0);
  }
}
@keyframes scrollPointerInOut {
  0% {
    transform: scale(0);
  }
  10% {
    transform: scale(1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(0);
  }
}
#movieMain .centerIText {
  position: absolute;
  top: 18rem;
  right: -12rem;
}
@media only screen and (max-width: 768px) {
  #movieMain .centerIText {
    top: 42vh;
    right: auto;
    top: 23rem;
    left: 2rem;
    font-size: 3vw;
  }
}
#movieMain .centerIText .bgText {
  position: relative;
  text-align: left;
  font-family: roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 11rem;
  letter-spacing: 0.05rem;
  color: #222;
  line-height: 11rem;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  #movieMain .centerIText .bgText {
    z-index: 2;
    font-size: 7rem;
    line-height: 8rem;
    letter-spacing: 0em;
    margin-bottom: 2rem;
    color: #fff;
  }
}
#movieMain .centerIText .bgText span {
  display: block;
  transition: all 1s;
}
#movieMain .centerIText .bgText span:nth-child(1) {
  transition-delay: 0.1s;
}
#movieMain .centerIText .bgText span:nth-child(2) {
  transition-delay: 0.2s;
}

.contactTopP {
  position: absolute;
  right: 0rem;
  bottom: 0rem;
  z-index: 4;
  background-color: #3a3d41;
}
@media only screen and (max-width: 768px) {
  .contactTopP {
    position: absolute;
    z-index: 3;
    width: calc(100% - 0rem);
    margin: 0rem auto;
    left: 0%;
    bottom: 0rem;
    transform: translate(0%, 0px);
  }
}
.contactTopP .newsTTT {
  padding: 0 8rem 0 0;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 {
    display: block;
  }
}
.contactTopP .newsTTT .newsInner02 .newsCategory {
  line-height: 1;
  justify-content: center;
  align-items: center;
  padding: 2.5rem 3rem 0;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .newsCategory {
    display: block;
    padding: 2.5rem 3rem;
  }
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .newsCategory .dl {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.contactTopP .newsTTT .newsInner02 .newsCategory .dl .dt {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .newsCategory .dl .dt {
    font-size: 2.2rem;
    margin-bottom: 0;
    margin-right: 1rem;
  }
}
.contactTopP .newsTTT .newsInner02 .newsCategory .dl .dd {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .newsCategory .dl .dd {
    font-size: 2.2rem;
    margin-bottom: 0;
    margin-right: 1rem;
  }
}
.contactTopP .newsTTT .newsInner02 .newsCategory .dl .dldldl {
  font-size: 1.4rem;
}
.contactTopP .newsTTT .newsInner02 .gallery-topA {
  position: static;
  width: 60rem;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .gallery-topA {
    width: 100%;
  }
}
.contactTopP .newsTTT .newsInner02 .dldldl a {
  flex-basis: auto;
  display: flex;
  align-items: center;
}
.contactTopP .newsTTT .newsInner02 .dldldl a .imgBox {
  position: relative;
  flex-basis: 16rem;
  margin-bottom: 0;
}
.contactTopP .newsTTT .newsInner02 .dldldl a .imgBox .img {
  position: relative;
}
.contactTopP .newsTTT .newsInner02 .dldldl a .imgBox .img:before {
  content: "";
  display: block;
  padding-top: 11rem;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .dldldl a .imgBox .img:before {
    padding-top: 11rem;
  }
}
.contactTopP .newsTTT .newsInner02 .dldldl a .imgBox .img span {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.6s;
  background: url() center no-repeat #e5e5e5;
}
.contactTopP .newsTTT .newsInner02 .dldldl a .textBox {
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
  padding: 2rem 3rem;
  width: 48rem;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .dldldl a .textBox {
    padding: 2rem 3rem;
    width: 100%;
  }
}
.contactTopP .newsTTT .newsInner02 .dldldl a .textBox dl {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .dldldl a .textBox dl {
    display: block;
  }
}
.contactTopP .newsTTT .newsInner02 .dldldl a .textBox dl dt {
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
  color: #fff;
  width: 9rem;
}
.contactTopP .newsTTT .newsInner02 .dldldl a .textBox dl dd {
  font-size: 1.4rem;
  color: #fff;
  position: relative;
  flex-grow: 1;
  flex-basis: 100px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .dldldl a .textBox dl dd {
    font-size: 1.5rem;
  }
}
.contactTopP .newsTTT .newsInner02 .dldldl a:hover .textBox dl dd {
  text-decoration: underline;
}
.contactTopP .newsTTT .newsInner02 .listBtnWrap {
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .contactTopP .newsTTT .newsInner02 .listBtnWrap {
    display: none;
  }
}
.contactTopP .newsTTT .newsInner02 .listBtnWrap .btnListIn a {
  position: relative;
  background: #f7f7f7;
  font-size: 1.3rem;
  font-weight: bold;
  display: inline-block;
  padding: 1.5rem 3rem 1.5rem 2rem;
}
.contactTopP .newsTTT .newsInner02 .listBtnWrap .btnListIn a::before {
  content: "›";
  position: absolute;
  top: 1.6rem;
  right: 1rem;
  color: #000;
  font-family: ltc-goudy-oldstyle-pro, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  line-height: 0.6;
}
.contactTopP .gallery-topA .swiper-button-next,
.contactTopP .gallery-topA .swiper-button-prev {
  position: absolute;
  top: 0%;
  background: #eee;
  width: 4rem;
  height: 100%;
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.contactTopP .gallery-topA .swiper-button-next:after,
.contactTopP .gallery-topA .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  line-height: 1;
  color: #040000;
}
@media only screen and (max-width: 768px) {
  .contactTopP .gallery-topA .swiper-button-next:after,
  .contactTopP .gallery-topA .swiper-button-prev:after {
    font-size: 2rem;
  }
}
.contactTopP .gallery-topA .swiper-button-next {
  right: 0;
  background-image: none !important;
}
.contactTopP .gallery-topA .swiper-button-next:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate3d(0, -50%, 0) rotate(45deg);
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #222;
  border-right: 2px solid #222;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .contactTopP .gallery-topA .swiper-button-next:before {
    right: 2rem;
  }
}
.contactTopP .gallery-topA .swiper-button-next:after {
  content: "next";
  opacity: 0;
}
.contactTopP .gallery-topA .swiper-button-prev {
  right: 4rem;
  left: auto;
  background-image: none !important;
}
.contactTopP .gallery-topA .swiper-button-prev:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate3d(0, -50%, 0) rotate(45deg);
  width: 1rem;
  height: 1rem;
  border-bottom: 2px solid #222;
  border-left: 2px solid #222;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  .contactTopP .gallery-topA .swiper-button-prev:before {
    left: 2rem;
  }
}
.contactTopP .gallery-topA .swiper-button-prev:after {
  content: "prev";
  opacity: 0;
}

.inner_content {
  position: absolute;
  top: 42%;
  left: 12rem;
  transform: translate(0%, -50%);
  z-index: 2;
  padding: 0px;
}
@media only screen and (max-width: 768px) {
  .inner_content {
    /* right: auto; */
    /* right: auto; */
    top: auto;
    /* font-size: 3vw; */
    width: 48rem;
    top: 40%;
    left: 2rem;
    transform: translate(0%, -50%);
  }
}
.inner_content .centerI {
  position: relative;
  transition: all 0.7s;
}
@media only screen and (max-width: 768px) {
  .inner_content .centerI {
    width: auto;
  }
}
.inner_content .centerI .onText {
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  letter-spacing: 0.15em;
  white-space: nowrap;
  padding-left: 7rem;
  text-shadow: 0px 0px 8px #fff;
}
@media only screen and (max-width: 768px) {
  .inner_content .centerI .onText {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    padding-left: 5rem;
    color: #fff;
  }
}
.inner_content .centerI .onText:before {
  content: "";
  width: 5rem;
  height: 1px;
  background: #f00;
  position: absolute;
  top: 47%;
  left: 0;
}
@media only screen and (max-width: 768px) {
  .inner_content .centerI .onText:before {
    width: 3rem;
    background: #fff;
  }
}
.inner_content .centerI .bgText {
  position: relative;
  text-align: left;
  font-family: roboto, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 11rem;
  letter-spacing: 0.05rem;
  color: #fff;
  line-height: 11rem;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .inner_content .centerI .bgText {
    font-size: 7rem;
    line-height: 8rem;
    letter-spacing: 0em;
    margin-bottom: 2rem;
    color: #fff;
    display: none;
  }
}
.inner_content .centerI .bgText span {
  display: block;
  transition: all 1s;
}
.inner_content .centerI .bgText span:nth-child(1) {
  transition-delay: 0.1s;
}
.inner_content .centerI .bgText span:nth-child(2) {
  transition-delay: 0.2s;
}

.snsLink {
  position: absolute;
  left: 7rem;
  bottom: 3rem;
  z-index: 23;
}
@media only screen and (max-width: 768px) {
  .snsLink {
    top: 3rem;
    display: none;
  }
}
.snsLink ul {
  display: flex;
  align-items: center;
}
.snsLink ul li:not(:first-child) {
  margin-left: 2rem;
}
.snsLink ul li:last-child a {
  width: 1.7rem;
  display: flex;
  /* -webkit-justify-content: center; */
  /* justify-content: center; */
  align-items: center;
}
.snsLink ul a {
  display: block;
  font-size: 2rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .snsLink ul a {
    color: #fff;
  }
}

.snsLinkSub {
  position: absolute;
  left: 7rem;
  bottom: 3rem;
  z-index: 23;
  background: #333;
  padding: 1.5rem 1rem;
}
@media only screen and (max-width: 768px) {
  .snsLinkSub {
    top: 3rem;
    display: none;
  }
}
.snsLinkSub ul {
  display: flex;
  align-items: center;
}
.snsLinkSub ul li:last-child a {
  display: flex;
  /* -webkit-justify-content: center; */
  /* justify-content: center; */
  align-items: center;
}
.snsLinkSub ul li:last-child a img {
  width: 1.5rem;
}
.snsLinkSub ul a {
  display: block;
  font-size: 2rem;
  color: #fff;
  background: #333;
  padding: 0 1.5rem;
}
@media only screen and (max-width: 768px) {
  .snsLinkSub ul a {
    color: #fff;
  }
}

.main_visual__play {
  position: absolute;
  bottom: 13rem;
  right: 12rem;
  text-align: center;
  z-index: 23;
}
@media only screen and (max-width: 768px) {
  .main_visual__play {
    position: static;
    top: auto;
    right: 3rem;
    bottom: 20rem;
  }
}
.main_visual__play a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36rem;
  margin: 0 auto 0px;
  transition: all 0.4s;
}
.main_visual__play a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  .main_visual__play a {
    width: 30rem;
    margin: 3rem auto 6rem;
  }
}
.main_visual__play a img {
  display: block;
  width: 100%;
}
.main_visual__play span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36rem;
  margin: 0 auto 0px;
  transition: all 0.4s;
}
.main_visual__play span:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 768px) {
  .main_visual__play span {
    width: 30rem;
    margin: 3rem auto 6rem;
  }
}
.main_visual__play span video {
  display: block;
  width: 100%;
}

#movie {
  width: 80%;
  height: auto;
  margin: 0px auto;
}
@media only screen and (max-width: 768px) {
  #movie {
    width: 90%;
  }
}
#movie video {
  width: 100%;
  height: auto;
}

.lity-content:after {
  box-shadow: 0 0 0px rgba(0, 0, 0, 0);
}

.lity_hide {
  max-height: 1000px;
  display: none;
}
.lity_hide .movie_popup__inner {
  width: 100%;
  max-width: 1160px;
  margin: auto;
  padding: 0 40px;
}

.lity-content .lity_hide {
  display: block;
}

.loadFin .inner_content .centerI .bgText span {
  transform: translate(0px, 0px);
  opacity: 1;
}
.loadFin .bannerOn {
  transform: translate(0px, -50%);
  opacity: 1;
}

/*=========================================================*/
/*	header*/
/*=========================================================*/
#header {
  position: absolute;
  background: #1f2025;
}
#header .headerBottom {
  position: relative;
  margin-top: 0rem;
  margin-right: 0px;
  margin-left: 0rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 1rem 0 2rem;
}
@media only screen and (max-width: 768px) {
  #header .headerBottom {
    display: block;
    margin-top: 0;
    padding: 0 0 0 0px;
  }
}
#header .headerBottom #head_Logo {
  width: 24rem;
  margin-top: 2rem;
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  #header .headerBottom #head_Logo {
    width: 20rem;
    margin-top: 0rem;
    margin-left: 0rem;
    text-align: center;
  }
}
#header .headerBottom .navContact {
  margin-left: auto;
}
#header.secHeader {
  position: relative;
}
#header.secHeader .headerBottom #head_Logo {
  margin-top: 0;
}

header {
  top: 0;
  z-index: 88;
  transition: 0.35s 0.7s;
  width: 100%;
  padding: 0 0px 0 0px;
  transition: all 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}
@media only screen and (max-width: 768px) {
  header {
    z-index: 20;
  }
}
header .commonOuter #head_Logo a {
  position: relative;
}
header .commonOuter #head_Logo a span {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}
header .commonOuter #head_Logo a span.a02 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  header .commonOuter #head_Logo a span.a01 {
    opacity: 1;
  }
  header .commonOuter #head_Logo a span.a02 {
    opacity: 1;
  }
  header .commonOuter #head_Logo a span img {
    width: 100%;
  }
}

header.active_header,
.sec header {
  transition: 0.01s 0s;
}

header .commonOuter {
  display: block;
  height: 110px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  header .commonOuter {
    height: 9rem;
  }
}

header.secHeader .commonOuter {
  height: auto;
}
@media only screen and (max-width: 768px) {
  header.secHeader .commonOuter {
    height: 9rem;
  }
}

header .commonOuter:after {
  content: "";
  display: table;
  clear: both;
}

@media only screen and (max-width: 768px) {
  header .commonOuter #head_Logo {
    position: relative;
    top: 50%;
    transform: translate3d(0, -50%, 0);
  }
}
header .commonOuter #head_Logo a {
  display: block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  header .commonOuter #head_Logo a {
    display: block;
    margin-left: 2rem;
  }
}

header .commonOuter #head_Logo a {
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

header .commonOuter #head_Logo a:hover {
  opacity: 0.7;
}

header .commonOuter nav {
  display: block;
  height: 100%;
}

header .commonOuter nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}

header .commonOuter nav ul li {
  height: 100%;
}

.headerSecTop {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 2rem;
  padding-top: 1.5rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 768px) {
  .headerSecTop {
    display: none;
  }
}
.headerSecTop ul {
  display: flex;
}
.headerSecTop ul li {
  border-right: 1px solid #ddd;
}
.headerSecTop ul li:first-child {
  border-left: 1px solid #ddd;
}
.headerSecTop ul li a {
  padding: 0 1rem;
  position: relative;
  font-size: 1.3rem;
  color: #fff;
  display: block;
  overflow: hidden;
}

.heafRight {
  margin-left: auto;
}

.headTop {
  margin-left: auto;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-right: 8rem;
}
.headTop .plink {
  padding-right: 4rem;
}
.headTop .plink:last-child {
  padding-right: 2rem;
}
.headTop .plink a {
  position: relative;
  font-size: 1.4rem;
  color: #fff;
  padding-bottom: 1rem;
  display: block;
  overflow: hidden;
}
.headTop .plink a:before {
  content: "";
  background: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate3d(0, 2px, 0);
  transition: all 0.2s ease-in-out 0s;
}
.headTop .plink a span {
  display: block;
}
.headTop .plink a span.en {
  text-align: center;
  color: #fff;
  font-size: 1.7rem;
  letter-spacing: 0rem;
  font-family: oswald, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  margin-bottom: 0.5rem;
}
.headTop .plink a span.jp {
  font-size: 1.2rem;
  color: #d5d5d5;
}
.headTop .plink a:hover:before {
  transform: translate3d(0, 0px, 0);
}
.headTop .contactB {
  padding-right: 0px;
}
.headTop .contactB a {
  display: block;
  background: #00692f;
  font-size: 1.4rem;
  color: #fff;
  padding: 2.5rem 3rem;
  opacity: 1;
  transition: all 0.4s;
}
.headTop .contactB a:hover {
  opacity: 0.7;
}
.headTop .contactB a span {
  display: inline-block;
  padding-right: 1rem;
}
.headTop .iconMenuSNS01 {
  margin-right: 30px;
  margin-left: 10px;
}
.headTop .iconMenuSNS01 a {
  font-size: 25px;
  color: #fff;
}
.headTop .iconMenuSNS01 a:before {
  display: none;
}

header .commonOuter nav ul li a {
  position: relative;
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  color: #fff;
  font-size: 1.6rem;
  transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  text-align: center;
  overflow: hidden;
}
header .commonOuter nav ul li a:before {
  content: "";
  background: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate3d(0, 2px, 0);
  transition: all 0.2s ease-in-out 0s;
}
header .commonOuter nav ul li a div.ddd {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
  min-width: 12rem;
}
header .commonOuter nav ul li a span.naviA {
  width: 100%;
  display: block;
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
}
header .commonOuter nav ul li a span.naviA.en {
  position: relative;
  top: 0;
  left: 0;
}
header .commonOuter nav ul li a span.naviA.jp {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate3d(-50%, 0px, 0px);
  opacity: 0;
}
header .commonOuter nav ul li a:hover:before {
  transform: translate3d(0, 0px, 0);
}
header .commonOuter nav ul li a:hover .en {
  opacity: 0;
}
header .commonOuter nav ul li a:hover .jp {
  opacity: 1 !important;
}

header .commonOuter nav ul li a span {
  display: block;
}

header .commonOuter nav ul li a:hover:after {
  opacity: 1;
}

.secHeader {
  background: #fff;
}
.secHeader .headTop .plink a {
  color: #fff;
  text-align: center;
}

/*=========================================================*/
/*	navi*/
/*=========================================================*/
.navFixed {
  position: absolute;
  top: 11rem;
  right: 0;
  transform: translateY(-50%);
  width: 8rem;
  height: auto;
  z-index: 999;
}
@media only screen and (max-width: 768px) {
  .navFixed {
    top: 5rem;
  }
}

/* naVBtn */
.menuBtn {
  position: relative;
  width: 8rem;
  display: table;
  padding: 1.8rem 0;
  top: 0px;
  right: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .menuBtn {
    height: 9rem;
  }
}

.menuBtn:hover {
  cursor: pointer;
}

.menuBtn span.gray {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 0%;
  height: 100%;
  background: #d6d6d6;
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  display: none;
}

.menuBtn:hover span.gray {
  width: 100%;
}

.menu-trigger {
  position: relative;
  z-index: 2;
  width: 34px;
  height: 25px;
  display: inline-block;
}

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

.menu-trigger span:nth-of-type(2) {
  top: 9px;
  transition: all 0.3s;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 4px;
  transition: all 0.3s;
}

.menuOpen .menu-trigger span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
}

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

.menuOpen .menu-trigger span:nth-of-type(3) {
  transform: translateY(-8px) rotate(45deg);
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}

/*******************************************************************/
/* Nav In                                                 */
/*******************************************************************/
.navigation {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
  width: 100%;
  height: 100%;
  /* little move black */
  /* opacity black */
}
.navigation:before {
  content: "";
  position: absolute;
  top: 0;
  right: -50%;
  width: 50%;
  height: 100%;
  background: #000;
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.navigation:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0%;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  display: none;
  transition: all 0.85s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.navigation .navTitle {
  opacity: 0;
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.25s;
}
.navigation ul {
  margin: 0 auto;
}
.navigation ul li {
  text-align: left;
  position: relative;
  left: 0px;
  opacity: 0;
  transform: translate3d(60px, 0, 0);
  border-bottom: 1px solid #fff;
  padding-right: 1rem;
  padding-bottom: 1rem;
}
.navigation ul li:not(:last-child) {
  margin-bottom: 2.5rem;
}
.navigation ul li:nth-child(1) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.25s;
}
.navigation ul li:nth-child(2) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.3s;
}
.navigation ul li:nth-child(3) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.35s;
}
.navigation ul li:nth-child(4) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.4s;
}
.navigation ul li:nth-child(5) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.45s;
}
.navigation ul li:nth-child(6) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.5s;
}
.navigation ul li:nth-child(7) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.55s;
}
.navigation ul li:nth-child(8) {
  transition: all 0.55s cubic-bezier(0.23, 1, 0.32, 1) 0.6s;
}
.navigation ul li a {
  color: #fff;
  display: block;
  position: relative;
}
.navigation ul li a:before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 0px;
  height: 100%;
  background: #fff;
  transition: width 0.2s;
  vertical-align: top;
}
.navigation ul li a .span {
  transform: translate3d(1rem, 0, 0);
  transition: all 0.2s;
}
.navigation ul li a dl {
  display: flex;
  align-items: center;
  backface-visibility: hidden;
}
.navigation ul li a dl dt {
  margin-right: 1rem;
  color: #fff;
  font-size: 2.6rem;
  letter-spacing: 0.02rem;
  font-family: source-han-serif-japanese, serif;
}
@media only screen and (max-width: 768px) {
  .navigation ul li a dl dt {
    font-size: 2.2rem;
    letter-spacing: 0em;
    line-height: 1;
    margin-right: 1.5rem;
  }
}
.navigation ul li a dl dd {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .navigation ul li a dl dd {
    font-size: 1.2rem;
    letter-spacing: 0em;
  }
}
.navigation ul li a:hover:before {
  width: 2px;
}
.navigation ul li a:hover .span {
  transform: translate3d(29px, 0, 0);
}

/* hover little move black */
.navigation.nhover:before {
  transform: translate3d(-15px, 0, 0);
}

.menuOpen .navigation:after {
  opacity: 1;
}
.menuOpen .navigation .navTitle {
  opacity: 1;
}
.menuOpen .navigation li {
  left: 0px;
  opacity: 1;
  transform: translate3d(0px, 0, 0);
}

/*  */
.navigation .naviInner {
  position: absolute;
  top: 0;
  right: -50%;
  width: 50%;
  height: 100%;
  background: #333;
  z-index: 11;
  transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
@media only screen and (max-width: 768px) {
  .navigation .naviInner {
    right: -100%;
    width: 100%;
  }
}
.navigation .naviInner .naviDetail {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  position: relative;
  width: 100%;
  height: 100%;
}
.navigation .naviInner .naviDetail .naviBox {
  width: 80%;
}
.navigation .naviInner .naviDetail .naviBox .navTitle {
  color: #fff;
  font-size: 2.6rem;
  letter-spacing: 0.02rem;
  font-family: source-han-serif-japanese, serif;
  margin-bottom: 5rem;
}

.menuOpen .navigation .naviInner {
  right: 0%;
}

/* contents */
.contentsIn {
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

/* hover contents */
.chover {
  transform: translate3d(-15px, 0, 0);
}

/* click	little move out */
.menuOpen .navigation.nhover:before,
.menuOpen .chover {
  transform: translate3d(0px, 0, 0) !important;
}

/* click black background 50% */
.navigation .black {
  background: #333;
  position: absolute;
  top: 0;
  right: -50%;
  width: 50%;
  height: 100%;
  transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.menuOpen .black {
  transform: translate3d(-100%, 0, 0);
}

/* click wrap move */
#wrap {
  position: relative;
  z-index: 91;
  transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

#banneronTop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 80;
}
#banneronTop a {
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
  display: block;
  width: 30rem;
}
@media only screen and (max-width: 768px) {
  #banneronTop a {
    width: 18rem;
  }
}
#banneronTop a:hover {
  opacity: 0.7;
}

#page_top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 80;
  display: none;
}
#page_top a {
  background: #333;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s;
  display: block;
  width: 6rem;
  height: 6rem;
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  #page_top a {
    width: 5rem;
    height: 5rem;
  }
}
#page_top a::before {
  content: "";
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
  width: 1rem;
  height: 1rem;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  z-index: 1;
}

@media screen and (min-width: 769px) {
  /*<start>==========================================================*/
  body {
    font-size: 80%;
  }
  .sp,
  br.s {
    display: none !important;
  }
  .text {
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.04em;
  }
  .text00 {
    font-size: 1.6rem;
    line-height: 2.6rem;
    font-weight: 500;
    font-feature-settings: "palt" 1;
  }
  .text01 {
    font-size: 1.6rem;
    line-height: 3.6rem;
    font-weight: 500;
    font-feature-settings: "palt" 1;
  }
  .text02 {
    font-size: 1.6rem;
    line-height: 3.6rem;
    font-weight: 500;
    letter-spacing: 0.04rem;
    font-feature-settings: "palt" 1;
  }
  .text03 {
    font-size: 1.6rem;
    line-height: 3rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
  .text14 {
    font-size: 1.3rem;
    line-height: 2.3rem;
    letter-spacing: 0.04em;
  }
  .text13 {
    font-size: 13px;
    line-height: 1.95;
    letter-spacing: 0.04em;
  }
  /*=========================================================*/
  /*	○○○*/
  /*=========================================================*/
  /*	○○○○
  ---------------------------------------------------------------*/
  /*	○○○○○
  -----------------------------------------------------------*/
  /*<end>============================================================*/
}
@media screen and (max-width: 768px) {
  /*<start>==========================================================*/
  html {
    font-size: 75%;
  }
  body {
    font-size: 0.9rem;
  }
  html,
  body {
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
  }
  .pc,
  br.p {
    display: none !important;
  }
  .text00 {
    font-size: 1.6rem;
    line-height: 2.7rem;
    font-weight: 500;
    letter-spacing: 0.02rem;
  }
  .text01 {
    font-size: 1.6rem;
    line-height: 3.6rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
  .text02 {
    font-size: 1.6rem;
    line-height: 3.4rem;
    font-weight: 500;
    letter-spacing: 0.04rem;
  }
  .text03 {
    font-size: 1.6rem;
    line-height: 3rem;
    font-weight: 500;
    letter-spacing: 0.04em;
  }
  .text,
  .text16 {
    font-size: 1.6rem;
    line-height: 2.6rem;
    letter-spacing: 0.04em;
  }
  .text14 {
    font-size: 1.6rem;
    line-height: 2.8rem;
    letter-spacing: 0.02em;
  }
  img {
    width: 100%;
    height: auto;
  }
  /*<end>============================================================*/
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.980644vw;
  }
}
@media screen and (min-width: 769px) {
  /*PC <start>==========================================================*/
  html {
    font-size: 0.7806442167vw;
  }
  body {
    font-size: 0.16rem;
  }
  .sp,
  br.s {
    display: none !important;
  }
  /*<end>============================================================*/
}
@media screen and (min-width: 1401px) {
  /*<start>==========================================================*/
  html {
    font-size: 63.5%;
  }
  /*<end>============================================================*/
}/*# sourceMappingURL=style.css.map */