﻿* {
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  outline: none;
}
:root {
  --fs-text: 1.6rem;
  --fs-text02: 1.7rem;
  --fs-text-03: 1.8rem;
  --fs-text-sm: 1.4rem;
}
.no-webp .element {
  background-image: url("xxx.jpg");
}
.webp .element {
  background-image: url("xxx.webp");
}
.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);
}
.move.move_01 {
  transition-delay: 0.2s;
}
.move.move_02 {
  transition-delay: 0.4s;
}
.move.move_03 {
  transition-delay: 0.6s;
}
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[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;
  }
}
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;
  -webkit-transform: rotate(135deg);
  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 {
  border: none;
}
.center {
  text-align: center !important;
}
.left {
  text-align: left !important;
}
.right {
  text-align: right !important;
}
li {
  list-style-type: none;
}
.font {
  font-size: calc(var(--base-size) * 1.9);
}
.red {
  color: #e60012;
}
#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;
}
.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, 0, 0, 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;
  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;
  }
}
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9991;
  width: 100%;
  height: 100%;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #preloader #progressInner {
    width: 30rem;
  }
}
#preloader #progressInner #progressImgWrap {
  position: relative;
  -webkit-box-flex: 0;
  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: 15.9rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #preloader #progressInner #progressImgWrap #progressimgBox img {
    width: 100%;
  }
}
#preloader #progressInner #progressImgWrap .progressTxtWrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin: 0.5rem auto 0;
  position: relative;
  display: none;
}
#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;
  -webkit-transform: translateY(-50%) rotate(38deg);
  -ms-transform: translateY(-50%) rotate(38deg);
  transform: translateY(-50%) rotate(38deg);
}
#progressBar {
  width: 0;
  height: 1px;
  background-color: #333;
}
#progressTxt {
  text-align: center;
  margin-top: 5px;
  color: #333;
}
#mainvisualSEC .secTitleWrap {
  position: absolute;
  top: 70%;
  left: 0%;
  transform: translate(0, -50%);
  z-index: 23;
  width: 100%;
}
#mainvisualSEC .secTitleWrap ._in .sub {
  color: #fff;
  font-size: 6.8rem;
  line-height: 7rem;
  font-weight: 700;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0rem;
  margin-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC .secTitleWrap ._in .sub {
    font-size: 4.2rem;
    line-height: 5rem;
    margin-bottom: 1rem;
  }
}
#mainvisualSEC .secTitleWrap ._in h1 {
  color: #fff;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 700;
  letter-spacing: 0rem;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC .secTitleWrap ._in h1 {
    margin-bottom: 3rem;
  }
}
#mainvisualSEC #backgroundSEC {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  margin-left: 5.25%;
}
#mainvisualSEC #backgroundSEC #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) {
  #mainvisualSEC #backgroundSEC #movieMain div#svg-animation {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
  #mainvisualSEC #backgroundSEC #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;
  }
}
#mainvisualSEC #backgroundSEC #movieMain div#svg-animation #js_video {
  height: auto;
  position: static;
  left: auto;
  width: 120%;
  height: 100%;
  vertical-align: top;
  -ms-transform: none;
  transform: none;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC #movieMain div#svg-animation #js_video {
    position: relative;
    top: -2px;
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
#mainvisualSEC #backgroundSEC .bgSlideTop00 {
  background: #000;
  position: relative;
  z-index: 23;
  top: 0;
  left: 0;
  width: calc(100% - 0rem);
  height: auto;
  max-height: 100vh;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC .bgSlideTop00 {
    position: relative;
    overflow: hidden;
    width: calc(100% - 0px);
    height: 85vh;
  }
}
#mainvisualSEC #backgroundSEC .bgSlideTop00: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;
}
#mainvisualSEC #backgroundSEC .bgSlideTop {
  background: #000;
  position: relative;
  z-index: 23;
  top: 0;
  left: 0;
  width: calc(100% - 0rem);
  height: 56rem;
  max-height: 100vh;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC .bgSlideTop {
    position: relative;
    overflow: hidden;
    width: calc(100% - 0px);
    height: 32rem;
  }
}
#mainvisualSEC #backgroundSEC .bgSlideTop: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;
}
#mainvisualSEC #backgroundSEC .centerTextWrap {
  position: absolute;
  z-index: 25;
  bottom: 25rem;
  left: 13rem;
  transform: translate(0, 0%);
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC .centerTextWrap {
    top: 40%;
    left: 3rem;
  }
}
#mainvisualSEC #backgroundSEC .centerTextWrap .inin .sub {
  font-size: 5rem;
  line-height: 6.6rem;
  color: #fff;
  font-family: arial;
  font-weight: bold;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC .centerTextWrap .inin .sub {
    font-size: 3.6rem;
    line-height: 4.6rem;
    margin-bottom: 2rem;
  }
}
#mainvisualSEC #backgroundSEC .centerTextWrap .inin .mainT {
  font-size: 2rem;
  line-height: 4rem;
  letter-spacing: 0.3rem;
  bottom: 0rem;
  right: 0;
  color: #fff;
  font-weight: 400;
  font-style: normal;
  margin-top: 2rem;
}
@media only screen and (max-width: 768px) {
  #mainvisualSEC #backgroundSEC .centerTextWrap .inin .mainT {
    font-size: 1.6rem;
    line-height: 3rem;
    bottom: 25rem;
    right: -1rem;
  }
}
@media only screen and (max-width: 768px) {
  .btnNormal {
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
  }
}
.btnNormal a {
  position: relative;
  display: block;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #000;
  width: 270px;
  height: 62px;
}
@media only screen and (max-width: 768px) {
  .btnNormal a {
    max-width: 250px;
    width: 100%;
    height: 57px;
  }
}
.btnNormal a:before {
  content: "";
  background: url(../img/btn_icon_arrow.png) no-repeat center center;
  position: absolute;
  right: -50px;
  top: 50%;
  bottom: 0;
  width: 80px;
  height: 6px;
  transform: translate3d(0, -50%, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@media only screen and (max-width: 768px) {
  .btnNormal a:before {
    right: -15px;
    background-size: 80%;
    background: url(../img/btn_icon_arrow_02.png) no-repeat center center;
  }
}
.btnNormal a .btnIn {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.btnNormal a .btnIn:before,
.btnNormal a .btnIn:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #000;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btnNormal a .btnIn:before {
  top: 0;
}
.btnNormal a .btnIn:after {
  bottom: 0;
}
.btnNormal a .btnIn .bgBoard {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormal a .btnIn .inBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .btnNormal a .btnIn .inBtn._zero .d1 {
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translate(0px, -50%);
  }
}
.btnNormal a .btnIn .inBtn:before,
.btnNormal a .btnIn .inBtn:after {
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  content: "";
  background: #000;
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btnNormal a .btnIn .inBtn:before {
  left: 0;
}
.btnNormal a .btnIn .inBtn:after {
  right: 0;
}
.btnNormal a .btnIn .inBtn .e1 {
  position: relative;
  font-size: 1.4rem;
  transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media only screen and (max-width: 768px) {
  .btnNormal a .btnIn .inBtn .e1 {
    font-size: 13px;
  }
}
.btnNormal a:hover:before {
  transform: translate3d(10px, -50%, 0);
}
.btnNormal a:hover .btnIn:before {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormal a:hover .btnIn:after {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.btnNormal a:hover .btnIn .bgBoard {
  opacity: 1;
  transition-delay: 0.2s;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.btnNormal a:hover .btnIn .inBtn:before {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}
.btnNormal a:hover .btnIn .inBtn:after {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}
.btnNormal a:hover .btnIn .inBtn .e1 {
  color: #fff;
}
.btnNormal.bCenter a {
  margin: 0 auto;
}
.btnNormal.bWhite a:before {
  background: url(../img/btn_icon_arrow_white.png) no-repeat center center;
}
@media only screen and (max-width: 768px) {
  .btnNormal.bWhite a:before {
    background: url(../img/btn_icon_arrow_white_sp.png) no-repeat center center;
  }
}
.btnNormal.bWhite .btnIn:before,
.btnNormal.bWhite .btnIn:after {
  background: #fff;
}
.btnNormal.bWhite .btnIn .inBtn:before,
.btnNormal.bWhite .btnIn .inBtn:after {
  background: #fff;
}
.btnNormal.bWhite .btnIn .inBtn .d1 .e1 {
  color: #fff;
}
.btnArrowBoxWhite a {
  position: relative;
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 2rem 1rem;
  width: 15rem;
  max-width: 30rem;
  color: #333;
  transition: all 0.6s 0s;
  background: linear-gradient(#333, #333) no-repeat 100% 100%;
  background-size: 0 1px;
  transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  background-position: 0 100%;
  background-size: 100% 1px;
}
@media only screen and (max-width: 768px) {
  .btnArrowBoxWhite a {
    font-size: 1.6rem;
    width: 90%;
    max-width: 90%;
    min-width: 18rem;
  }
}
.btnArrowBoxWhite a .circle {
  position: absolute;
  top: 48%;
  right: 2rem;
  transform: translate(0, -50%);
  transition: all 0.5s 0s;
}
.btnArrowBoxWhite a .circle svg {
  fill: #333;
}
.btnArrowBoxWhite a:hover {
  background-position: 100% 100%;
  background-size: 0% 2px;
}
.service01Wrap {
  position: relative;
  padding-top: 8rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap {
    padding-top: 2rem;
    overflow: hidden;
  }
}
.service01Wrap .c01 {
  position: relative;
  padding: 5rem 0 15rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c01 {
    padding: 5rem 0 10rem;
  }
}
.service01Wrap .c01::before {
  position: absolute;
  content: "";
  width: 90%;
  height: 100%;
  top: 20px;
  left: -25%;
  transform: skew(45deg, 0);
  background: #f3f7fa;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c01::before {
    height: 60%;
  }
}
.service01Wrap .c01 ._in {
  text-align: center;
}
.service01Wrap .c01 ._in dl {
  color: #000000;
}
.service01Wrap .c01 ._in dl dt {
  font-size: 2rem;
  font-weight: bold;
  line-height: 3rem;
  margin-bottom: 3rem;
}
.service01Wrap .c01 ._in dl dd {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c01 ._in dl dd {
    font-size: 2.2rem;
  }
}
.service01Wrap .c02 {
  position: relative;
  padding-bottom: 14rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 {
    padding-bottom: 8rem;
  }
}
.service01Wrap .c02 .inin {
  position: relative;
  z-index: 3;
}
.service01Wrap .c02 .ininin ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.service01Wrap .c02 .ininin ul li {
  width: 24%;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 .ininin ul li {
    width: 50%;
  }
  .service01Wrap .c02 .ininin ul li:not(:last-child) {
    margin-bottom: 8rem;
  }
}
.service01Wrap .c02 .ininin ul li a {
  display: block;
}
.service01Wrap .c02 .ininin ul li a .imgB {
  position: relative;
}
.service01Wrap .c02 .ininin ul li a .imgB::before {
  content: "";
  position: absolute;
  top: calc(100% - 68px);
  left: 0;
  display: block;
  width: 100%;
  padding-top: 74%;
  border-radius: 50% 50% 0rem 0;
  transition: all 0.6s;
  background-color: #fff;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 .ininin ul li a .imgB::before {
    top: calc(100% - 38px);
  }
}
.service01Wrap .c02 .ininin ul li a > .textB {
  position: relative;
  z-index: 3;
  padding: 0 3rem 2rem;
  background: #fff;
  transition: all 0.6s;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 .ininin ul li a > .textB {
    padding: 0 3rem 1rem;
  }
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 .ininin ul li a > .textB .inininin {
    min-height: auto;
  }
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin .iicon {
  width: 5rem;
  height: 6rem;
  margin: -3rem auto 1rem;
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin .iicon svg path {
  transition: all 0.6s;
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin dl {
  text-align: center;
  margin-bottom: 2rem;
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin dl dt {
  font-size: 2rem;
  line-height: 3rem;
  font-weight: bold;
  margin-bottom: 0rem;
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin dl dd {
  font-size: 1.4rem;
  line-height: 3rem;
}
.service01Wrap .c02 .ininin ul li a > .textB .inininin .ttt {
  margin-bottom: 3rem;
  height: 9rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c02 .ininin ul li a > .textB .inininin .ttt {
    height: auto;
  }
}
.service01Wrap .c02 .ininin ul li a > .textB .circle {
  text-align: center;
  margin: 0 auto;
}
.service01Wrap .c02 .ininin ul li a > .textB .circle svg path {
  transition: all 0.6s;
}
.service01Wrap .c02 .ininin ul li a > .textB .circle svg rect {
  transition: all 0.6s;
}
.service01Wrap .c02 .ininin ul li a:hover .imgB::before {
  background: #000000;
}
.service01Wrap .c02 .ininin ul li a:hover > .textB {
  background: #000000;
  color: #fff;
}
.service01Wrap .c02 .ininin ul li a:hover .iicon svg path {
  fill: #fff;
}
.service01Wrap .c02 .ininin ul li a:hover .circle svg path {
  fill: #fff;
}
.service01Wrap .c02 .ininin ul li a:hover .circle svg rect {
  fill: #fff;
}
.service01Wrap .c03 {
  position: relative;
  z-index: 1;
}
.service01Wrap .c03 .tabBlockIn {
  border-top: none;
  margin: 0 auto;
  box-sizing: content-box;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c03 .tabBlockIn .w950 {
    padding: 0;
  }
}
.service01Wrap .c03 .tabBlockIn .tab-content {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c03 .tabBlockIn .tab-content {
    margin-bottom: 8rem;
  }
}
.service01Wrap .c03 .tabBlockIn .tab-content.is_show {
  display: block;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .imgBB {
  position: relative;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .imgBB::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0%;
  height: 1rem;
  background: #000000;
  width: 100%;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .imgBB .subT {
  position: absolute;
  top: -8rem;
  right: 0;
  font-size: 9.8rem;
  line-height: 10rem;
  color: #222;
  font-weight: 200;
  font-style: normal;
  font-weight: bold;
  opacity: 0.1;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c03 .ininin .servicetopInnerBlock .imgBB .subT {
    top: -5rem;
    font-size: 5rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin {
  position: relative;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tthA {
  position: relative;
  z-index: 2;
  margin-top: -14rem;
  width: 35%;
  padding: 5rem 10rem 5rem 0rem;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tthA {
    position: relative;
    z-index: 2;
    margin-top: -8rem;
    width: 76%;
    padding: 3rem 0rem 3rem 0rem;
    background: #fff;
  }
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tthA::before {
  position: absolute;
  content: "";
  top: 0;
  left: -50%;
  height: 100%;
  background: #fff;
  width: 50%;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tthA::after {
  position: absolute;
  content: "";
  top: 0;
  right: -15rem;
  border-right: 15rem solid transparent;
  border-bottom: 15rem solid #fff;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tthA .ttIn {
  position: relative;
  top: -0rem;
  z-index: 2;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .tthA
  .ttIn
  .numWr {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .tthA
  .ttIn
  .numWr
  .numIn {
  color: #000000;
  font-size: 7.6rem;
  font-weight: 500;
  line-height: 7rem;
  font-family: arial;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .tthA
    .ttIn
    .numWr
    .numIn {
    font-size: 5.6rem;
    font-weight: 500;
    line-height: 5rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .tthA
  .ttIn
  .numWr
  dl {
  margin-left: 3rem;
  padding-left: 3rem;
  border-left: 1px solid #ddd;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .tthA
  .ttIn
  .numWr
  dl
  dt {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .tthA
    .ttIn
    .numWr
    dl
    dt {
    font-size: 3rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .tthA
  .ttIn
  .numWr
  dl
  dd {
  font-size: 1.6rem;
  line-height: 3rem;
  color: #000000;
}
.service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tttB {
  margin-top: 3rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap .c03 .ininin .servicetopInnerBlock .textBB .iiin .tttB {
    margin-top: 1rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox {
  margin-top: 6rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap {
    display: block;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .leftBox {
  position: relative;
  -webkit-flex-basis: 35rem;
  flex-basis: 35rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .leftBox {
    margin-bottom: 3rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .leftBox
  dl {
  position: relative;
  padding-top: 4rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .leftBox
  dl::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0%;
  height: 1px;
  background: #222;
  width: 100%;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .leftBox
  dl
  dt {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .leftBox
    dl
    dt {
    font-size: 3rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .leftBox
  dl
  dd {
  font-size: 1.6rem;
  line-height: 3rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-left: 8rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue {
  background: #f6f6ff;
  border-radius: 2rem;
  padding: 5rem 6rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .rightBox
    .inRightBlue {
    padding: 4rem 3rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .rightBox
    .inRightBlue
    .inflexWrap {
    display: block;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .leftBoxA {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .rightBox
    .inRightBlue
    .inflexWrap
    .leftBoxA {
    margin-bottom: 3rem;
  }
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .leftBoxA
  .ttt1 {
  margin-bottom: 5rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .leftBoxA
  .inWhiteBox {
  background: #fff;
  position: relative;
  padding: 0.5rem 3rem 4rem 3rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .leftBoxA
  .inWhiteBox
  .sub {
  display: inline-block;
  background: #000000;
  border-radius: 10rem;
  padding: 0.5rem 3rem;
  color: #fff;
  font-size: 1.6rem;
  line-height: 3rem;
  position: relative;
  top: -2.5rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .leftBoxA
  .inWhiteBox
  ul
  li {
  font-size: 1.6rem;
  line-height: 3rem;
}
.service01Wrap
  .c03
  .ininin
  .servicetopInnerBlock
  .textBB
  .iiin
  .serviceMainBox
  .flexWrap
  .rightBox
  .inRightBlue
  .inflexWrap
  .rightBoxA {
  position: relative;
  -webkit-flex-basis: 35rem;
  flex-basis: 35rem;
  text-align: left;
  padding-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .service01Wrap
    .c03
    .ininin
    .servicetopInnerBlock
    .textBB
    .iiin
    .serviceMainBox
    .flexWrap
    .rightBox
    .inRightBlue
    .inflexWrap
    .rightBoxA {
    padding: 0 0rem 0 0rem;
  }
}
.service02Wrap {
  margin-top: 8rem;
}
.service02Wrap .flexWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap {
    display: block;
  }
}
.service02Wrap .flexWrap .leftBox {
  width: 50%;
  background: #222;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .leftBox {
    width: 100%;
  }
}
.service02Wrap .flexWrap .leftBox .inBox {
  padding-left: 8rem;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .leftBox .inBox {
    padding-left: 0;
  }
}
.service02Wrap .flexWrap .rightBox {
  width: 50%;
  background: #343434;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .rightBox {
    width: 100%;
  }
}
.service02Wrap .flexWrap .rightBox .inBox {
  padding-right: 8rem;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .rightBox .inBox {
    padding-right: 0;
  }
}
.service02Wrap .flexWrap .inBox {
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .inBox {
    padding: 6rem 0;
  }
}
.service02Wrap .flexWrap .inBox .ttlBA {
  text-align: center;
  margin-bottom: 5rem;
}
.service02Wrap .flexWrap .inBox .ttlBA .sub {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 4rem;
  color: #fff;
  margin-bottom: 1rem;
}
.service02Wrap .flexWrap .inBox .ttlBA h3 {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2rem;
  color: #fff;
  position: relative;
}
.service02Wrap .flexWrap .inBox .ttlBA h3::after {
  content: "";
  background: #000000;
  width: 5rem;
  height: 2px;
  display: block;
  margin: 3rem auto 0;
}
.service02Wrap .flexWrap .inBox .ininFlex {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .inBox .ininFlex {
    padding: 0 2rem;
  }
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox {
  width: 28rem;
  margin: 0 2rem;
}
@media only screen and (max-width: 768px) {
  .service02Wrap .flexWrap .inBox .ininFlex .flexInBox {
    width: 28rem;
    margin: 0 1rem;
  }
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a {
  display: block;
  background: #fff;
  transition: all 0.5s;
  padding: 2rem 0 5rem 0;
  border-radius: 1rem;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a .imgB {
  position: relative;
  width: 16rem;
  margin: 0 auto 0rem;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a .imgB ._01 {
  position: relative;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 2;
  transition: all 0.5s;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a .imgB ._02 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 2;
  transition: all 0.5s;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a .ttt {
  text-align: center;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a .ttt p {
  font-size: 1.6rem;
  line-height: 3rem;
  transition: all 0.5s;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a:hover {
  background: #000000;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a:hover .imgB ._01 {
  opacity: 0;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a:hover .imgB ._02 {
  opacity: 1;
}
.service02Wrap .flexWrap .inBox .ininFlex .flexInBox a:hover .ttt p {
  color: #fff;
}
.solar01Wrap {
  background-color: #dedede;
}
.solar01Wrap ._in {
  position: relative;
  padding: 12rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .solar01Wrap ._in {
    padding: 8rem 0;
  }
}
.solar01Wrap ._in .lllogo {
  position: absolute;
  top: 50%;
  right: 17rem;
  transform: translate(0, -50%);
  width: 40%;
  opacity: 0.6;
}
.solar01Wrap ._in .inin .flexWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .solar01Wrap ._in .inin .flexWrap {
    display: block;
  }
}
.solar01Wrap ._in .inin .flexWrap .rightBox {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .solar01Wrap ._in .inin .flexWrap .rightBox {
    display: block;
  }
}
.solar01Wrap ._in .inin .flexWrap .rightBox h2 {
  font-size: 6.6rem;
  line-height: 12rem;
  font-weight: 400;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0rem;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-rl;
  padding-left: 6rem;
}
@media only screen and (max-width: 768px) {
  .solar01Wrap ._in .inin .flexWrap .rightBox h2 {
    -ms-writing-mode: initial;
    writing-mode: initial;
    margin-bottom: 4rem;
    padding: 0 3rem;
    font-size: 5rem;
    line-height: 8rem;
  }
}
.solar01Wrap ._in .inin .flexWrap .rightBox h2 span.white {
  color: #fff;
}
.solar01Wrap ._in .inin .flexWrap .rightBox .ttt {
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .solar01Wrap ._in .inin .flexWrap .rightBox .ttt {
    -ms-writing-mode: initial;
    writing-mode: initial;
    padding: 0 3rem;
  }
}
.solar01Wrap ._in .inin .flexWrap .rightBox .ttt p {
  font-weight: bold;
}
.solarBg01Wrap ._inImg {
  position: relative;
  background: url(../img/solar_bgimg01.jpg) no-repeat center/cover;
  padding: 26rem 0;
  background-attachment: fixed;
}
@media only screen and (max-width: 768px) {
  .solarBg01Wrap ._inImg {
    padding: 11rem 0;
    background-attachment: inherit;
    height: auto;
  }
}
.solar02Wrap {
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  .solar02Wrap {
    padding: 6rem 0;
  }
}
.solar02Wrap ._in h3 {
  font-size: 2.2rem;
  line-height: 2rem;
  font-weight: bold;
  border-bottom: solid 1px #ccc;
  clear: both;
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  padding-left: 3rem;
}
.solar02Wrap ._in h3::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0.2rem solid #000000;
  border-radius: 10rem;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.solar02Wrap ._in #kouka {
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .solar02Wrap ._in #kouka {
    display: block;
  }
  .solar02Wrap ._in #kouka .aaaa {
    display: inline-block;
    position: relative;
    top: -0.8rem;
    padding-left: 1rem;
  }
}
.solar02Wrap ._in #kouka #katei {
  color: #fff;
  background: url(../img/solar_bg01.png) no-repeat;
  height: 2.4rem;
  width: 21.5rem;
  display: inline-block;
  padding-left: 1em;
  line-height: 2.4rem;
  font-size: 1.3rem;
  vertical-align: text-bottom;
}
@media only screen and (max-width: 768px) {
  .solar02Wrap ._in #kouka #katei {
    color: #fff;
    background: url(../img/solar_bg01.png) no-repeat;
    height: 3.4rem;
    width: 24.5rem;
    display: inline-block;
    padding-left: 1em;
    line-height: 3.2rem;
    font-size: 1.3rem;
    vertical-align: text-bottom;
    background-size: contain;
  }
}
.solar02Wrap ._in #kouka #co2 {
  background: url(../img/solar_bg02.png) no-repeat;
  height: 2.4rem;
  width: 26.5rem;
  color: #fff;
  display: inline-block;
  padding-left: 1em;
  line-height: 2.4rem;
  font-size: 1.3rem;
  vertical-align: text-bottom;
}
@media only screen and (max-width: 768px) {
  .solar02Wrap ._in #kouka #co2 {
    background: url(../img/solar_bg02.png) no-repeat;
    background-size: contain;
    height: 3.4rem;
    width: 30.5rem;
    color: #fff;
    display: inline-block;
    padding-left: 1em;
    line-height: 3.4rem;
    font-size: 1.3rem;
    vertical-align: text-bottom;
  }
}
.solar02Wrap ._in #kouka .mr24 {
  margin-right: 3rem;
}
.solar03Wrap {
  background: #f6f6f6;
  padding: 14rem 0 7rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap {
    padding: 5rem 0 3rem;
  }
}
.solar03Wrap .c01 {
  position: relative;
  background: #fff;
  padding: 10rem 5rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 {
    padding: 5rem 3rem;
  }
}
.solar03Wrap .c01 h2 {
  position: absolute;
  top: -4rem;
  left: 8rem;
  transform: translate(0, 0);
  background: #333;
  -webkit-clip-path: polygon(
    16px 0px,
    calc(100% - 16px) 0px,
    100% 16px,
    100% calc(100% - 16px),
    calc(100% - 16px) 100%,
    16px 100%,
    0% calc(100% - 16px),
    0% 16px
  );
  clip-path: polygon(
    16px 0px,
    calc(100% - 16px) 0px,
    100% 16px,
    100% calc(100% - 16px),
    calc(100% - 16px) 100%,
    16px 100%,
    0% calc(100% - 16px),
    0% 16px
  );
  padding: 2rem 1rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 h2 {
    top: -3rem;
    left: 1rem;
  }
}
.solar03Wrap .c01 h2::before,
.solar03Wrap .c01 h2::after {
  content: "";
  display: block;
  background-image: url(../img/cmntit02_mark.png);
  background-size: 100% 100%;
}
.solar03Wrap .c01 h2::before,
.solar03Wrap .c01 h2::after {
  width: 2.7rem;
  height: 2.3rem;
  margin: 3rem auto;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 h2::before,
  .solar03Wrap .c01 h2::after {
    width: 2.7rem;
    height: 2.3rem;
    margin: 1rem auto;
  }
}
.solar03Wrap .c01 h2::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}
.solar03Wrap .c01 h2 span {
  font-size: 3.4rem;
  letter-spacing: 0.1rem;
  display: block;
  color: #fff;
  -webkit-text-orientation: upright;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝",
    "ＭＳ 明朝", serif;
  font-weight: 400;
  margin: auto;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 h2 span {
    font-size: 2.4rem;
  }
}
.solar03Wrap .c01 .inin {
  margin-left: 20rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 .inin {
    margin-left: 7rem;
  }
}
.solar03Wrap .c01 .inin .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 .inin .flexBoxInfo dl {
    display: block;
  }
}
.solar03Wrap .c01 .inin .flexBoxInfo dl dt {
  background: #f6f6f6;
  border-top: solid 1px #e5e5e5;
  -webkit-flex-basis: 20rem;
  flex-basis: 20rem;
  margin-bottom: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 .inin .flexBoxInfo dl dt {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.solar03Wrap .c01 .inin .flexBoxInfo dl dd {
  border-top: solid 1px #e5e5e5;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 3rem;
}
@media only screen and (max-width: 768px) {
  .solar03Wrap .c01 .inin .flexBoxInfo dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.solar04Wrap {
  background: #f6f6f6;
  padding: 7rem 0 14rem 0;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap {
    padding: 2rem 0 5rem 0;
  }
}
.solar04Wrap .inContents .sectionA._01,
.solar04Wrap .inContents .sectionA._02,
.solar04Wrap .inContents .sectionA._03 {
  margin-bottom: 14rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA._01,
  .solar04Wrap .inContents .sectionA._02,
  .solar04Wrap .inContents .sectionA._03 {
    margin-bottom: 7rem;
  }
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA._02.sectionA .flexWrap .textBox .inin .sub,
  .solar04Wrap
    .inContents
    .sectionA._04.sectionA
    .flexWrap
    .textBox
    .inin
    .sub {
    color: #fff;
  }
  .solar04Wrap
    .inContents
    .sectionA._02.sectionA
    .flexWrap
    .textBox
    .inin
    dl.dddl,
  .solar04Wrap
    .inContents
    .sectionA._04.sectionA
    .flexWrap
    .textBox
    .inin
    dl.dddl {
    color: #fff;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}
.solar04Wrap .inContents .sectionA .flexWrap::after {
  content: "";
  background: #000000;
  width: 75%;
  height: 85%;
  position: absolute;
  top: 12rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap::after {
    width: 50%;
  }
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap {
    display: block;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .imgBox {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  margin-top: 0rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .imgBox {
    margin-top: 0;
    margin-bottom: 3rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox {
  position: relative;
  z-index: 1;
  -webkit-flex-basis: 68rem;
  flex-basis: 68rem;
  padding-top: 0rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox {
    padding: 0 0rem 0 0rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin .sub {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 700;
  letter-spacing: 0rem;
  margin-bottom: 1rem;
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox .inin .flexBoxInfo dl {
    display: block;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin .flexBoxInfo dl dt {
  background: #ddd;
  border-top: solid 1px #e5e5e5;
  -webkit-flex-basis: 20rem;
  flex-basis: 20rem;
  margin-bottom: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap
    .inContents
    .sectionA
    .flexWrap
    .textBox
    .inin
    .flexBoxInfo
    dl
    dt {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin .flexBoxInfo dl dd {
  background: #f6f6f6;
  border-top: solid 1px #e5e5e5;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 3rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap
    .inContents
    .sectionA
    .flexWrap
    .textBox
    .inin
    .flexBoxInfo
    dl
    dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl {
    margin-bottom: 4rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl dt {
  font-size: 5rem;
  line-height: 5rem;
  font-weight: 700;
  letter-spacing: 0rem;
  position: relative;
  margin-right: 2rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl dt {
    font-size: 2rem;
    line-height: 3rem;
    font-weight: 700;
    letter-spacing: 0rem;
    position: relative;
    margin-right: 1rem;
    padding-right: 1rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl dt::after {
  content: "";
  background: #fff;
  width: 1px;
  height: 100%;
  top: 0;
  right: 0;
  position: absolute;
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl dd {
  font-size: 5rem;
  line-height: 5rem;
  font-weight: 700;
  letter-spacing: 0rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox .inin dl.dddl dd {
    font-size: 2rem;
    line-height: 3rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap .textBox .inin h3 {
  font-size: 3.4rem;
  line-height: 5rem;
  font-weight: 700;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap .textBox .inin h3 {
    font-size: 3rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap._reverse {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding: 0 12rem 0 20rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap._reverse {
    padding: 0 3rem 0 3rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap._reverse::after {
  left: 0;
}
.solar04Wrap .inContents .sectionA .flexWrap._reverse .textBox {
  margin-right: 6rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap._reverse .textBox {
    margin-right: 0rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap._normal {
  padding: 0 20rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap._normal {
    padding: 0 3rem 0 3rem;
  }
}
.solar04Wrap .inContents .sectionA .flexWrap._normal::after {
  right: 0;
}
.solar04Wrap .inContents .sectionA .flexWrap._normal .textBox {
  margin-left: 6rem;
}
@media only screen and (max-width: 768px) {
  .solar04Wrap .inContents .sectionA .flexWrap._normal .textBox {
    margin-left: 0rem;
  }
}
.solar05Wrap {
  background: #f8f8f8;
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  .solar05Wrap {
    padding: 6rem 0;
  }
}
.solar05Wrap .asss_wrapper {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-left: 1px solid #d5d5d5;
  border-right: 1px solid #d5d5d5;
  flex-basis: auto;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .solar05Wrap .asss_wrapper {
    border-left: none;
    border-right: none;
  }
}
.solar05Wrap .asss_wrapper .c-flow__step {
  position: relative;
  width: 25%;
  padding: 2rem 2rem 2rem;
  pointer-events: all;
}
@media only screen and (max-width: 768px) {
  .solar05Wrap .asss_wrapper .c-flow__step {
    width: 50%;
    margin-bottom: 2rem;
  }
  .solar05Wrap .asss_wrapper .c-flow__step:nth-child(1) {
    border-left: 1px solid #d5d5d5;
  }
  .solar05Wrap .asss_wrapper .c-flow__step:nth-child(3) {
    border-left: 1px solid #d5d5d5;
  }
  .solar05Wrap .asss_wrapper .c-flow__step:nth-child(4) {
    border-right: 1px solid #d5d5d5;
  }
}
.solar05Wrap .asss_wrapper .c-flow__step::before {
  right: 0;
  width: 10px;
  height: 100%;
  border: 1px solid #d5d5d5;
  border-left: none;
  position: absolute;
  left: auto;
  top: 0;
  content: "";
}
.solar05Wrap .asss_wrapper .c-flow__step::after {
  right: -6px;
  bottom: 0;
  width: 13px;
  height: 13px;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right: solid 1px #d5d5d5;
  border-top: solid 1px #d5d5d5;
  background: #f8f8f8;
  position: absolute;
  left: auto;
  top: 0;
  content: "";
}
.solar05Wrap .asss_wrapper .c-flow__step:last-child::before {
  display: none;
}
.solar05Wrap .asss_wrapper .c-flow__step:last-child::after {
  display: none;
}
.solar05Wrap .asss_wrapper .c-flow__step .index {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-weight: 800;
  color: #fff;
  font-size: 12px;
  padding: 8px 20px 7px;
  background: #15171b;
  border-radius: 15px;
  letter-spacing: 0.8px;
}
.solar05Wrap .asss_wrapper .c-flow__step .head {
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: bold;
  margin: 3rem 0;
  text-align: center;
}
.solar05Wrap .asss_wrapper .c-flow__step .desc {
  font-size: 1.3rem;
  line-height: 2rem;
  text-align: center;
}
.solar05Wrap .h2h2h h2 {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .solar05Wrap .h2h2h h2 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 3rem;
    margin-bottom: 3rem;
  }
}
.company01Wrap {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .company01Wrap {
    padding: 8rem 0 0;
  }
}
.company01Wrap .inin {
  text-align: center;
}
.company01Wrap .inin .sub {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
  color: #222;
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .company01Wrap .inin .sub {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.company01Wrap .inin .h2A span {
  display: block;
  font-size: 120px;
  font-size: 12rem;
  line-height: 1;
  font-weight: 600;
  background: url(../img/bluepenki.jpg) no-repeat center center;
  background-size: 90%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
@media only screen and (max-width: 768px) {
  .company01Wrap .inin .h2A span {
    font-size: 5rem;
    background: url(../img/bluepenki.jpg) no-repeat center center;
    background-size: 120%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
  }
}
.company01Wrap .inin .sub2 {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
  color: #222;
  margin-top: 2rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .company01Wrap .inin .sub2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.company02Wrap {
  padding: 8rem 0 12rem 0;
}
@media only screen and (max-width: 768px) {
  .company02Wrap {
    padding: 8rem 0;
  }
}
.company02Wrap .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .company02Wrap .flexWrap {
    display: block;
  }
}
.company02Wrap .flexWrap .leftBox {
  position: relative;
  z-index: 2;
  -webkit-flex-basis: 60rem;
  flex-basis: 60rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .company02Wrap .flexWrap .leftBox {
    margin-bottom: 3rem;
  }
}
.company02Wrap .flexWrap .leftBox .inLeft h2 {
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 6rem;
  margin-top: 10rem;
  margin-bottom: 9rem;
}
@media only screen and (max-width: 768px) {
  .company02Wrap .flexWrap .leftBox .inLeft h2 {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 4rem;
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
}
.company02Wrap .flexWrap .rightBox {
  position: relative;
  -webkit-flex-basis: 60%;
  flex-basis: 60%;
  text-align: left;
  margin-left: -6rem;
}
@media only screen and (max-width: 768px) {
  .company02Wrap .flexWrap .rightBox {
    margin-left: 0;
    padding: 0 0rem 0 0rem;
  }
}
.company02Wrap .flexWrap .rightBox .inRight .movieZ video {
  width: 100%;
  height: auto;
}
.company02Wrap .flexWrap .rightBox .inRight .imgB {
  width: 50rem;
  margin-top: -10rem;
  margin-right: 3rem;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .company02Wrap .flexWrap .rightBox .inRight .imgB {
    width: 30rem;
    margin-top: -4rem;
    margin-right: 0rem;
    margin-left: auto;
  }
}
.company03Wrap {
  background: #fafafa;
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .company03Wrap {
    padding: 8rem 0;
  }
}
.company03Wrap .tth2 {
  text-align: center;
  margin-bottom: 4rem;
}
.company03Wrap .tth2 h2 {
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 4rem;
}
@media only screen and (max-width: 768px) {
  .company03Wrap .tth2 h2 {
    font-size: 3rem;
  }
}
.company03Wrap .tth2 .sub {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 3rem;
  color: #000000;
}
.company03Wrap .logoA {
  width: 44rem;
  margin: 0 auto 5rem;
}
@media only screen and (max-width: 768px) {
  .company03Wrap .logoA {
    width: 36rem;
    margin: 0 auto 4rem;
  }
}
.company04Wrap {
  background: #fff;
  padding: 0rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .company04Wrap {
    padding: 1rem 0 6rem;
  }
}
.company04Wrap .flexWrapAAAA {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .company04Wrap .flexWrapAAAA {
    display: block;
  }
}
.company04Wrap .flexWrapAAAA .leftBox {
  position: relative;
  -webkit-flex-basis: 41rem;
  flex-basis: 41rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .company04Wrap .flexWrapAAAA .leftBox {
    width: 36rem;
    margin: 0 auto 3rem;
  }
}
.company04Wrap .flexWrapAAAA .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-left: 8rem;
}
@media only screen and (max-width: 768px) {
  .company04Wrap .flexWrapAAAA .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.company05Wrap {
  padding: 8rem 0;
}
@media only screen and (max-width: 768px) {
  .company05Wrap {
    padding: 8rem 0 0;
  }
}
.company05Wrap .c01 {
  margin-bottom: 8rem;
}
.company05Wrap .c01 video {
  width: 100%;
  height: auto;
}
.company05Wrap .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap {
    display: block;
    margin-bottom: 4rem;
  }
}
.company05Wrap .flexWrap .leftBox {
  position: relative;
  -webkit-flex-basis: 25rem;
  flex-basis: 25rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap .leftBox {
    margin-bottom: 3rem;
  }
}
.company05Wrap .flexWrap .leftBox .ttlhA h2 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 1rem;
}
.company05Wrap .flexWrap .leftBox .ttlhA .sub {
  font-size: 1.4rem;
  line-height: 3rem;
}
.company05Wrap .flexWrap .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl {
    display: block;
  }
}
.company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl dt {
  border-top: solid 1px #111;
  -webkit-flex-basis: 20rem;
  flex-basis: 20rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 2rem;
  padding-bottom: 2rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl dt {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl dd {
  border-top: solid 1px #e5e5e5;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .flexWrap .rightBox .inRight .flexBoxInfo dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.company05Wrap .accessMap iframe {
  height: 40rem;
}
@media only screen and (max-width: 768px) {
  .company05Wrap .accessMap iframe {
    height: 25rem;
  }
}
.recruit01Wrap {
  margin-top: 12rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap {
    margin-top: 8rem;
  }
}
.recruit01Wrap .c01 .d01 {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 {
    display: block;
  }
}
.recruit01Wrap .c01 .d01 .leftBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding: 0 8rem 0 0rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 .leftBox {
    padding: 0 0rem 5rem 0rem;
  }
}
.recruit01Wrap .c01 .d01 .leftBox h2 {
  position: relative;
  font-size: 3.8rem;
  line-height: 5rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 .leftBox h2 {
    font-size: 2.4rem;
    line-height: 4rem;
    font-weight: bold;
    margin-bottom: 3rem;
  }
}
.recruit01Wrap .c01 .d01 .leftBox h2::after {
  content: "";
  background: #222;
  width: 100%;
  height: 1px;
  display: block;
  margin: 0.5rem 0 0 0;
}
.recruit01Wrap .c01 .d01 .leftBox .sub {
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
.recruit01Wrap .c01 .d01 .leftBox .sub2 {
  position: relative;
  font-size: 2.8rem;
  line-height: 4.4rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 .leftBox .sub2 {
    font-size: 2rem;
    line-height: 3.4rem;
  }
}
.recruit01Wrap .c01 .d01 .rightBox {
  position: relative;
  -webkit-flex-basis: 28rem;
  flex-basis: 28rem;
  margin-bottom: 0;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 .rightBox {
    margin-bottom: 3rem;
  }
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a {
  width: 20rem;
  height: 20rem;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.3;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a {
    margin: 0 auto;
  }
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a .m-recruitBtn-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.recruit01Wrap
  .c01
  .d01
  .rightBox
  .m-recruitBtn-wrap
  a
  .m-recruitBtn-bg::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/entryBtn_01.svg) center no-repeat;
  background-size: contain;
  -webkit-animation: m-recruitBtn infinite 30s linear;
  animation: m-recruitBtn infinite 30s linear;
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a .sub {
  font-size: 1.2rem;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a .main {
  font-size: 2.8rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a .label {
  margin-top: 1rem;
  font-size: 1.4rem;
  position: relative;
  z-index: 1;
}
.recruit01Wrap .c01 .d01 .rightBox .m-recruitBtn-wrap a .label .ico {
  font-size: 1rem;
  vertical-align: middle;
  position: relative;
  z-index: 1;
}
@-webkit-keyframes m-recruitBtn {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes m-recruitBtn {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.recruit01Wrap .c02 {
  margin-top: 10rem;
  padding: 10rem 0;
  background: #f6f6f6;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c02 {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
.recruit01Wrap .c02 ._in .tthLj {
  text-align: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c02 ._in .tthLj {
    margin-bottom: 0rem;
  }
}
.recruit01Wrap .c02 ._in .tthLj h2 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 3rem;
  font-weight: 600;
  font-style: normal;
  color: #000000;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c02 ._in .tthLj h2 {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}
.recruit01Wrap .c02 ._in .tthLj .sub {
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: 500;
}
.recruit01Wrap .c02 ._in .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  border-left: 1px solid #ddd;
}
.recruit01Wrap .c02 ._in .flexWrap .flexBox {
  width: 25%;
  padding: 0 2%;
  border-right: 1px solid #ddd;
}
@media only screen and (max-width: 768px) {
  .recruit01Wrap .c02 ._in .flexWrap .flexBox {
    width: 50%;
    margin-top: 4rem;
    padding: 0 4%;
  }
}
.recruit01Wrap .c02 ._in .flexWrap .flexBox .imgBo {
  width: 16rem;
  margin: 0 auto 3rem;
}
.recruit01Wrap .c02 ._in .flexWrap .flexBox .tB dl {
  text-align: center;
}
.recruit01Wrap .c02 ._in .flexWrap .flexBox .tB dl dt {
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: 800;
  margin-bottom: 2rem;
}
.recruit02Wrap {
  position: relative;
  overflow: hidden;
  padding: 12rem 0 6rem;
}
@media only screen and (max-width: 768px) {
  .recruit02Wrap {
    padding: 8rem 0 0rem;
  }
}
.recruit02Wrap::before {
  content: "";
  background: #f6f6f6;
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 80%;
  height: 60%;
}
.recruit02Wrap ._in {
  position: relative;
  z-index: 1;
}
.recruit02Wrap ._in .section_ttl {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: right;
}
.recruit02Wrap ._in .section_ttl .section_ttl-en {
  position: relative;
  display: inline-block;
  color: #393a3b;
  font-size: 650%;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: "eb-garamond", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 8.6rem;
  font-weight: bold;
  line-height: 6rem;
}
@media only screen and (max-width: 768px) {
  .recruit02Wrap ._in .section_ttl .section_ttl-en {
    font-size: 5.6rem;
    font-weight: bold;
    line-height: 5rem;
  }
}
.recruit02Wrap ._in .section_ttl .section_ttl-en::before,
.recruit02Wrap ._in .section_ttl .section_ttl-en::after {
  content: "";
  position: absolute;
  left: calc(100% + 52px);
  background-color: #2d3a44;
}
.recruit02Wrap ._in .section_ttl .section_ttl-en::before {
  top: calc(50% - 8px / 2);
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.recruit02Wrap ._in .section_ttl .section_ttl-en::after {
  top: calc(50% - 1px / 2);
  width: 2000%;
  height: 1px;
}
.recruit02Wrap ._in .section_ttl .section_ttl-en .section_ttl-jp {
  display: block;
  margin-top: 0rem;
  font-size: 23.998%;
  letter-spacing: 0.1em;
}
.recruit02Wrap .flexWRap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .recruit02Wrap .flexWRap {
    display: block;
  }
}
.recruit02Wrap .flexWRap .flexBox {
  width: 31%;
}
.recruit02Wrap .flexWRap .flexBox:nth-child(1) {
  margin-top: 0rem;
}
.recruit02Wrap .flexWRap .flexBox:nth-child(2) {
  margin-top: 8rem;
}
.recruit02Wrap .flexWRap .flexBox:nth-child(3) {
  margin-top: 16rem;
}
@media only screen and (max-width: 768px) {
  .recruit02Wrap .flexWRap .flexBox {
    width: 100%;
  }
  .recruit02Wrap .flexWRap .flexBox:nth-child(1) {
    margin-top: 6rem;
  }
  .recruit02Wrap .flexWRap .flexBox:nth-child(2) {
    margin-top: 6rem;
  }
  .recruit02Wrap .flexWRap .flexBox:nth-child(3) {
    margin-top: 6rem;
  }
}
.recruit02Wrap .flexWRap .flexBox .imgB {
  border-radius: 0 4rem 0 4rem;
}
.recruit02Wrap .flexWRap .flexBox .imgB img {
  border-radius: 0 4rem 0 4rem;
}
.recruit02Wrap .flexWRap .flexBox .textB .bbbN {
  margin-top: -2rem;
  font-size: 5.8rem;
  font-weight: bold;
  line-height: 4rem;
  color: #000000;
  margin-bottom: 1rem;
  font-family: "eb-garamond", serif;
  font-weight: 700;
  font-style: normal;
}
.recruit02Wrap .flexWRap .flexBox .textB dl dt {
  border-bottom: 1px solid #222;
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
  color: #000000;
}
.recruit03Wrap {
  padding: 10rem 0 12rem;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap {
    padding: 10rem 0 12rem;
  }
}
.recruit03Wrap ._in .ttlAH {
  text-align: center;
  margin-bottom: 6rem;
}
.recruit03Wrap ._in .ttlAH h2 {
  font-size: 2rem;
  line-height: 3rem;
  color: #000000;
  margin-bottom: 1rem;
}
.recruit03Wrap ._in .ttlAH .sub {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
}
.recruit03Wrap ._in .flexWRap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}
.recruit03Wrap ._in .flexWRap .flexBox {
  position: relative;
  width: 48%;
  padding-left: 15rem;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap ._in .flexWRap .flexBox {
    padding-left: 3rem;
  }
}
.recruit03Wrap ._in .flexWRap .flexBox:nth-child(1),
.recruit03Wrap ._in .flexWRap .flexBox:nth-child(2) {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap ._in .flexWRap .flexBox {
    width: 48%;
  }
  .recruit03Wrap ._in .flexWRap .flexBox:nth-child(3) {
    margin-bottom: 0rem;
  }
}
.recruit03Wrap ._in .flexWRap .flexBox .bgImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 20rem;
  opacity: 0.1;
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox {
  position: relative;
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .h3h3 h3 {
  font-size: 1.8rem;
  line-height: 2rem;
  font-weight: bold;
  border-bottom: solid 1px #ccc;
  clear: both;
  position: relative;
  margin-bottom: 3rem;
  padding-bottom: 1rem;
  padding-left: 3rem;
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .h3h3 h3::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0.2rem solid #000000;
  border-radius: 10rem;
  position: absolute;
  top: 0.3rem;
  left: 0;
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  font-family: arial;
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .countNumber {
  font-size: 7rem;
  color: #000000;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .countNumber {
    font-size: 5rem;
  }
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .big {
  font-size: 7rem;
  color: #000000;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .big {
    font-size: 5rem;
  }
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .aaa {
  font-size: 5rem;
  font-family: "Amiri", serif;
}
@media only screen and (max-width: 768px) {
  .recruit03Wrap ._in .flexWRap .flexBox .inBox .secondCount .aaa {
    font-size: 3rem;
  }
}
.recruit03Wrap ._in .flexWRap .flexBox .inBox .sub {
  font-size: 1.5rem;
  color: #777;
}
.recruit04Wrap {
  background: linear-gradient(90deg, #f7f7f7 0%, #cdcdcd 100%);
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap {
    padding: 8rem 0;
  }
}
.recruit04Wrap ._in .ttlA {
  margin-top: -15rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .ttlA {
    margin-top: -11rem;
  }
}
.recruit04Wrap ._in .ttlA h2 {
  font-size: 8.6rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .ttlA h2 {
    font-size: 7rem;
  }
}
.recruit04Wrap ._in .ttlA .sub {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
}
.recruit04Wrap ._in .inin .tttA {
  text-align: right;
  margin-top: 6rem;
  margin-right: 10rem;
  margin-bottom: 10rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .tttA {
    text-align: left;
    margin-top: 4rem;
    margin-right: 3rem;
    margin-bottom: 5rem;
    margin-left: 3rem;
  }
}
.recruit04Wrap ._in .inin .ccc {
  position: relative;
  padding: 0rem 0 21rem 0;
}
.recruit04Wrap ._in .inin .ccc.c04 {
  padding-bottom: 14rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc.c04 {
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc {
    padding: 0rem 0 6rem 0;
  }
}
.recruit04Wrap ._in .inin .ccc .textAbsolute {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 8rem;
  line-height: 8rem;
  color: #fff;
  position: absolute;
  top: -3rem;
  margin: 0px;
  padding: 0px;
  line-height: 1;
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc .textAbsolute {
    display: none;
  }
}
.recruit04Wrap ._in .inin .ccc .textAbsolute._left {
  left: 1vw;
}
.recruit04Wrap ._in .inin .ccc .textAbsolute._right {
  right: 1vw;
}
.recruit04Wrap ._in .inin .ccc .d01 .leftBox {
  z-index: 1;
  margin-bottom: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background: #fff;
  width: 54rem;
  padding: 6rem 4rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc .d01 .leftBox {
    width: 90%;
  }
}
.recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin dl {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin dl {
    margin-bottom: 1rem;
  }
}
.recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin dl dt {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 4rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin dl dt {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 4rem;
  }
}
.recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin dl dd {
  font-size: 1.4rem;
  line-height: 3rem;
}
.recruit04Wrap ._in .inin .ccc .d01 .leftBox .ininin .sub2 {
  font-size: 1.6rem;
  line-height: 3rem;
  margin-bottom: 1rem;
}
.recruit04Wrap ._in .inin .ccc .d01 .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  width: 72%;
  max-height: 43rem;
  overflow: hidden;
  margin-top: 0rem;
  padding: 0 0rem 0 0rem;
  transition: 0.6s;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc .d01 .rightBox {
    width: 100%;
    max-height: auto;
    padding: 0 0rem 0 0rem;
  }
}
.recruit04Wrap ._in .inin .ccc .d01 .rightBox .img img {
  object-fit: cover;
}
.recruit04Wrap ._in .inin .ccc._normal .d01 .leftBox {
  position: absolute;
  top: -3rem;
  left: 20rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc._normal .d01 .leftBox {
    position: static;
    margin-bottom: 0rem;
    padding: 4rem 3rem;
    top: 0rem;
    left: 0rem;
  }
}
.recruit04Wrap ._in .inin .ccc._normal .d01 .rightBox {
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc._normal .d01 .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.recruit04Wrap ._in .inin .ccc._gyaku .d01 .leftBox {
  position: absolute;
  top: -3rem;
  right: 20rem;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc._gyaku .d01 .leftBox {
    position: static;
    margin-bottom: 0rem;
    padding: 4rem 3rem;
    top: 0rem;
    right: 0rem;
  }
}
.recruit04Wrap ._in .inin .ccc._gyaku .d01 .rightBox {
  margin-right: auto;
}
@media only screen and (max-width: 768px) {
  .recruit04Wrap ._in .inin .ccc._gyaku .d01 .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.recruitTabWrap {
  padding: 10rem 0;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap {
    padding: 7rem 0 2rem 0;
  }
}
.recruitTabWrap .ttlA {
  text-align: center;
  display: block;
  font-weight: 500;
  font-size: 2.6rem;
  font-family: source-han-serif-japanese, serif;
  font-weight: 800;
  font-style: normal;
  line-height: 3rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .ttlA {
    font-size: 2.2rem;
    line-height: 3rem;
  }
}
.recruitTabWrap .tabWrap .tabBtn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0px 0rem;
  -webkit-justify-content: center;
  -moz-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBtn {
    margin: 0 0px 0rem;
  }
}
.recruitTabWrap .tabWrap .tabBtn li {
  display: inline-block;
  line-height: 1;
  width: 50%;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBtn li {
    width: 50%;
  }
}
.recruitTabWrap .tabWrap .tabBtn li a {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 3rem 0px;
  width: 100%;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBtn li a {
    width: 100%;
    font-size: 1.5rem;
  }
}
.recruitTabWrap .tabWrap .tabBtn li a:before {
  content: " ";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 0.3rem;
  background: #eaeaea;
}
.recruitTabWrap .tabWrap .tabBtn li a.is_active {
  background: #eaeaea;
  color: #333;
  font-weight: bold;
}
.recruitTabWrap .tabWrap .tabBtn li a.is_active:before {
  height: 0.3rem;
  background: #867a73;
}
.recruitTabWrap .tabWrap .tabBtn li a.is_active:after {
  content: " ";
  position: absolute;
  bottom: -0.8rem;
  left: 50%;
  transform: translate3d(-50%, 0px, 0px);
  width: 0;
  height: 0;
  border: none;
  border-top: 0.8rem solid #867a73;
  border-right: 0.8rem solid transparent;
  border-left: 0.8rem solid transparent;
}
.recruitTabWrap .tabWrap .tabBtn li:first-child a {
  border-right: none;
}
.recruitTabWrap .tabWrap .tabBlockIn {
  border: 1px solid #eaeaea;
  border-top: none;
  margin: 0 auto;
  box-sizing: content-box;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .w950 {
    padding: 0;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab-content {
  display: none;
}
.recruitTabWrap .tabWrap .tabBlockIn .tab-content.is_show {
  display: block;
}
.recruitTabWrap .tabWrap .tabBlockIn .ininin {
  padding: 5rem 5rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .ininin {
    padding: 4rem 3rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .ininin h3 {
  margin-bottom: 4rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 3rem;
}
.recruitTabWrap .tabWrap .tabBlockIn .ininin dl {
  position: relative;
  display: flex;
  font-size: 1.6rem;
  line-height: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .ininin dl {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .ininin dl dt {
  border-top: solid 1px #111;
  -webkit-flex-basis: 20rem;
  flex-basis: 20rem;
  margin-right: 2rem;
  margin-bottom: 0;
  padding-top: 2.5rem;
  padding-bottom: 3rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .ininin dl dt {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin-right: 0rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .ininin dl dd {
  border-top: solid 1px #f4f4f4;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding-top: 2.5rem;
  padding-bottom: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .ininin dl dd {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 {
  background-size: contain;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 {
    position: relative;
    max-height: auto;
    height: auto;
    background: none;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn {
  position: relative;
  width: 100rem;
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .textAccent {
  position: absolute;
  right: 5rem;
  bottom: 0;
  width: 48rem;
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts {
  position: absolute;
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block {
  position: relative;
  z-index: 1;
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block .name {
  color: #fff;
  background: #867a73;
  font-size: 2rem;
  margin-bottom: 1rem;
  padding: 0.8rem 0rem;
  width: 27rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block .name {
    width: 17rem;
    font-size: 1.6rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block .name a {
  color: #fff;
  display: block;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block .name a {
    width: 17rem;
    font-size: 1.6rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block ul {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block ul {
    display: none !important;
  }
}
.recruitTabWrap
  .tabWrap
  .tabBlockIn
  .tab_01
  .tabIn
  .parts
  .block
  ul
  li:not(:last-child) {
  margin-right: 3rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap
    .tabWrap
    .tabBlockIn
    .tab_01
    .tabIn
    .parts
    .block
    ul
    li:not(:last-child) {
    margin-right: 1rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block ul li a {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  padding-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts .block ul li a {
    font-size: 1.5rem;
    pointer-events: none;
  }
}
.recruitTabWrap
  .tabWrap
  .tabBlockIn
  .tab_01
  .tabIn
  .parts
  .block
  ul
  li
  a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translate3d(0%, -50%, 0) rotate(45deg);
  width: 0.6rem;
  height: 0.6rem;
  border-top: 0.16rem solid #666666;
  border-right: 0.16rem solid #666666;
  z-index: 1;
  transition: transform 0.5s;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap
    .tabWrap
    .tabBlockIn
    .tab_01
    .tabIn
    .parts
    .block
    ul
    li
    a:before {
    display: none;
  }
}
.recruitTabWrap
  .tabWrap
  .tabBlockIn
  .tab_01
  .tabIn
  .parts
  .block
  ul
  li
  a:after {
  content: "";
  background: #666666;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap
    .tabWrap
    .tabBlockIn
    .tab_01
    .tabIn
    .parts
    .block
    ul
    li
    a:after {
    height: 1px;
    display: none;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.eye {
  top: 6rem;
  left: 72rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.eye {
    top: 2rem;
    right: 1rem;
    left: auto;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.eye ul {
    display: block;
    margin-left: 2rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.eye .svg {
  width: 13rem;
  position: absolute;
  top: 1.8rem;
  left: -12rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.eye .svg {
    width: 7rem;
    position: absolute;
    top: 2.6rem;
    left: -5rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hana {
  top: 22rem;
  left: 72rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hana {
    top: 13rem;
    right: 1rem;
    left: auto;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hana ul {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hana .svg {
  width: 20rem;
  position: absolute;
  top: 1.8rem;
  left: -19rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hana .svg {
    width: 14rem;
    position: absolute;
    top: 1rem;
    left: -8.5rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.rinkaku {
  top: 37rem;
  left: 72rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.rinkaku {
    top: 24rem;
    right: 1rem;
    left: auto;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.rinkaku ul {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.rinkaku .svg {
  width: 10rem;
  position: absolute;
  top: -3rem;
  left: -9rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.rinkaku .svg {
    width: 6rem;
    position: absolute;
    top: -3rem;
    left: -4rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hada {
  top: 13rem;
  left: 1rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hada {
    top: 3rem;
    left: 1rem;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hada ul {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hada .svg {
  width: 14rem;
  position: absolute;
  top: 2rem;
  right: -13rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.hada .svg {
    width: 6rem;
    position: absolute;
    top: 3rem;
    right: -4rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.body {
  top: 29rem;
  left: 1rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.body {
    top: 16rem;
    left: 1rem;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.body ul {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.body .svg {
  width: 34rem;
  position: absolute;
  top: 2rem;
  right: -33rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.body .svg {
    width: 15rem;
    position: absolute;
    top: 2rem;
    right: -13rem;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.other {
  top: 45rem;
  left: 1rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.other {
    top: 27rem;
    left: 1rem;
  }
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.other ul {
    display: block;
  }
}
.recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.other .svg {
  width: 34rem;
  position: absolute;
  top: 2rem;
  right: -33rem;
}
@media only screen and (max-width: 768px) {
  .recruitTabWrap .tabWrap .tabBlockIn .tab_01 .tabIn .parts.other .svg {
    width: 7rem;
    position: absolute;
    top: 2.6rem;
    left: -5rem;
  }
}
.sus01Wrap {
  padding: 12rem 0;
  background: #000000;
}
@media only screen and (max-width: 768px) {
  .sus01Wrap {
    padding: 8rem 0;
  }
}
.sus01Wrap .ttlhA {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 6rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .sus01Wrap .ttlhA {
    margin-bottom: 3rem;
  }
}
.sus01Wrap .ttlhA .c01,
.sus01Wrap .ttlhA .c02,
.sus01Wrap .ttlhA .c03 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 4rem;
}
.sus01Wrap .ttlhA .c02 {
  padding: 0 1rem;
}
.sus01Wrap .flexWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .sus01Wrap .flexWrap {
    margin-bottom: 4rem;
  }
}
.sus01Wrap .flexWrap .inBox {
  position: relative;
  width: 40rem;
  margin: 0 3rem;
}
@media only screen and (max-width: 768px) {
  .sus01Wrap .flexWrap .inBox {
    margin: 0 1rem;
  }
}
.sus01Wrap .flexWrap .inBox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  background-color: #000000;
  background-image: repeating-linear-gradient(
    45deg,
    #fff,
    #fff 7px,
    transparent 0,
    transparent 14px
  );
}
.sus01Wrap .flexWrap .inBox .aaImg {
  position: relative;
  z-index: 2;
}
.sus01Wrap .ttt {
  text-align: center;
  color: #fff;
}
.sus02Wrap {
  width: 100%;
  padding: 14rem 0;
  background-color: #f5f5f5;
  background-image: repeating-linear-gradient(
    45deg,
    #fff,
    #fff 7px,
    transparent 0,
    transparent 64px
  );
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap {
    padding: 8rem 0;
  }
}
.sus02Wrap ._in {
  position: relative;
}
.sus02Wrap ._in::before {
  content: "";
  width: 13rem;
  height: 13rem;
  border-left: 2rem solid #222;
  border-top: 2rem solid #222;
  position: absolute;
  top: -2rem;
  left: -2rem;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in::before {
    width: 8rem;
    height: 8rem;
    border-left: 1rem solid #222;
    border-top: 1rem solid #222;
    position: absolute;
    top: -1rem;
    left: -1rem;
  }
}
.sus02Wrap ._in::after {
  content: "";
  width: 13rem;
  height: 13rem;
  border-right: 2rem solid #222;
  border-bottom: 2rem solid #222;
  position: absolute;
  bottom: -2rem;
  right: -2rem;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in::after {
    width: 8rem;
    height: 8rem;
    border-right: 1rem solid #222;
    border-bottom: 1rem solid #222;
    position: absolute;
    bottom: -1rem;
    right: -1rem;
  }
}
.sus02Wrap ._in .inin {
  background: #fff;
  padding: 10rem 10rem;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in .inin {
    padding: 4rem 3rem;
  }
}
.sus02Wrap ._in .inin h2 {
  display: inline-block;
  position: relative;
  margin-bottom: 5rem;
  padding-bottom: 1rem;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 4rem;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in .inin h2 {
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 4rem;
  }
}
.sus02Wrap ._in .inin h2::before {
  content: "";
  background: #222;
  position: absolute;
  bottom: 0rem;
  left: 0rem;
  width: 44rem;
  height: 4px;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in .inin h2::before {
    width: 27rem;
    height: 3px;
  }
}
.sus02Wrap ._in .inin .img {
  border: 1px solid #ddd;
  padding: 8rem;
}
@media only screen and (max-width: 768px) {
  .sus02Wrap ._in .inin .img {
    padding: 2rem 2rem;
  }
}
.sus03Wrap {
  background: #fafafa;
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .sus03Wrap {
    padding: 8rem 0;
  }
}
.sus03Wrap ._in .inin {
  text-align: center;
}
.sus03Wrap ._in .inin h2 {
  font-size: 3rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .sus03Wrap ._in .inin h2 {
    margin-bottom: 2rem;
  }
}
.sus04Wrap {
  padding: 12rem 0 5rem;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap {
    padding: 8rem 0 4rem;
  }
}
.sus04Wrap ._in .inin h2 {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin h2 {
    margin-bottom: 2rem;
  }
}
.sus04Wrap ._in .inin .flexWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin .flexWrap {
    display: block;
  }
}
.sus04Wrap ._in .inin .flexWrap .flexBox {
  position: relative;
  width: 48%;
  margin-bottom: 5rem;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin .flexWrap .flexBox {
    width: 100%;
  }
}
.sus04Wrap ._in .inin .flexWrap .flexBox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 1.2rem;
  top: 1.2rem;
  background-color: #49bbff;
  background-image: repeating-linear-gradient(
    45deg,
    #fff,
    #fff 7px,
    transparent 0,
    transparent 14px
  );
}
.sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap {
  position: relative;
  z-index: 2;
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #f9f9f9;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap {
    display: block;
  }
}
.sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap .imgBox {
  position: relative;
  -webkit-flex-basis: 21rem;
  flex-basis: 21rem;
  margin-bottom: 0;
  text-align: center;
  padding: 3rem 3rem;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap .imgBox {
    width: 28rem;
    margin: 0 auto 1rem;
  }
}
.sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap .textBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding: 3rem 3rem 3rem 0;
}
@media only screen and (max-width: 768px) {
  .sus04Wrap ._in .inin .flexWrap .flexBox .inflexWrap .textBox {
    padding: 0 3rem 3rem 3rem;
  }
}
.secTitle {
  margin-top: 6rem;
}
.secTitle .h1Wrap {
  text-align: center;
  padding: 0rem 0 6rem;
}
@media only screen and (max-width: 768px) {
  .secTitle .h1Wrap {
    padding: 0rem 0 6rem;
  }
}
.secTitle .h1Wrap h1 {
  display: inline-block;
  padding: 0 1rem;
  color: #333;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.07em;
  transition: all 0.3s;
}
.secTitle .h1Wrap .engText {
  margin-top: 1.5rem;
  display: block;
  font-size: 1.3rem;
  font-family: mr-eaves-xl-modern, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.06em;
}
.worksDetail {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .worksDetail {
    margin-bottom: 0rem;
  }
}
.workDetail .item .infoInner dl {
  display: -webkit-flex;
  display: flex;
  width: 100%;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .workDetail .item .infoInner dl {
    display: block;
    width: 100%;
    text-align: left;
  }
}
.workDetail .item .infoInner dl dt {
  width: 220px;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cfcfcf;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
    Helvetica, Arial, sans-serif;
}
@media only screen and (max-width: 768px) {
  .workDetail .item .infoInner dl dt {
    width: 100%;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #cfcfcf;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
      Helvetica, Arial, sans-serif;
  }
}
.workDetail .item .infoInner dl dd {
  display: -webkit-flex;
  display: flex;
  width: 580px;
  -webkit-flex: 1 1 auto;
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 1px solid #f2f2f2;
  font-size: 15px;
  letter-spacing: 0.06em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
    Helvetica, Arial, sans-serif;
}
@media only screen and (max-width: 768px) {
  .workDetail .item .infoInner dl dd {
    width: 100%;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f2f2f2;
    font-size: 14px;
    letter-spacing: 0.06em;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
      Helvetica, Arial, sans-serif;
  }
}
.worksDetail .slideWrap {
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  .worksDetail .slideWrap {
    margin-bottom: 10%;
  }
  .worksDetail .slideWrap .slick-prev,
  .worksDetail .slideWrap .slick-next {
    display: none !important;
  }
}
.worksDetail .slick-dots {
  display: none !important;
}
.worksDetail .item02 {
  margin-bottom: 150px;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 {
    margin-bottom: 70px;
  }
}
.worksDetail .item02 .textWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap {
    display: block;
  }
}
.worksDetail .item02 .textWrap .dLeft {
  -webkit-flex-basis: 40%;
  flex-basis: 40%;
  margin-right: 10%;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dLeft {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin-right: 0%;
    margin-bottom: 3rem;
  }
}
.worksDetail .item02 .textWrap .dLeft ul li {
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #cfcfcf;
  font-size: 1.5rem;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
    Helvetica, Arial, sans-serif;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dLeft ul li {
    width: 100%;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #cfcfcf;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
      Helvetica, Arial, sans-serif;
  }
}
@media only screen and (max-width: 768px) and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dLeft ul li {
    font-size: 1.3rem;
  }
}
.worksDetail .item02 .textWrap .dLeft ul li dl {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dLeft ul li dl {
    display: block;
  }
}
.worksDetail .item02 .textWrap .dLeft ul li dl dt {
  width: 15rem;
  margin-right: 1rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dLeft ul li dl dt {
    width: 100%;
  }
}
.worksDetail .item02 .textWrap .dLeft ul li dl dd {
  -webkit-flex-grow: 1;
  flex-grow: 1;
}
.worksDetail .item02 .textWrap .dRight {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
}
.worksDetail .item02 .textWrap .dRight h4 {
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue",
    Helvetica, Arial, sans-serif;
  margin-bottom: 2rem;
}
.worksDetail .item02 .textWrap .dRight .textD {
  font-size: 1.3rem;
  line-height: 2.3;
}
@media only screen and (max-width: 768px) {
  .worksDetail .item02 .textWrap .dRight .textD {
    line-height: 2.1;
  }
}
.worksDetail .projectWrap {
  position: relative;
  padding: 18rem 0 10rem;
}
@media only screen and (max-width: 768px) {
  .worksDetail .projectWrap {
    padding: 13rem 0 5rem;
  }
}
.worksDetail .projectWrap:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 7rem;
  background-color: #000;
}
.worksDetail .projectWrap .proTitle {
  font-family: mr-eaves-xl-modern, sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 65px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.16em;
}
.worksDetail .projectWrap ul {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.worksDetail .projectWrap ul li {
  -webkit-flex-basis: 25%;
  flex-basis: 25%;
}
@media only screen and (max-width: 768px) {
  .worksDetail .projectWrap ul li {
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
  }
}
.worksDetail .projectWrap ul li a {
  position: relative;
  display: block;
}
.worksDetail .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) {
  .worksDetail .projectWrap ul li a:before {
    opacity: 0;
  }
}
.worksDetail .projectWrap ul li a .imgBody {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.6s;
  opacity: 1;
  -webkit-transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.worksDetail .projectWrap ul li a .imgBody:before {
  content: "";
  display: block;
  padding-top: 64%;
}
.worksDetail .projectWrap ul li a .imgBody .img {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  background: url() center no-repeat #ececec;
}
.worksDetail .projectWrap ul li a:hover:before {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .worksDetail .workDetail .slider-for {
    margin-bottom: 20px;
  }
  .worksDetail .workDetail .slider-for img {
    width: 1000px;
  }
  .worksDetail .workDetail .slider-nav img {
    width: 170px;
  }
  .worksDetail .slider-nav .slick-prev,
  .worksDetail .slider-nav .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    display: block !important;
    z-index: 9;
  }
  .worksDetail .slider-nav .slick-prev {
    top: 36%;
    transform: rotate(-180deg);
    left: 0;
    background: url(../img/btn_arrow.png) no-repeat center !important;
  }
  .worksDetail .slider-nav .slick-next {
    top: 50%;
    right: 0;
    background: url(../img/btn_arrow.png) no-repeat center !important;
  }
  .worksDetail .slider-nav .slick-prev:hover {
    opacity: 1;
    display: block;
    background: url(../img/btn_arrow.png) no-repeat center;
  }
  .worksDetail .img-zoom {
    width: 1000px;
    height: 600px;
    background-position: center center;
  }
  .worksDetail .img-zoom-nav {
    width: 170px;
    height: 102px;
    background-position: center center;
  }
}
@media only screen and (max-width: 768px) {
  .worksDetail .workDetail .slider-for_sp {
    margin-bottom: 10px;
  }
  .worksDetail .workDetail .slider-for_sp img {
    width: 100%;
  }
  .worksDetail .workDetail .slider-for_sp .spCon,
  .worksDetail .workDetail .slider-nav_sp .spCon {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%;
  }
  .worksDetail .workDetail .slider-for_sp .spCon::after,
  .worksDetail .workDetail .slider-nav_sp .spCon::after {
    content: "";
    display: block;
    padding-top: 62.5%;
  }
  .worksDetail .workDetail .img-zoom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: 0.8s;
    background: url() center no-repeat #e5e5e5;
  }
  .worksDetail .workDetail .slider-nav_sp .slick-slide > div {
    margin: 0 5px 0 0px;
  }
  .worksDetail .workDetail .slider-nav_sp img {
    width: 100%;
  }
  .worksDetail .slider-nav_sp .slick-prev,
  .worksDetail .slider-nav_sp .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    display: block;
    z-index: 9;
  }
  .worksDetail .slider-nav_sp .slick-prev {
    top: 170%;
    left: 0;
    background: url(../img/btn_arrow_back.png) no-repeat center !important;
  }
  .worksDetail .slider-nav_sp .slick-next {
    top: 170%;
    right: 0;
    background: url(../img/btn_arrow.png) no-repeat center !important;
  }
  .worksDetail .slider-nav_sp .slick-prev:hover {
    opacity: 1;
    display: block;
    background: url(../img/btn_arrow.png) no-repeat center;
  }
  .worksDetail .slick-dots {
    display: none !important;
  }
}
.slideAnimationWrap03 .slideTopB {
  display: flex;
  align-items: center;
  overflow: hidden;
}
.slideAnimationWrap03 .slideTopB .slideshow {
  display: flex;
  animation: loop-slide02 120s infinite linear 1s both;
}
@media only screen and (max-width: 768px) {
  .slideAnimationWrap03 .slideTopB .slideshow {
    animation: loop-slide02 80s infinite linear 1s both;
  }
}
.slideAnimationWrap03 .slideTopB .slideshow li img {
  width: 52rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .slideAnimationWrap03 .slideTopB .slideshow li img {
    width: 25rem;
  }
}
@keyframes loop-slide02 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.work01Wrap {
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .work01Wrap {
    padding: 7rem 0 6rem 0;
  }
}
.work01Wrap ._in .ttLA {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 1200px;
  margin: 0 auto 6rem;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}
.work01Wrap ._in .ttLA h2 {
  position: relative;
  font-size: 2.8rem;
  line-height: 3rem;
  letter-spacing: 0.3rem;
  font-weight: 500;
}
.work01Wrap ._in .ttLA h2::after {
  content: "";
  display: block;
  width: 20rem;
  height: 1px;
  background: #333;
  margin: 1.5rem auto 2rem;
}
.work01Wrap ._in .ttLA .dub {
  font-size: 1.5rem;
  line-height: 3rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
.work01Wrap ._in .ttLA .ttt {
  text-align: center;
}
.work01Wrap ._in .worksListImg {
  margin-top: 8rem;
}
.work01Wrap ._in .worksListImg ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.work01Wrap ._in .worksListImg ul li {
  width: 20%;
}
.works02Wrap {
  background: #f6f6f6;
  margin-bottom: 10rem;
  padding: 8rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .works02Wrap {
    margin-bottom: 5rem;
    padding: 6rem 0 6rem;
  }
}
.works02Wrap ._in {
  margin-top: 6rem;
}
.works02Wrap ._in._00 {
  margin-top: 0;
}
.works02Wrap ._in .flexBtnAAA {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.works02Wrap ._in .flexBtnAAA .btnALL {
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  .works02Wrap ._in .flexBtnAAA .btnALL {
    margin-left: 1rem;
  }
}
.works02Wrap ._in .flexBtnAAA .btnALL a {
  background: #000000;
  display: inline-block;
  padding: 2rem 11rem;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  line-height: 3rem;
  font-weight: 500;
  font-family: arial;
}
.works02Wrap ._in .ttLA {
  text-align: center;
  margin-bottom: 4rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 6.25% 0px;
  box-sizing: content-box;
}
.works02Wrap ._in .ttLA h2 {
  position: relative;
  font-size: 2.8rem;
  line-height: 3rem;
  letter-spacing: 0.3rem;
  font-weight: 500;
}
.works02Wrap ._in .ttLA .dub {
  position: relative;
  font-size: 1.5rem;
  line-height: 3rem;
  font-weight: 500;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 768px) {
  .works02Wrap ._in .ttLA .dub {
    margin-bottom: 2rem;
  }
}
.works02Wrap ._in .ttLA .dub::before {
  content: "";
  display: block;
  width: 10rem;
  height: 1px;
  background: #333;
  margin: 1.5rem auto 2rem;
}
.works02Wrap ._in .ttLA .ttt {
  text-align: center;
}
.works02Wrap ._in .ttLA2 {
  text-align: center;
  box-sizing: content-box;
  margin-right: 2rem;
}
@media only screen and (max-width: 768px) {
  .works02Wrap ._in .ttLA2 {
    margin-right: 1rem;
  }
}
.works02Wrap ._in .ttLA2 h2 {
  position: relative;
  font-size: 2.8rem;
  line-height: 3rem;
  letter-spacing: 0.3rem;
  font-weight: 500;
}
.works02Wrap ._in .ttLA2 .dub {
  position: relative;
  font-size: 1.5rem;
  line-height: 3rem;
  font-weight: 500;
}
.works02Wrap ._in .ttLA2 .dub::before {
  content: "";
  display: block;
  width: 10rem;
  height: 1px;
  background: #333;
  margin: 1.5rem auto 2rem;
}
.works02Wrap ._in .ttLA2 .ttt {
  text-align: center;
}
.works02Wrap ._in ul {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.works02Wrap ._in ul li {
  position: relative;
  -webkit-flex-basis: 47%;
  flex-basis: 47%;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 768px) {
  .works02Wrap ._in ul li {
    margin-bottom: 3rem;
  }
}
.works02Wrap ._in ul li .a .imgW {
  position: relative;
  margin-bottom: 3rem;
}
.works02Wrap ._in ul li .a .imgW .bgCarten {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  background: #f3f3f3;
  width: 100%;
  height: 100%;
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
}
.works02Wrap ._in ul li .a .imgB {
  z-index: 2;
  overflow: hidden;
  transition: all 1s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
  top: 0;
  left: 0;
}
.works02Wrap ._in ul li .a .textB h3 {
  position: relative;
  padding-left: 1rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 2.2rem;
  margin-bottom: 1rem;
}
.works02Wrap ._in ul li .a .textB h3::before {
  content: "";
  width: 2px;
  height: 100%;
  background: #000000;
  position: absolute;
  top: 0;
  left: 0;
}
.works02Wrap ._in ul li.moving .a .imgW .bgCarten {
  width: 0%;
}
.productListWrap .tabBtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin: 0 0px 0rem;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.productListWrap .tabBtn li {
  width: 25%;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBtn li {
    width: 50%;
  }
}
.productListWrap .tabBtn li.nonenone {
  display: none;
}
.productListWrap .tabBtn li a {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  padding: 2rem 0px;
  text-align: center;
  color: #aaa;
  border-right: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBtn li a {
    width: 100%;
    font-size: 1.4rem;
  }
}
.productListWrap .tabBtn li a.is_active {
  color: #fff;
  font-weight: bold;
  background: #333;
}
.productListWrap .tabBtn li:nth-child(5),
.productListWrap .tabBtn li:nth-child(1),
.productListWrap .tabBtn li:nth-child(2),
.productListWrap .tabBtn li:nth-child(3),
.productListWrap .tabBtn li:nth-child(4) {
  border-top: 1px solid #eaeaea;
}
.productListWrap .tabBtn li:nth-child(1),
.productListWrap .tabBtn li:nth-child(2) {
  border-left: 1px solid #eaeaea;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBtn li:nth-child(1),
  .productListWrap .tabBtn li:nth-child(2),
  .productListWrap .tabBtn li:nth-child(3),
  .productListWrap .tabBtn li:nth-child(4),
  .productListWrap .tabBtn li:nth-child(5),
  .productListWrap .tabBtn li:nth-child(6),
  .productListWrap .tabBtn li:nth-child(7),
  .productListWrap .tabBtn li:nth-child(8) {
    border-top: none;
  }
  .productListWrap .tabBtn li:nth-child(1),
  .productListWrap .tabBtn li:nth-child(2) {
    border-top: 1px solid #eaeaea;
  }
  .productListWrap .tabBtn li:nth-child(1),
  .productListWrap .tabBtn li:nth-child(3),
  .productListWrap .tabBtn li:nth-child(5),
  .productListWrap .tabBtn li:nth-child(7) {
    border-left: 1px solid #eaeaea;
  }
}
.productListWrap .tabBlockIn {
  margin: 0 auto;
  padding: 8rem 0;
  box-sizing: content-box;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBlockIn {
    padding: 5rem 0 6rem;
  }
  .productListWrap .tabBlockIn .w950 {
    padding: 0;
  }
}
.productListWrap .tabBlockIn .tab-content {
  display: none;
}
.productListWrap .tabBlockIn .tab-content.is_show {
  display: block;
}
.productListWrap .tabBlockIn .tabs_panel ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.5%;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBlockIn .tabs_panel ul {
    display: block;
    margin: 0 -0%;
  }
}
.productListWrap .tabBlockIn .tabs_panel ul li {
  -webkit-flex-basis: 23%;
  flex-basis: 23%;
  margin: 0 1% 4rem;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBlockIn .tabs_panel ul li {
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
    margin: 0 0% 4rem;
  }
}
.productListWrap .tabBlockIn .tabs_panel ul li a {
  position: relative;
  display: block;
  background: #fff;
  box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .cate {
  color: #fff;
  width: 14rem;
  height: 4rem;
  background: #333;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1.42857;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .cate.juutaku {
  background: #333;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .cate.doboku {
  background: #333;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .cate.kentiku {
  background: #333;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .cate.tosou {
  background: #333;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .imgBox {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.6s;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .imgBox:before {
  content: "";
  display: block;
  padding-top: 63.5%;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .imgBox span {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: all 0.3s 0s ease;
  background: url() center no-repeat #e5e5e5;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .tDetail {
  padding: 2rem 3rem 3rem;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBlockIn .tabs_panel ul li a .tDetail {
    padding: 2rem 2rem 3rem;
  }
}
.productListWrap .tabBlockIn .tabs_panel ul li a .tDetail h4 {
  font-size: 1.5rem;
  margin-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .productListWrap .tabBlockIn .tabs_panel ul li a .tDetail h4 {
    font-size: 1.6rem;
  }
}
.productListWrap .tabBlockIn .tabs_panel ul li a .tDetail p {
  color: #000000;
  font-size: 1.5rem;
  line-height: 2.4rem;
  font-weight: bold;
  letter-spacing: 0rem;
}
.productListWrap .tabBlockIn .tabs_panel ul li a .tDetail .data {
  font-size: 1.3rem;
  color: #42aec6;
  font-weight: 400;
  cursor: pointer;
}
.productListWrap .tabBlockIn .tabs_panel ul li a:hover .imgBox span {
  -moz-transform: scale(1.04);
  -ms-transform: scale(1.04);
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}
.companyNameBox {
  margin-top: 3rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.companyNameBox dl {
  margin-right: 10rem;
}
@media only screen and (max-width: 768px) {
  .companyNameBox dl {
    margin-right: 4rem;
  }
}
.companyNameBox dl dt {
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.companyNameBox dl dd {
  font-size: 1.6rem;
  line-height: 2.4rem;
}
.companyNameBox .namename {
  width: 20rem;
}
.contactTopTopWrap {
  position: relative;
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap {
    padding: 7rem 0 5rem;
  }
}
.contactTopTopWrap .flexOuter .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap {
    display: block;
  }
}
.contactTopTopWrap .flexOuter .flexWrap._01 {
  border-bottom: 1px solid #ddd;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
}
.contactTopTopWrap .flexOuter .flexWrap .leftBox {
  position: relative;
  -webkit-flex-basis: 33rem;
  flex-basis: 33rem;
  margin-bottom: 0;
  padding: 0 5rem 0 0rem;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .leftBox {
    margin-bottom: 3rem;
    padding-right: 0;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .leftBox span {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  width: 100%;
  display: inline-block;
  background: #333;
  color: #fff;
  padding: 3rem 3rem;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .leftBox span {
    padding: 2rem 3rem;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap {
    display: block;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner {
  position: relative;
  margin-right: 4rem;
  padding-right: 4rem;
  -webkit-flex-basis: 46rem;
  flex-basis: 46rem;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner {
    margin-right: 0rem;
    padding-right: 0rem;
    text-align: center;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 5rem;
  background-color: #333;
  transform: translateY(-50%) rotate(45deg);
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner::before {
    display: none;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner .p01 {
  text-align: right;
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner .p01 {
    text-align: center;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner a {
  text-align: right;
  display: inline-block;
  font-size: 3.6rem;
  font-weight: bold;
  font-family: roboto-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner a {
    text-align: center;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner a span {
  font-size: 4.4rem;
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .cInner .u_flex {
  font-size: 1.6rem;
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .faxA {
  font-size: 2.4rem;
  font-weight: bold;
  font-family: roboto-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .faxA {
    text-align: center;
  }
}
.contactTopTopWrap .flexOuter .flexWrap .rightBox .cWrap .faxA span {
  font-size: 3.8rem;
}
.contactCenterMiddle {
  background: #f5f5f5;
  padding: 10rem 0 1px;
}
@media only screen and (max-width: 768px) {
  .contactCenterMiddle {
    padding: 6rem 0 8rem;
  }
}
.contactCenterMiddle .ttl {
  display: flex;
  position: relative;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 2px solid #ddd;
  margin-bottom: 4rem;
  padding-bottom: 1rem;
}
@media only screen and (max-width: 768px) {
  .contactCenterMiddle .ttl {
    margin-bottom: 3rem;
  }
}
.contactCenterMiddle .ttl::after {
  content: "";
  width: 6rem;
  height: 2px;
  display: block;
  background: #222;
  position: absolute;
  bottom: -2px;
  right: 0;
}
.contactCenterMiddle .ttl h2 {
  font-size: 4rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .contactCenterMiddle .ttl h2 {
    font-size: 2.6rem;
  }
}
.contactCenterMiddle .ttl .num {
  font-size: 2.27rem;
  line-height: 1;
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  .contactCenterMiddle .ttl .num {
    font-size: 1.4rem;
  }
}
.contactCenterMiddle .centercentercnen {
  margin-bottom: 5rem;
}
.thanks {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .thanks {
    margin-bottom: 10rem;
  }
}
@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;
}
@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 #222;
  border-bottom: 3px solid #222;
  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: #3099d3;
  border-color: #0583c9;
  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;
  margin-bottom: 0rem;
}
@media only screen and (max-width: 768px) {
  .sec_contact.input .contactForm,
  .sec_contact .check .contactForm {
    width: 100%;
    margin-bottom: 0rem;
  }
}
.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: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  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: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  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"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  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 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;
  -webkit-transition: background-color 0.2s linear;
  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-size: 15px;
  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 {
  -webkit-transition: border-color 0.2s linear;
  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 {
  -webkit-transition: opacity 0.2s linear;
  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;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  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: 5rem;
  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;
  -webkit-transform: rotate(135deg);
  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: #000000;
  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;
}
@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;
}
.privacyContact {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .privacyContact {
    margin-top: 0rem;
  }
}
.privacyContact h6 {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  .privacyContact h6 {
    font-size: 1.5rem;
    line-height: 2.6rem;
    margin-bottom: 15px;
  }
}
.privacyContact .scrollK {
  overflow: auto;
  width: 100%;
  margin: 0 auto;
  text-align: left;
  height: 250px;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2.6rem;
  margin-bottom: 4rem;
  padding: 2.4rem;
  background-color: #ffffff;
  border: 1px #c0c0c0 solid;
  color: #000000;
}
@media only screen and (max-width: 768px) {
  .privacyContact .scrollK {
    width: 100%;
    padding: 20px 20px;
  }
}
.privacyWrap {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .privacyWrap {
    margin-bottom: 0rem;
  }
}
.thanksBox {
  margin-bottom: 12rem;
}
@media only screen and (max-width: 768px) {
  .thanksBox {
    margin-bottom: 8rem;
  }
}
.thanksBox .ttl h2 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
.ttlAttlA {
  margin-bottom: 5rem;
}
.ttlAttlA .flexWrap {
  position: relative;
  border-bottom: 1px solid #eee;
  display: flex;
}
@media only screen and (max-width: 768px) {
  .ttlAttlA .flexWrap {
    display: block;
  }
}
.ttlAttlA .flexWrap::after {
  content: "";
  background: #000000;
  width: 4rem;
  height: 1px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.ttlAttlA .flexWrap h2 {
  font-size: 3.2rem;
  font-family: itc-avant-garde-gothic-pro, sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 1rem;
}
.ttlAttlA .flexWrap .sub {
  margin-left: auto;
  font-size: 2rem;
  font-weight: bold;
  line-height: 4.8rem;
}
.newsDetailMain .btnX a,
.productsTable .btnX a {
  display: inline-block;
  margin: 0 auto;
  background-color: #333;
  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;
}
.newsDetailMain .btnX a:hover,
.productsTable .btnX a:hover {
  opacity: 0.7;
}
.newsDetailMain .detailBox,
.productsTable .detailBox {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox,
  .productsTable .detailBox {
    margin-bottom: 4rem;
  }
}
.newsDetailMain dl,
.productsTable dl {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain dl,
  .productsTable dl {
    font-size: 13px;
  }
}
.newsDetailMain dl dt,
.productsTable dl dt {
  display: inline-block;
  margin-right: 15px;
}
.newsDetailMain dl dd,
.productsTable dl dd {
  display: inline-block;
}
.newsDetailMain .days,
.productsTable .days {
  text-align: left;
  margin-bottom: 0.05rem;
  color: #888;
  font-size: 1.2rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .days,
  .productsTable .days {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    letter-spacing: 0.05rem;
  }
}
.newsDetailMain h1,
.newsDetailMain .h1,
.productsTable h1,
.productsTable .h1 {
  font-size: 2.2rem;
  font-weight: 600;
  margin-bottom: 4rem;
  padding-bottom: 1.5rem;
  letter-spacing: 0.02rem;
  text-align: left;
  border-bottom: 0.02rem solid #222;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain h1,
  .newsDetailMain .h1,
  .productsTable h1,
  .productsTable .h1 {
    font-size: 2.6rem;
    margin-bottom: 3rem;
    padding-bottom: 10px;
  }
}
.newsDetailMain .detailBox h2,
.productsTable .detailBox h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  text-align: left;
  background: #222;
  border-bottom: none;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h2,
  .productsTable .detailBox h2 {
    font-size: 2rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem;
  }
}
.newsDetailMain .detailBox h3,
.productsTable .detailBox h3 {
  font-size: 1.7rem;
  font-weight: 600;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  text-align: left;
  background: #f2f0f4;
  border-bottom: none;
  color: #222;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h3,
  .productsTable .detailBox h3 {
    font-size: 2rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 1.5rem 2rem;
  }
}
.newsDetailMain .detailBox h4,
.productsTable .detailBox h4 {
  border-left: 4px solid #222;
  font-size: 1.7rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  padding: 0 0 0 1.4rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h4,
  .productsTable .detailBox h4 {
    font-size: 1.8rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    padding: 0 0 0 1.4rem;
  }
}
.newsDetailMain .detailBox h5,
.productsTable .detailBox h5 {
  font-size: 1.7rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h5,
  .productsTable .detailBox h5 {
    font-size: 1.8rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
.newsDetailMain .detailBox h6,
.productsTable .detailBox h6 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox h6,
  .productsTable .detailBox h6 {
    font-size: 1.8rem;
    line-height: 3.6rem;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox p,
.productsTable .detailBox p {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox p,
  .productsTable .detailBox p {
    font-size: 1.8rem;
    line-height: 3.6rem;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox ul,
.productsTable .detailBox ul {
  margin-left: 2rem;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox ul,
  .productsTable .detailBox ul {
    margin-left: 2rem;
  }
}
.newsDetailMain .detailBox ul li,
.productsTable .detailBox ul li {
  list-style-type: disc;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox ul li,
  .productsTable .detailBox ul li {
    font-size: 1.8rem;
    line-height: 3.6rem;
    letter-spacing: 0.04em;
  }
}
.newsDetailMain .detailBox table,
.productsTable .detailBox table {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox table,
  .productsTable .detailBox table {
    font-size: 1.2rem;
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
}
@media only screen and (max-width: 768px) {
  .newsDetailMain .detailBox iframe,
  .productsTable .detailBox iframe {
    width: 100%;
  }
}
.newsDetailMain .detailBox .gallery,
.productsTable .detailBox .gallery {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.newsDetailMain .detailBox .gallery,
.productsTable .detailBox .gallery {
  width: 100%;
  margin-bottom: 20px !important;
  overflow: hidden;
}
.newsDetailMain .detailBox .gallery br,
.productsTable .detailBox .gallery br {
  display: none;
}
.newsDetailMain .detailBox .gallery-item,
.productsTable .detailBox .gallery-item {
  float: left;
  margin-bottom: 0 !important;
}
.newsDetailMain .detailBox .gallery-icon,
.productsTable .detailBox .gallery-icon {
  text-align: center;
}
.newsDetailMain .detailBox .gallery-icon img,
.productsTable .detailBox .gallery-icon img {
  width: 100%;
  height: auto;
  margin-bottom: 10px !important;
}
.newsDetailMain .detailBox .gallery-caption,
.productsTable .detailBox .gallery-caption {
  color: #222;
  font-size: 1.4rem;
  margin: 0 0 1rem;
  text-align: center;
}
.newsDetailMain .detailBox .gallery-columns-1 .gallery-item,
.productsTable .detailBox .gallery-columns-1 .gallery-item {
  width: 100%;
  margin-right: 0;
}
.newsDetailMain .detailBox .gallery-columns-2 .gallery-item,
.productsTable .detailBox .gallery-columns-2 .gallery-item {
  width: 48%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-3 .gallery-item,
.productsTable .detailBox .gallery-columns-3 .gallery-item {
  width: 31.33333%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-4 .gallery-item,
.productsTable .detailBox .gallery-columns-4 .gallery-item {
  width: 23%;
  margin: 0 1%;
}
.newsDetailMain .detailBox .gallery-columns-5 .gallery-item,
.productsTable .detailBox .gallery-columns-5 .gallery-item {
  width: 18%;
  margin: 0 1%;
}
@media screen and (max-width: 768px) {
  .newsDetailMain .detailBox .gallery-columns-3 .gallery-item,
  .newsDetailMain .detailBox .gallery-columns-4 .gallery-item,
  .productsTable .detailBox .gallery-columns-3 .gallery-item,
  .productsTable .detailBox .gallery-columns-4 .gallery-item {
    width: 48%;
    margin: 0 1%;
  }
  .newsDetailMain .detailBox .gallery-columns-5 .gallery-item,
  .productsTable .detailBox .gallery-columns-5 .gallery-item {
    width: 31.33333%;
    margin: 0 1%;
  }
}
.newsBodyMain .news_list {
  margin-bottom: 0.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 dotted #ccc;
  padding: 3rem 2rem;
}
.newsBodyMain ul li:first-child {
  border-top: 1px dotted #ccc;
}
.newsBodyMain ul li dl dt {
  font-weight: 500;
  letter-spacing: 0.06em;
  vertical-align: middle;
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dt {
    font-size: 1.6rem;
  }
}
.newsBodyMain ul li dl dt .top_news_tag,
.newsBodyMain ul li dl dt .info,
.newsBodyMain ul li dl dt .news,
.newsBodyMain ul li dl dt .iconListBlog {
  min-width: 10rem;
  display: inline-block;
  margin-left: 2rem;
  padding: 0.2rem 0;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
  background: #333;
  width: auto;
}
.newsBodyMain ul li dl dt .top_news_tag a,
.newsBodyMain ul li dl dt .info a,
.newsBodyMain ul li dl dt .news a,
.newsBodyMain ul li dl dt .iconListBlog a {
  color: #fff;
}
.newsBodyMain ul li dl dt .top_news_tag a:nth-child(n + 2),
.newsBodyMain ul li dl dt .info a:nth-child(n + 2),
.newsBodyMain ul li dl dt .news a:nth-child(n + 2),
.newsBodyMain ul li dl dt .iconListBlog a:nth-child(n + 2) {
  display: none;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dt .top_news_tag,
  .newsBodyMain ul li dl dt .info,
  .newsBodyMain ul li dl dt .news,
  .newsBodyMain ul li dl dt .iconListBlog {
    min-width: 13rem;
  }
}
.newsBodyMain ul li dl dt .top_blog_tag,
.newsBodyMain ul li dl dt .blog,
.newsBodyMain ul li dl dt .staff_blog {
  min-width: 10rem;
  display: inline-block;
  margin-left: 2rem;
  padding: 0.2rem 0;
  text-align: center;
  font-size: 1.1rem;
  color: #fff;
  background: #ff0000;
}
.newsBodyMain ul li dl dt .top_blog_tag a,
.newsBodyMain ul li dl dt .blog a,
.newsBodyMain ul li dl dt .staff_blog a {
  color: #fff;
}
.newsBodyMain ul li dl dt .top_blog_tag a:nth-child(n + 2),
.newsBodyMain ul li dl dt .blog a:nth-child(n + 2),
.newsBodyMain ul li dl dt .staff_blog a:nth-child(n + 2) {
  display: none;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dt .top_blog_tag,
  .newsBodyMain ul li dl dt .blog,
  .newsBodyMain ul li dl dt .staff_blog {
    min-width: 13rem;
  }
}
.newsBodyMain ul li dl dd {
  letter-spacing: 0.06em;
  width: 100%;
  vertical-align: middle;
  line-height: 2.4rem;
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  .newsBodyMain ul li dl dd {
    width: 100%;
    font-size: 1.6rem;
    line-height: 3.2rem;
    letter-spacing: 0.04em;
  }
}
.newsBodyMain ul li dl dd a:hover {
  opacity: 0.8;
}
.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: #000000;
}
.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 #000000;
}
@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: #000000;
  border: 1px solid #000000;
  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 #000000;
  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: #000000;
}
@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 #000000;
  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;
  -webkit-transition: all 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  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;
  }
}
.pager {
  margin-top: 5rem;
}
.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: 40px;
  height: 40px;
  line-height: 35px;
  border: 3px solid #ccc;
  color: #ccc;
  font-size: 16px;
  margin: 0 5px;
}
@media only screen and (max-width: 768px) {
  .wp-pagenavi span.current {
    width: 35px;
    height: 35px;
    line-height: 30px;
    border: 3px solid #ccc;
    font-size: 15px;
  }
}
.lity-content:after {
  box-shadow: 0 0 0px transparent;
}
.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;
}
.mainvisualBanner {
  position: absolute;
  right: 3.5rem;
  bottom: 2rem;
  z-index: 23;
}
@media only screen and (max-width: 768px) {
  .mainvisualBanner {
    width: 24rem;
    bottom: 3rem;
  }
}
.mainvisualBanner a {
  display: block;
  transition: all 0.4s;
}
.mainvisualBanner a:hover {
  opacity: 0.7;
}
.snsLink {
  position: absolute;
  right: 2.8rem;
  bottom: 15rem;
  z-index: 23;
  display: none;
}
@media only screen and (max-width: 768px) {
  .snsLink {
    width: 24rem;
    bottom: 3rem;
  }
}
.snsLink a {
  display: block;
  font-size: 3rem;
  color: #000000;
}
@media only screen and (max-width: 768px) {
  .snsLink a {
    color: #fff;
  }
}
.kv_scroll {
  width: 1px;
  height: 70px;
  position: absolute;
  right: 5rem;
  bottom: 0rem;
  z-index: 100;
  background-color: #eee;
}
@media only screen and (max-width: 768px) {
  .kv_scroll {
    display: none;
    bottom: 0%;
  }
}
.kv_scroll ._pointer {
  -webkit-animation: moveScrollPointer 1.8s infinite
    cubic-bezier(0.215, 0.61, 0.355, 1);
  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: #fff;
}
.kv_scroll ._text {
  position: absolute;
  top: -55px;
  left: -7px;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  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: #f00;
  }
}
@-webkit-keyframes moveScrollPointer {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }
}
@keyframes moveScrollPointer {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0);
  }
}
@-webkit-keyframes scrollPointerInOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@keyframes scrollPointerInOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@-webkit-keyframes moveScrollPointer {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 70px, 0);
    transform: translate3d(0, 70px, 0);
  }
}
@keyframes moveScrollPointer {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 70px, 0);
    transform: translate3d(0, 70px, 0);
  }
}
@-webkit-keyframes scrollPointerInOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
@keyframes scrollPointerInOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  10% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}
.loadFin .inner_content .centerI .bgText span {
  transform: translate(0px, 0px);
  opacity: 1;
}
.loadFin .bannerOn {
  transform: translate(0px, -50%);
  opacity: 1;
}
.top02Wrap {
  padding: 12rem 0;
}
@media only screen and (max-width: 768px) {
  .top02Wrap {
    padding: 8rem 0;
  }
}
.top02Wrap .c01 {
  position: relative;
  z-index: 2;
}
.top02Wrap .c01 .flexWrap {
  flex-basis: auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c01 .flexWrap {
    display: block;
  }
}
.top02Wrap .c01 .flexWrap .leftBox {
  padding-top: 12rem;
  width: 45%;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c01 .flexWrap .leftBox {
    margin-bottom: 3rem;
    padding-top: 0em;
    width: 100%;
  }
}
.top02Wrap .c01 .flexWrap .leftBox h3 {
  position: relative;
  font-size: 8rem;
  font-weight: bold;
  line-height: 8rem;
  margin-bottom: 1rem;
  font-family: garamond-premier-pro, serif;
  font-weight: 600;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c01 .flexWrap .leftBox h3 {
    font-size: 5rem;
    line-height: 5rem;
    margin-bottom: 1rem;
  }
}
.top02Wrap .c01 .flexWrap .leftBox h3::before {
  content: "";
  position: absolute;
  background-color: #2d3a44;
  top: calc(50% - 8px / 2);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: auto;
  right: calc(100% + 52px);
}
.top02Wrap .c01 .flexWrap .leftBox h3::after {
  content: "";
  position: absolute;
  background-color: #2d3a44;
  top: calc(50% - 1px / 2);
  width: 2000%;
  height: 1px;
  left: auto;
  right: calc(100% + 52px);
}
.top02Wrap .c01 .flexWrap .leftBox .sub {
  font-size: 1.8rem;
  line-height: 3rem;
}
.top02Wrap .c01 .flexWrap .rightBox {
  width: 55%;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c01 .flexWrap .rightBox {
    width: 100%;
  }
}
.top02Wrap .c01 .flexWrap .rightBox .inBB .imgBo {
  width: 90%;
  margin: 0 auto;
}
.top02Wrap .c01 .flexWrap .rightBox .inBB .textBo {
  background: #fff;
  box-shadow: 16px 16px 39px #d6d6d6;
  mix-blend-mode: multiply;
  border-radius: 4rem;
  margin-top: -17rem;
  padding: 20rem 4rem 4rem 4rem;
}
.top02Wrap .c01 .flexWrap .rightBox .inBB .centerLine {
  margin-top: 4rem;
  text-align: center;
}
.top02Wrap .c01 .flexWrap .rightBox .inBB .centerLine a {
  position: relative;
  display: inline-block;
  padding: 1.5rem 8rem;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-size: 1.5rem;
  line-height: 3rem;
}
.top02Wrap .c01 .flexWrap .rightBox .inBB .centerLine a::before {
  content: "›";
  position: absolute;
  top: 2.3rem;
  right: 0;
  color: #000;
  font-weight: 400;
  font-style: normal;
  font-size: 2.6rem;
  line-height: 0.6;
}
.top02Wrap .c02 {
  position: relative;
  margin-top: -15rem;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c02 {
    margin-top: 14rem;
  }
}
.top02Wrap .c02 .bgText {
  position: absolute;
  top: -12rem;
  left: 0;
  font-size: 20.8rem;
  line-height: 14rem;
  color: #eee;
  font-family: garamond-premier-pro, serif;
  font-weight: 400;
  font-style: normal;
  opacity: 0.6;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c02 .bgText {
    top: -8rem;
    font-size: 6.8rem;
    font-weight: bold;
    line-height: 6rem;
  }
}
.top02Wrap .c02 .slideAnimationWrap02 .slideTopB {
  align-items: center;
  overflow: hidden;
}
.top02Wrap .c02 .slideAnimationWrap02 .slideTopB .slideshow {
  display: flex;
  animation: loop-slide 40s infinite linear 1s both;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c02 .slideAnimationWrap02 .slideTopB .slideshow {
    animation: loop-slide 10s infinite linear 1s both;
  }
}
.top02Wrap .c02 .slideAnimationWrap02 .slideTopB .slideshow li img {
  width: 52rem;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .top02Wrap .c02 .slideAnimationWrap02 .slideTopB .slideshow li img {
    width: 25rem;
  }
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.top03Wrap ._inImg {
  position: relative;
  background: url(../img/top_bg_img.jpg) no-repeat center/cover;
  padding: 16rem 0;
  background-attachment: fixed;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inImg {
    padding: 6rem 0;
    background-attachment: inherit;
    height: auto;
  }
}
.top03Wrap ._inImg .inin .flexWrap {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #fff;
}
.top03Wrap ._inImg .inin .flexWrap h2 {
  position: relative;
  font-size: 8rem;
  font-weight: bold;
  line-height: 8rem;
  margin-right: 4rem;
  font-weight: 700;
  font-style: normal;
  font-family: "Chakra Petch", sans-serif;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inImg .inin .flexWrap h2 {
    font-size: 5rem;
  }
}
.top03Wrap ._inImg .inin .flexWrap .sub {
  font-size: 2rem;
  line-height: 3rem;
}
.top03Wrap ._inBottom ul {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul {
    display: block;
  }
}
.top03Wrap ._inBottom ul li {
  width: 33.3336%;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li {
    width: 100%;
  }
}
.top03Wrap ._inBottom ul li .ininin a {
  display: block;
  position: relative;
  padding: 12rem 4rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a {
    padding: 10rem 4rem;
  }
}
.top03Wrap ._inBottom ul li .ininin a._01 {
  background: url(../img/top_img06.jpg) no-repeat center/contain;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a._01 {
    background: url(../img/top_img06.jpg) no-repeat center/cover;
  }
}
.top03Wrap ._inBottom ul li .ininin a._02 {
  background: url(../img/top_img07.jpg) no-repeat center/contain;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a._02 {
    background: url(../img/top_img07.jpg) no-repeat center/cover;
  }
}
.top03Wrap ._inBottom ul li .ininin a._03 {
  background: url(../img/top_img08.jpg) no-repeat center/contain;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a._03 {
    background: url(../img/top_img08.jpg) no-repeat center/cover;
  }
}
.top03Wrap ._inBottom ul li .ininin a::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.6s;
}
.top03Wrap ._inBottom ul li .ininin a .sub {
  position: relative;
  z-index: 1;
  position: relative;
  font-size: 6rem;
  font-weight: bold;
  line-height: 6rem;
  margin-bottom: 3rem;
  font-weight: 700;
  font-style: normal;
  font-family: "Chakra Petch", sans-serif;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a .sub {
    font-size: 5.6rem;
    font-weight: bold;
    line-height: 5.6rem;
    margin-bottom: 3rem;
  }
}
.top03Wrap ._inBottom ul li .ininin a dl {
  position: relative;
  z-index: 1;
  margin-bottom: 5rem;
}
.top03Wrap ._inBottom ul li .ininin a dl dt {
  position: relative;
  display: flex;
  display: -webkit-flex;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  flex-wrap: nowrap;
  margin-bottom: 4rem;
}
.top03Wrap ._inBottom ul li .ininin a dl dt::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  padding: 0;
  margin: 0 0 0 3rem;
  background: #fff;
}
.top03Wrap ._inBottom ul li .ininin a dl dt span {
  position: relative;
  z-index: 1;
  font-size: 2.2rem;
  padding-right: 1rem;
  white-space: nowrap;
}
.top03Wrap ._inBottom ul li .ininin a .btn_eXtend {
  position: relative;
  z-index: 1;
}
.top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a {
  display: inline-block;
  position: relative;
  font-size: 1.4rem;
  padding-top: 1rem;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a {
    font-size: 13px;
  }
}
.top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a:before {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: -42px;
  top: 16px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all 0.12s ease-in 0s;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a:before {
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -34px;
    top: 17px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: all 0.12s ease-in 0s;
  }
}
.top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a:after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  top: -2px;
  right: -62px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.12s ease-in 0s;
}
@media only screen and (max-width: 768px) {
  .top03Wrap ._inBottom ul li .ininin a .btn_eXtend .a:after {
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 4px;
    right: -48px;
    width: 33px;
    height: 33px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
  }
}
.top03Wrap ._inBottom ul li .ininin a:hover::before {
  opacity: 0.4;
}
.messageMainWrap {
  position: relative;
  padding: 12rem 0 8rem;
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap {
    padding: 8rem 0 6rem;
  }
}
.messageMainWrap:before {
  background: #222;
  content: "";
  display: block;
  height: 80%;
  width: 90%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap:before {
    width: 95%;
  }
}
.messageMainWrap .messageMainBox {
  position: relative;
  z-index: 1;
}
.messageMainWrap .messageMainBox .inin {
  position: relative;
}
.messageMainWrap .messageMainBox .inin .h3 {
  position: absolute;
  top: 0;
  left: -9rem;
  width: 4rem;
  transform: scale(1.2);
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .h3 {
    position: static;
    width: 100%;
    transform: scale(1);
  }
}
.messageMainWrap .messageMainBox .inin .h3 .sssub {
  font-size: 3rem;
  font-weight: bold;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.1rem;
  margin-bottom: 1rem;
  color: #a7a7a7;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .h3 .sssub {
    position: static;
    -webkit-writing-mode: initial;
    -ms-writing-mode: tb-rl;
    writing-mode: initial;
  }
}
.messageMainWrap .messageMainBox .inin .h3 .sssub span {
  color: #000000;
}
.messageMainWrap .messageMainBox .inin h3 {
  display: inline-block;
  color: #a7a7a7;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: "Oswald";
  font-size: 3rem;
  letter-spacing: 0.1em;
  font-weight: lighter;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin h3 {
    position: static;
    -webkit-writing-mode: initial;
    -ms-writing-mode: tb-rl;
    writing-mode: initial;
    width: 100%;
    margin-bottom: 3rem;
  }
}
.messageMainWrap .messageMainBox .inin h3:before {
  background: #a7a7a7;
  content: "";
  display: inline-block;
  height: 8rem;
  width: 1px;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin h3:before {
    height: 1px;
    width: 8rem;
    margin: 0 1.5rem 0 0;
    vertical-align: middle;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap {
    display: block;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .imgBox {
  flex: 0 0 59vw;
  min-width: 0;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap .imgBox {
    flex: 0 0 95%;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .imgBox video {
  width: 100%;
  height: auto;
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox {
  position: relative;
  z-index: 5;
  margin: 18rem -28rem 0 0;
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap .textBox {
    margin: 0rem -0rem 0 0;
    padding: 4rem 3rem 4rem;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttt {
  font-size: 1.8rem;
  line-height: 3.6rem;
  color: #fff;
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa {
  margin: 6rem 0 2rem;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa {
    margin: 4rem 0;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa h4 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 4rem;
  margin-bottom: 0rem;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa h4 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 4rem;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa .sub {
  font-size: 8rem;
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox .inin .flexWrap .textBox .ttlWa .sub {
    font-size: 5.6rem;
    line-height: 8rem;
  }
}
.messageMainWrap .messageMainBox .inin .flexWrap .textBox .divBtn {
  margin-top: 2rem;
}
.messageMainWrap .messageMainBox .inin._01 h3 {
  left: -9rem;
}
.messageMainWrap .messageMainBox._01 {
  padding-left: 16rem;
}
@media only screen and (max-width: 768px) {
  .messageMainWrap .messageMainBox._01 {
    padding-left: 3rem;
  }
}
.messageMainWrap .moveleft {
  transition: all 0.8s;
}
.messageMainWrap .moveleft.moving {
  transform: translate(0%, 0px);
  opacity: 1;
}
.messageMainWrap .moveright {
  transition: all 0.8s;
}
.messageMainWrap .moveright.moving {
  transform: translate(0%, 0px);
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  .btnNormalCCC {
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.btnNormalCCC.btnCenter a {
  margin: 0 auto;
}
.btnNormalCCC a {
  position: relative;
  display: block;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #222;
  width: 270px;
  height: 62px;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  .btnNormalCCC a {
    max-width: 250px;
    width: 100%;
    height: 57px;
  }
}
.btnNormalCCC a .btnIn {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.btnNormalCCC a .btnIn:before {
  top: 0;
}
.btnNormalCCC a .btnIn:after {
  bottom: 0;
}
.btnNormalCCC a .btnIn .bgBoard {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ddd;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormalCCC a .btnIn .inBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.btnNormalCCC a .btnIn .inBtn:before {
  left: 0;
}
.btnNormalCCC a .btnIn .inBtn:after {
  right: 0;
}
.btnNormalCCC a .btnIn .inBtn .d1 .e1 {
  position: relative;
  font-size: 1.4rem;
  transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media only screen and (max-width: 768px) {
  .btnNormalCCC a .btnIn .inBtn .d1 .e1 {
    font-size: 13px;
  }
}
.btnNormalCCC a:hover:before {
  transform: translate3d(10px, -50%, 0);
}
.btnNormalCCC a:hover .btnIn:before {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormalCCC a:hover .btnIn:after {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.btnNormalCCC a:hover .btnIn .bgBoard {
  opacity: 1;
  transition-delay: 0.2s;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.btnNormalCCC a:hover .btnIn .inBtn:before {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}
.btnNormalCCC a:hover .btnIn .inBtn:after {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}
.btnNormalCCC a:hover .btnIn .inBtn .d1 .e1 {
  color: #222;
}
.btnNormalCCC.bCenter a {
  margin: 0 auto;
}
.btnNormalCCC.bWhite a:before {
  background: url(../img/btn_icon_arrow_white.png) no-repeat center center;
}
@media only screen and (max-width: 768px) {
  .btnNormalCCC.bWhite a:before {
    background: url(../img/btn_icon_arrow_white_sp.png) no-repeat center center;
  }
}
.btnNormalCCC.bWhite .btnIn:before,
.btnNormalCCC.bWhite .btnIn:after {
  background: #fff;
}
.btnNormalCCC.bWhite .btnIn .inBtn:before,
.btnNormalCCC.bWhite .btnIn .inBtn:after {
  background: #fff;
}
.btnNormalCCC.bWhite .btnIn .inBtn .d1 .e1 {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .btnNormalAAA {
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.btnNormalAAA.btnCenter a {
  margin: 0 auto;
}
.btnNormalAAA a {
  position: relative;
  display: block;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #222;
  width: 270px;
  height: 62px;
}
@media only screen and (max-width: 768px) {
  .btnNormalAAA a {
    max-width: 250px;
    width: 100%;
    height: 57px;
  }
}
.btnNormalAAA a .btnIn {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.btnNormalAAA a .btnIn:before,
.btnNormalAAA a .btnIn:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #222;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btnNormalAAA a .btnIn:before {
  top: 0;
}
.btnNormalAAA a .btnIn:after {
  bottom: 0;
}
.btnNormalAAA a .btnIn .bgBoard {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.6s cubic-bezier(0.47, 0, 0.745, 0.715),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormalAAA a .btnIn .inBtn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.btnNormalAAA a .btnIn .inBtn:before,
.btnNormalAAA a .btnIn .inBtn:after {
  position: absolute;
  top: 0;
  width: 1px;
  height: 100%;
  content: "";
  background: #222;
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
  transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99),
    -webkit-transform 0.6s cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.btnNormalAAA a .btnIn .inBtn:before {
  left: 0;
}
.btnNormalAAA a .btnIn .inBtn:after {
  right: 0;
}
.btnNormalAAA a .btnIn .inBtn .d1 .e1 {
  position: relative;
  font-size: 1.4rem;
  transition: color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media only screen and (max-width: 768px) {
  .btnNormalAAA a .btnIn .inBtn .d1 .e1 {
    font-size: 13px;
  }
}
.btnNormalAAA a:hover:before {
  transform: translate3d(10px, -50%, 0);
}
.btnNormalAAA a:hover .btnIn:before {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.btnNormalAAA a:hover .btnIn:after {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.btnNormalAAA a:hover .btnIn .bgBoard {
  opacity: 1;
  transition-delay: 0.2s;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.btnNormalAAA a:hover .btnIn .inBtn:before {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}
.btnNormalAAA a:hover .btnIn .inBtn:after {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}
.btnNormalAAA a:hover .btnIn .inBtn .d1 .e1 {
  color: #fff;
}
.btnNormalAAA.bCenter a {
  margin: 0 auto;
}
.btnNormalAAA.bWhite a:before {
  background: url(../img/btn_icon_arrow_white.png) no-repeat center center;
}
@media only screen and (max-width: 768px) {
  .btnNormalAAA.bWhite a:before {
    background: url(../img/btn_icon_arrow_white_sp.png) no-repeat center center;
  }
}
.btnNormalAAA.bWhite .btnIn:before,
.btnNormalAAA.bWhite .btnIn:after {
  background: #fff;
}
.btnNormalAAA.bWhite .btnIn .inBtn:before,
.btnNormalAAA.bWhite .btnIn .inBtn:after {
  background: #fff;
}
.btnNormalAAA.bWhite .btnIn .inBtn .d1 .e1 {
  color: #fff;
}
.btnNormalBBB a {
  position: relative;
  display: inline-block;
  color: #fff;
  background: #222;
  text-align: center;
  min-width: 270px;
  padding: 2rem 4rem;
  position: relative;
  font-size: 1.4rem;
  transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1),
    background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
@media only screen and (max-width: 768px) {
  .btnNormalBBB a {
    min-width: auto;
    font-size: 13px;
  }
}
@media only screen and (max-width: 768px) {
  .btnNormalBBB a {
    max-width: 250px;
    width: 100%;
    height: 57px;
  }
}
.btnNormalBBB a .d1 {
  display: inline-block;
}
.btnNormalBBB a:hover {
  background: #000000;
}
.leftFix {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 25;
  background: #000;
  color: #fff;
  padding: 3rem 1rem;
  width: 5rem;
  height: 100vh;
}
@media only screen and (max-width: 768px) {
  .leftFix {
    display: none;
  }
}
.leftFix .fixIn .copyFix {
  font-size: 1.2rem;
  line-height: 2rem;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: translate(0px, -50%);
}
.leftFix .fixIn .logoFix {
  position: absolute;
  bottom: 3rem;
  left: 1rem;
  width: 2.2rem;
}
@media only screen and (max-width: 768px) {
  .btnOnBottom {
    width: 100%;
    max-width: 100%;
  }
}
.btnOnBottom a {
  position: relative;
  display: block;
  font-size: 1.4rem;
  padding: 2rem 1rem;
  width: 25rem;
  max-width: 30rem;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  transition: all 0.6s 0s;
  background: #e60012;
}
.btnOnBottom a.black {
  background-color: #000;
}
@media only screen and (max-width: 768px) {
  .btnOnBottom a {
    font-size: 1.8rem;
    width: 100%;
    max-width: 100%;
  }
}
.btnOnBottom a .circle {
  position: absolute;
  top: 48%;
  right: 4rem;
  transform: translate(0, -50%);
  transition: all 0.5s 0s;
}
.btnOnBottom a .circle svg {
  fill: #fff;
}
.btnOnBottom a:hover {
  opacity: 0.8;
}
.btnOnBottom a:hover .circle {
  right: 3.5rem;
}
@media only screen and (max-width: 768px) {
  .btnOnBottom222 {
    width: 100%;
    max-width: 100%;
  }
}
.btnOnBottom222 a {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  padding: 2rem 5rem 2rem 5rem;
  margin: 0 auto;
  text-align: center;
  color: #333;
  transition: all 0.6s 0s;
}
@media only screen and (max-width: 768px) {
  .btnOnBottom222 a {
    font-size: 1.8rem;
    width: 100%;
    max-width: 100%;
  }
}
.btnOnBottom222 a .circle {
  position: absolute;
  top: 48%;
  right: 1rem;
  transform: translate(0, -50%);
  transition: all 0.5s 0s;
}
.btnOnBottom222 a .circle svg {
  fill: #333;
}
.btnOnBottom222 a:hover {
  opacity: 0.8;
}
.btnOnBottom222 a:hover .circle {
  right: 1.5rem;
}
.secHead {
  position: fixed;
}
.secHead .commonOuter ul li a .engM {
  color: #333;
}
@media only screen and (max-width: 768px) {
  .spPrivacy {
    background: rgba(76, 76, 76, 0.8);
  }
}
.overRideRight {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 11;
  width: 70%;
  height: 100vh;
}
@media only screen and (max-width: 768px) {
  .overRideRight {
    width: 100%;
    opacity: 0;
  }
}
.overRideRight .overlayRightZ {
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overlayRightZ {
    opacity: 1;
  }
}
.overRideRight .overTop {
  background: #444;
  width: 100%;
  height: 100vh;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.overRideRight .overTop .menu_content {
  z-index: 3;
  width: auto;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .menu_content {
    width: auto;
    height: 100vh;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: relative;
    top: 0%;
    left: 0rem;
    transform: translate3d(0%, 0%, 0);
    margin: 0 auto;
    padding: 50px 0 60px 0%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .menu_content .menu_inner {
    display: block;
  }
}
.overRideRight .overTop ul.menu_list li {
  position: relative;
  overflow: hidden;
  margin-bottom: 4vh;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li {
    margin-bottom: 0px;
  }
}
.overRideRight .overTop ul.menu_list li .menuDesign.menuIcon {
  position: relative;
  overflow: hidden;
}
.overRideRight .overTop ul.menu_list li .menuDesign a,
.overRideRight .overTop ul.menu_list li .menuDesign .sub_btn {
  position: relative;
  color: #ffffff;
  -webkit-transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.overRideRight .overTop ul.menu_list li .menuDesign a dl,
.overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl {
  -webkit-align-items: center;
  align-items: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.overRideRight .overTop ul.menu_list li .menuDesign a dl dt,
.overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl dt {
  margin-right: 1rem;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  font-family: source-han-serif-japanese, serif;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li .menuDesign a dl dt,
  .overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl dt {
    font-size: 2.4rem;
    letter-spacing: 0em;
    line-height: 1;
    margin-right: 1.5rem;
  }
}
.overRideRight .overTop ul.menu_list li .menuDesign a dl dd,
.overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl dd {
  color: #ddd;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 1100px) {
  .overRideRight .overTop ul.menu_list li .menuDesign a dl dd,
  .overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl dd {
    font-size: 0.14rem;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li .menuDesign a dl dd,
  .overRideRight .overTop ul.menu_list li .menuDesign .sub_btn dl dd {
    font-size: 1.5rem;
    letter-spacing: 0em;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li .menuDesign .sub_btn {
    width: 100%;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}
.overRideRight .overTop ul.menu_list li .menuDesign .sub_btn:before {
  display: none;
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.menu_list_detail {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail {
    -webkit-align-items: initial;
    align-items: initial;
    display: block;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.menu_list_detail
  > li:first-child {
  margin-right: 6rem;
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    > li:first-child {
    margin-right: 0rem;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.menu_list_detail
  > li:last-child {
  margin-left: 6rem;
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    > li:last-child {
    margin-left: 0rem;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail {
    margin-top: 0;
  }
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    li:last-child
    .subMenu {
    padding-left: 0rem;
  }
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    li:last-child
    a {
    padding: 2rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    a {
    display: block;
  }
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    a:hover {
    color: #fff179;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.menu_list_detail
  a
  span {
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    a
    span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.menu_list_detail
    .menuIcon
    a {
    display: block;
    padding: 2rem 0;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li .menuDesign .sub_btn ul.subMenu {
    margin-top: 0vh;
    padding-left: 0rem;
    display: block !important;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.subMenu
  li
  a
  span {
  position: relative;
  padding-left: 20px;
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.subMenu
    li
    a
    span {
    padding-left: 1.4rem;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.subMenu
  li
  a
  span:before {
  content: "ー";
  position: absolute;
  top: 50%;
  left: 0;
  font-size: 0.16rem;
  color: #fff;
  transform: translate3d(0, -50%, 0);
}
@media only screen and (max-width: 768px) {
  .overRideRight
    .overTop
    ul.menu_list
    li
    .menuDesign
    .sub_btn
    ul.subMenu
    li
    a
    span:before {
    font-size: 1.16rem;
  }
}
.overRideRight
  .overTop
  ul.menu_list
  li
  .menuDesign
  .sub_btn
  ul.subMenu
  li:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop ul.menu_list li .noTab {
    padding: 16px 7vw 16px;
  }
  .overRideRight .overTop ul.menu_list li .noTabLink a {
    display: block;
    padding: 16px 7vw 16px;
    border-bottom: 2px solid #333333;
  }
  .overRideRight .overTop ul.menu_list li .onTab {
    height: 55px;
    padding: 16px 7vw 16px;
  }
  .overRideRight .overTop ul.menu_list li .onTab:before,
  .overRideRight .overTop ul.menu_list li .onTab:after {
    content: "";
    border: 1.6px solid transparent;
    display: block;
    width: 10px;
    height: 10px;
    margin: auto;
    position: absolute;
    top: 20px;
    -webkit-transform: rotate(45deg) translate3d(0px, -4px, 0);
    transform: rotate(45deg) translate3d(0px, -4px, 0);
    border-top: none;
    border-left: none;
    right: 6vw;
    border-color: #000;
  }
}
.overRideRight .overTop .hidden {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .hidden {
    width: 100%;
  }
}
.overRideRight .overTop .inMotion {
  transform: translate3d(0, 100px, 0);
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .inMotion {
    transform: translate3d(0, 0px, 0) !important;
  }
}
.overRideRight .overTop .leftMenu {
  margin: 0 0rem;
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .leftMenu {
    margin: 0 0vw 0 0;
  }
}
@media only screen and (max-width: 768px) {
  .overRideRight .overTop .leftMenu .menu_list li {
    padding-right: 0px;
  }
  .overRideRight .overTop .leftMenu .menu_list li.last {
    margin-bottom: 0;
  }
}
@-webkit-keyframes line {
  0% {
    background-position: right bottom;
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0 1px;
  }
  51% {
    background-position: left bottom;
    background-size: 0 1px;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
@keyframes line {
  0% {
    background-position: right bottom;
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0 1px;
  }
  51% {
    background-position: left bottom;
    background-size: 0 1px;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
@-webkit-keyframes arrow {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateX(-450%);
    transform: translateX(-450%);
  }
  51% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  99% {
    -webkit-transform: translateX(-450%);
    transform: translateX(-450%);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes arrow {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateX(-450%);
    transform: translateX(-450%);
  }
  51% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  99% {
    -webkit-transform: translateX(-450%);
    transform: translateX(-450%);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.mainBtnHeader {
  padding: 6rem 0;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader {
    padding: 4rem 0;
  }
}
.mainBtnHeader .menuInsta {
  margin-top: 5rem;
  margin-left: 2rem;
  color: #fff;
  font-size: 2.2rem;
}
.mainBtnHeader .menuInsta a {
  opacity: 0;
  color: #fff;
}
.mainBtnHeader ul {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul {
    display: block;
  }
}
.mainBtnHeader ul li {
  overflow: hidden;
  width: 48%;
  min-width: 25rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li {
    min-width: auto;
  }
}
.mainBtnHeader ul li:first-child {
  margin-right: 1rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li:first-child {
    margin-right: 0rem;
  }
}
.mainBtnHeader ul li:last-child {
  margin-left: 1rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li:last-child {
    margin-left: 0rem;
  }
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li {
    width: 100%;
  }
  .mainBtnHeader ul li:first-child {
    margin-bottom: 2rem;
  }
}
.mainBtnHeader ul li .overlayBtn {
  opacity: 0;
}
.mainBtnHeader ul li a {
  color: #fff;
  height: 5rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 2rem 1rem;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
  transition: all 0.4s;
}
.mainBtnHeader ul li a.tellll span {
  font-size: 1.3rem;
}
.mainBtnHeader ul li a.maillll {
  border: 1px solid #fff;
}
.mainBtnHeader ul li a .inin .tell {
  display: inline-block;
  font-size: 2rem;
  font-family: oswald, sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.2rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li a .inin .tell {
    font-size: 3rem;
  }
}
.mainBtnHeader ul li a .inin .tell i {
  font-size: 2rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li a .inin .tell i {
    font-size: 2.6rem;
  }
}
.mainBtnHeader ul li a .inin .mail {
  font-size: 1.6rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li a .inin .mail {
    font-size: 1.8rem;
  }
}
.mainBtnHeader ul li a .inin .mail i {
  font-size: 2.2rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 768px) {
  .mainBtnHeader ul li a .inin .mail i {
    font-size: 2.6rem;
  }
}
.mainBtnHeader ul li a:hover {
  opacity: 0.7;
}
.headTopBtnAddSec {
  margin-right: 2rem;
}
.headTopBtnAddSec a {
  display: inline-block;
  background: #000000;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.5rem;
  font-family: arial;
  padding: 1rem 3rem;
  transition: all 0.4s;
}
.headTopBtnAddSec a:hover {
  opacity: 0.7;
}
.headTopBtnAdd {
  margin-right: 4rem;
}
.headTopBtnAdd a {
  display: inline-block;
  background: #000000;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.5rem;
  font-family: arial;
  padding: 1rem 3rem;
  transition: all 0.4s;
}
.headTopBtnAdd a:hover {
  opacity: 0.7;
}
.snsLinkList {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.snsLinkList._01 {
  margin-right: 3rem;
}
.snsLinkList._02 {
  margin-left: 4rem;
}
.snsLinkList._02 a {
  color: #faa32a;
}
.snsLinkList .sns.leftSpace {
  margin-left: 1rem;
}
.snsLinkList a {
  display: inline-block;
  font-size: 2.8rem;
  transition: all 0.4s;
}
.snsLinkList a:hover {
  opacity: 0.7;
}
.snsLinkList02 {
  margin-bottom: 4rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.snsLinkList02 ol {
  display: flex;
}
.snsLinkList02 ol li:not(:first-child) {
  margin-left: 1rem;
}
.snsLinkList02 a {
  display: inline-block;
  font-size: 2.8rem;
  transition: all 0.4s;
  color: #bbb;
}
.snsLinkList02 a:hover {
  opacity: 0.7;
}
#page_top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 100;
  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;
}
.topContactWrap {
  background: #f6f6f6;
  margin: 8rem 0;
  padding: 14rem 0;
}
@media only screen and (max-width: 768px) {
  .topContactWrap {
    margin: 5rem 0;
    padding: 5rem 0;
  }
}
.topContactWrap ._in .flexWrap {
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap {
    display: block;
  }
}
.topContactWrap ._in .flexWrap .leftBox {
  position: relative;
  position: relative;
  -webkit-flex-basis: 35rem;
  flex-basis: 35rem;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .leftBox {
    margin-bottom: 3rem;
  }
}
.topContactWrap ._in .flexWrap .leftBox .bgTTT {
  position: absolute;
  top: 0rem;
  left: -5rem;
  font-size: 12rem;
  font-weight: 400;
  line-height: 10rem;
  color: #ddd;
  font-family: "enchanted", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .leftBox .bgTTT {
    left: -0rem;
  }
}
.topContactWrap ._in .flexWrap .leftBox dl {
  position: relative;
  z-index: 2;
}
.topContactWrap ._in .flexWrap .leftBox dl dt {
  font-size: 2.2rem;
  line-height: 3rem;
  font-weight: 700;
  letter-spacing: 0rem;
}
.topContactWrap ._in .flexWrap .rightBox {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding: 0 0rem 0 8rem;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .rightBox {
    padding: 0 0rem 0 0rem;
  }
}
.topContactWrap ._in .flexWrap .rightBox .inFlex {
  display: flex;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .rightBox .inFlex {
    display: block;
  }
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .tellBBB a {
  padding: 0 3rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%;
  color: #222;
  font-size: 3.6rem;
  line-height: 4rem;
  font-weight: bold;
  letter-spacing: 0rem;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .rightBox .inFlex .tellBBB a {
    margin-bottom: 3rem;
    padding: 0 0rem;
    display: block;
  }
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .tellBBB a span {
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: 0rem;
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBB {
  margin-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBB {
    margin-left: 0rem;
  }
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBB a {
  position: relative;
  background: #222;
  color: #fff;
  display: block;
  padding: 2rem 15rem 2rem 5rem;
  font-size: 1.6rem;
  line-height: 3rem;
  font-weight: 700;
  letter-spacing: 0rem;
  transition: all 0.4s;
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBB a::after {
  position: absolute;
  z-index: 2;
  display: block;
  content: "";
  right: 2rem;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg) translate(0, -50%);
  transform: rotate(45deg) translate(0, -50%);
  transition: all 0.12s ease-in 0s;
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBB a:hover {
  opacity: 0.9;
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBBA {
  margin-left: 4rem;
}
@media only screen and (max-width: 768px) {
  .topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBBA {
    margin-left: 0rem;
  }
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBBA a {
  position: relative;
  display: block;
  transition: all 0.4s;
}
.topContactWrap ._in .flexWrap .rightBox .inFlex .mailBBBA a:hover {
  opacity: 0.9;
}
footer {
  position: relative;
  z-index: 1;
  background: #222;
}
footer .flexWrap {
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap {
    display: block;
  }
}
footer .flexWrap .footerLogoWrap {
  width: 40rem;
  margin-right: 5rem;
  padding-right: 5rem;
  padding: 8rem 5rem 5rem 0;
  border-right: 1px solid #bbb;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerLogoWrap {
    margin: 0 auto;
    padding-right: 0rem;
    border-right: none;
  }
}
footer .flexWrap .footerLogoWrap .f_topLogo {
  margin-bottom: 10.5rem;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerLogoWrap .f_topLogo {
    margin-bottom: 2.5rem;
  }
}
footer .flexWrap .footerLogoWrap .f_topLogo a {
  display: block;
}
footer .flexWrap .footerLogoWrap .f_topLogo .footerLogo {
  width: 17rem;
  margin-right: 2rem;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerLogoWrap .f_topLogo .footerLogo {
    width: 20rem;
    margin-right: 0rem;
  }
}
footer .flexWrap .footerLogoWrap .f_topLogo .footer_logoInfo {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
}
footer .flexWrap .footerLogoWrap .f_topLogo .footer_logoInfo .companyNa {
  font-size: 1.54rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
footer .flexWrap .footerLogoWrap .f_topLogo .footer_logoInfo .fText {
  font-size: 1.2rem;
  line-height: 2rem;
  letter-spacing: 0.04em;
}
footer .flexWrap .footerLogoWrap .footer_add {
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: 0.04em;
  margin-top: 3rem;
  margin-bottom: 1rem;
  color: #bbb;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerLogoWrap .footer_add {
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerLogoWrap .footerBoxLink {
    text-align: center;
  }
}
footer .flexWrap .footerLogoWrap .footerBoxLink a {
  display: inline-block;
  text-align: center;
  display: inline-block;
  border: 1px solid #000;
  padding: 0.8rem 1rem;
  color: #000;
  font-size: 1.3rem;
  transition: all 0.5s;
}
footer .flexWrap .footerMenuWrap {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  text-align: left;
  padding: 8rem 5rem 0rem 0;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap {
    padding: 0rem 0rem 0rem 0;
  }
}
footer .flexWrap .footerMenuWrap .footerCopy {
  margin-top: 5rem;
  color: #bbb;
  font-size: 1.3rem;
  line-height: 3rem;
  font-weight: 400;
  letter-spacing: 0rem;
}
footer .flexWrap .footerMenuWrap .footerMenuWrapAA {
  position: relative;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-flex-basis: 100px;
  flex-basis: 100px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .footerMenuWrapAA {
    display: block;
  }
}
footer .flexWrap .footerMenuWrap .sub_btnAAA {
  width: 70%;
}
@media only screen and (max-width: 1400px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA {
    width: 70%;
  }
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail {
    -webkit-align-items: initial;
    align-items: initial;
  }
}
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li:first-child {
  margin-right: 6rem;
}
@media only screen and (max-width: 1400px) {
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li:first-child {
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li:first-child {
    margin-right: 2rem;
  }
}
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li:last-child {
  margin-left: 6rem;
}
@media only screen and (max-width: 1400px) {
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li:last-child {
    margin-left: 2rem;
  }
}
@media only screen and (max-width: 768px) {
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li:last-child {
    margin-left: 2rem;
  }
}
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li
  .subMenu
  li {
  margin-bottom: 3rem;
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a,
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li .sub_btn {
  position: relative;
  color: #ffffff;
  -webkit-transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl,
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li
  .sub_btn
  dl {
  -webkit-align-items: center;
  align-items: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl dt,
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li
  .sub_btn
  dl
  dt {
  margin-right: 1rem;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.04em;
  font-family: source-han-serif-japanese, serif;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl dt,
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li
    .sub_btn
    dl
    dt {
    font-size: 2.4rem;
    letter-spacing: 0em;
    line-height: 1;
    margin-right: 1.5rem;
  }
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl dd,
footer
  .flexWrap
  .footerMenuWrap
  .sub_btnAAA
  ul.menu_list_detail
  > li
  .sub_btn
  dl
  dd {
  color: #ddd;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 1100px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl dd,
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li
    .sub_btn
    dl
    dd {
    font-size: 0.14rem;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail > li a dl dd,
  footer
    .flexWrap
    .footerMenuWrap
    .sub_btnAAA
    ul.menu_list_detail
    > li
    .sub_btn
    dl
    dd {
    font-size: 1.5rem;
    letter-spacing: 0em;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail a {
    display: block;
  }
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail a:hover {
    color: #fff179;
  }
}
footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail a span {
  font-size: 1.5rem;
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail a span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .sub_btnAAA ul.menu_list_detail .menuIcon a {
    display: block;
    padding: 1rem 0;
  }
}
footer .flexWrap .footerMenuWrap .footer_menuBox {
  width: 30%;
  border-left: 1px solid #ddd;
  padding-left: 2%;
}
@media only screen and (max-width: 1400px) {
  footer .flexWrap .footerMenuWrap .footer_menuBox {
    width: 30%;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .footer_menuBox {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    border-left: none;
    padding-left: 2%;
  }
  footer .flexWrap .footerMenuWrap .footer_menuBox .subF {
    width: 31%;
  }
}
footer .flexWrap .footerMenuWrap .footer_menuBox .subF a {
  display: block;
  width: 22rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: #666;
  margin-bottom: 1rem;
  margin-left: auto;
  transition: all 0.4s;
}
@media only screen and (max-width: 1400px) {
  footer .flexWrap .footerMenuWrap .footer_menuBox .subF a {
    width: 20rem;
  }
}
@media only screen and (max-width: 768px) {
  footer .flexWrap .footerMenuWrap .footer_menuBox .subF a {
    width: 100%;
  }
}
footer .flexWrap .footerMenuWrap .footer_menuBox .subF a:hover {
  opacity: 0.8;
}
footer .flexWrap .footerMenuWrap .footer_menuBox ul li:not(:first-child) {
  margin-top: 1rem;
}
footer .flexWrap .footerMenuWrap .footer_menuBox ul li a {
  display: block;
  font-size: 1.3rem;
  color: #ccc;
  transition: all 0.4s;
}
footer .flexWrap .footerMenuWrap .footer_menuBox ul li a:hover {
  opacity: 0.8;
}
footer .flexWrap .footerMenuWrap .footer_menuBox p {
  font-size: 1.3rem;
  color: #666;
  line-height: 2.2rem;
}
footer .copy {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  footer .copy {
    text-align: center;
  }
}
footer .copy p {
  font-size: 1.3rem;
  color: #aaa;
}
@media screen and (min-width: 769px) {
  body {
    font-size: 80%;
  }
  .sp,
  br.s {
    display: none !important;
  }
  .text {
    font-size: 1.4rem;
    line-height: 2.4rem;
    letter-spacing: 0.04em;
  }
  .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;
  }
}
@media screen and (max-width: 768px) {
  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;
  }
  .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;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 1.980644vw;
  }
}
@media screen and (min-width: 769px) {
  html {
    font-size: 0.6806442167vw;
  }
  body {
    font-size: 0.16rem;
  }
  .sp,
  br.s {
    display: none !important;
  }
}
@media screen and (min-width: 1401px) {
  html {
    font-size: 63.5%;
  }
}
/*# sourceMappingURL=style.css.map */
