@charset "UTF-8";

/* common
------------------------------------------------------------------------------------*/
img {
  width: 100%;
}

body {
  background-color: #fafafa;
  color: #142c47;
  font-size: 15px;
}

header a,
footer a,
* a {
  color: #142c47;
}

@media all and (max-width: 769px) {
  body {
    font-size: 13px;
  }
}

article {
  overflow: hidden;
  position: relative;
  z-index: 1000;
}

* {
  font-family: 'Hind', 'Noto Sans JP', serif;
}

.content_wrapper {
  width: 100%;
  overflow: hidden;
}

.content_inner {
  width: 100%;
  max-width: 1800px !important;
  margin: auto;
  position: relative;
  padding: 0 110px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.content_inner_wide {
  width: 100%;
  margin: auto;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.content_inner_wide_inner {
  width: 100%;
  max-width: 1800px;
  margin: auto;
  position: relative;
  padding: 0 110px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.clear_fix:after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  clear: both;
}

@media all and (max-width: 769px) {

  .content_inner,
  .content_inner_wide_inner {
    padding: 0 5vw;
  }
}

section {
  width: 100%;
}

.font_size_l {
  font-size: 20px;
}

@media all and (max-width: 769px) {
  .font_size_l {
    font-size: 16px;
  }
}

.bold {
  font-weight: bold;
}

.align_right {
  text-align: right;
}

/* detail
------------------------------------------------------------------------------------*/
.link_btn {
  pointer-events: all;
}

.link_btn_s {
  background-color: #142c47;
  border: solid 1px #85c023;
  color: white;
  position: relative;
  border-radius: 30px;
  padding: 9px 13px 8px;
  font-size: 13px;
  line-height: 1;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_s:after {
  content: "";
  width: 0px;
  height: 1px;
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -1px;
  opacity: 1;
  background-color: white;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_s:hover {
  background-color: #85c023;
  padding-right: 35px;
}

.link_btn_s:hover:after {
  width: 20px;
}

.link_btn_m {
  display: block;
  text-align: center;
  background-color: white;
  color: #142c47;
  border: solid 3px #85c023;
  border-radius: 30px;
  padding: 17px 0 15px;
  font-size: 15px;
  width: 250px;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: auto;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_m span {
  display: inline-block;
  position: relative;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_m span:after {
  content: "";
  width: 0px;
  height: 1px;
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -2px;
  opacity: 1;
  background-color: white;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_l {
  display: block;
  text-align: center;
  background-color: white;
  color: #142c47;
  border: solid 3px #85c023;
  border-radius: 30px;
  padding: 17px 0 15px;
  font-size: 15px;
  width: 350px;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: auto;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_l span {
  display: inline-block;
  position: relative;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.link_btn_l span:after {
  content: "";
  width: 0px;
  height: 1px;
  display: block;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -2px;
  opacity: 1;
  background-color: white;
  -webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -ms-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

@media all and (max-width: 769px) {
  .link_btn_l {
    width: 100%;
  }
}

.link_btn_m:hover,
.link_btn_l:hover {
  background-color: #142c47;
}

.link_btn_m:hover span,
.link_btn_l:hover span {
  color: white;
  padding-right: 35px;
}

.link_btn_m:hover span:after,
.link_btn_l:hover span:after {
  width: 20px;
}

.linkbtn_content:hover .link_btn_m {
  background-color: #142c47;
}

.linkbtn_content:hover .link_btn_m span {
  color: white;
  padding-right: 35px;
}

.linkbtn_content:hover .link_btn_m span:after {
  width: 20px;
}

w {
  position: absolute;
  bottom: 0;
  left: 0;
}

/* title
------------------------------------------------------------------------------------*/
.title {
  line-height: 1.2;
}

.title.set_caption {
  margin-bottom: 10px;
}

.title_m_wn {
  font-size: 50px;
  color: white;
  margin-bottom: 35px;
}

.title_m_wn span {
  color: #142c47;
}

.title_m_wg {
  font-size: 50px;
  color: white;
  margin-bottom: 35px;
}

.title_m_wg span {
  color: #85c023;
}

@media all and (max-width: 769px) {

  .title_m_wn,
  .title_m_wg {
    font-size: 32px;
    margin-bottom: 10vw;
  }
}

.title_m_g {
  font-size: 50px;
  margin-bottom: 35px;
}

.title_m_g span {
  color: #85c023;
}

@media all and (max-width: 769px) {

  .title_m_wg,
  .title_m_g {
    font-size: 32px;
    margin-bottom: 10vw;
  }
}

.title_l_g {
  font-size: 80px;
  margin-bottom: 35px;
}

.title_l_g span {
  color: #85c023;
}

@media all and (max-width: 769px) {
  .title_l_g {
    font-size: 42px;
    margin-bottom: 10vw;
  }
}

.title_s_wn {
  font-size: 26px;
  color: white;
  margin-bottom: 21px;
}

.title_s_wn span {
  color: #142c47;
}

.title_s_wn p.caption {
  font-size: 20px;
}

.title_s_g {
  color: #142c47;
  font-size: 26px;
  margin-bottom: 35px;
}

.title_s_g span {
  color: #85c023;
}

@media all and (max-width: 769px) {

  .title_s_wn,
  .title_s_g {
    font-size: 21px;
    margin-bottom: 5vw;
  }

  .title_s_wn p.caption,
  .title_s_g p.caption {
    font-size: 16px;
  }
}

.title_center {
  text-align: center;
}

.title_border {
  position: relative;
  padding-bottom: 26px;
}

.title_border:after {
  content: "";
  width: 55px;
  height: 1px;
  background-color: white;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -27.5px;
}

@media all and (max-width: 769px) {
  .title_border {
    padding-bottom: 5vw;
  }
}

.title_border_caption_w {
  color: white;
  font-size: 21px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 80px;
  position: relative;
  display: inline-block;
}

.title_border_caption_w:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #85c023;
}

.title_caption_w {
  color: white;
  font-size: 21px;
  font-weight: bold;
  display: block;
}

.title_border_caption {
  font-size: 21px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 80px;
  position: relative;
  display: inline-block;
}

.title_border_caption:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #85c023;
}

.title_right {
  text-align: right;
}

@media all and (max-width: 769px) {
  .title_caption_w {
    font-size: 18px;
  }

  .title_border_caption,
  .title_border_caption_w {
    font-size: 18px;
    padding-bottom: 2.5vw;
    margin-bottom: 10vw;
  }
}

/* margin
------------------------------------------------------------------------------------*/
.margin_s {
  margin-bottom: 21px !important;
}

.margin_m {
  margin-bottom: 35px !important;
}

.margin_l {
  margin-bottom: 80px !important;
}

.margin_ll {
  margin-bottom: 120px !important;
}

.shop_title {
  font-weight: bold;
}

.sub_shop_title {
  margin: 14px 0 0 16px;
}

@media all and (max-width: 769px) {
  .margin_s {
    margin-bottom: 5vw !important;
  }

  .margin_m {
    margin-bottom: 10vw !important;
  }

  .margin_l {
    margin-bottom: 20vw !important;
  }

  .margin_ll {
    margin-bottom: 20vw !important;
  }
}

/* text_box
------------------------------------------------------------------------------------*/
.text_box_m_w {
  font-size: 15px;
  color: white;
}

@media all and (max-width: 769px) {
  .text_box_m_w {
    font-size: 13px;
  }
}

.text-center {
  text-align: center;
}

/* bgVideo
------------------------------------------------------------------------------------*/
#bgVideo {
  z-index: 0;
}

.bgVideo_wrapper {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #142c47;
}

.bgVideo_wrapper:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 10;
  background: -webkit-repeating-linear-gradient(bottom, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background: -o-repeating-linear-gradient(bottom, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background: repeating-linear-gradient(0deg, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background-size: 100% 5px;
  -webkit-animation: lines 2s ease-out infinite;
  animation: lines 2s ease-out infinite;
  opacity: 0.1;
  pointer-events: none;
}

#sp_video {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background-image: url("../images/5da5479834508105813123.gif");
  background-size: cover;
  background-position: center center;
  display: none;
}

#bgVideo {
  display: block;
}

@media all and (max-width: 769px) {
  #sp_video {
    background-image: url("../images/5da5479834508105813123.gif");
    background-size: cover;
    background-position: center center;
    display: block;
    opacity: 0.3;
    -webkit-transition: opacity 1.5s ease;
    -moz-transition: opacity 1.5s ease;
    -ms-transition: opacity 1.5s ease;
    -o-transition: opacity 1.5s ease;
    transition: opacity 1.5s ease;
  }

  #sp_video.active {
    opacity: 0.4;
  }

  #bgVideo {
    display: none;
  }
}

/* onrady
------------------------------------------------------------------------------------*/
.onrady {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: #142c47;
  z-index: 20000;
  color: white;
}

.onrady:after {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  z-index: 10;
  background: -webkit-repeating-linear-gradient(bottom, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background: -o-repeating-linear-gradient(bottom, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background: repeating-linear-gradient(0deg, #111 0px, #111 1px, transparent 2px, transparent 5px);
  background-size: 100% 5px;
  -webkit-animation: lines 2s ease-out infinite;
  animation: lines 2s ease-out infinite;
  opacity: 0.1;
  pointer-events: none;
}

.onrady p {
  letter-spacing: 0.15em;
  opacity: 0.8;
  position: absolute;
  z-index: 100;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.onrady .p1 {
  top: 25vh;
  left: 25vw;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.onrady .p2 {
  bottom: 25vh;
  right: 25vw;
  -webkit-animation: opacity 1s linear infinite;
  animation: opacity 1s linear infinite;
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

@media all and (max-width: 769px) {
  .onrady .p1 {
    left: 10vw;
  }

  .onrady .p2 {
    right: 10vw;
  }
}

.onrady p.clip {
  -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}

.onrady i {
  display: block;
  width: 0%;
  height: 1px;
  background-color: #85c023;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 100;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

.onrady i:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: #142c47;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
  -webkit-transition-delay: 3s;
  -o-transition-delay: 3s;
  transition-delay: 3s;
}

@-webkit-keyframes lines {
  0% {
    background-position: 0px 0px;
  }

  100% {
    background-position: 0px 25px;
  }
}

@keyframes lines {
  0% {
    background-position: 0px 0px;
  }

  100% {
    background-position: 0px 25px;
  }
}

@-webkit-keyframes opacity {
  0% {
    opacity: 0.8;
  }

  50% {
    opacity: 0.8;
  }

  75% {
    opacity: 0.4;
  }

  100% {
    opacity: 0.8;
  }
}

@keyframes opacity {
  0% {
    opacity: 0.8;
  }

  50% {
    opacity: 0.8;
  }

  75% {
    opacity: 0.4;
  }

  100% {
    opacity: 0.8;
  }
}

.onrady.active i {
  width: 100%;
}

.onrady.active i:after {
  width: 100%;
}

/* animation
------------------------------------------------------------------------------------*/
.bgVideo_wrapper {
  -webkit-transition: all 1.5s ease;
  -moz-transition: all 1.5s ease;
  -ms-transition: all 1.5s ease;
  -o-transition: all 1.5s ease;
  transition: all 1.5s ease;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

.bgVideo_wrapper.active {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

#bgVideo {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease;
  -moz-transition: opacity 1.5s ease;
  -ms-transition: opacity 1.5s ease;
  -o-transition: opacity 1.5s ease;
  transition: opacity 1.5s ease;
}

#bgVideo.active {
  opacity: 0.4;
}

.shuffle {
  visibility: hidden;
}

.shuffle.active {
  visibility: visible;
}

.content_hidden {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

header {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  transform: translate(0, -100%);
}

header.active {
  -webkit-transform: translate(0, 0%);
  -moz-transform: translate(0, 0%);
  -ms-transform: translate(0, 0%);
  -o-transform: translate(0, 0%);
  transform: translate(0, 0%);
}

.news {
  position: relative;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}

.news:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  right: 0;
  background-color: #85c023;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  -ms-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
  -webkit-transition-delay: .25s;
  -o-transition-delay: .25s;
  transition-delay: .25s;
}

.delta {
  -webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 200%, 0% 200%);
  clip-path: polygon(0% 100%, 100% 100%, 100% 200%, 0% 200%);
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transition-delay: .25s;
  -o-transition-delay: .25s;
  transition-delay: .25s;
}

.top_news.active .news {
  -webkit-clip-path: polygon(0% 0%, 150% 0%, 150% 150%, 0% 150%);
  clip-path: polygon(0% 0%, 150% 0%, 150% 150%, 0% 150%);
}

.top_news.active .news:after {
  width: 0%;
}

.top_news.active .delta {
  -webkit-clip-path: polygon(0% -30%, 100% -100%, 100% 200%, 0% 200%);
  clip-path: polygon(0% -30%, 100% -100%, 100% 200%, 0% 200%);
}

.content_rady {
  position: relative;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  pointer-events: none;
}

.content_rady:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  right: 0;
  background-color: #85c023;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transition-delay: .25s;
  -o-transition-delay: .25s;
  transition-delay: .25s;
}

.content_rady.active {
  -webkit-clip-path: polygon(0% 0%, 150% 0%, 150% 150%, 0% 150%);
  clip-path: polygon(0% 0%, 150% 0%, 150% 150%, 0% 150%);
}

.content_rady.active:after {
  width: 0%;
}

.content_rady.tuchrady {
  pointer-events: auto;
}

/* top_global
------------------------------------------------------------------------------------*/
/* header
------------------------------------------------------------------------------------*/
header {
  background-color: #ffffff;
  position: fixed;
  top: 0;
  width: 100%;
  height: 90px;
  z-index: 100000;
}

header h1 {
  width: 150px;
  position: absolute;
  top: 21px;
  left: 35px;
}

@media all and (max-width: 769px) {
  header {
    height: 10vh;
  }

  header h1 {
    width: 130px;
    position: relative;
    top: 3vw;
    left: 5vw;
  }
}

.gnav {
  display: table;
  margin: auto;
}

.gnav>li {
  display: table-cell;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
  height: 90px;
}

.gnav>li>a {
  display: table;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.gnav>li>a>span {
  display: table-cell;
  vertical-align: middle;
}

.gnav>li>a span {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.gnav>li>a:after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-color: #85c023;
  position: absolute;
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%);
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.gnav>li.active>a span {
  opacity: 0.75;
}

.gnav>li.active>a:after {
  -webkit-transform: translate(0, 0%);
  -moz-transform: translate(0, 0%);
  -ms-transform: translate(0, 0%);
  -o-transform: translate(0, 0%);
  transform: translate(0, 0%);
}

@media all and (max-width: 769px) {
  .gnav_wrapper {
    -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    pointer-events: none;
    position: fixed;
    top: 10vh;
    left: 0;
    width: 100%;
    height: 90vh;
    background-color: #142c47;
    z-index: 5000;
    font-size: 16px !important;
  }

  .gnav_wrapper.active {
    -webkit-clip-path: polygon(0% 0%, 120% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 120% 0%, 100% 100%, 0% 100%);
    pointer-events: all;
  }

  .gnav {
    width: 100%;
    display: block;
    padding-top: 1vh;
  }

  .gnav>li {
    width: 100%;
    overflow: hidden;
    display: block;
    text-align: center;
    height: 17vh;
    background-image: url("../images/business_index_main_bg_01_2.jpg") !important;
    background-position: center center;
    background-size: cover;
    position: relative;
    margin-bottom: 1vw;
    -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
  }

  .gnav>li a {
    color: white;
  }

  .gnav>li:after {
    content: "";
    display: block;
    width: 100%;
    height: 110%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #142c47;
    opacity: 0.8;
  }

  .gnav_wrapper.active .gnav>li {
    -webkit-clip-path: polygon(0% 0%, 120% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 120% 0%, 100% 100%, 0% 100%);
  }

  .gnav_wrapper.active .gnav>li+li {
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s;
  }

  .gnav_wrapper.active .gnav>li+li+li {
    -webkit-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s;
  }

  .gnav_wrapper.active .gnav>li+li+li+li {
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s;
  }

  .gnav>li {
    background-image: url("../images/company_profile_main_bg_02.jpg") !important;
  }

  .gnav>li+li {
    background-image: url("../images/business_index_main_bg_01.jpg") !important;
    -webkit-transition-delay: .30s;
    -o-transition-delay: .30s;
    transition-delay: .30s;
  }

  .gnav>li+li+li {
    background-image: url("../images/business_index_main_bg_01_2.jpg") !important;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s;
  }

  .gnav>li+li+li+li {
    background-image: url("../images/company_history_main_bg.jpg") !important;
    -webkit-transition-delay: .40s;
    -o-transition-delay: .40s;
    transition-delay: .40s;
  }

  .gnav>li>a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 6vh;
  }

  .gnav>li>a>span {
    display: inline-block;
    padding-right: 30px;
    background-image: url("../images/sign_01.png");
    background-repeat: no-repeat;
    background-position: right 48%;
    background-size: 12px;
    position: relative;
    z-index: 1000;
  }

  .subnav {
    width: 100% !important;
    position: static;
    top: auto !important;
    margin: auto;
  }

  .subnav li {
    height: 10vh !important;
    border: solid 1px rgba(255, 255, 255, 0.2);
  }
}

.subnav {
  display: table;
  position: absolute;
  width: 250px;
  right: 0;
  top: 0;
}

.subnav li {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  height: 70px;
  width: 50%;
  background-color: #85c023;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.subnav li a {
  display: table;
  color: white;
  width: 100%;
  height: 100%;
}

.subnav li a span {
  display: table-cell;
  vertical-align: middle;
}

.subnav li+li {
  background-color: #142c47;
}

.subnav li:hover {
  background-color: #fafafa;
}

.subnav li:hover a {
  color: #142c47;
}

.subnav li+li:hover {
  background-color: #fafafa;
}

.subnav li+li:hover a {
  color: #142c47;
}

.pankuz {
  padding-top: 90px;
  background-color: #fafafa;
}

.pankuz .pankuz_inner {
  border-top: solid 1px rgba(30, 44, 71, 0.2);
  border-bottom: solid 1px rgba(30, 44, 71, 0.2);
}

.pankuz ul {
  width: 100%;
  max-width: 1800px;
  padding: 0 110px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: auto;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  height: 52px;
}

.pankuz ul li {
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 12px;
  position: relative;
}

.pankuz ul li+li {
  padding-left: 40px;
}

.pankuz ul li+li :after {
  content: "";
  position: absolute;
  left: 15px;
  top: 21px;
  width: 10px;
  height: 10px;
  background-image: url("../images/sign_02.png");
  background-repeat: no-repeat;
  background-size: auto 100%;
}

@media all and (max-width: 769px) {
  .pankuz {
    padding-top: 10vh;
  }

  .pankuz ul {
    padding: 0 5vw;
  }

  .pankuz ul li+li :after {
    top: 18px;
  }
}

@media all and (max-width: 769px) {
  .m_menu {
    display: none !important;
  }
}

.m_menu {
  position: absolute;
  z-index: 1000;
  top: 90px;
  left: 0;
  display: block;
  width: 100vw;
  height: 0px;
  visibility: hidden;
  -webkit-transition: height .25s ease;
  -moz-transition: height .25s ease;
  -ms-transition: height .25s ease;
  -o-transition: height .25s ease;
  transition: height .25s ease;
  -webkit-transition-delay: .25s;
  -o-transition-delay: .25s;
  transition-delay: .25s;
}

.gnav>li:hover .m_menu {
  opacity: 1;
  visibility: visible;
  height: auto;
}

.gnav>li:hover .m_menu_inner ul li {
  -webkit-transition-delay: .15s;
  -o-transition-delay: .15s;
  transition-delay: .15s;
  opacity: 1;
}

.m_menu_inner {
  display: block;
  height: 100%;
  width: 100%;
  background-color: #142c47;
}

.m_menu_inner ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  max-width: 1000px;
  margin: auto;
}

/*  .m_menu_inner ul.business li {
    width: 50%; }*/
.m_menu_inner ul.company li {
  width: 33.33%;
}

.m_menu_inner ul.company li.c2 {
  width: 50%;
}

.m_menu_inner ul li.hidden {
  visibility: hidden;
}

.m_menu_inner ul li {
  color: #ffffff;
  padding: 0 !important;
  text-align: center;
  opacity: 0;
  width: 50%;
  height: 150px;
  position: relative;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  -ms-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
}

.m_menu_inner ul li:after {
  content: "";
  display: block;
  position: absolute;
  width: 99%;
  height: 98%;
  top: .5%;
  left: 1%;
  opacity: 0.35;
  background-image: url("../images/information_img_02.jpg");
  background-position: center center;
  background-size: cover;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  -ms-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
}

.m_menu_inner ul li a {
  display: table;
  height: 100%;
  width: 100%;
  color: #fff;
  font-size: 15px;
  position: relative;
  z-index: 100;
}

.m_menu_inner ul li a i,
.m_menu_inner ul li a span {
  display: table-cell;
  vertical-align: middle;
}

.m_menu_inner ul li i {
  display: inline-block;
  width: 150px;
  background-color: #dddddd;
}

.m_menu_inner ul li span {
  padding-left: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
}

.m_menu_inner ul li:hover:after {
  opacity: 0.6;
}

.m_menu_inner ul.business li {
  width: 50%;
}

.m_menu_business li:after {
  background-image: url("../images/m_menu_business_bg_01.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_business li+li:after {
  background-image: url("../images/m_menu_business_bg_02.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_business li+li+li:after {
  background-image: url("../images/m_menu_business_bg_03.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_business li+li+li+li:after {
  background-image: url("../images/m_menu_business_bg_04.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_company li:after {
  background-image: url("../images/m_menu_company_bg_01.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_company li+li:after {
  background-image: url("../images/m_menu_company_bg_02.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_company li+li+li:after {
  background-image: url("../images/m_menu_company_bg_03.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_company li+li+li+li:after {
  background-image: url("../images/m_menu_company_bg_04.jpg");
  background-position: center center;
  background-size: cover;
}

.m_menu_company li+li+li+li+li:after {
  background-image: url("../images/m_menu_company_bg_05.jpg");
  background-position: center center;
  background-size: cover;
}

.hover_cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: #142c47;
  opacity: 0;
  z-index: 90000;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.hover_cover.active {
  opacity: 0.35;
  -webkit-transition-delay: .25s;
  -o-transition-delay: .25s;
  transition-delay: .25s;
}

.menu-trigger_wrapper {
  display: none;
}

@media all and (max-width: 769px) {
  .menu-trigger_wrapper {
    display: block;
    position: relative;
    height: 10vh;
  }

  .menu-trigger_wrapper p {
    position: absolute;
    bottom: 7%;
    height: 10px;
    width: 46%;
    left: 27%;
    line-height: 0;
  }
}

.menu-trigger_wrapper {
  background-color: #142c47;
  width: 18vw;
  padding: 5vw;
  padding-top: 3.5vw;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 0;
}

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

.menu-trigger {
  z-index: 20000;
  width: 8vw;
  height: 8vw;
  position: relative;
}

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

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

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

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

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(3.5vw) rotate(-45deg);
  -ms-transform: translateY(3.5vw) rotate(-45deg);
  transform: translateY(3.5vw) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards;
}

@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}

@keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-4vw) rotate(45deg);
  -ms-transform: translateY(-4vw) rotate(45deg);
  transform: translateY(-4vw) rotate(45deg);
}

/* main
------------------------------------------------------------------------------------*/
main.main_top {
  height: 100vh;
  padding: 110px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

main.main_top .content_inner {
  vertical-align: middle;
  margin-top: -250px;
  padding-top: 40vh;
}

@media all and (max-width: 769px) {
  main.main_top {
    height: auto;
    padding: 0 0;
    padding-top: 36vw;
  }
}

main {
  pointer-events: none;
}

.main_local {
  height: 100vh;
  max-height: 1000px;
  padding: 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  background-color: #fafafa;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: row-reverse;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.main_local .main_local_bg {
  height: 100%;
  width: 72%;
}

.main_local.inset {
  position: relative;
  z-index: 1000;
}

.main_local.business03_inset_01 {
  margin-top: -500px;
  height: 1000px;
  max-height: 1000px;
}

.main_local.business03_inset_01 .main_local_title_wrapper {
  height: 1000px;
  max-height: 1000px;
}

.main_local.business03_inset_01 .main_local_title {
  -webkit-transform: translate(0, -70%);
  -moz-transform: translate(0, -70%);
  -ms-transform: translate(0, -70%);
  -o-transform: translate(0, -70%);
  transform: translate(0, -70%);
}

.main_local.business03_inset_01.inset_03 {
  margin-top: -300px;
}

@media all and (max-width: 769px) {
  .main_local.business03_inset_01 {
    margin-top: 0px;
    height: auto;
    max-height: auto;
  }

  .main_local.business03_inset_01.inset_03 {
    margin-top: 0;
  }

  .main_local.business03_inset_01 .main_local_title_wrapper {
    height: auto;
    max-height: auto;
  }

  .main_local.business03_inset_01 .main_local_title {
    -webkit-transform: translate(0, 0%);
    -moz-transform: translate(0, 0%);
    -ms-transform: translate(0, 0%);
    -o-transform: translate(0, 0%);
    transform: translate(0, 0%);
  }
}

.space_top .sec_rotate_l_inner:after {
  content: "";
  display: block;
  position: absolute;
  width: 120%;
  height: 150px;
  background-color: #fafafa;
  top: -5px;
  left: -10%;
}

.space_top .sec_rotate_r_inner:after {
  content: "";
  display: block;
  position: absolute;
  width: 120%;
  height: 150px;
  background-color: #fafafa;
  top: -20px;
  left: -10%;
}

@media all and (max-width: 769px) {
  .space_top.sp_space_none .sec_rotate_l_inner:after {
    display: none;
  }

  .space_top.sp_space_none .sec_rotate_r_inner:after {
    display: none;
  }
}

.main_local.business03_inset_02 {
  position: relative;
  top: -300px;
  height: 1300px;
  max-height: 1300px;
}

.main_local.business03_inset_02 .main_local_title_wrapper {
  height: 1300px;
  max-height: 1300px;
}

.main_local.business03_inset_02 .main_local_title {
  position: absolute;
  top: auto;
  bottom: 150px;
  left: 110px;
  -webkit-transform: translate(0, 0) !important;
  -moz-transform: translate(0, 0) !important;
  -ms-transform: translate(0, 0) !important;
  -o-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
}

.sec_pointer_none {
  pointer-events: none;
}

.footer_skew {
  pointer-events: none;
}

.footer_skew footer {
  pointer-events: all;
}

.company_index .footer_skew {
  margin-top: -800px !important;
}

.main_local.inset .main_local_title {
  -webkit-transform: translate(0, -60%);
  -moz-transform: translate(0, -60%);
  -ms-transform: translate(0, -60%);
  -o-transform: translate(0, -60%);
  transform: translate(0, -60%);
}

.business03_inset_02_content {
  max-width: 1800px;
  padding: 0 110px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: auto;
  margin-top: -200px;
}

.main_local.revers {
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

@media all and (max-width: 769px) {
  .business03_inset_02_content {
    max-width: auto;
    padding: 0 5vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: auto;
    margin-top: 0px;
  }
}

.main_local_title_wrapper {
  width: 100%;
  max-width: 1800px;
  height: 100vh;
  max-height: 1000px;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 5000;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.main_local_title {
  position: absolute;
  top: 50%;
  left: 110px;
  -webkit-transform: translate(0, -60%);
  -moz-transform: translate(0, -60%);
  -ms-transform: translate(0, -60%);
  -o-transform: translate(0, -60%);
  transform: translate(0, -60%);
}

.main_local_title h1 {
  font-size: 100px;
  color: #142c47;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 35px;
}

.main_local_title h1 span {
  color: #85c023;
}

.main_local_comment {
  width: 500px;
  min-height: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px;
  background-color: #142c47;
  color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  pointer-events: all;
}

.main_local_comment h2 {
  font-size: 21px;
}

.main_local_comment h2 span {
  color: #85c023;
}

.main_local.revers h1 {
  text-align: right;
}

.main_local.revers .main_local_title {
  left: auto;
  right: 110px;
}

.main_local.revers .main_local_comment {
  float: right;
}

@media all and (max-width: 769px) {
  .main_local.revers h1 {
    text-align: left;
  }

  .main_local.revers .main_local_title {
    left: auto;
    right: auto;
  }

  .main_local.revers .main_local_comment {
    float: none;
  }
}

.main_title {
  font-size: 100px;
  color: white;
  line-height: 1;
}

.main_title h1 {
  font-weight: 700;
}

.main_title h1 span {
  color: #85c023;
}

.main_title h2 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 57px;
}

.main_title p {
  position: relative;
  font-size: 24px;
  letter-spacing: 0.1em;
  padding-bottom: 34px;
}

.main_title p span {
  font-size: 16px;
  line-height: 2;
}

.main_title p:after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0px;
  height: 2px;
  content: "";
  background-color: #85c023;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.main_title.active p:after {
  width: 80px;
}

@media all and (max-width: 769px) {
  .main_title {
    font-size: 46px;
    width: 100%;
    margin-bottom: 30vw;
  }

  .main_title h1 {
    margin-bottom: 1vw;
  }

  .main_title h2 {
    font-size: 20px;
    margin-bottom: 3vw;
  }

  .main_title p {
    padding-bottom: 4vw;
  }
}

main.main_local .main_local_bg {
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  -webkit-transition: all .65s ease;
  -moz-transition: all .65s ease;
  -ms-transition: all .65s ease;
  -o-transition: all .65s ease;
  transition: all .65s ease;
  -webkit-transition-delay: 0.25s;
  -o-transition-delay: 0.25s;
  transition-delay: 0.25s;
}

.main_local_bg img {
  -webkit-transition: transform .3s linear;
  -moz-transition: transform .3s linear;
  -ms-transition: transform .3s linear;
  -o-transition: transform .3s linear;
  -webkit-transition: -webkit-transform .3s linear;
  transition: -webkit-transform .3s linear;
  transition: transform .3s linear;
  transition: transform .3s linear, -webkit-transform .3s linear;
}

main.main_local.active .main_local_bg {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

main.main_local .main_local_comment {
  position: relative;
  -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  transition-delay: 0.5s;
}

main.main_local .main_local_comment:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  position: absolute;
  background-color: #85c023;
  -webkit-transition: all .25s ease;
  -moz-transition: all .25s ease;
  -ms-transition: all .25s ease;
  -o-transition: all .25s ease;
  transition: all .25s ease;
  -webkit-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  transition-delay: 0.75s;
}

main.main_local.active .main_local_comment {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

main.main_local.active .main_local_comment:after {
  width: 0%;
}

@media all and (max-width: 769px) {
  .main_local_title_wrapper {
    position: relative !important;
    width: 90% !important;
    height: auto !important;
    padding-top: 35vh;
  }

  .main_local_title_wrapper .main_local_comment {
    width: 100% !important;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5vw;
    min-height: 30vh;
  }

  .main_local_title_wrapper .main_local_comment h2 {
    font-size: 18px;
  }

  .main_local_title_wrapper .main_local_comment h2 span {
    color: #85c023;
  }

  .main_local {
    display: block;
    height: auto;
    max-height: 1000px;
  }

  .main_local .main_local_bg {
    width: 100%;
  }

  .main_local_title {
    -webkit-transform: translate(0, 0%) !important;
    -moz-transform: translate(0, 0%) !important;
    -ms-transform: translate(0, 0%) !important;
    -o-transform: translate(0, 0%) !important;
    transform: translate(0, 0%) !important;
  }

  .main_local_title {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
  }

  .main_local_title h1 {
    font-size: 42px;
    margin-bottom: 5vw;
  }

  .main_local_title h1 span {
    color: #85c023;
  }

  .main_local_bg {
    height: 40vh !important;
    position: absolute !important;
    top: 0 !important;
  }

  .main_local_bg {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 90%) !important;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 90%) !important;
  }
}

/* delta
------------------------------------------------------------------------------------*/
.delta {
  display: block;
  position: relative;
  background-color: #fafafa;
  width: 100%;
  height: 100px;
  margin-top: -30px;
}

.delta:before {
  content: "";
  position: absolute;
  right: 0;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #fafafa)) no-repeat top right/120% 100%;
  background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
}

.delta:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -100px;
  left: 0;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #fafafa)) no-repeat top right/120% 100%;
  background: -webkit-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: -o-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
}

@media all and (max-width: 769px) {
  .delta {
    margin-top: -20vw;
  }

  .delta:before {
    content: "";
    position: absolute;
    right: 0;
    top: -100px;
    left: 0;
    width: 100%;
    height: 100px;
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #fafafa)) no-repeat top right/180% 100%;
    background: -webkit-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
    background: -o-linear-gradient(top left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
  }

  .delta:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -100px;
    left: 0;
    width: 100%;
    height: 100px;
    background: -webkit-gradient(linear, left bottom, right top, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #fafafa)) no-repeat top right/180% 100%;
    background: -webkit-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
    background: -o-linear-gradient(bottom left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
    background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/180% 100%;
  }
}

.delta_r {
  display: block;
  position: relative;
  background-color: #fafafa;
  width: 100%;
  height: 100px;
}

.delta_r:before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, right top, left bottom, color-stop(50%, rgba(255, 255, 255, 0)), color-stop(50.5%, #fafafa)) no-repeat top right/120% 100%;
  background: -webkit-linear-gradient(top right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: -o-linear-gradient(top right, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #fafafa 50.5%) no-repeat top right/120% 100%;
}

/* news
------------------------------------------------------------------------------------*/
.top_news {
  margin-top: -350px;
}

@media all and (max-width: 769px) {
  .top_news {
    margin-top: 0px;
  }
}

.news {
  width: 695px;
  background-color: white;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 35px;
  float: right;
  position: relative;
  z-index: 100;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.news h2 {
  font-size: 20px;
}

.news ul li+li {
  border-top: solid 1px rgba(30, 44, 71, 0.2);
}

.news ul li a time {
  width: 18%;
}

.news .link_btn {
  position: absolute;
  right: 40px;
  top: 30px;
}

@media all and (max-width: 769px) {
  .news {
    width: 100%;
    padding: 5vw;
  }

  .news h2 {
    margin-bottom: 3vw;
  }

  .news ul li a {
    display: block;
  }

  .news ul li a:after {
    display: none;
  }

  .news ul li a time {
    width: 100%;
    display: block;
  }

  .news ul li a p {
    width: 100%;
    display: block;
  }

  .news ul li {
    padding-bottom: 3vw;
  }

  .news ul li+li {
    padding-top: 5vw;
  }

  .news .link_btn {
    position: absolute;
    right: 5vw;
    top: 5vw;
  }
}

a.alow_link {
  width: 100%;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 70px;
  position: relative;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

a.alow_link time,
a.alow_link span,
a.alow_link:after {
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

a.alow_link:after {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url("../images/sign_01.png");
  background-size: 100% 100%;
  display: block;
  position: absolute;
  right: 10px;
}

a.alow_link:hover time,
a.alow_link:hover span {
  opacity: 0.5;
}

a.alow_link:hover:after {
  right: 5px;
}

.alow_link_min {
  display: block;
  position: relative;
}

.alow_link_min span {
  opacity: 1;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.alow_link_min:after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("../images/sign_01.png");
  background-size: 100% 100%;
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -6.5px;
  opacity: 0;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.alow_link_min:hover span {
  opacity: 0.5;
}

.alow_link_min:hover:after {
  right: 5px;
  opacity: 1;
}

.alow_link_df {
  display: block;
  position: relative;
}

.alow_link_df span {
  opacity: 1;
  padding-right: 30px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.alow_link_df:after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("../images/sign_01.png");
  background-size: 100% 100%;
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  opacity: 1;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.alow_link_df:hover span {
  opacity: 0.5;
}

.alow_link_df:hover:after {
  right: 5px;
  opacity: 1;
}

/* sec_rotate
------------------------------------------------------------------------------------*/
.sec_rotate {
  margin-top: -200px;
  padding-top: 100px;
  padding-bottom: 400px;
  position: relative;
  overflow: hidden;
}

.sec_rotate:after {
  content: "";
  display: block;
  width: 120%;
  margin-left: -10%;
  position: absolute;
  bottom: 200px;
  height: 500px;
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  background-color: #fafafa;
}

.sec_rotate .sec_rotate_inner {
  background-color: #fafafa;
  width: 120%;
  margin-left: -10%;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  overflow: hidden;
  position: relative;
  z-index: 100;
  padding-bottom: 100px;
}

.sec_rotate .sec_rotate_inner .content_inner {
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  width: 100vw;
}

.sec_rotate_l {
  margin-top: -400px;
  padding-top: 200px;
  padding-bottom: 200px;
  position: relative;
  overflow: hidden;
  pointer-events: none;
}

.sec_rotate_l .sec_rotate_l_inner {
  width: 120%;
  margin-left: -10%;
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  overflow: hidden;
  position: relative;
  z-index: 100;
  padding-bottom: 200px;
}

.sec_rotate_l .sec_rotate_l_inner .content_inner,
.sec_rotate_l .sec_rotate_l_inner .content_inner_wide {
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  width: 100vw;
  max-width: 100%;
}

.sec_rotate_r {
  margin-top: -400px;
  padding-top: 200px;
  padding-bottom: 200px;
  position: relative;
  overflow: hidden;
}

.sec_rotate_r .sec_rotate_r_inner {
  width: 120%;
  margin-left: -10%;
  -webkit-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
  overflow: hidden;
  position: relative;
  z-index: 100;
  padding-bottom: 200px;
}

.sec_rotate_r .sec_rotate_r_inner .content_inner,
.sec_rotate_r .sec_rotate_r_inner .content_inner_wide {
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  width: 100vw;
}

@media all and (max-width: 769px) {
  .sec_rotate_r {
    margin-top: -100vw;
    padding-top: 50vw;
    padding-bottom: 50vw;
    position: relative;
    overflow: hidden;
  }

  .sec_rotate_r .sec_rotate_r_inner {
    width: 3000px;
    margin-left: 0 !important;
    padding: 0 !important;
    padding-bottom: 10vw !important;
    -webkit-transform: translate(-50%, 0) rotate(5deg);
    -moz-transform: translate(-50%, 0) rotate(5deg);
    -ms-transform: translate(-50%, 0) rotate(5deg);
    -o-transform: translate(-50%, 0) rotate(5deg);
    transform: translate(-50%, 0) rotate(5deg);
  }

  .sec_rotate_r .content_inner,
  .sec_rotate_r .content_inner_wide {
    width: 100vw;
    margin: auto;
    padding-bottom: 20vw;
    -webkit-transform: translate(50%, 0) rotate(-5deg) !important;
    -moz-transform: translate(50%, 0) rotate(-5deg) !important;
    -ms-transform: translate(50%, 0) rotate(-5deg) !important;
    -o-transform: translate(50%, 0) rotate(-5deg) !important;
    transform: translate(50%, 0) rotate(-5deg) !important;
  }

  .sec_rotate_r.pd_none {
    padding-bottom: 0vw;
  }
}

@media all and (max-width: 769px) {
  .sec_rotate_l {
    margin-top: -100vw;
    padding-top: 50vw;
    padding-bottom: 50vw;
    position: relative;
    overflow: hidden;
  }

  .sec_rotate_l .sec_rotate_l_inner {
    width: 3000px;
    margin-left: 0 !important;
    padding: 0 !important;
    -webkit-transform: translate(-50%, 0) rotate(-5deg);
    -moz-transform: translate(-50%, 0) rotate(-5deg);
    -ms-transform: translate(-50%, 0) rotate(-5deg);
    -o-transform: translate(-50%, 0) rotate(-5deg);
    transform: translate(-50%, 0) rotate(-5deg);
  }

  .sec_rotate_l .content_inner,
  .sec_rotate_l .content_inner_wide {
    width: 100vw;
    margin: auto;
    padding-bottom: 20vw;
    -webkit-transform: translate(50%, 0) rotate(5deg) !important;
    -moz-transform: translate(50%, 0) rotate(5deg) !important;
    -ms-transform: translate(50%, 0) rotate(5deg) !important;
    -o-transform: translate(50%, 0) rotate(5deg) !important;
    transform: translate(50%, 0) rotate(5deg) !important;
  }

  .pd_none {
    margin-top: 0vw;
    padding-top: 20vw;
  }
}

.sec_rotate_r+.sec_rotate_l,
.sec_rotate_l+.sec_rotate_r {
  margin-top: -600px;
}

.sec_rotate_r+.sec_rotate_l .sec_rotate_l_inner,
.sec_rotate_r+.sec_rotate_l .sec_rotate_r_inner,
.sec_rotate_l+.sec_rotate_r .sec_rotate_l_inner,
.sec_rotate_l+.sec_rotate_r .sec_rotate_r_inner {
  padding-top: 400px;
}

.sec_rotate_l+.sec_rotate_l .sec_rotate_l_inner,
.sec_rotate_l+.sec_rotate_l .sec_rotate_r_inner,
.sec_rotate_r+.sec_rotate_r .sec_rotate_l_inner,
.sec_rotate_r+.sec_rotate_r .sec_rotate_r_inner {
  padding-top: 100px;
}

@media all and (max-width: 769px) {

  .sec_rotate_r+.sec_rotate_l,
  .sec_rotate_l+.sec_rotate_r {
    margin-top: -600px;
  }

  .sec_rotate_r+.sec_rotate_l .sec_rotate_l_inner,
  .sec_rotate_r+.sec_rotate_l .sec_rotate_r_inner,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_l_inner,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_r_inner {
    padding-top: 0px;
  }

  .sec_rotate_r+.sec_rotate_l .sec_rotate_l_inner .content_inner,
  .sec_rotate_r+.sec_rotate_l .sec_rotate_l_inner .content_inner_wide,
  .sec_rotate_r+.sec_rotate_l .sec_rotate_r_inner .content_inner,
  .sec_rotate_r+.sec_rotate_l .sec_rotate_r_inner .content_inner_wide,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_l_inner .content_inner,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_l_inner .content_inner_wide,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_r_inner .content_inner,
  .sec_rotate_l+.sec_rotate_r .sec_rotate_r_inner .content_inner_wide {
    padding-top: 100vw;
  }

  .sec_rotate_l+.sec_rotate_l .sec_rotate_l_inner,
  .sec_rotate_l+.sec_rotate_l .sec_rotate_r_inner,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_l_inner,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_r_inner {
    padding-top: 0px;
  }

  .sec_rotate_l+.sec_rotate_l .sec_rotate_l_inner .content_inner,
  .sec_rotate_l+.sec_rotate_l .sec_rotate_l_inner .content_inner_wide,
  .sec_rotate_l+.sec_rotate_l .sec_rotate_r_inner .content_inner,
  .sec_rotate_l+.sec_rotate_l .sec_rotate_r_inner .content_inner_wide,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_l_inner .content_inner,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_l_inner .content_inner_wide,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_r_inner .content_inner,
  .sec_rotate_r+.sec_rotate_r .sec_rotate_r_inner .content_inner_wide {
    padding-top: 0vw;
  }
}

.local .top_introduction .sec_rotate_l_inner,
.local .top_introduction .sec_rotate_r_inner {
  padding-top: 0px;
}

.square_rotate {
  width: 1000px;
  height: 1500px;
  display: block;
  position: relative;
  background-color: #142c47;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: -350px;
  right: 86%;
  z-index: -100;
}

.square_rotate_gr {
  width: 1000px;
  height: 1500px;
  display: block;
  position: relative;
  background-color: #85c023;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: -350px;
  left: 86%;
  z-index: -100;
}

@media all and (max-width: 769px) {
  .square_rotate_gr {
    width: 1000px;
    height: 1500px;
    display: block;
    position: relative;
    background-color: #85c023;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: -350px;
    left: 150%;
    z-index: -100;
  }
}

/* top_about
------------------------------------------------------------------------------------*/
.top_about {
  background-color: rgba(133, 192, 35, 0.6);
  padding: 250px 0 400px;
}

@media all and (max-width: 769px) {
  .top_about {
    padding: 50vw 0 80vw;
  }
}

/* top_business
------------------------------------------------------------------------------------*/
.top_business,
.top_introduction {
  position: relative;
  z-index: 1000;
}

.top_business .content_wrapper,
.top_introduction .content_wrapper {
  background-color: #fafafa;
}

.top_business_title {
  padding-top: 80px;
}

@media all and (max-width: 769px) {
  .top_business_title {
    padding-top: 20vw;
  }
}

.top_business_list {
  pointer-events: all;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top_business_list li {
  width: 48%;
  margin-bottom: 35px;
  background-color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.top_business_list li p {
  width: 100%;
  overflow: hidden;
  border: solid 1px #fafafa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 0;
}

.top_business_list li dl {
  padding: 35px;
}

.top_business_list li dl dt {
  font-size: 20px;
  font-weight: bold;
}

@media all and (max-width: 769px) {
  .top_business_list {
    display: block;
  }

  .top_business_list li {
    width: 100%;
    margin-bottom: 10vw;
  }

  .top_business_list li p {
    width: 100%;
    overflow: hidden;
    border: solid 1px #fafafa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 0;
  }

  .top_business_list li dl {
    padding: 5vw;
  }

  .top_business_list li dl dt {
    font-size: 16px;
    font-weight: bold;
  }
}

.imagelist {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

.imagelist_image {
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden;
  line-height: 0;
}

.imagelist_image_inner {
  position: absolute;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.imagelist:hover {
  -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  -webkit-transform: translate(6px, 6px);
  -moz-transform: translate(6px, 6px);
  -ms-transform: translate(6px, 6px);
  -o-transform: translate(6px, 6px);
  transform: translate(6px, 6px);
}

.imagelist:hover .imagelist_image:after {
  width: 100%;
  opacity: 0.5;
}

.imagelist:hover .imagelist_image_inner {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  transform: scale(1.05);
}

.top_news_list {
  pointer-events: all;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top_news_list li {
  width: 31%;
  margin-bottom: 35px;
  background-color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.top_news_list li p {
  width: 100%;
  overflow: hidden;
  border: solid 1px #fafafa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.top_news_list li dl {
  padding: 35px;
}

.top_news_list li dl dt {
  font-size: 20px;
  font-weight: bold;
}

.top_news_list:after {
  content: "";
  display: block;
  width: 31%;
  visibility: hidden;
}

@media all and (max-width: 769px) {
  .top_news_list {
    display: block;
  }

  .top_news_list li {
    width: 100%;
    margin-bottom: 10vw;
  }

  .top_news_list li p {
    width: 100%;
    overflow: hidden;
    border: solid 1px #fafafa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .top_news_list li dl {
    padding: 5vw;
  }

  .top_news_list li dl dt {
    font-size: 16px;
    font-weight: bold;
  }
}

.csr_list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.csr_list li {
  width: 33%;
  margin-bottom: 10px;
  background-color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.csr_list li p {
  width: 100%;
  overflow: hidden;
  border: solid 1px #fafafa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 0;
}

.csr_list li dl {
  padding: 35px;
}

.csr_list li dl dd span {
  font-size: 20px;
  font-weight: bold;
}

.csr_list li.hidden {
  visibility: hidden;
}

@media all and (max-width: 769px) {
  .csr_list {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .csr_list li {
    width: 100%;
    margin-bottom: 10px;
    background-color: white;
    -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
    box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  }

  .csr_list li p {
    width: 100%;
    overflow: hidden;
    border: solid 1px #fafafa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 0;
  }

  .csr_list li dl {
    padding: 10vw;
  }

  .csr_list li dl dd span {
    font-size: 16px;
    font-weight: bold;
  }

  .csr_list li.hidden {
    visibility: hidden;
  }
}

.shoplist_list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.shoplist_list li {
  width: 31%;
  margin-bottom: 35px;
  background-color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.shoplist_list li p {
  width: 100%;
  overflow: hidden;
  border: solid 1px #fafafa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.shoplist_list li dl {
  padding: 35px;
  background-color: #fafafa;
}

.shoplist_list li dl dt {
  font-size: 20px;
  font-weight: bold;
}

.shoplist_list li dl dd {
  text-align: center;
}

.shoplist_list li.hidden {
  visibility: hidden;
}

@media all and (max-width: 769px) {
  .shoplist_list li {
    width: 100%;
  }

  .shoplist_list li.hidden {
    margin-bottom: 0;
  }
}

.external {
  display: inline-block;
  position: relative;
  padding-right: 20px;
  font-style: normal;
  pointer-events: all;
}

.external:after {
  content: "";
  display: block;
  background-image: url("../images/sign_03.png");
  background-size: 100% auto;
  width: 13px;
  height: 13px;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -7px;
  line-height: 1.0;
}

.link_btn:hover .external:after {
  background-image: url("../images/sign_03_wh.png");
}

/* top_global
------------------------------------------------------------------------------------*/
.top_global .content_wrapper {
  background-color: rgba(20, 44, 71, 0.8);
}

.top_global_graf_2 {
  max-width: 780px;
  margin: auto;
}

/* skew_carousel
------------------------------------------------------------------------------------*/
.skew_carousel_wrapper {
  margin-top: -100px;
  position: relative;
}

.skew_carousel {
  pointer-events: all;
}

@media all and (max-width: 769px) {
  .skew_carousel_wrapper {
    margin-top: 0;
  }

  .skew_carousel {
    height: auto !important;
  }

  .skew_carousel li {
    width: 90% !important;
    position: static !important;
    margin: auto;
    margin-bottom: 10vw;
  }

  .skew_carousel .skew_carousel_inner {
    width: 100%;
    height: 120% !important;
  }

  .skew_carousel_content {
    padding-top: 5vw !important;
  }

  .skew_carousel_content>div h3 {
    color: #85c023;
    font-size: 21px;
    margin-bottom: 5vw;
  }

  .skew_carousel_content>div h3 span {
    font-size: 16px;
  }

  .skew_carousel_content>div p {
    margin-bottom: 5vw;
  }
}

.skew_carousel {
  width: 100vw;
  height: 33vw;
}

.skew_carousel li {
  width: 32vw;
  height: 32vw;
  -webkit-transform: skew(0deg, -5deg);
  -ms-transform: skew(0deg, -5deg);
  transform: skew(0deg, -5deg);
  position: absolute;
  overflow: hidden;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  pointer-events: all;
}

.skew_carousel .skew_carousel_inner {
  width: 100%;
  height: 120%;
  position: relative;
  top: -10%;
  -webkit-transform: skew(0deg, 5deg);
  -ms-transform: skew(0deg, 5deg);
  transform: skew(0deg, 5deg);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #142c47;
}

.skew_carousel .skew_carousel_content {
  position: relative;
  z-index: 100;
  display: table;
  padding-top: 0px !important;
}

.skew_carousel .skew_carousel_content>div {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.skew_carousel .skew_carousel_content>div h3 {
  color: #85c023;
  font-size: 26px;
  line-height: 1.2;
  margin-bottom: 21px;
}

.skew_carousel .skew_carousel_content>div h3 span {
  color: white;
  font-size: 20px;
  font-weight: normal;
}

.skew_carousel .skew_carousel_content>div P {
  color: white;
  margin-bottom: 21px;
}

.skew_carousel .skew_carousel_bgimage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.4;
}

.skew_carousel .c_1 {
  left: 1vw;
  top: 5.8vw;
}

.skew_carousel .c_1 .skew_carousel_bgimage {
  background-size: cover;
  background-position: center center;
}

.skew_carousel .c_2 {
  left: 34.6vw;
  top: 2.9vw;
}

.skew_carousel .c_2 .skew_carousel_bgimage {
  background-size: cover;
  background-position: center center;
}

.skew_carousel .c_3 {
  left: 68vw;
  top: 0;
}

.skew_carousel .c_3 .skew_carousel_bgimage {
  background-size: cover;
  background-position: center center;
}

.skew_carousel .skew_carousel_content {
  width: 100%;
  height: 100%;
}

.skew_carousel li {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: translate(0, 0) skew(0deg, -5deg);
  -moz-transform: translate(0, 0) skew(0deg, -5deg);
  -ms-transform: translate(0, 0) skew(0deg, -5deg);
  -o-transform: translate(0, 0) skew(0deg, -5deg);
  transform: translate(0, 0) skew(0deg, -5deg);
}

.skew_carousel li .skew_carousel_bgimage {
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  -webkit-transform: translate(0, 0) scale(1.1);
  -moz-transform: translate(0, 0) scale(1.1);
  -ms-transform: translate(0, 0) scale(1.1);
  -o-transform: translate(0, 0) scale(1.1);
  transform: translate(0, 0) scale(1.1);
}

.skew_carousel li:hover {
  -webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  -webkit-transform: translate(6px, 6px) skew(0deg, -5deg);
  -moz-transform: translate(6px, 6px) skew(0deg, -5deg);
  -ms-transform: translate(6px, 6px) skew(0deg, -5deg);
  -o-transform: translate(6px, 6px) skew(0deg, -5deg);
  transform: translate(6px, 6px) skew(0deg, -5deg);
}

.skew_carousel li:hover .skew_carousel_bgimage {
  opacity: 0.8;
  -webkit-transform: translate(0, 0) scale(1.15);
  -moz-transform: translate(0, 0) scale(1.15);
  -ms-transform: translate(0, 0) scale(1.15);
  -o-transform: translate(0, 0) scale(1.15);
  transform: translate(0, 0) scale(1.15);
}

/* ct_box
------------------------------------------------------------------------------------*/
.ct_box {
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  max-width: 980px;
  margin: auto;
}

.ct_box_2 {
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  margin: auto;
  padding: 50px;
  background-color: white;
  max-width: 1200px;
}

.ct_box_2 .image {
  text-align: center;
  width: 100%;
}

@media all and (max-width: 769px) {
  .ct_box_2 {
    padding: 10vw;
  }
}

/* footer
------------------------------------------------------------------------------------*/
footer {
  margin-top: -300px;
  margin-bottom: -300px;
  background-color: #fafafa;
  position: relative;
  z-index: 1000;
}

footer .square_rotate {
  width: 1000px;
  height: 1500px;
  display: block;
  background-color: #142c47;
  position: absolute;
  top: -100px;
  right: 86%;
  -webkit-transform: skew(0deg, -5deg) rotate(35deg);
  -ms-transform: skew(0deg, -5deg) rotate(35deg);
  transform: skew(0deg, -5deg) rotate(35deg);
}

footer .content_inner {
  -webkit-transform: rotate(0deg) !important;
  -ms-transform: rotate(0deg) !important;
  transform: rotate(0deg) !important;
  width: 100vw;
}

@media all and (max-width: 769px) {
  footer {
    margin-top: -90vw;
    margin-bottom: -300px;
    background-color: #fafafa;
    position: relative;
    z-index: 1000;
  }

  footer .square_rotate {
    width: 200vw;
    height: 200vw;
    display: block;
    background-color: #142c47;
    position: absolute;
    top: 0;
    right: 50vw;
    pointer-events: none;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 83% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 83% 100%, 0% 100%);
  }

  footer .content_inner {
    -webkit-transform: rotate(0deg) !important;
    -ms-transform: rotate(0deg) !important;
    transform: rotate(0deg) !important;
    width: 100vw;
  }
}

footer.skew {
  padding-top: 500px;
}

.footer_title {
  width: 30%;
  float: left;
  padding-top: 200px;
}

@media all and (max-width: 769px) {
  .footer_title {
    width: 100%;
    float: none;
    padding-top: 46vw;
  }
}

.footer_content {
  width: 60%;
  float: right;
  padding-top: 100px;
  padding-bottom: 300px;
}

.footer_link {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 35px;
}

.footer_link dl {
  display: block;
  width: 30%;
  margin-bottom: 35px;
}

.footer_link dl dt {
  font-weight: bold;
  margin-bottom: 21px;
}

.footer_link dl dt span {
  display: block;
}

.footer_link dl dt i {
  display: block;
  width: 100%;
  height: 1px;
  position: relative;
  background-color: #142c47;
}

.footer_link dl dt i:after {
  content: "";
  position: absolute;
  width: 20px;
  border-right: solid 1px #fafafa;
  height: 1px;
  background-color: #85c023;
  bottom: 0;
  left: 0;
}

.footer_link dl dd ul li+li {
  margin-top: 10px;
}

.footer_link .hidden {
  visibility: hidden;
}

@media all and (max-width: 769px) {
  footer {
    margin-bottom: 0;
  }

  .footer_content {
    width: 100%;
    float: none;
    padding-top: 40vw;
    padding-bottom: 0;
  }

  .footer_link {
    width: 100%;
    margin-bottom: 10vw;
  }

  .footer_link dl {
    display: block;
    width: 45%;
    margin-bottom: 10vw;
  }

  .footer_link dl dt {
    margin-bottom: 5vw;
  }

  .footer_link dl dd ul li+li {
    margin-top: 2.5vw;
  }
}

.footer_title_caption {
  color: white;
  font-size: 16px;
  font-weight: normal;
  padding-bottom: 21px;
  margin-bottom: 80px;
  position: relative;
  display: inline-block;
  line-height: 1.5;
}

.footer_title_caption span {
  font-size: 21px;
  letter-spacing: 0.24em;
}

.footer_title_caption:after {
  content: "";
  display: block;
  position: absolute;
  width: 100px;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #85c023;
}

.footer_bannar {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 35px;
}

.footer_bannar li {
  width: 30%;
}

.footer_bannar li+li {
  margin-left: 3%;
}

@media all and (max-width: 769px) {
  .footer_title_caption {
    font-size: 13px;
    padding-bottom: 5vw;
    margin-bottom: 20vw;
  }

  .footer_bannar li {
    width: 45%;
  }
}

.copyright {
  text-align: right;
  font-size: 13px;
  letter-spacing: 0.1em;
}

@media all and (max-width: 769px) {
  .copyright {
    font-size: 10px;
    text-align: center;
  }
}

.footer_square_wrapper {
  position: relative;
}

.news_tag {
  border: none !important;
}

.news_tag span {
  background-color: #85c023;
  display: inline-block;
  width: auto !important;
  border-radius: 6px;
  padding: 6px 16px 5px;
  line-height: 1.5;
  color: white;
  font-size: 13px;
  font-weight: 100;
}

.news_time {
  display: inline-block;
  color: #747c8f;
  font-size: 15px;
}

.content_shuffle_title w {
  visibility: hidden;
}

.content_shuffle_title w.active {
  visibility: visible;
}

/* content_local
------------------------------------------------------------------------------------*/
.content_local {
  position: relative;
  z-index: 1000;
}

.content_local .content_wrapper {
  background-color: #fafafa;
}

.content_local .content_inner {
  padding-top: 100px;
  padding-bottom: 200px;
}

@media all and (max-width: 769px) {
  .content_local {
    padding-top: 0;
    margin-top: 0;
  }

  .content_local .content_inner {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}

.local_text_box {
  width: 100%;
  max-width: 800px;
}

.local_text_box p img {
  width: auto;
  height: auto;
  max-width: 100%;
}

.content_fornt {
  z-index: 2000;
}

.content_fornt .content_wrapper {
  background-color: transparent !important;
}

.local_image_list {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

.local_image_list li {
  width: 24%;
  margin-bottom: 35px;
  background-color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

.local_image_list li.hidden {
  visibility: hidden;
}

.local_image_list.c2 li {
  width: 48%;
}

.local_image_list.c3 li {
  width: 32%;
}

.local_image_list.c5 li {
  width: 19%;
}

.local_image_list.inset li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 56px;
}

.local_image_list.inset li p {
  padding-top: 32px;
}

@media all and (max-width: 769px) {
  .local_image_list li {
    width: 49%;
    margin-bottom: 2vw;
  }

  .local_image_list.c3 li {
    width: 100%;
  }

  .local_image_list.c2 li {
    width: 100%;
  }

  .local_image_list.inset li {
    padding: 10vw;
  }

  .local_image_list.inset li p {
    padding-top: 5vw;
  }

  .local_image_list.c5 li {
    width: 49%;
  }
}
@media all and (max-width: 767px) {
  .local_image_list.c4 li {
    width: 100%;
  }
}

.local_image_list.is-4col {
  justify-content: flex-start;
  gap: 20px;
}

.local_image_list.is-4col > * {
  width: calc((100% - 60px) / 4);
}

.indent_list {
  text-indent: -1em;
  padding-left: 1em;
}

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

.setimg.reverse img {
  position: absolute;
  bottom: 0;
}

.comapny_message_graf {
  max-width: 1200px;
  padding-left: 10px;
}

.dl_box dl {
  width: 100%;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 35px;
}

.dl_box dl dt {
  font-weight: normal;
  color: #85c023;
  width: 30%;
  max-width: 150px;
}

.dl_box dl dt span {
  color: #142c47;
}

.dl_box dl dd.flex {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.dl_box dl dd.flex p+p {
  padding-left: 35px;
}

.dl_box dl+dl {
  padding-top: 35px;
  border-top: solid 1px rgba(30, 44, 71, 0.2);
}

@media all and (max-width: 769px) {
  .dl_box dl {
    width: 100%;
    display: block;
    padding-bottom: 10vw;
  }

  .dl_box dl dt {
    font-weight: normal;
    color: #85c023;
    width: 100%;
    max-width: auto;
  }

  .dl_box dl dt span {
    color: #142c47;
  }

  .dl_box dl dd.flex {
    display: block;
  }

  .dl_box dl dd.flex p+p {
    padding-left: 0;
    padding-top: 5vw;
  }

  .dl_box dl dd.flex p+p.sp_pd_none {
    padding-top: 0vw;
  }

  .dl_box dl+dl {
    padding-top: 10vw;
    border-top: solid 1px rgba(30, 44, 71, 0.2);
  }
}

.news_box dl {
  width: 100%;
  padding-bottom: 35px;
}

.news_box dl a {
  display: block;
  width: 100%;
  height: 100%;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}

.news_box dl a:hover {
  opacity: 0.75;
}

.news_box dl dt {
  font-weight: normal;
  color: #85c023;
  width: 30%;
  max-width: 150px;
  line-height: 1.3;
  padding-top: 6px;
}

.news_box dl dt span {
  color: #142c47;
}

.news_box dl dd {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.news_box dl dd p+p {
  padding-left: 15px;
  padding-top: 3px;
}

.news_box dl .news_tag {
  display: inline-block;
  width: 140px;
}

.news_box dl .news_tag span {
  width: 100% !important;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.news_box dl+dl {
  padding-top: 35px;
  border-top: solid 1px rgba(30, 44, 71, 0.2);
}

@media all and (max-width: 769px) {
  .news_box dl {
    width: 100%;
    padding-bottom: 10vw;
  }

  .news_box dl a:hover {
    opacity: 0.75;
  }

  .news_box dl dt {
    font-weight: normal;
    color: #85c023;
    width: 100%;
    max-width: 150px;
    line-height: 1.3;
    padding-top: 6px;
  }

  .news_box dl dt span {
    color: #142c47;
  }

  .news_box dl dd {
    width: 100%;
    display: block;
    padding-top: 3vw;
  }

  .news_box dl dd p+p {
    padding-left: 0px;
    padding-top: 3vw;
  }
}

.privacy_box dl {
  width: 100%;
  display: block;
  padding-bottom: 35px;
}

.privacy_box dl dt {
  font-weight: bold;
  color: #85c023;
  line-height: 1.3;
  margin-bottom: 10px;
}

.privacy_box dl dt span {
  color: #142c47;
}

.privacy_box dl dd.flex {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.privacy_box dl dd.flex p+p {
  padding-left: 35px;
}

.privacy_box dl+dl {
  padding-top: 35px;
  border-top: solid 1px rgba(30, 44, 71, 0.2);
}

.company_map {
  position: relative;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.company_map_title {
  padding-right: 35px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 30%;
}

.company_map_title .main_local_comment {
  width: 100%;
}

.company_map_title h1 {
  font-size: 50px;
  color: #142c47;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 35px;
}

.company_map_title h1 span {
  color: #85c023;
}

.company_map_map {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 600px;
  width: 70%;
  overflow: hidden;
}

.company_map_map {
  position: relative;
}

.company_map_map iframe {
  position: absolute;
  top: -160px;
}

@media all and (max-width: 769px) {
  .company_map_title {
    padding-right: 0;
  }
}

@media all and (max-width: 769px) {
  .company_map {
    display: block;
  }

  .company_map_title {
    width: 100%;
  }

  .company_map_title .main_local_comment {
    width: 100%;
    padding: 5vw;
  }

  .company_map_title .main_local_comment h2 {
    font-size: 18px;
  }

  .company_map_title h1 {
    font-size: 42px;
    color: #142c47;
    line-height: 1;
    font-weight: 700;
    margin-bottom: 10vw;
  }

  .company_map_title h1 span {
    color: #85c023;
  }

  .company_map_map {
    padding-left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 50vh;
    width: 100%;
  }
}

.comment_box {
  width: 400px;
  min-height: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px;
  background-color: #142c47;
  color: white;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  pointer-events: all;
}

.comment_box h2 {
  font-size: 21px;
}

.comment_box h2 span {
  color: #85c023;
}

.vision_contents {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.vision_contents .link_btn {
  margin: 0;
}

.vision_contents_image {
  width: 45%;
  position: relative;
  overflow: inherit;
}

.vision_contents_image .comment_box {
  position: absolute;
  bottom: 0;
  right: 0;
}

.vision_contents_image .comment_box.left {
  position: absolute;
  bottom: 0;
  right: auto;
  left: 0;
}

.vision_contents_text {
  width: 50%;
}

.pcnone {
  display: none;
}

.spnone {
  display: block;
}

@media all and (max-width: 769px) {
  .pcnone {
    display: block;
  }

  .spnone {
    display: none;
  }

  .vision_contents {
    display: block;
  }

  .vision_contents .link_btn {
    margin: 0;
  }

  .vision_contents_image {
    width: 80%;
    margin: auto;
  }

  .vision_contents_image .comment_box {
    position: static;
    bottom: 0;
    right: 0;
  }

  .vision_contents_image .comment_box.left {
    position: static;
    bottom: 0;
    right: auto;
    left: 0;
  }

  .vision_contents_text {
    width: 100%;
  }
}

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

.tag_menu ul li a {
  padding: 20px 60px 20px 30px;
  display: block;
  line-height: 1;
  position: relative;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.tag_menu ul li a:after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("../images/sign_01.png");
  background-size: 100% 100%;
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -6.5px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.tag_menu ul li a:hover {
  background-color: #b2d27d;
}

.tag_menu ul li a:hover:after {
  right: 15px;
}

.tag_menu ul li.current a {
  background-color: #b2d27d;
  padding: 20px 30px 20px 30px;
}

.tag_menu ul li.current a:after {
  display: none;
}

.tag_menu ul li+li {
  border-left: solid 1px rgba(30, 44, 71, 0.2);
}

@media all and (max-width: 769px) {
  .tag_menu ul {
    display: block;
  }

  .tag_menu ul li a {
    padding: 20px 60px 20px 30px;
    display: block;
    line-height: 1;
    position: relative;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
  }

  .tag_menu ul li a:after {
    content: "";
    width: 12px;
    height: 12px;
    background-image: url("../images/sign_01.png");
    background-size: 100% 100%;
    display: block;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -6.5px;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
  }

  .tag_menu ul li a:hover {
    background-color: #b2d27d;
  }

  .tag_menu ul li a:hover:after {
    right: 15px;
  }

  .tag_menu ul li.current a {
    background-color: #b2d27d;
    padding: 20px 30px 20px 30px;
  }

  .tag_menu ul li.current a:after {
    display: none;
  }

  .tag_menu ul li+li {
    border-left: none;
    border-top: solid 1px rgba(30, 44, 71, 0.2);
  }
}

.tag_menu li a span {
  opacity: 1;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.ct_box_3 {
  margin: auto;
  padding: 50px;
}

.ct_box_3 .image {
  text-align: center;
  width: 100%;
}

.local_nav {
  pointer-events: all;
}

.local_nav ul {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.local_nav ul:after {
  content: "";
  width: 32%;
  height: 0;
  visibility: hidden;
}

.local_nav ul li {
  text-align: center;
  width: 20%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 15px;
}

.local_nav ul li div {
  width: 100px;
  height: 100%;
  background-color: #999999;
}

.local_nav ul li a {
  height: 100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #142c47;
  display: table;
  background-color: #ffffff;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  width: 100%;
  line-height: 1.3;
  position: relative;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.local_nav ul li a span,
.local_nav ul li a div {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}

.local_nav ul li a span {
  padding-left: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.local_nav ul li a:after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url("../images/sign_01.png");
  background-size: 100% 100%;
  display: block;
  position: absolute;
  display: none;
  right: 30px;
  top: 50%;
  margin-top: -6.5px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.local_nav ul li a:hover {
  background-color: #b2d27d;
  opacity: 1;
  -webkit-transform: translate(3px, 3px);
  -moz-transform: translate(3px, 3px);
  -ms-transform: translate(3px, 3px);
  -o-transform: translate(3px, 3px);
  transform: translate(3px, 3px);
}

.local_nav ul li a:hover:after {
  right: 25px;
}

.local_nav ul li.current {
  pointer-events: none;
}

.local_nav ul li.current a {
  background-color: #b2d27d;
}

.local_nav ul li.current a:after {
  display: none;
}

.local_nav_company li div {
  background-image: url("../images/localnav_company_bg_01.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_company li+li div {
  background-image: url("../images/localnav_company_bg_02.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_company li+li+li div {
  background-image: url("../images/localnav_company_bg_03.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_company li+li+li+li div {
  background-image: url("../images/localnav_company_bg_04.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_company li+li+li+li+li div {
  background-image: url("../images/localnav_company_bg_05.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
/*  
.local_nav_business li div {
  background-image: url("../images/localnav_business_bg_01.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_business li+li div {
  background-image: url("../images/localnav_business_bg_02.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_business li+li+li div {
  background-image: url("../images/localnav_business_bg_03.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_business li+li+li+li div {
  background-image: url("../images/localnav_business_bg_04.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}
*/

@media all and (max-width: 769px) {
  .local_nav ul {
    display: block !important;
    border-left: none;
  }

  .local_nav ul li {
    width: 100% !important;
    border-right: none;
  }
}

.local_nav.c5 li {
  width: 32%;
}

.local_nav.c4 li {
  width: 24%;
}


.local_nav li a span {
  opacity: 1;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.content_article {
  width: 100%;
  max-width: 2000px;
  margin: auto;
}

@media all and (max-width: 769px) {
  .contents_list {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: auto !important;
  }

  .contents_list .content_wrapper {
    -webkit-transform: translate(0, 0) rotate(0deg) !important;
    -ms-transform: translate(0, 0) rotate(0deg) !important;
    transform: translate(0, 0) rotate(0deg) !important;
    width: 100% !important;
  }

  .contents_list .content_wrapper .content_inner_wide {
    -webkit-transform: translate(0, 0) rotate(0deg) !important;
    -ms-transform: translate(0, 0) rotate(0deg) !important;
    transform: translate(0, 0) rotate(0deg) !important;
    padding-bottom: 0 !important;
  }

  .contents_list .sec_rotate_l_inner:after {
    display: none !important;
  }

  .contents_list+.contents_list {
    margin-top: 20vw !important;
  }

  .main_local.business03_inset_02 {
    position: relative;
    top: auto;
    height: auto;
    max-height: auto;
  }

  .main_local.business03_inset_02 .main_local_title_wrapper {
    height: auto;
    max-height: auto;
  }

  .main_local.business03_inset_02 .main_local_title {
    position: relative;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    text-align: left !important;
    -webkit-transform: translate(0, 0) !important;
    -moz-transform: translate(0, 0) !important;
    -ms-transform: translate(0, 0) !important;
    -o-transform: translate(0, 0) !important;
    transform: translate(0, 0) !important;
  }

  .main_local.business03_inset_02 .main_local_title h1 {
    text-align: left !important;
  }

  .main_local_comment {
    float: none !important;
  }

  .footer_skew {
    margin-top: 0vw !important;
    padding-top: 0vw !important;
    padding-bottom: 0vw !important;
  }

  .footer_skew>.sec_rotate_l_inner {
    width: 100% !important;
    -webkit-transform: translate(0, 0) rotate(0deg) !important;
    -ms-transform: translate(0, 0) rotate(0deg) !important;
    transform: translate(0, 0) rotate(0deg) !important;
  }

  .footer_skew>.sec_rotate_l_inner>.content_inner_wide {
    -webkit-transform: translate(0, 0) rotate(0deg) !important;
    -ms-transform: translate(0, 0) rotate(0deg) !important;
    transform: translate(0, 0) rotate(0deg) !important;
    padding-bottom: 0;
  }

  .footer_skew>.sec_rotate_l_inner>.content_inner_wide .content_inner {
    -webkit-transform: translate(0, 0) rotate(0deg) !important;
    -ms-transform: translate(0, 0) rotate(0deg) !important;
    transform: translate(0, 0) rotate(0deg) !important;
    padding-bottom: 0;
  }

  .footer_skew .footer_content {
    padding-bottom: 0;
  }

  .footer_title {
    position: relative;
    z-index: 3000;
  }

  footer.skew {
    padding-top: 0px !important;
    margin-top: 0;
    margin-bottom: 0;
  }

  .company_index .footer_skew {
    margin-top: 0px !important;
  }
}

.inquiry_sec_01 {
  border-bottom: 1px solid rgba(30, 44, 71, 0.2);
  padding: 2px 0 25px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 769px) {
  .inquiry_sec_01 {
    display: block;
    width: 90%;
  }
}

.inquiry_sec_01 h3 {
  font-size: 21px;
  line-height: 1.5;
  font-weight: 100;
  color: #142c47;
  letter-spacing: 0.1em;
  margin: 65px 0;
  position: relative;
  z-index: 5;
  text-align: center;
}

@media (max-width: 769px) {
  .inquiry_sec_01 h3 {
    font-size: 4vw;
    text-align: left;
    padding: 14% 0;
    margin: 0;
  }
}

.inquiry_sec_01 span {
  color: #f2234a;
}

.inquiry_sec_02 {
  border-bottom: 1px solid rgba(30, 44, 71, 0.2);
  padding: 57px 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: table;
}

@media (max-width: 769px) {
  .inquiry_sec_02 {
    display: block;
    width: 90%;
    padding: 10% 0;
  }
}

.inquiry_sec_03 {
  padding: 0 0 25px;
  text-align: center;
}

.inquiry_sec_04 {
  padding: 2px 0 25px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 769px) {
  .inquiry_sec_04 {
    display: block;
    width: 90%;
  }
}

.inquiry_sec_04 h3 {
  font-size: 21px;
  line-height: 1.5;
  font-weight: 100;
  color: #142c47;
  letter-spacing: 0.1em;
  margin: 65px 0;
  position: relative;
  z-index: 5;
  text-align: center;
}

.inquiry_sec_04 span {
  color: #f2234a;
}

.inquiry_form {
  display: table-cell;
}

@media (max-width: 769px) {
  .inquiry_form {
    display: block;
    width: 100%;
  }
}

.inquiry_form input {
  border-radius: 6px;
  border: 1px solid #ccc;
  padding: 7px;
  width: calc(100% - 14px);
}

.inquiry_form textarea {
  border-radius: 6px;
  border: 1px solid rgba(30, 44, 71, 0.2);
  padding: 7px;
  width: calc(100% - 14px);
}

.inquiry_form_txt_01 {
  display: table-cell;
  width: 26%;
  vertical-align: top;
  padding: 7px 0;
}

@media (max-width: 769px) {
  .inquiry_form_txt_01 {
    display: block;
    width: 100%;
  }
}

.inquiry_form_txt_01 span {
  color: #f2234a;
  display: inline-block;
  margin: 0 0 0 10px;
}

.inquiry_form_txt_02 {
  float: left;
  width: 49%;
}

@media (max-width: 769px) {
  .inquiry_form_txt_02 {
    display: block;
    width: 100%;
    float: none !important;
    margin: 0 0 15px;
  }
}

.inquiry_form_txt_02 input {
  border-radius: 6px;
  border: 1px solid rgba(30, 44, 71, 0.2);
  padding: 7px;
  margin-left: 20px;
  width: calc(100% - 51px);
}

.inquiry_form_txt_02:nth-child(2) {
  text-align: right;
}

@media (max-width: 769px) {
  .inquiry_form_txt_02:nth-child(2) {
    text-align: left;
    margin: 0;
  }
}

.inquiry_form_txt_02+.inquiry_form_txt_02 {
  float: right;
}

.inquiry_form_txt_03 {
  padding: 57px 0 25px;
  text-align: center;
}

@media (max-width: 769px) {
  .inquiry_form_txt_03 {
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
}

.inquiry_form_txt_03 a {
  text-decoration: underline;
}

.inquiry_btn_inner {
  text-align: center;
}

.inquiry_btn {
  width: 223px;
  margin: 0 auto;
  margin-bottom: 35px;
  position: relative;
  vertical-align: top;
  display: inline-block;
}

.inquiry_btn:nth-child(1) {
  display: block;
}

.inquiry_btn:nth-child(2) input {
  background: #333;
}

.inquiry_btn:nth-child(3) {
  margin: 0 0 0 20px;
}

@media (max-width: 769px) {
  .inquiry_btn:nth-child(3) {
    margin: 10px 0 0 0;
  }
}

.inquiry_btn input {
  background: #142c47;
  color: #fff;
  border: none;
  padding: 18px 26px;
  text-align: left;
  width: 100%;
  cursor: pointer;
  font-size: 15px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.inquiry_btn input:hover {
  color: white;
  background-color: #85c023;
}

.inquiry_btn:after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: -4px 0 0 15px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 33px;
  right: 26px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
}

.inquiry_btn:hover:after {
  border-color: #142c47;
  -webkit-transform: translate(50%, 0) rotate(-45deg);
  -moz-transform: translate(50%, 0) rotate(-45deg);
  -ms-transform: translate(50%, 0) rotate(-45deg);
  -o-transform: translate(50%, 0) rotate(-45deg);
  transform: translate(50%, 0) rotate(-45deg);
}

.inquiry_btn.disabled {
  pointer-events: none;
}

.inquiry_btn.disabled * {
  pointer-events: none;
}

.inquiry_btn.disabled input {
  background: #dddddd;
  color: #999;
}

.inquiry_btn.disabled:after {
  display: none;
}

div.wpcf7-response-output.wpcf7-validation-errors {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: #eee;
  padding: 20px 20px;
  border: none;
}

.local .wpcf7 {
  padding: 0 0 70px;
}

.local .wpcf7 form {
  padding: 76px 0 0;
  margin: -76px 0 0;
}

.inquiry_form .wpcf7c-conf {
  background: #fff !important;
  border: none;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

div.wpcf7-mail-sent-ok {
  display: none !important;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.sec_rotate_r.profile {
  padding-top: 0 !important;
}

.content_inner.profile {
  padding-bottom: 0 !important;
}

.sec_rotate_r_inner.profile {
  padding-top: 0 !important;
}

@media (max-width: 769px) {
  .sec_rotate_r.profile_sp {
    padding-bottom: 0 !important;
  }
}

.profile_text {
  width: 340px;
}

@media (max-width: 769px) {
  .profile_text {
    width: 96%;
  }
}

.sp_none {
  display: block;
}

@media (max-width: 769px) {
  .sp_none {
    display: none;
  }
}

.content-visible {
  overflow: visible !important;
}

/*200404追加*/
.local.business_index .top_introduction.sec_pos_05 .sec_rotate_l,
.local.business_index .top_introduction.sec_pos_05 .sec_rotate_l .sec_rotate_l_inner,
.local.business_index .top_introduction.sec_pos_06 .sec_rotate_l,
.local.business_index .top_introduction.sec_pos_06 .sec_rotate_l .sec_rotate_l_inner {
  padding-bottom: 0;
}

.business_page .local_image img {
  max-width: 80%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
  box-shadow: 30px 30px 50px rgba(0, 0, 0, 0.1);
}

@media all and (max-width: 769px) {
  .business_page .local_image img {
    max-width: 100%;
  }
}

.business_page .local_image.noshadow img {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.business_page .em {
  font-weight: bold;
  line-height: 1.2;
}

.business_page .em.title_s_g {
  margin-bottom: 0.5em;
}

.business01 .business_shop_info {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.business01 .business_shop_info h4 {
  font-size: 21px;
  text-align: center;
}

.business01 .business_shop_info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-right: 35px;
  padding-left: 35px;
}

.business01 .business_shop_info dl:first-of-type {
  padding-top: 20px;
  border-top: solid 1px #142c47;
}

.business01 .business_shop_info dl:last-of-type {
  padding-bottom: 20px;
  border-bottom: solid 1px #142c47;
}

.business01 .business_shop_info dl dt {
  width: 8em;
}

.business01 .business_shop_info dl dd {
  width: calc(100% - 8em);
}

.business01 .business_shop_info ul {
  padding-left: 35px;
  padding-right: 35px;
}

.business02 .local_image img {
  display: block;
  border: solid 10px #fff;
}

.business02 .shoplist_list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.business02 .shoplist_list h4 {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.business02 .shoplist_list li {
  margin-left: 1%;
  margin-right: 1%;
}

.business02 .imagelist {
  pointer-events: none;
}

.business03 .main_local_title .sp {
  display: none;
}

.business04 .shoplist_list {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.business04 .shoplist_list li {
  width: 23%;
  margin-left: 1%;
  margin-right: 1%;
}

@media all and (max-width: 769px) {
  .business04 .shoplist_list li {
    width: 48%;
  }
}

@media all and (max-width: 430px) {
  .business04 .shoplist_list li {
    width: 98%;
  }
}

.business04 .shoplist_list li dl {
  background: url(../images/sign_03.png) no-repeat right 10px bottom 10px #fafafa;
  background-size: 13px;
  min-height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media all and (max-width: 769px) {
  .business05 .top_business_title.result {
    padding-top: 0;
  }
}

.business06 .local_image_list dl {
  padding: 35px;
  /* background-color: #fafafa; */
  text-align: center;
}

.business06 .local_image_list img {
  display: block;
}

.business06 h3.bold,
.business06 .local_image_list dl span {
  font-weight: bold;
  color: #142c47;
  display: block;
}

.m_menu_inner ul.business li {
  width: 33.33%;
}

.m_menu_inner ul.business li.c2 {
  width: 50%;
}

.m_menu_inner ul.business li:after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.m_menu_business li:first-child:after {
  background-image: url("../images/m_menu_2024_business_bg_01.jpg");
}

.m_menu_business li:nth-child(2):after {
  background-image: url("../images/m_menu_2024_business_bg_02.jpg");
}

.m_menu_business li:nth-child(3):after {
  background-image: url("../images/m_menu_2024_business_bg_03.jpg");
}

.m_menu_business li:nth-child(4):after {
  background-image: url("../images/m_menu_2024_business_bg_04.jpg");
}

.m_menu_business li:nth-child(5):after {
  background-image: url("../images/m_menu_2024_business_bg_05.jpg");
}

.m_menu_business li:last-child:after {
  background-image: url("../images/m_menu_2024_business_bg_06.jpg");
}

.local_nav_business li div {
  background-size: contain;
  background-repeat: no-repeat;
}

.local_nav_business li:first-child div {
  background-image: url("../images/business_2024_localnav_01.jpg");
}

.local_nav_business li:nth-child(2) div {
  background-image: url("../images/business_2024_localnav_02.jpg");
}

.local_nav_business li:nth-child(3) div {
  background-image: url("../images/business_2024_localnav_03.jpg");
}

.local_nav_business li:nth-child(4) div {
  background-image: url("../images/business_2024_localnav_04.jpg");
}

.local_nav_business li:nth-child(5) div {
  background-image: url("../images/business_2024_localnav_05.jpg");
}

.local_nav_business li:last-child div {
  background-image: url("../images/business_2024_localnav_06.jpg");
}

@media all and (max-width: 769px) {
  .business_index_block .top_business_title {
    padding-top: 0;
  }
}

@media all and (max-width: 769px) {

  .business_page .local_text_box.margin_l,
  .business_page .link_btn.margin_l,
  .business_page .em.margin_l,
  .business_page .local_image.margin_l {
    margin-bottom: 10vw !important;
  }

  .business_page .link_btn.margin_ll {
    margin-bottom: 15vw !important;
  }
}

.business_page .sp {
  display: none;
}

@media all and (max-width: 430px) {
  .business_page .pc {
    display: none;
  }

  .business_page .sp {
    display: block;
  }
}

.main_local_title h1.shadow {
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.8);
}

@media all and (max-width: 430px) {
  .main_local_title h1.shadow {
    text-shadow: none;
  }
}

.m_menu_company li+li:after {
  background-image: url("../images/m_menu_2024_company_bg_02.jpg");
  background-position: center center;
  background-size: cover;
}

.local_nav_company li+li div {
  background-image: url("../images/localnav_company_2024_bg_02.jpg");
  background-size: contain;
  background-repeat: no-repeat;
}

.business_page .content_local .top_business_title {
  padding-top: 0;
}

.business_pos01_img01 {
  display: none;
}

@media all and (max-width: 768px) {
  .business_pos01_img02 {
    display: none;
  }

  .business_pos01_img01 {
    display: block;
  }
}

/* 理念 */
.message_img02 {
  display: none;
}

@media all and (max-width: 1200px) and (min-width: 769px) {
  .message_img01 {
    display: none;
  }

  .message_img02 {
    display: block;
  }
}
@media all and (max-width: 1024px) {
  .pankuz ul {
    padding: 0 40px;
  }
  .main_local_title {
    left: 40px;
  }
  .main_local.revers .main_local_title {
    right: 40px;
  }
  footer .content_inner {
    padding: 0 60px 0 40px;
  }
  footer .square_rotate {
    right: 88%;
  }
}
@media all and (max-width: 769px) {
  footer .content_inner {
    padding: 0 5vw;
  }
  footer .square_rotate {
    right: 50vw;
  }
}
.vision_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.vision_block .title_l_g {
  font-size: 50px;
}
@media all and (max-width: 769px) {
  .vision_block .title_l_g {
    font-size: 42px;
  }
}
@media all and (max-width: 1024px) {
  .vision_block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.vision_block .vision_text {
  width: 40%;
  margin-right: 3%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media all and (max-width: 1024px) {
  .vision_block .vision_text {
    width: 100%;
    margin-right: 0;
  }
}
.vision_block .local_text_box {
  max-width: 100%;
}
.vision_block .link_btn_m {
  margin-left: 0;
}
@media all and (max-width: 1024px) {
  .vision_block .link_btn_m {
    margin-bottom: 40px;
  }
}
@media all and (max-width: 769px) {
  .vision_block .link_btn_m {
    margin-left: auto;
  }
}
.vision_block .vision_image {
  overflow: hidden;
  margin-right: calc(50% - 50vw);
}
@media all and (min-width: 2000px) {
  .vision_block .vision_image {
    margin-right: 0;
  }
}
@media all and (max-width: 769px) {
  .vision_block .vision_image {
    margin-left: calc(50% - 51vw);
  }
}
.vision_block.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media all and (max-width: 1024px) {
  .vision_block.reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.vision_block.reverse .vision_text {
  margin-right: 0;
  margin-left: 3%;
}
@media all and (max-width: 1024px) {
  .vision_block.reverse .vision_text {
    margin-left: 0;
  }
}
.vision_block.reverse .vision_image {
  margin-right: 0;
  margin-left: calc(50% - 51vw);
}
@media all and (min-width: 2000px) {
  .vision_block.reverse .vision_image {
    margin-left: 0;
  }
}
@media all and (max-width: 769px) {
  .vision_block.reverse .vision_image {
    margin-right: calc(50% - 51vw);
  }
}

@media all and (max-width: 1024px) {
  .company_index .sec_pos_01 .setimg img {
    bottom: 50px;
  }
}
@media all and (max-width: 820px) {
  .company_index .sec_pos_01 .setimg img {
    bottom: 70px;
  }
}
@media all and (max-width: 769px) {
  .company_index .sec_pos_01 .setimg img {
    bottom: 0;
  }
}
.company_index .sec_pos_01 .main_local.business03_inset_02 .main_local_title {
  bottom: 80px;
}

@media all and (max-width: 1024px) {
  .company_index .sec_pos_02 .setimg .message_img01 {
    width: auto !important;
    height: 850px !important;
    left: 60% !important;
  }
}
@media all and (max-width: 820px) {
  .company_index .sec_pos_02 .setimg .message_img01 {
    height: 800px !important;
    left: 65% !important;
  }
}
@media all and (max-width: 769px) {
  .company_index .sec_pos_02 .setimg .message_img01 {
    display: none;
  }
}
@media all and (max-width: 769px) {
  .company_index .sec_pos_02 .message_img02 {
    display: block;
  }
}

/*20240513*/
.top_global .ct_box {
  max-width: 1100px;
}
@media all and (max-width: 769px) {
  .top_global .ct_box {
    margin-top: 10px;
  }
}
@media all and (min-width: 1366px) {
  .top_global .ct_box {
    max-width: 90%;
  }
}
.top_global .ct_box img {
  display: block;
}

.about_graf_01 {
  display: block;
  max-width: 980px;
  margin: 0 auto;
}

.about_graf_02 {
  display: block;
  max-width: 900px;
  margin: 0 auto;
}

@media all and (max-width: 769px) {
  .ct_box_2 {
    padding: 20px;
  }
}

/*20240515*/
.top_about .title_border_caption_w {
  margin-bottom: 50px;
  margin-top: 80px;
}
@media all and (max-width: 769px) {
  .top_about .title_border_caption_w {
    margin-bottom: 6vw;
    margin-top: 10vw;
  }
}

.profile_sp .movie_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media all and (max-width: 769px) {
  .profile_sp .movie_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.profile_sp .movie_block {
  padding: 1em;
  text-align: center;
}
@media all and (max-width: 769px) {
  .profile_sp .movie_block {
    padding: 1em 0 0 0;
  }
}
.profile_sp .movie_block p {
  margin-bottom: 1em;
}

.pdf_link {
  position: relative;
  margin: 1em;
}
@media all and (max-width: 769px) {
  .pdf_link {
    margin: 2em auto 0;
  }
}
.pdf_link::after {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 20px;
  height: 24px;
  content: "";
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(/images/sign_pdf.svg) center center no-repeat;
  background-size: contain;
}
.pdf_link:hover::after {
  background-image: url(/images/sign_pdf_wh.svg);
}
.profile_sp.sec_rotate_r {
  padding-bottom: 0;
}
.profile_sp .movie_wrap {
  gap: 1em;
  margin-bottom: 1em;
}
.profile_sp .movie_block {
  padding: 0;
}
.profile_sp .movie_block p {
  font-size: 14px;
}
.profile_sp .dl_box dl dd {
  width: 70%;
}
@media all and (max-width: 769px) {
  .profile_sp .dl_box dl dd {
    width: 100%;
  }
}
.profile_sp .dl_box dl.brochure dd {
  width: auto;
  max-width: calc(100% - 150px);
}
@media all and (max-width: 769px) {
  .profile_sp .dl_box dl.brochure dd {
    max-width: 100%;
  }
}
.profile_sp .dl_box dl.brochure .btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
@media all and (max-width: 820px) {
  .profile_sp .dl_box dl.brochure .btn_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.profile_sp .dl_box dl.brochure .btn_wrap .pdf_link {
  margin: 0;
}
.profile_sp .dl_box dl.brochure .btn_wrap .link_btn_m {
  width: 300px;
  padding-left: 20px;
}
@media all and (max-width: 769px) {
  .profile_sp .dl_box dl.brochure .btn_wrap .link_btn_m {
    width: 300px;
    padding-left: 20px;
  }
}

@media all and (max-width: 1024px) {
  .company_map_title {
    width: 300px;
  }
}
@media all and (max-width: 820px) {
  .company_map_title {
    width: 100%;
    padding-right: 0;
  }
}
@media all and (max-width: 1024px) {
  .company_map_title h1 {
    font-size: 40px;
  }
}
@media all and (max-width: 820px) {
  .company_map_title h1 {
    margin-bottom: 20px;
  }
}
@media all and (max-width: 769px) {
  .company_map_title .margin_m {
    margin-bottom: 20px !important;
  }
}

.profile2 {
  padding-bottom: 200px;
}

@media all and (max-width: 1024px) {
  .company_map_map {
    width: calc(100% - 300px);
  }
}
@media all and (max-width: 820px) {
  .company_map_map {
    width: 100%;
    height: 400px;
  }
}

@media all and (max-width: 820px) {
  .company_map {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media all and (max-width: 769px) {
  .company_map.margin_l {
    margin-bottom: 50px !important;
  }
}
.company_map .link_btn_m {
  width: auto;
  max-width: 250px;
}


/* 不動産賃貸およびデベロップメント事業ページ
------------------------------------------------------------------------------------*/

/* Swiper内ボタン
------------------------------------------------------------------------------------*/
.swiper-btn .btn {
  display: block;
  margin-top: 1em;
  padding: 0.2em 0.5em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  text-align: center;
  color: white;
  border: solid 1px #142c47;
  background-color: #142c47;
}

.swiper-btn .btn:hover {
  color: #142c47;
  border-color: #142c47;
  background-color: white;
}


/* Swiper
------------------------------------------------------------------------------------*/
/* Swiper コンテナ */
.local_image_list .local-swiper {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  padding-bottom: 40px; /* 下にスペースを確保 */
}

/* Swiper コンテナ */
.local_image_list .local-swiper--no-bottom {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}


/* ドットナビゲーション */
.local_image_list .local-swiper .swiper-pagination {
  position: absolute;
  bottom: 10px; /* 下に余白をつける */
  width: 100%;
  text-align: center;
  z-index: 10; /* 画像より上に表示 */
  pointer-events: auto; /* クリック可能に */
}

/* ドットの非アクティブ状態 */
.local_image_list .local-swiper .swiper-pagination-bullet {
  background: #747c8f;  
  /* border: 1px solid #333  !important; */
  opacity: 0.5;
  width: 10px;
  height: 10px;
  margin: 0 4px;
}

/* ドットのアクティブ状態 */
.local_image_list .local-swiper .swiper-pagination-bullet-active {
  background: #142c47;
  opacity: 1;
}


/* 左右矢印共通（ボタン）*/
.swiper-button-prev,
.swiper-button-next {
  width: 35px;
  height: 35px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
}

/* 矢印の中身（矢印自体） */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 17px;       /* 矢印の大きさ */
  color: #fff;           /* 矢印の色 */
}

/* 左右位置調整（必要に応じて） */
.swiper-button-prev {
  left: 10px;  /* 左端からの距離 */
}
.swiper-button-next {
  right: 10px; /* 右端からの距離 */
}

.swiper-slide img {
  width: 100%;
  cursor: pointer; /* クリックできることを示す */
}

.glightbox-container .goverlay {
  background-color: rgba(0, 0, 0, 0.5) ; 
}

.glightbox-container .gslide img {
  max-width: 100%;
  max-height: 80vh; /* 画面高さに合わせて縮小 */
}

.local-swiper {
  overflow: hidden;
}

.glightbox-clean.gsingle .gnext,
.glightbox-clean.gsingle .gprev {
  display: none;
}

/* zoomアイコン
------------------------------------------------------------------------------------*/


/* 親はそのまま */
.zoom-wrap { position: relative; display: inline-block; }

/* 円形の半透明背景にSVGを中央配置 */
.zoom-icon {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 36px;
  height: 36px;
  background: rgba(20,44,71,1); /* 背景（透明度調整）*/
  /* border-radius: 50%; */
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none; /* アイコン自体でクリックを邪魔しない */
  z-index: 2;
  color: #ffffff; /* svgの色（currentColorに反映）*/
}

/* svgのサイズ調整（任意） */
.zoom-icon svg { width: 18px; height: 18px; display: block; }

/* ホバーで少し拡大（任意） */
.zoom-wrap img { transition: transform .28s; cursor: zoom-in; }
.zoom-wrap:hover img { transform: scale(1.03); }

/* GLightbox 閉じるボタンを見やすくする（右上固定） */
.glightbox-clean .gclose {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  opacity: 1;
  z-index: 9999;
  color: #000000;
  opacity: 1;
}