/* common
------------------------------------------------------------------------------------*/
body {
  background-color: #004da0;
  color: #505050;
  font-size: 15px; }

body#local {
  background-color: #ffffff; }
  @media all and (max-width: 769px) {
    body#local {
      padding-top: 18vw; } }

body.sc_off {
  height: 100vh;
  overflow: hidden; }

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

div img {
  width: 100%; }

video#bgVideo {
  position: fixed;
  opacity: 0;
  top: 0;
  z-index: 0; }

video#bgVideo.local_title_bg {
  opacity: 1;
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -o-transform: scale(1.5);
  transform: scale(1.5); }

article {
  position: relative;
  z-index: 100; }

#local article {
  position: static; }

div.bg {
  background: url(/images/bg.png);
  background-size: cover;
  background-attachment: fixed; }

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

.contents_body.top {
  visibility: hidden; }

.contents_body.top.active {
  visibility: visible; }

.contents_body.local {
  background-color: #fff;
  position: relative;
  z-index: 100;
  overflow: hidden; }

#sp_video {
  visibility: hidden;
  position: fixed;
  opacity: 0;
  top: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  background: url(/images/17147902-preview_5.gif);
  background-size: cover;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -ms-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

@media all and (max-width: 769px) {
  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; }
  .sp_clear {
    display: none; }
  body {
    width: 100vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-x: hidden; }
  video#bgVideo {
    display: none; }
  #sp_video {
    visibility: hidden;
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  #sp_video.active {
    visibility: visible;
    opacity: 0.5;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

a {
  cursor: pointer;
  color: #333; }

/* font-size
------------------------------------------------------------------------------------*/
.fm {
  font-size: 15px; }

/* link-btn
------------------------------------------------------------------------------------*/
.link-btn {
  background-color: #1059d3;
  color: #ffffff;
  display: inline-block;
  padding: 24px 40px 20px 20px;
  font-size: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  text-align: center;
  line-height: 1.0;
  cursor: pointer;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease; }
  .link-btn span:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0px 0 0 15px;
    position: relative;
    top: -1px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: translate(0, 0) rotate(-45deg);
    -moz-transform: translate(0, 0) rotate(-45deg);
    -ms-transform: translate(0, 0) rotate(-45deg);
    -o-transform: translate(0, 0) rotate(-45deg);
    transform: translate(0, 0) rotate(-45deg);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
  .link-btn:hover {
    color: #505050;
    background-color: #fafafa; }
  .link-btn:hover span:after {
    border-color: #1059d3;
    -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); }

/* stageChange
------------------------------------------------------------------------------------*/
#stageChange {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 150px auto;
  background-color: #ffffff; }

#stageChange:after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #004da0;
  -webkit-transition: all .7s ease;
  -moz-transition: all .7s ease;
  -ms-transition: all .7s ease;
  -o-transition: all .7s ease;
  transition: all .7s ease;
  -webkit-transition-delay: 3.0s;
  -o-transition-delay: 3.0s;
  transition-delay: 3.0s;
  -webkit-transform: translate(0, 120%) skewY(-3deg);
  -moz-transform: translate(0, 120%) skewY(-3deg);
  -ms-transform: translate(0, 120%) skewY(-3deg);
  -o-transform: translate(0, 120%) skewY(-3deg);
  transform: translate(0, 120%) skewY(-3deg); }

#stageChange.active:after {
  transform: translate(0%, 0%);
  -webkit-transform: translate(0, 0) skewY(0deg);
  -moz-transform: translate(0, 0) skewY(0deg);
  -ms-transform: translate(0, 0) skewY(0deg);
  -o-transform: translate(0, 0) skewY(0deg);
  transform: translate(0, 0) skewY(0deg); }

/* motion
------------------------------------------------------------------------------------*/
.motion_wrapper {
  position: relative;
  width: 100%; }

#motion {
  /*background-color: #000;*/
  width: 50%;
  max-width: 550px;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -30%);
  -ms-transform: translate(-50%, -30%);
  transform: translate(-50%, -30%); }

#motion h1,
#motion h2 {
  overflow: hidden;
  visibility: hidden; }

#motion h1 object {
  width: 100%;
  margin: auto;
  margin-bottom: 4.0%; }

#motion i {
  display: block;
  width: 0%;
  height: 2px;
  background-color: #ffffff;
  margin-bottom: 5%; }

#motion h2 object {
  width: 48%;
  margin: auto; }

@media all and (max-width: 769px) {
  #motion {
    /*background-color: #000;*/
    width: 80%; } }

/* header
------------------------------------------------------------------------------------*/
.entry-header {
  display: none; }

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10000;
  height: 105px;
}
  @media all and (max-width: 769px) {
    header {
      height: 60px; } }

header h1 {
  width: 265px;
  /* position: absolute; */
  top: 30px;
  left: 35px;
  z-index: 1000; }
  @media all and (max-width: 900px) {
    header h1 {
      width: 200px; } }

header h1 img {
  width: 100%; }

header.def #header_logo {
  opacity: 0;
  -webkit-transition: all .7s ease;
  -moz-transition: all .7s ease;
  -ms-transition: all .7s ease;
  -o-transition: all .7s ease;
  transition: all .7s ease;
  -webkit-transform: translate(0, -20px) skewY(-1.5deg);
  -moz-transform: translate(0, -20px) skewY(-1.5deg);
  -ms-transform: translate(0, -20px) skewY(-1.5deg);
  -o-transform: translate(0, -20px) skewY(-1.5deg);
  transform: translate(0, -20px) skewY(-1.5deg); }

header.def .glnav li {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s; }

header.def .glnav li + li {
  -webkit-transition-delay: 0.225s;
  -o-transition-delay: 0.225s;
  transition-delay: 0.225s; }

header.def .glnav li + li + li {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s; }

.glnav {
  position: absolute;
  color: #ffffff;
  position: relative;
  top: 26px;
  left: 0;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
  opacity: 0; }

.glnav li {
  float: left;
  font-size: 15px; }

.glnav li + li {
  padding-left: 50px; }
  @media all and (max-width: 1350px) {
    .glnav li + li {
      padding-left: 20px; } }
  @media all and (max-width: 900px) {
    .glnav li + li {
      padding-left: 8px; } }

a.arrow span {
  position: relative; }
  a.arrow span:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 10px;
    position: relative;
    top: -1px;
    border-right: 1px solid #1059d3;
    border-bottom: 1px solid #1059d3;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: translate(-100%, 0) rotate(-45deg);
    -moz-transform: translate(-100%, 0) rotate(-45deg);
    -ms-transform: translate(-100%, 0) rotate(-45deg);
    -o-transform: translate(-100%, 0) rotate(-45deg);
    transform: translate(-100%, 0) rotate(-45deg);
    opacity: 0; }

a.arrow:hover span {
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
  color: rgba(80, 80, 80, 0.75); }

a.arrow:hover span:after {
  -webkit-transform: translate(0, 0) rotate(-45deg);
  -moz-transform: translate(0, 0) rotate(-45deg);
  -ms-transform: translate(0, 0) rotate(-45deg);
  -o-transform: translate(0, 0) rotate(-45deg);
  transform: translate(0, 0) rotate(-45deg);
  opacity: 1; }

a.arrow_wh span {
  position: relative; }
  a.arrow_wh span:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 10px;
    position: relative;
    top: -1px;
    margin-top: -3px;
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    border-bottom: 1px solid rgba(255, 255, 255, 0.75);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: translate(-100%, 0) rotate(-45deg);
    -moz-transform: translate(-100%, 0) rotate(-45deg);
    -ms-transform: translate(-100%, 0) rotate(-45deg);
    -o-transform: translate(-100%, 0) rotate(-45deg);
    transform: translate(-100%, 0) rotate(-45deg);
    opacity: 0; }

a.arrow_wh:hover span {
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
  color: rgba(80, 80, 80, 0.75); }

a.arrow_wh:hover span:after {
  -webkit-transform: translate(0, 0) rotate(-45deg);
  -moz-transform: translate(0, 0) rotate(-45deg);
  -ms-transform: translate(0, 0) rotate(-45deg);
  -o-transform: translate(0, 0) rotate(-45deg);
  transform: translate(0, 0) rotate(-45deg);
  opacity: 1; }

a.arrow_wh_outer span {
  position: relative; }
  a.arrow_wh_outer span:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 10px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -3px;
    border-right: 1px solid rgba(255, 255, 255, 0.75);
    border-bottom: 1px solid rgba(255, 255, 255, 0.75);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: translate(-100%, 0) rotate(-45deg);
    -moz-transform: translate(-100%, 0) rotate(-45deg);
    -ms-transform: translate(-100%, 0) rotate(-45deg);
    -o-transform: translate(-100%, 0) rotate(-45deg);
    transform: translate(-100%, 0) rotate(-45deg);
    opacity: 0; }

a.arrow_wh_outer:hover span {
  -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.arrow_wh_outer:hover span:after {
  -webkit-transform: translate(0, 0) rotate(-45deg);
  -moz-transform: translate(0, 0) rotate(-45deg);
  -ms-transform: translate(0, 0) rotate(-45deg);
  -o-transform: translate(0, 0) rotate(-45deg);
  transform: translate(0, 0) rotate(-45deg);
  opacity: 1; }

.m_menu {
  position: absolute;
  z-index: 1000;
  top: 75px;
  left: 0;
  display: block;
  width: 100vw;
  height: 150px;
  opacity: 0;
  visibility: hidden; }
  .m_menu ul {
    padding: 0 !important; }
  .m_menu li {
    float: none; }
    .m_menu li:hover span {
      color: rgba(255, 255, 255, 0.75) !important; }

.glnav ul {
  display: table;
  margin: auto; }
  @media all and (max-width: 1350px) {
    .glnav ul {
      margin: auto 0 auto 340px; } }
  @media all and (max-width: 900px) {
    .glnav ul {
      margin: auto 0 auto 260px; } }
  @media all and (max-width: 769px) {
    .glnav ul {
      margin: 0 auto;
      width: 100%; } }
  .glnav ul li {
    display: table-cell;
    height: 50px;
    padding-top: 26px; }
    @media all and (max-width: 769px) {
      .glnav ul li {
        height: 13vw; } }
    .glnav ul li a {
      display: block;
      width: 100%;
      height: 100%;
      cursor: pointer;
      color: #fff; }
      @media all and (max-width: 769px) {
        .glnav ul li a {
          padding: 20px 0 0;
          color: #fff !important; } }

.glnav ul > li:hover .m_menu {
  opacity: 1;
  visibility: visible; }

.m_menu_inner {
  display: block;
  width: 100%;
  height: 150px;
  background-color: #224073; }
  .m_menu_inner ul {
    display: table;
    width: 100%;
    height: 100%;
    max-width: 1000px;
    margin: auto; }
  .m_menu_inner ul li {
    display: table-cell;
    width: 50%;
    color: #ffffff;
    vertical-align: middle;
    padding: 0 !important; }
    .m_menu_inner ul li a {
      display: table;
      height: 100%;
      color: #fff; }
      .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.text li {
    width: 20%; }

.m_menu.business .column_01 i {
  background-image: url(/images/m_menu_img_02.jpg);
  background-size: cover;
  background-position: center center; }

.m_menu.business .column_02 i {
  background-image: url(/images/m_menu_img_01.jpg);
  background-size: cover;
  background-position: center center; }

@media all and (max-width: 769px) {
  .m_menu {
    display: none; }
  .glnav ul li {
    display: block; } }

#gnav > ul {
  display: table;
  padding-left: 50px; }

#gnav > ul > li {
  display: table-cell;
  margin-right: 2em; }

#gnav > ul > li:hover {
  color: #fff;
  background-color: #19192b; }

#gnav > ul > li:hover > a {
  color: #fff; }

#gnav > ul > li:hover .menu {
  max-height: 9999px;
  opacity: 1; }

#gnav > ul > li > a {
  display: block;
  padding: 25.5px 1em 15.5px;
  -webkit-transition: all .2s ease-in;
  -o-transition: all .2s ease-in;
  transition: all .2s ease-in; }

#gnav > ul .menu {
  -webkit-transition: all .2s ease-in;
  -o-transition: all .2s ease-in;
  transition: all .2s ease-in;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  left: 0;
  text-align: center;
  position: absolute;
  background-color: #19192b; }

#gnav > ul .menu .menu_inner {
  padding: 1em 0; }

#gnav > ul .menu .menu_inner li {
  display: inline-block;
  margin: 0 .5em; }

#gnav > ul .menu a {
  color: #fff; }

.header_bg {
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  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;
  -webkit-transform: translate(0, -50%) skewY(-1.5deg);
  -moz-transform: translate(0, -50%) skewY(-1.5deg);
  -ms-transform: translate(0, -50%) skewY(-1.5deg);
  -o-transform: translate(0, -50%) skewY(-1.5deg);
  transform: translate(0, -50%) skewY(-1.5deg); }

header:hover .header_bg,
header.fix .header_bg {
  opacity: 1;
  border-bottom: solid 1px #ddd;
  -webkit-transform: translate(0, 0) skewY(0deg);
  -moz-transform: translate(0, 0) skewY(0deg);
  -ms-transform: translate(0, 0) skewY(0deg);
  -o-transform: translate(0, 0) skewY(0deg);
  transform: translate(0, 0) skewY(0deg); }

header.hover .glnav a,
header.fix .glnav a {
  color: #505050; }

@media all and (min-width: 770px) {
  #local header .glnav a {
    color: #505050 !important; } }

#local header .header_bg {
  opacity: 1;
  border-bottom: solid 1px #ddd;
  -webkit-transform: translate(0, 0) skewY(0deg);
  -moz-transform: translate(0, 0) skewY(0deg);
  -ms-transform: translate(0, 0) skewY(0deg);
  -o-transform: translate(0, 0) skewY(0deg);
  transform: translate(0, 0) skewY(0deg); }

header.rady .glnav li {
  -webkit-transition-delay: 0s !important;
  -o-transition-delay: 0s !important;
  transition-delay: 0s !important; }

header.fix {
  height: 78px; }
  header.fix .glnav {
    top: 0; }
  @media all and (min-width: 770px) {
    header.fix h1 {
      width: 200px;
      top: 18px; } }

.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 {
  position: relative;
  width: 50px;
  height: 44px; }

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

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

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

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

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

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

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

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

@-webkit-keyframes menu-bar02 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes menu-bar02 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

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

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

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

.menu-trigger::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
  width: 30px;
  height: 30px;
  margin: -16px 0 0 -16px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  -webkit-transition: all .1s;
  -o-transition: all .1s;
  transition: all .1s;
  opacity: 0; }

.menu-trigger.active::after {
  -webkit-animation: circle .5s;
  animation: circle .5s; }

@-webkit-keyframes circle {
  0% {
    -webkit-transform: scale(0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(3.5);
    opacity: 0; } }

@keyframes circle {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(3.5);
    transform: scale(3.5);
    opacity: 0; } }

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

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

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

.menu-trigger.active span:nth-of-type(2) {
  -webkit-animation: active-menu-bar02 .5s .5s forwards;
  animation: active-menu-bar02 .5s .5s forwards; }

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

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

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

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

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

/* subnav
------------------------------------------------------------------------------------*/
.subnav {
  position: absolute;
  right: 0;
  top: 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;
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  transform: translate(0, -100%); }

.subnav > ul > li {
  background-color: #1059d3;
  color: #ffffff;
  display: inline-block;
  height: 38px;
  font-size: 13px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 7px;
  position: relative;
  width: 140px;
  text-align: center; }
  .subnav > ul > li a {
    color: #ffffff; }
  .subnav > ul > li.language {
    background-image: url(/images/global_icon.png);
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: 17px 10px; }
  .subnav > ul > li.language span: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);
    -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 > ul > li.mail span:before {
    content: '';
    display: inline-block;
    background-image: url(/images/mail_icon.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    width: 12px;
    height: 10px;
    margin-right: 5px; }
  .subnav > ul > li.mail {
    cursor: pointer; }
    .subnav > ul > li.mail:hover {
      background: #3b7cea; }
  .subnav > ul > li.language ul {
    visibility: hidden;
    padding-top: 10px;
    display: block;
    background-color: #1059d3;
    position: absolute;
    top: 20px;
    opacity: 0;
    display: block;
    width: 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; }
    .subnav > ul > li.language ul li {
      width: 100%; }
      .subnav > ul > li.language ul li:hover {
        background: #3b7cea; }
      .subnav > ul > li.language ul li a {
        width: 100%;
        padding: 5px 0;
        color: #ffffff;
        display: block; }

.subnav > ul > li:hover ul {
  visibility: visible;
  top: 30px;
  opacity: 1; }

.subnav > ul > li:hover span:after {
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

@media all and (max-width: 769px) {
  .subnav > ul > li.language {
    background-image: none; } }

/* sp nav
------------------------------------------------------------------------------------*/
.menu-trigger-wrapper {
  display: none; }
  .menu-trigger-wrapper p {
    line-height: 0 !important; }

@media all and (max-width: 769px) {
  .header_bg {
    height: 18vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 600; }
  header:hover .header_bg {
    opacity: 0;
    -webkit-transform: translate(0, -50%) skewY(-1.5deg);
    -moz-transform: translate(0, -50%) skewY(-1.5deg);
    -ms-transform: translate(0, -50%) skewY(-1.5deg);
    -o-transform: translate(0, -50%) skewY(-1.5deg);
    transform: translate(0, -50%) skewY(-1.5deg); }
  header.fix .header_bg {
    opacity: 1;
    border-bottom: solid 1px #ddd;
    -webkit-transform: translate(0, 0) skewY(0deg);
    -moz-transform: translate(0, 0) skewY(0deg);
    -ms-transform: translate(0, 0) skewY(0deg);
    -o-transform: translate(0, 0) skewY(0deg);
    transform: translate(0, 0) skewY(0deg); }
  header h1 {
    width: 56vw;
    top: 3.5vw;
    left: 4vw;
    z-index: 950; }
  header .content {
    width: 100%;
    background-color: #1059d3;
    height: 100vh;
    color: #ffffff;
    z-index: 500;
    position: relative;
    opacity: 0.3;
    -webkit-transition: transform .5s ease , opacity .5s ease;
    -moz-transition: transform .5s ease , opacity .5s ease;
    -ms-transition: transform .5s ease , opacity .5s ease;
    -o-transition: transform .5s ease , opacity .5s ease;
    -webkit-transition: opacity .5s ease , -webkit-transform .5s ease;
    transition: opacity .5s ease , -webkit-transform .5s ease;
    transition: transform .5s ease , opacity .5s ease;
    transition: transform .5s ease , opacity .5s ease , -webkit-transform .5s ease;
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0); }
  header .content.active {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  .glnav {
    position: static;
    padding-top: 25vw;
    padding-bottom: 15vw;
    display: block; }
    .glnav li {
      float: none;
      display: table !important;
      width: 100%;
      color: #ffffff;
      font-size: 15px;
      padding-top: 0 !important;
      text-align: left;
      padding-left: 5vw !important;
      padding-right: 5vw !important;
      height: 15vw !important;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border-bottom: solid rgba(255, 255, 255, 0.5) 1px;
      position: relative; }
      .glnav li:after {
        content: '';
        display: block;
        position: absolute;
        width: 6px;
        height: 6px;
        bottom: 30px;
        right: 5vw;
        top: 50%;
        margin-top: -3px;
        border-right: 1px solid #ffffff;
        border-bottom: 1px solid #ffffff;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .glnav li a {
        display: table-cell !important;
        padding: 0 0 1vw 0 !important;
        vertical-align: middle; }
      .glnav li + li {
        padding-top: 2vw !important; }
  .subnav {
    position: static;
    display: block;
    right: 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;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  .subnav > ul > li {
    background-color: none;
    color: #ffffff;
    display: block;
    height: auto;
    font-size: 13px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 0;
    position: relative;
    width: 100%;
    text-align: center; }
    .subnav > ul > li.language {
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .subnav > ul > li.language ul {
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        .subnav > ul > li.language ul li {
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
      .subnav > ul > li.language a {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 3vw !important; }
    .subnav > ul > li.language span:after {
      content: '';
      display: none;
      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);
      -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 > ul > li.mail a {
      display: block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      padding: 7vw; }
    .subnav > ul > li.mail span:before {
      content: '';
      display: inline-block;
      background-image: url(/images/mail_icon.png);
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: center center;
      width: 12px;
      height: 10px;
      margin-right: 5px; }
    .subnav > ul > li.language > a {
      float: left;
      width: 33.3%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .subnav > ul > li.language > a + ul {
        border-left: solid 1px #fff;
        width: 66.6%; }
        .subnav > ul > li.language > a + ul li {
          width: 50%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
        .subnav > ul > li.language > a + ul li + li {
          border-left: solid 1px #fff; }
    .subnav > ul > li.language ul {
      visibility: visible;
      padding-top: 0;
      padding-bottom: 0;
      display: block;
      background-color: transparent;
      position: static;
      top: auto;
      opacity: 1;
      display: block;
      width: 66%;
      float: left;
      -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 > ul > li.language ul li {
        width: 50%;
        float: left; }
        .subnav > ul > li.language ul li a {
          width: 100%;
          padding: 0;
          color: #ffffff;
          display: block; }
  .menu-trigger-wrapper {
    background-color: transparent;
    position: absolute;
    display: block;
    top: 0vw;
    right: 0vw;
    width: 8vw;
    height: 11vw;
    padding: 3.5vw 5vw;
    z-index: 700;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    transform: translate(0, -50%);
    opacity: 0; }
  .menu-trigger-wrapper.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);
    opacity: 1; }
  #local .menu-trigger-wrapper,
  header.fix .menu-trigger-wrapper {
    background-color: #1059d3 !important; }
  .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: 1000;
    width: 8vw;
    height: 7vw; }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 4px; }
  .menu-trigger span:nth-of-type(1) {
    top: 0; }
  .menu-trigger span:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translate(0, -1px);
    -moz-transform: translate(0, -1px);
    -ms-transform: translate(0, -1px);
    -o-transform: translate(0, -1px);
    transform: translate(0, -1px); }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0; }
  .menu-trigger span:nth-of-type(1) {
    -webkit-animation: menu-bar01 .5s forwards;
    animation: menu-bar01 .5s forwards; }
  @-webkit-keyframes menu-bar01 {
    100% {
      -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-bar01 {
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0); } }
  .menu-trigger span:nth-of-type(2) {
    -webkit-animation: menu-bar02 .5s forwards;
    animation: menu-bar02 .5s forwards; }
  @-webkit-keyframes menu-bar02 {
    100% {
      opacity: 1; } }
  @keyframes menu-bar02 {
    100% {
      opacity: 1; } }
  .menu-trigger span:nth-of-type(3) {
    -webkit-animation: menu-bar03 .5s forwards;
    animation: menu-bar03 .5s forwards; }
  @-webkit-keyframes menu-bar03 {
    100% {
      -webkit-transform: translateY(0) rotate(0); } }
  @keyframes menu-bar03 {
    100% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0); } }
  .menu-trigger::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    content: '';
    width: 30px;
    height: 30px;
    margin: -16px 0 0 -16px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    -webkit-transition: all .1s;
    -o-transition: all .1s;
    transition: all .1s;
    opacity: 0; }
  .menu-trigger.active::after {
    -webkit-animation: circle .5s;
    animation: circle .5s; }
  @-webkit-keyframes circle {
    0% {
      -webkit-transform: scale(0.1);
      opacity: 0; }
    50% {
      opacity: 1; }
    100% {
      -webkit-transform: scale(3.5);
      opacity: 0; } }
  @keyframes circle {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 0; }
    50% {
      opacity: 1; }
    100% {
      -webkit-transform: scale(3.5);
      transform: scale(3.5);
      opacity: 0; } }
  .menu-trigger.active span:nth-of-type(1) {
    -webkit-animation: active-menu-bar01 .5s  forwards;
    animation: active-menu-bar01 .5s  forwards; }
  @-webkit-keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0); }
    100% {
      -webkit-transform: translateY(3.2vw) rotate(-45deg); } }
  @keyframes active-menu-bar01 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0); }
    100% {
      -webkit-transform: translateY(3.2vw) rotate(-45deg);
      transform: translateY(3.2vw) rotate(-45deg); } }
  .menu-trigger.active span:nth-of-type(2) {
    -webkit-animation: active-menu-bar02 .5s  forwards;
    animation: active-menu-bar02 .5s  forwards; }
  @-webkit-keyframes active-menu-bar02 {
    0% {
      opacity: 1; }
    100% {
      opacity: 0; } }
  @keyframes active-menu-bar02 {
    0% {
      opacity: 1; }
    100% {
      opacity: 0; } }
  .menu-trigger.active span:nth-of-type(3) {
    -webkit-animation: active-menu-bar03 .5s  forwards;
    animation: active-menu-bar03 .5s  forwards; }
  @-webkit-keyframes active-menu-bar03 {
    0% {
      -webkit-transform: translateY(0) rotate(0); }
    100% {
      -webkit-transform: translateY(-3.2vw) rotate(45deg); } }
  @keyframes active-menu-bar03 {
    0% {
      -webkit-transform: translateY(0) rotate(0);
      transform: translateY(0) rotate(0); }
    100% {
      -webkit-transform: translateY(-3.2vw) rotate(45deg);
      transform: translateY(-3.2vw) rotate(45deg); } } }

i.scroller {
  padding-top: 60px;
  position: absolute;
  top: 55vh;
  left: 50%;
  content: '';
  width: 1px;
  height: 50px;
  opacity: 0;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease; }

i.scroller.active {
  opacity: 1; }

i.scroller:after {
  content: "SCROLL";
  font-style: normal;
  color: rgba(255, 255, 255, 0.75);
  display: inline-block;
  letter-spacing: 0.1em;
  padding-top: 7px;
  font-size: 13px;
  -webkit-transform: translate(-50%, 0);
  -moz-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  -o-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  -webkit-animation: tx 2s infinite;
  animation: tx 2s infinite; }

i.scroller span {
  position: relative;
  width: 2px;
  height: 150px;
  display: block;
  overflow: hidden; }

i.scroller span::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 1px;
  height: 150px;
  background-color: white;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

@-webkit-keyframes sdb {
  0% {
    opacity: 0.4;
    -webkit-transform: translate(0, -100%);
    -moz-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%); }
  40% {
    opacity: 0.8;
    -webkit-transform: translate(0, 0%);
    -moz-transform: translate(0, 0%);
    -ms-transform: translate(0, 0%);
    -o-transform: translate(0, 0%);
    transform: translate(0, 0%); }
  80% {
    opacity: 0;
    -webkit-transform: translate(0, 100%);
    -moz-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%); }
  100% {
    opacity: 0; } }

@keyframes sdb {
  0% {
    opacity: 0.4;
    -webkit-transform: translate(0, -100%);
    -moz-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
    transform: translate(0, -100%); }
  40% {
    opacity: 0.8;
    -webkit-transform: translate(0, 0%);
    -moz-transform: translate(0, 0%);
    -ms-transform: translate(0, 0%);
    -o-transform: translate(0, 0%);
    transform: translate(0, 0%); }
  80% {
    opacity: 0;
    -webkit-transform: translate(0, 100%);
    -moz-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
    transform: translate(0, 100%); }
  100% {
    opacity: 0; } }

@media all and (max-width: 769px) {
  i.scroller {
    top: 50vh; }
  i.scroller span {
    position: relative;
    width: 2px;
    height: 15vh;
    display: block;
    overflow: hidden; }
  i.scroller span::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 1px;
    height: 15vh;
    background-color: white;
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

/* header.active
------------------------------------------------------------------------------------*/
header.active {
  pointer-events: auto; }
  header.active #header_logo {
    opacity: 1;
    -webkit-transform: translate(0, 0) skewY(0deg);
    -moz-transform: translate(0, 0) skewY(0deg);
    -ms-transform: translate(0, 0) skewY(0deg);
    -o-transform: translate(0, 0) skewY(0deg);
    transform: translate(0, 0) skewY(0deg); }
  header.active .subnav {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }
  header.active .glnav {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0); }

/* .pankuz
------------------------------------------------------------------------------------*/
.pankuz {
  background-color: #fafafa;
  width: 100%;
  position: absolute;
  top: 105px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 40px;
  height: 54px;
  border-bottom: solid 1px #ddd;
  z-index: 1000; }
  @media (max-width: 769px) {
    .pankuz {
      top: 0;
      padding: 0 5vw; } }
  .pankuz ul {
    display: table;
    height: 100%; }
  .pankuz ul li {
    display: table-cell;
    vertical-align: middle;
    padding-top: 3px; }
  .pankuz ul li a {
    line-height: 1.0;
    color: #000; }
  .pankuz ul li + li {
    padding-left: 40px;
    position: relative; }
  .pankuz ul li + li:after {
    content: '';
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 50%;
    left: 15px;
    margin-top: -4px;
    border-right: 1px solid #1c51a9;
    border-bottom: 1px solid #1c51a9;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -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_title
------------------------------------------------------------------------------------*/
.local_box {
  margin-top: -180px !important;
  padding-top: 180px !important; }
  @media (max-width: 769px) {
    .local_box {
      margin-top: -100px !important;
      padding-top: 100px !important; } }

.category .local_title,
.single .local_title {
  margin-bottom: 0; }

.local_title {
  width: 100%;
  height: 60vh;
  min-height: 590px;
  position: relative;
  top: 159px;
  margin-bottom: 159px;
  display: table;
  background-color: #ffffff;
  overflow: hidden; }
  @media (max-width: 769px) {
    .local_title {
      top: 0;
      min-height: auto;
      height: 80vh;
      background-color: #004da0;
      margin-bottom: 20vw; }
      .local_title.navset {
        margin-bottom: 0; } }
  .local_title .local_title_bg {
    position: fixed;
    top: 105px;
    left: 0;
    width: 100%;
    height: 70vh;
    min-height: 590px;
    background-color: #004da0;
    background-image: url(/images/local_title_bg_01.png);
    background-size: cover;
    background-position: center center;
    -webkit-transition: -webkit-transform 20s linear;
    -moz-transition: -moz-transform 20s linear;
    -ms-transition: -ms-transform 20s linear;
    -o-transition: -o-transform 20s linear;
    -webkit-transition: opacity .35s linear,-webkit-transform 20s linear;
    transition: opacity .35s linear,-webkit-transform 20s linear;
    -o-transition: transform 20s linear,opacity .35s linear;
    transition: transform 20s linear,opacity .35s linear;
    transition: transform 20s linear,opacity .35s linear,-webkit-transform 20s linear;
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5);
    opacity: 0; }
    @media (max-width: 769px) {
      .local_title .local_title_bg {
        position: absolute;
        top: 0;
        min-height: auto;
        height: 80vh;
        background-position: -170px;
        background-size: cover;
        background-position: center center; }
        .local_title .local_title_bg.recruit_title_bg {
          background-position: right center; } }
    .local_title .local_title_bg.schedule_title_bg {
      background-image: url(/images/schedule_title_bg_01.png); }
    .local_title .local_title_bg.dimerco_title_bg {
      background-image: url(/images/dimerco_title_bg_01.png); }
    .local_title .local_title_bg.recruit_title_bg {
      background-image: url(/images/recruit_title_bg_01.png); }
    .local_title .local_title_bg.dff_title_bg {
      background-image: url(/images/dff_title_bg_01.png); }
      @media (max-width: 769px) {
        .local_title .local_title_bg.dff_title_bg {
          background-image: url(/images/dff_title_bg_01_sp.jpg); } }
  .local_title .local_title_inner {
    display: table-cell;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    position: relative;
    z-index: 100; }
  .local_title h1 {
    display: inline-block;
    color: #fff;
    font-size: 36px;
    letter-spacing: 0.1em; }
    @media (max-width: 769px) {
      .local_title h1 {
        font-size: 24px; } }
  .local_title i {
    display: block;
    height: 1px;
    width: 100%;
    background-color: #ffffff;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1); }
  .local_title h1 span.title {
    display: block;
    padding-bottom: 10px;
    line-height: 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;
    -webkit-transform: translate(0, 30%);
    -moz-transform: translate(0, 30%);
    -ms-transform: translate(0, 30%);
    -o-transform: translate(0, 30%);
    transform: translate(0, 30%);
    opacity: 0;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }
  .local_title h1 span.caption {
    display: block;
    font-size: 15px;
    padding-top: 20px;
    line-height: 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;
    -webkit-transform: translate(0, -30%);
    -moz-transform: translate(0, -30%);
    -ms-transform: translate(0, -30%);
    -o-transform: translate(0, -30%);
    transform: translate(0, -30%);
    opacity: 0;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }

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

.local_title.active h1 span.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);
  opacity: 1; }

.local_title.active h1 span.caption {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1; }

.local_title.active i {
  display: block;
  height: 1px;
  width: 100%;
  background-color: #ffffff;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1); }

.local_text_title_01_wrap {
  text-align: center; }

.local_text_title_01 {
  font-size: 42px;
  text-align: center;
  line-height: 1;
  font-weight: 100;
  letter-spacing: 0.1em;
  margin: auto;
  margin-bottom: 40px;
  display: inline-block; }
  @media (max-width: 769px) {
    .local_text_title_01 {
      font-size: 24px !important; } }
  .local_text_title_01 span.title {
    display: block;
    padding-bottom: 10px;
    line-height: 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;
    -webkit-transform: translate(0, 30%);
    -moz-transform: translate(0, 30%);
    -ms-transform: translate(0, 30%);
    -o-transform: translate(0, 30%);
    transform: translate(0, 30%);
    opacity: 0;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }
  .local_text_title_01 i {
    display: block;
    height: 1px;
    width: 100%;
    background-color: #1059d3;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transform: scale(0, 1);
    -moz-transform: scale(0, 1);
    -ms-transform: scale(0, 1);
    -o-transform: scale(0, 1);
    transform: scale(0, 1); }
  .local_text_title_01 span.caption {
    display: block;
    font-size: 15px;
    padding-top: 20px;
    line-height: 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;
    -webkit-transform: translate(0, -30%);
    -moz-transform: translate(0, -30%);
    -ms-transform: translate(0, -30%);
    -o-transform: translate(0, -30%);
    transform: translate(0, -30%);
    opacity: 0;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }

.local_ct {
  opacity: 0;
  -webkit-transition: all .35s linear;
  -moz-transition: all .35s linear;
  -ms-transition: all .35s linear;
  -o-transition: all .35s linear;
  transition: all .35s linear;
  -webkit-transform: translate(0, 30px);
  -moz-transform: translate(0, 30px);
  -ms-transform: translate(0, 30px);
  -o-transform: translate(0, 30px);
  transform: translate(0, 30px);
  -webkit-transition-delay: .6s;
  -o-transition-delay: .6s;
  transition-delay: .6s; }

.contents.local_box.active .local_text_title_01 span.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);
  opacity: 1; }

.contents.local_box.active .local_text_title_01 span.caption {
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1; }

.contents.local_box.active .local_text_title_01 i {
  display: block;
  height: 1px;
  width: 100%;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1); }

.contents.local_box.active .local_ct {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }

/* .localnav
------------------------------------------------------------------------------------*/
.localnav {
  background-color: #fafafa;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  height: 128px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  margin-bottom: 80px;
  position: relative;
  z-index: 10; }
  @media (max-width: 769px) {
    .localnav {
      display: block;
      height: auto;
      padding: 0;
      margin-bottom: 20vw !important; } }
  .localnav ul {
    display: table;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    height: 100%; }
    @media (max-width: 769px) {
      .localnav ul {
        display: block; } }
  .localnav.dimerconav ul {
    max-width: 540px; }
  .localnav ul li {
    display: table-cell;
    width: 20%;
    text-align: center; }
    .localnav ul li.active {
      background: #eee; }
    @media (max-width: 769px) {
      .localnav ul li {
        display: block;
        width: 100%;
        background-color: #fafafa; } }
  .localnav ul li a {
    width: 100%;
    height: 100%;
    display: table; }
  .localnav ul li a span {
    display: table-cell;
    vertical-align: middle;
    padding-bottom: 20px;
    position: relative; }
    @media (max-width: 769px) {
      .localnav ul li a span {
        padding-bottom: 0;
        padding: 10px 0 20px 0; } }
  .localnav ul li a span:after {
    content: '';
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    bottom: 30px;
    left: 50%;
    margin-left: -4px;
    border-right: 1px solid #1c51a9;
    border-bottom: 1px solid #1c51a9;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .localnav ul li a span:after {
        bottom: 12px; } }
  .localnav.newsnav ul {
    max-width: 580px; }
    .localnav.newsnav ul li a span {
      font-size: 18px;
      padding: 0; }
      @media (max-width: 769px) {
        .localnav.newsnav ul li a span {
          padding: 8px 0; } }
      .localnav.newsnav ul li a span:after {
        content: none; }
  .localnav.newsnav02 {
    border: none;
    padding: 90px 0;
    height: 286px;
    margin: 0; }
    .localnav.newsnav02 ul {
      max-width: 580px; }
      .localnav.newsnav02 ul li a span {
        font-size: 18px;
        padding: 0; }
        .localnav.newsnav02 ul li a span:after {
          content: none; }
  .localnav ul li + li {
    border-left: solid 1px #ddd; }
    @media (max-width: 769px) {
      .localnav ul li + li {
        border-left: none;
        border-top: solid 1px #ddd; } }
  .localnav a {
    color: #505050; }
  .localnav ul li a:hover {
    color: rgba(80, 80, 80, 0.75); }
  .localnav ul li a:hover span:after {
    -webkit-transform: translate(0, 50%) rotate(45deg);
    -moz-transform: translate(0, 50%) rotate(45deg);
    -ms-transform: translate(0, 50%) rotate(45deg);
    -o-transform: translate(0, 50%) rotate(45deg);
    transform: translate(0, 50%) rotate(45deg); }

.localnav_thm {
  position: absolute;
  right: 100px;
  top: 210px;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease;
  z-index: 1000000; }
  @media (max-width: 769px) {
    .localnav_thm {
      display: none; } }
  .localnav_thm.hidden {
    opacity: 0; }
  .localnav_thm .inner {
    background-color: #fff;
    border-radius: 6px; }
  .localnav_thm i {
    display: block;
    width: 28px;
    height: 28px;
    position: relative; }
  .localnav_thm i a:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background-color: #ddd;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -5px;
    position: absolute;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
  .localnav_thm i.active a:after {
    background-color: #1059d3; }
  .localnav_thm i:hover a:after {
    background-color: #1059d3; }
  .localnav_thm i a {
    display: block;
    width: 100%;
    height: 100%; }

.localnav_thm.fix {
  position: fixed; }

/* .textbox
------------------------------------------------------------------------------------*/
.textbox {
  font-size: 15px;
  width: 100%;
  max-width: 1000px;
  margin: auto; }
  @media (max-width: 769px) {
    .textbox {
      width: 80%;
      font-size: 13px; } }

.text_inlineblock {
  text-align: center; }
  .text_inlineblock p {
    display: inline-block;
    margin: auto;
    text-align: left; }

.textbox.setimg {
  display: table; }
  @media (max-width: 769px) {
    .textbox.setimg {
      display: block; } }
  .textbox.setimg p {
    display: table-cell;
    vertical-align: top; }
    @media (max-width: 769px) {
      .textbox.setimg p {
        display: block;
        width: 100%;
        margin: 0 auto; } }
  .textbox.setimg p.img_min {
    width: 35%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 40px; }
    @media (max-width: 769px) {
      .textbox.setimg p.img_min {
        width: 100%;
        padding: 0;
        display: block;
        margin: 5% auto 0;
        padding-bottom: 5vw; }
        .textbox.setimg p.img_min img {
          display: table-cell; } }
  .textbox.setimg p.img_min span {
    display: block;
    line-height: 1.3;
    font-size: 13px; }
    @media (max-width: 769px) {
      .textbox.setimg p.img_min span {
        display: table-cell;
        width: 50%;
        vertical-align: middle;
        font-size: 15px;
        padding: 0 0 0 5%; } }

.ceo_name {
  display: block;
  text-align: right;
  line-height: 1.5;
  padding-top: 20px; }
  .ceo_name span {
    font-weight: bold;
    font-size: 20px; }

.textbox.img_max p + p,
.textbox.img_max .text_inlineblock {
  padding-top: 40px; }

/* .listbox
------------------------------------------------------------------------------------*/
.listbox {
  font-size: 15px;
  width: 100%;
  max-width: 1000px;
  margin: auto; }
  @media (max-width: 769px) {
    .listbox {
      width: 80%;
      font-size: 13px; } }
  .listbox dl {
    display: table;
    width: 100%;
    padding: 20px 0; }
  .listbox dl dt,
  .listbox dl dd {
    display: table-cell; }
    @media (max-width: 769px) {
      .listbox dl dt,
      .listbox dl dd {
        display: block; } }
  .listbox dl + dl {
    border-top: solid 1px #ddd; }
  .listbox dl dt {
    width: 15%;
    font-weight: bold;
    letter-spacing: 0.1em; }
    @media (max-width: 769px) {
      .listbox dl dt {
        width: 100%; } }
  .listbox dl dd {
    width: 85%;
    text-align: left; }
    @media (max-width: 769px) {
      .listbox dl dd {
        width: 100%; } }

/* .text_2c
------------------------------------------------------------------------------------*/
.text_2c h4 {
  display: block;
  width: 100%; }

.text_2c > .inner {
  float: left;
  width: 50%; }
  @media (max-width: 769px) {
    .text_2c > .inner {
      width: 100%; } }

.text_2c + .text_2c {
  padding-top: 40px; }

/* .contents_border
------------------------------------------------------------------------------------*/
.contents_border {
  width: 100%;
  position: relative;
  z-index: 2;
  height: 170px;
  margin: 80px 0; }
  .contents_border:after {
    content: "";
    width: 1px;
    height: 62px;
    background-color: #dddddd;
    left: 50%;
    top: 0;
    display: block;
    position: absolute; }
  .contents_border:before {
    content: "";
    width: 1px;
    height: 62px;
    background-color: #dddddd;
    left: 50%;
    bottom: 0;
    display: block;
    position: absolute; }
  .contents_border i {
    position: relative;
    width: 44px;
    display: block;
    margin: auto;
    top: 50%; }
  .contents_border i:after {
    position: absolute;
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    left: 0;
    margin-top: -14px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(/images/local_border_square.png);
    background-size: 100% 100%;
    -webkit-animation: cbl 4s infinite linear;
    animation: cbl 4s infinite linear;
    opacity: 0.5; }
  .contents_border i:before {
    position: absolute;
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    right: 0;
    margin-top: -14px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-image: url(/images/local_border_square.png);
    background-size: 100% 100%;
    -webkit-animation: cbr 4s infinite linear;
    animation: cbr 4s infinite linear;
    opacity: 0.5; }

@-webkit-keyframes cbl {
  0% {
    -webkit-transform: translate(0, 0) rotate(45deg);
    -moz-transform: translate(0, 0) rotate(45deg);
    -ms-transform: translate(0, 0) rotate(45deg);
    -o-transform: translate(0, 0) rotate(45deg);
    transform: translate(0, 0) rotate(45deg); }
  50% {
    -webkit-transform: translate(70%, 0) rotate(45deg);
    -moz-transform: translate(70%, 0) rotate(45deg);
    -ms-transform: translate(70%, 0) rotate(45deg);
    -o-transform: translate(70%, 0) rotate(45deg);
    transform: translate(70%, 0) rotate(45deg); }
  100% {
    -webkit-transform: translate(0, 0) rotate(45deg);
    -moz-transform: translate(0, 0) rotate(45deg);
    -ms-transform: translate(0, 0) rotate(45deg);
    -o-transform: translate(0, 0) rotate(45deg);
    transform: translate(0, 0) rotate(45deg); } }

@keyframes cbl {
  0% {
    -webkit-transform: translate(0, 0) rotateY(0deg);
    -moz-transform: translate(0, 0) rotateY(0deg);
    -ms-transform: translate(0, 0) rotateY(0deg);
    -o-transform: translate(0, 0) rotateY(0deg);
    transform: translate(0, 0) rotateY(0deg); }
  50% {
    -webkit-transform: translate(60%, 0) rotateY(360deg);
    -moz-transform: translate(60%, 0) rotateY(360deg);
    -ms-transform: translate(60%, 0) rotateY(360deg);
    -o-transform: translate(60%, 0) rotateY(360deg);
    transform: translate(60%, 0) rotateY(360deg); }
  100% {
    -webkit-transform: translate(0, 0) rotateY(0deg);
    -moz-transform: translate(0, 0) rotateY(0deg);
    -ms-transform: translate(0, 0) rotateY(0deg);
    -o-transform: translate(0, 0) rotateY(0deg);
    transform: translate(0, 0) rotateY(0deg); } }

@-webkit-keyframes cbr {
  0% {
    -webkit-transform: translate(0, 0) rotate(-45deg);
    -moz-transform: translate(0, 0) rotate(-45deg);
    -ms-transform: translate(0, 0) rotate(-45deg);
    -o-transform: translate(0, 0) rotate(-45deg);
    transform: translate(0, 0) rotate(-45deg); }
  50% {
    -webkit-transform: translate(-70%, 0) rotate(-45deg);
    -moz-transform: translate(-70%, 0) rotate(-45deg);
    -ms-transform: translate(-70%, 0) rotate(-45deg);
    -o-transform: translate(-70%, 0) rotate(-45deg);
    transform: translate(-70%, 0) rotate(-45deg); }
  100% {
    -webkit-transform: translate(0, 0) rotate(-45deg);
    -moz-transform: translate(0, 0) rotate(-45deg);
    -ms-transform: translate(0, 0) rotate(-45deg);
    -o-transform: translate(0, 0) rotate(-45deg);
    transform: translate(0, 0) rotate(-45deg); } }

@keyframes cbr {
  0% {
    -webkit-transform: translate(0, 0) rotateY(0deg);
    -moz-transform: translate(0, 0) rotateY(0deg);
    -ms-transform: translate(0, 0) rotateY(0deg);
    -o-transform: translate(0, 0) rotateY(0deg);
    transform: translate(0, 0) rotateY(0deg); }
  50% {
    -webkit-transform: translate(-60%, 0) rotateY(360deg);
    -moz-transform: translate(-60%, 0) rotateY(360deg);
    -ms-transform: translate(-60%, 0) rotateY(360deg);
    -o-transform: translate(-60%, 0) rotateY(360deg);
    transform: translate(-60%, 0) rotateY(360deg); }
  100% {
    -webkit-transform: translate(0, 0) rotateY(0deg);
    -moz-transform: translate(0, 0) rotateY(0deg);
    -ms-transform: translate(0, 0) rotateY(0deg);
    -o-transform: translate(0, 0) rotateY(0deg);
    transform: translate(0, 0) rotateY(0deg); } }

/* footer
------------------------------------------------------------------------------------*/
footer {
  width: 100%;
  background-color: #fafafa;
  position: relative;
  z-index: 1000; }
  footer .content {
    width: 100%;
    background-color: #224072;
    padding-top: 80px;
    padding-bottom: 80px;
    letter-spacing: 0.1em; }
    footer .content h2 {
      width: 20vw;
      max-width: 190px;
      margin: auto;
      margin-bottom: 40px;
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
    footer .content .content_inner {
      display: table;
      width: 100%;
      max-width: 1400px;
      margin: auto;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-left: 37px; }
      footer .content .content_inner dl.footer_link_list {
        display: table-cell;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 75px;
        width: 25%; }
        footer .content .content_inner dl.footer_link_list dt {
          position: relative;
          margin-bottom: 40px;
          padding-bottom: 20px; }
          footer .content .content_inner dl.footer_link_list dt i {
            display: block;
            width: 100%;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.3);
            position: absolute;
            bottom: 0; }
            footer .content .content_inner dl.footer_link_list dt i:after {
              content: "";
              display: block;
              width: 15%;
              height: 1px;
              background-color: rgba(255, 255, 255, 0.3);
              -webkit-transition: all .35s ease;
              -moz-transition: all .35s ease;
              -ms-transition: all .35s ease;
              -o-transition: all .35s ease;
              transition: all .35s ease; }
        footer .content .content_inner dl.footer_link_list dt, footer .content .content_inner dl.footer_link_list dd {
          color: white;
          line-height: 1; }
        footer .content .content_inner dl.footer_link_list dd {
          font-size: 13px; }
          footer .content .content_inner dl.footer_link_list dd li + li {
            padding-top: 25px; }
        footer .content .content_inner dl.footer_link_list a {
          display: block;
          width: 100%;
          color: #fff; }
          footer .content .content_inner dl.footer_link_list a span {
            display: block;
            width: 100%; }
          footer .content .content_inner dl.footer_link_list a:hover {
            color: rgba(255, 255, 255, 0.75); }
      footer .content .content_inner dl.footer_link_box {
        display: table-cell;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-right: 75px;
        width: 25%; }
        footer .content .content_inner dl.footer_link_box dt {
          width: 100%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          footer .content .content_inner dl.footer_link_box dt a {
            display: block;
            position: relative;
            width: 100%;
            padding: 0;
            font-size: 13px;
            text-align: center;
            color: white;
            padding: 10px;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; }
            footer .content .content_inner dl.footer_link_box dt a:after {
              content: "";
              display: block;
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              left: 0;
              border: solid 1px rgba(255, 255, 255, 0.3);
              -webkit-box-sizing: border-box;
              box-sizing: border-box;
              -webkit-transition: all .35s ease;
              -moz-transition: all .35s ease;
              -ms-transition: all .35s ease;
              -o-transition: all .35s ease;
              transition: all .35s ease; }
            footer .content .content_inner dl.footer_link_box dt a:hover {
              color: rgba(255, 255, 255, 0.75); }
            footer .content .content_inner dl.footer_link_box dt a:hover:after {
              -webkit-transform: scale(0.975);
              -moz-transform: scale(0.975);
              -ms-transform: scale(0.975);
              -o-transform: scale(0.975);
              transform: scale(0.975); }
        footer .content .content_inner dl.footer_link_box dt + dt {
          margin-top: 20px; }

.top_btn {
  width: 100%;
  height: 50px;
  background-color: #ddd;
  position: relative;
  cursor: pointer;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease; }
  .top_btn:after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: -3px 0 0 -3px;
    border-right: 1px solid #1059d3;
    border-bottom: 1px solid #1059d3;
    -webkit-transform: translate(0, 0) rotate(-135deg);
    -moz-transform: translate(0, 0) rotate(-135deg);
    -ms-transform: translate(0, 0) rotate(-135deg);
    -o-transform: translate(0, 0) rotate(-135deg);
    transform: translate(0, 0) rotate(-135deg);
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
  .top_btn:hover {
    background-color: #fafafa; }
    .top_btn:hover:after {
      -webkit-transform: translate(0, -25%) rotate(-135deg);
      -moz-transform: translate(0, -25%) rotate(-135deg);
      -ms-transform: translate(0, -25%) rotate(-135deg);
      -o-transform: translate(0, -25%) rotate(-135deg);
      transform: translate(0, -25%) rotate(-135deg); }

.link_box {
  text-align: center; }
  .link_box ul {
    display: table;
    width: 100%;
    max-width: 1400px;
    margin: auto; }
  .link_box li {
    display: table-cell;
    width: 25%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .link_box li a {
      display: block;
      width: 100%;
      height: 100%;
      border: solid 1px #ddd;
      padding: 20px 0;
      background-color: #ffffff; }

.footer_link {
  margin-bottom: 10px;
  padding-left: 40px; }
  .footer_link ul li {
    float: left;
    padding: 0 20px;
    font-size: 13px; }
    .footer_link ul li:first-child {
      padding-left: 0; }
    .footer_link ul li + li {
      border-left: solid 1px #ddd; }

.footer_content_end {
  background-color: #fafafa;
  position: relative;
  padding-top: 20px; }
  .footer_content_end .jiffa {
    position: absolute;
    right: 40px;
    width: 60px;
    display: block;
    top: 10px; }

.copyright {
  width: 100%;
  padding: 10px 40px;
  font-size: 11px;
  font-weight: 100;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: 0.1em; }

@media all and (max-width: 768px) {
  footer {
    width: 100%;
    background-color: #fafafa; }
    footer .content {
      width: 100%;
      background-color: #224072;
      padding-top: 20vw;
      padding-bottom: 20vw;
      letter-spacing: 0.1em; }
      footer .content h2 {
        width: 36vw;
        max-width: auto;
        margin: auto;
        margin-bottom: 10vw; }
      footer .content .content_inner {
        display: block;
        width: 100%;
        max-width: 1400px;
        margin: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: 0;
        padding: 0 10vw; }
        footer .content .content_inner dl.footer_link_list {
          display: block;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding-right: 0;
          padding-bottom: 20vw;
          width: 100%; }
          footer .content .content_inner dl.footer_link_list dt {
            position: relative;
            margin-bottom: 40px;
            padding-bottom: 20px; }
            footer .content .content_inner dl.footer_link_list dt i {
              display: block;
              width: 100%;
              height: 1px;
              background-color: rgba(255, 255, 255, 0.3);
              position: absolute;
              bottom: 0; }
              footer .content .content_inner dl.footer_link_list dt i:after {
                content: "";
                display: block;
                width: 15%;
                height: 1px;
                background-color: rgba(255, 255, 255, 0.3);
                -webkit-transition: all .35s ease;
                -moz-transition: all .35s ease;
                -ms-transition: all .35s ease;
                -o-transition: all .35s ease;
                transition: all .35s ease; }
          footer .content .content_inner dl.footer_link_list dt, footer .content .content_inner dl.footer_link_list dd {
            color: white;
            line-height: 1; }
          footer .content .content_inner dl.footer_link_list dd {
            font-size: 13px; }
            footer .content .content_inner dl.footer_link_list dd li + li {
              padding-top: 25px; }
          footer .content .content_inner dl.footer_link_list a {
            display: block;
            width: 100%; }
            footer .content .content_inner dl.footer_link_list a span {
              display: block;
              width: 100%; }
            footer .content .content_inner dl.footer_link_list a:hover {
              color: rgba(255, 255, 255, 0.75); }
        footer .content .content_inner dl.footer_link_box {
          display: block;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding-right: 0;
          width: 100%; }
          footer .content .content_inner dl.footer_link_box dt {
            width: 100%;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; }
            footer .content .content_inner dl.footer_link_box dt a {
              display: block;
              position: relative;
              width: 100%;
              padding: 0;
              font-size: 13px;
              text-align: center;
              color: white;
              padding: 10px;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
              footer .content .content_inner dl.footer_link_box dt a:after {
                content: "";
                display: block;
                position: absolute;
                width: 100%;
                height: 100%;
                top: 0;
                left: 0;
                border: solid 1px rgba(255, 255, 255, 0.3);
                -webkit-box-sizing: border-box;
                box-sizing: border-box;
                -webkit-transition: all .35s ease;
                -moz-transition: all .35s ease;
                -ms-transition: all .35s ease;
                -o-transition: all .35s ease;
                transition: all .35s ease; }
              footer .content .content_inner dl.footer_link_box dt a:hover {
                color: rgba(255, 255, 255, 0.75); }
              footer .content .content_inner dl.footer_link_box dt a:hover:after {
                -webkit-transform: scale(0.975);
                -moz-transform: scale(0.975);
                -ms-transform: scale(0.975);
                -o-transform: scale(0.975);
                transform: scale(0.975); }
          footer .content .content_inner dl.footer_link_box dt + dt {
            margin-top: 20px; }
      footer .content .footer_content_end {
        background-color: #fafafa;
        position: relative;
        padding-top: 20px; }
        footer .content .footer_content_end .jiffa {
          position: absolute;
          right: 40px;
          width: 60px;
          display: block;
          top: 10px; }
      footer .content .copyright {
        width: 100%;
        padding: 10px 40px;
        font-size: 11px;
        font-weight: 100;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        letter-spacing: 0.1em; }
  .footer_content_end {
    background-color: #fafafa;
    position: relative;
    padding-top: 0; }
    .footer_content_end .jiffa {
      position: absolute;
      right: 40px;
      width: 15vw;
      display: block;
      top: 7vw;
      right: 5vw; }
  .top_btn {
    width: 100%;
    height: 50px;
    background-color: #ddd;
    margin-bottom: 0;
    position: relative;
    cursor: pointer;
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    .top_btn:after {
      position: absolute;
      top: 50%;
      left: 50%;
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      margin: -3px 0 0 0;
      border-right: 1px solid #1059d3;
      border-bottom: 1px solid #1059d3;
      -webkit-transform: translate(0, 0) rotate(-135deg);
      -moz-transform: translate(0, 0) rotate(-135deg);
      -ms-transform: translate(0, 0) rotate(-135deg);
      -o-transform: translate(0, 0) rotate(-135deg);
      transform: translate(0, 0) rotate(-135deg);
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
    .top_btn:hover {
      background-color: #fafafa; }
      .top_btn:hover:after {
        -webkit-transform: translate(0, -25%) rotate(-135deg);
        -moz-transform: translate(0, -25%) rotate(-135deg);
        -ms-transform: translate(0, -25%) rotate(-135deg);
        -o-transform: translate(0, -25%) rotate(-135deg);
        transform: translate(0, -25%) rotate(-135deg); }
  .link_box {
    text-align: center; }
    .link_box ul {
      display: table;
      width: 100%;
      max-width: 1400px;
      margin: auto; }
    .link_box li {
      display: table-cell;
      width: 25%;
      padding: 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .link_box li a {
        display: block;
        width: 100%;
        height: 100%;
        border: solid 1px #ddd;
        padding: 20px 0;
        background-color: #ffffff; }
  .footer_link {
    margin-bottom: 20px;
    padding-left: 0;
    padding: 0 5vw;
    padding-top: 10vw; }
    .footer_link ul {
      display: table !important; }
    .footer_link ul li {
      display: block;
      padding: 2.5vw 5vw;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%;
      border: none !important;
      float: none;
      font-size: 13px; }
      .footer_link ul li:first-child {
        padding-left: 5vw; }
  .copyright {
    border-top: solid 1px #ddd;
    width: 100%;
    padding: 10px 40px;
    font-size: 10px;
    font-weight: 100;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    letter-spacing: 0em; } }

header dl.footer_link_box {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 0;
  width: 96%;
  margin: auto;
  display: none;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  header dl.footer_link_box dt {
    width: 48%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px; }
    header dl.footer_link_box dt a {
      display: block;
      position: relative;
      width: 100%;
      padding: 0;
      font-size: 13px;
      text-align: center;
      color: white;
      padding: 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      header dl.footer_link_box dt a:after {
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border: solid 1px rgba(255, 255, 255, 0.3);
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .35s ease;
        -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease; }
      header dl.footer_link_box dt a:hover {
        color: rgba(255, 255, 255, 0.75); }
      header dl.footer_link_box dt a:hover:after {
        -webkit-transform: scale(0.975);
        -moz-transform: scale(0.975);
        -ms-transform: scale(0.975);
        -o-transform: scale(0.975);
        transform: scale(0.975); }
  header dl.footer_link_box dt + dt {
    margin-top: 0; }

@media all and (max-width: 768px) {
  header dl.footer_link_box {
    display: -webkit-flex !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; } }

/* news_ticker
------------------------------------------------------------------------------------*/
.news_ticker {
  width: 100%;
  color: #ffffff;
  -webkit-transform: translate(0, 100%);
  -moz-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%); }
  .news_ticker a {
    color: #fff; }
    @media (max-width: 769px) {
      .news_ticker a {
        color: #505050; } }
  .news_ticker:hover ul {
    background-color: rgba(255, 255, 255, 0.75); }
  .news_ticker:hover li {
    color: #505050; }
    .news_ticker:hover li a {
      color: #505050; }
      .news_ticker:hover li a span + span {
        background-color: #1059d3;
        font-size: 13px;
        color: white; }
  .news_ticker:hover h3 {
    background-color: #1059d3; }

.news_ticker.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_ticker {
  width: 100%;
  margin: auto;
  display: table;
  position: relative; }
  .news_ticker .btn {
    display: block;
    width: 50px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-color: rgba(255, 255, 255, 0.3);
    z-index: 1000;
    cursor: pointer;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    .news_ticker .btn span {
      display: none; }
    .news_ticker .btn:after {
      position: absolute;
      top: 50%;
      content: '';
      display: inline-block;
      width: 10px;
      height: 10px;
      margin: -5px 0 0 15px;
      border-right: 1px solid #1059d3;
      border-bottom: 1px solid #1059d3;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
    .news_ticker .btn:hover {
      background-color: #fafafa; }

.news_ticker > h3,
.news_ticker > ul {
  display: table-cell;
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease; }

.news_ticker > h3 {
  width: 150px;
  background-color: rgba(16, 89, 211, 0.5);
  color: #fff;
  vertical-align: middle;
  text-align: center;
  font-weight: 100;
  letter-spacing: 0.25em; }

.news_ticker > ul {
  position: relative;
  display: block;
  overflow: hidden;
  height: 60px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.1); }
  @media all and (max-width: 768px) {
    .news_ticker > ul {
      height: 80px;
      padding: 0 0; } }

.news_ticker > ul li {
  position: absolute;
  width: calc(100% - 40px);
  height: 100%;
  top: 16px;
  left: 20px;
  opacity: 0;
  cursor: pointer; }
  @media all and (max-width: 768px) {
    .news_ticker > ul li {
      margin-left: 10px;
      top: 24px; } }
  .news_ticker > ul li span {
    display: inline-block;
    margin-right: 10px; }
    .news_ticker > ul li span + span {
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease;
      padding: 2px 10px 0 10px;
      border-radius: 3px;
      background-color: rgba(255, 255, 255, 0.5);
      font-size: 13px;
      color: #1059d3; }
      @media (max-width: 769px) {
        .news_ticker > ul li span + span {
          background-color: #1059d3;
          font-size: 13px;
          color: white; } }

.news_ticker > ul li a {
  width: 100%;
  display: block; }

.news_cat {
  border-radius: 3px;
  background-color: #1059d3;
  font-size: 13px;
  color: white;
  padding: 2px 10px 0 10px; }
  @media (max-width: 769px) {
    .news_cat {
      font-size: 13px; } }

@media all and (max-width: 768px) {
  .news_ticker .btn {
    display: block;
    width: 100%;
    padding: 3vw;
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 13px;
    line-height: 1;
    top: 0;
    right: 0;
    color: #505050;
    text-align: center;
    background-color: #fafafa;
    border-bottom: solid 1px #ddd;
    z-index: 1000;
    cursor: pointer;
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    .news_ticker .btn span {
      display: block; }
    .news_ticker .btn:after {
      position: absolute;
      top: 50%;
      right: 5vw;
      content: '';
      width: 10px;
      height: 10px;
      margin: -5px 0 0 15px;
      border-right: 1px solid #1059d3;
      border-bottom: 1px solid #1059d3;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
    .news_ticker .btn:hover {
      background-color: #fafafa; }
  .news_ticker > h3 {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #1059d3;
    padding: 3vw; }
  .news_ticker > h3,
  .news_ticker > ul {
    display: block;
    font-size: 13px; }
  .news_ticker > ul {
    border-bottom: solid 1px #ddd; }
  .news_ticker > ul,
  .news_ticker > ul li {
    background-color: #fff;
    background-color: #fafafa;
    color: #505050; } }

/* localnav
------------------------------------------------------------------------------------*/
/* contents
------------------------------------------------------------------------------------*/
.contents {
  width: 100%;
  background-color: #ffffff; }
  @media (max-width: 769px) {
    .contents {
      margin: 0 auto; } }

.contents_title {
  text-align: center;
  /* padding-top: 80px; */
  padding-bottom: 20px; }
  .contents_title h2 {
    font-size: 26px;
    font-weight: 100;
    letter-spacing: 0.2em; }
    .contents_title h2 span {
      position: relative;
      display: inline-block;
      overflow: hidden; }
      .contents_title h2 span i {
        font-style: normal;
        /* display: inline-block; */
        -webkit-transition: all .35s ease;
        -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease;
        -webkit-transform: translate(0, 50%);
        -moz-transform: translate(0, 50%);
        -ms-transform: translate(0, 50%);
        -o-transform: translate(0, 50%);
        transform: translate(0, 50%);
        /* opacity: 0; */
        -webkit-transition-delay: .35s;
        -o-transition-delay: .35s;
        transition-delay: .35s; }
      .contents_title h2 span:after {
        content: "";
        display: block;
        width: 0%;
        height: 1px;
        background-color: #1059d3;
        -webkit-transition: all .35s ease;
        -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease; }
  .contents_title h2.active span i {
    font-style: normal;
    display: inline-block;
    -webkit-transform: translate(0, 0%);
    -moz-transform: translate(0, 0%);
    -ms-transform: translate(0, 0%);
    -o-transform: translate(0, 0%);
    transform: translate(0, 0%);
    opacity: 1; }
  .contents_title h2.active span:after {
    width: 100%; }

/* image_culumn
------------------------------------------------------------------------------------*/
.image1c .inner {
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  margin: auto; }
  .image1c .inner dl {
    display: table-cell;
    width: 100%; }

.image1c dl {
  padding-bottom: 80px; }

.image1c dl + dl {
  border-left: solid 1px #ffffff; }

.image1c dt {
  width: 100%;
  background-color: #999999;
  height: 25vw;
  background-size: cover;
  background-position: center center; }

.image1c dd {
  width: 100%;
  height: 100px;
  background-color: #ffffff;
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.6em; }
  .image1c dd h3 {
    font-size: 20px;
    font-weight: 100;
    margin-bottom: 20px;
    line-height: 1.1em; }

.image2c .inner {
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  margin: auto;
  padding-bottom: 80px; }
  .image2c .inner dl {
    display: table-cell;
    width: 50%; }

.image2c dl + dl {
  border-left: solid 1px #ffffff; }
  @media (max-width: 769px) {
    .image2c dl + dl {
      border: none; } }

.image2c dt {
  width: 100%;
  background-color: #999999;
  height: 25vw;
  background-size: cover;
  background-position: center center; }

.image2c dd {
  width: 100%;
  background-color: #ffffff;
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.6em; }
  .image2c dd h3 {
    font-size: 20px;
    font-weight: 100;
    margin-bottom: 20px;
    line-height: 1.1em; }

.image3c .inner {
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: table;
  width: 100%;
  margin: auto;
  padding-bottom: 80px; }
  .image3c .inner dl {
    display: table-cell;
    width: 33.33%; }

.image3c dl + dl {
  border-left: solid 1px #ffffff; }
  @media (max-width: 769px) {
    .image3c dl + dl {
      border: none; } }

.image3c dt {
  width: 100%;
  background-color: #999999;
  height: 20vw;
  background-size: cover;
  background-position: center center; }

.image3c dd {
  width: 100%;
  background-color: #ffffff;
  padding: 20px 30px 0 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.6em; }
  .image3c dd h3 {
    font-size: 20px;
    font-weight: 100;
    margin-bottom: 20px;
    line-height: 1.1em; }

.image1c,
.image2c,
.image3c,
.column {
  -webkit-transition: all .35s ease;
  -moz-transition: all .35s ease;
  -ms-transition: all .35s ease;
  -o-transition: all .35s ease;
  transition: all .35s ease; }
  .image1c dl,
  .image2c dl,
  .image3c dl,
  .column dl {
    cursor: pointer;
    overflow: hidden; }
  .image1c dt,
  .image2c dt,
  .image3c dt,
  .column dt {
    overflow: hidden;
    position: relative; }
  .image1c dt:after,
  .image2c dt:after,
  .image3c dt:after,
  .column dt:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #1059d3;
    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;
    -webkit-transform: translate(0, 10%) skewY(0deg);
    -moz-transform: translate(0, 10%) skewY(0deg);
    -ms-transform: translate(0, 10%) skewY(0deg);
    -o-transform: translate(0, 10%) skewY(0deg);
    transform: translate(0, 10%) skewY(0deg); }
  .image1c dt:before,
  .image2c dt:before,
  .image3c dt:before,
  .column dt:before {
    content: "MORE";
    line-height: 1;
    padding: 0px 0px;
    border-bottom: solid 1px rgba(255, 255, 255, 0.75);
    letter-spacing: 0.1em;
    display: inline-block;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.75);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1000;
    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;
    -webkit-transform: translate(-50%, -20%);
    -moz-transform: translate(-50%, -20%);
    -ms-transform: translate(-50%, -20%);
    -o-transform: translate(-50%, -20%);
    transform: translate(-50%, -20%);
    -webkit-transition-delay: 0.15s;
    -o-transition-delay: 0.15s;
    transition-delay: 0.15s; }
  .image1c dl:hover dt:after,
  .image2c dl:hover dt:after,
  .image3c dl:hover dt:after,
  .column dl:hover dt:after {
    opacity: 0.8;
    -webkit-transform: translate(0, 0) skewY(0deg);
    -moz-transform: translate(0, 0) skewY(0deg);
    -ms-transform: translate(0, 0) skewY(0deg);
    -o-transform: translate(0, 0) skewY(0deg);
    transform: translate(0, 0) skewY(0deg); }
  .image1c dl:hover dt:before,
  .image2c dl:hover dt:before,
  .image3c dl:hover dt:before,
  .column dl:hover dt:before {
    opacity: 1;
    padding: 10px 30px;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .image1c dl:hover dd,
  .image2c dl:hover dd,
  .image3c dl:hover dd,
  .column dl:hover dd {
    opacity: 0.75; }
  .image1c dd,
  .image2c dd,
  .image3c dd,
  .column dd {
    position: relative; }
  .image1c dt > i,
  .image1c dd > i,
  .image2c dt > i,
  .image2c dd > i,
  .image3c dt > i,
  .image3c dd > i,
  .column dt > i,
  .column dd > i {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: block;
    background-color: transparent; }
    .image1c dt > i:after,
    .image1c dd > i:after,
    .image2c dt > i:after,
    .image2c dd > i:after,
    .image3c dt > i:after,
    .image3c dd > i:after,
    .column dt > i:after,
    .column dd > i:after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: #ffffff;
      z-index: 1500;
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease;
      -webkit-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -moz-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -ms-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -o-transform: translate(0, 0) skewX(15deg) scale(1.2);
      transform: translate(0, 0) skewX(15deg) scale(1.2); }
    .image1c dt > i:before,
    .image1c dd > i:before,
    .image2c dt > i:before,
    .image2c dd > i:before,
    .image3c dt > i:before,
    .image3c dd > i:before,
    .column dt > i:before,
    .column dd > i:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: #f0f0f0;
      z-index: 1000;
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease;
      -webkit-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -moz-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -ms-transform: translate(0, 0) skewX(15deg) scale(1.2);
      -o-transform: translate(0, 0) skewX(15deg) scale(1.2);
      transform: translate(0, 0) skewX(15deg) scale(1.2);
      -webkit-transition-delay: .30s;
      -o-transition-delay: .30s;
      transition-delay: .30s; }
  .image1c dd > i:after,
  .image2c dd > i:after,
  .image3c dd > i:after,
  .column dd > i:after {
    -webkit-transition-delay: .30s;
    -o-transition-delay: .30s;
    transition-delay: .30s; }
  .image1c dd > i:before,
  .image2c dd > i:before,
  .image3c dd > i:before,
  .column dd > i:before {
    -webkit-transition-delay: .45s;
    -o-transition-delay: .45s;
    transition-delay: .45s; }
  .image1c.active dt > i:after,
  .image1c.active dd > i:after,
  .image2c.active dt > i:after,
  .image2c.active dd > i:after,
  .image3c.active dt > i:after,
  .image3c.active dd > i:after,
  .column.active dt > i:after,
  .column.active dd > i:after {
    -webkit-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -moz-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -ms-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -o-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    transform: translate(-120%, 0) skewX(15deg) scale(1.2); }
  .image1c.active dt > i:before,
  .image1c.active dd > i:before,
  .image2c.active dt > i:before,
  .image2c.active dd > i:before,
  .image3c.active dt > i:before,
  .image3c.active dd > i:before,
  .column.active dt > i:before,
  .column.active dd > i:before {
    -webkit-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -moz-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -ms-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    -o-transform: translate(-120%, 0) skewX(15deg) scale(1.2);
    transform: translate(-120%, 0) skewX(15deg) scale(1.2); }

@media all and (max-width: 768px) {
  .image2c dl,
  .image3c dl {
    padding-bottom: 20vw; }
  .image2c dt,
  .image3c dt {
    height: 50vw; }
  .image2c dd,
  .image3c dd {
    padding: 20px 6vw 0 6vw; }
  .image2c .inner,
  .image3c .inner {
    padding: 0; }
    .image2c .inner dl,
    .image3c .inner dl {
      display: block;
      width: 100%; }
  .image2c dd,
  .image3c dd {
    font-size: 13px; }
    .image2c dd h3,
    .image3c dd h3 {
      font-size: 18px; } }

/* image_text
------------------------------------------------------------------------------------*/
.image_text {
  width: 100%;
  background-color: rgba(34, 64, 114, 0.5);
  color: #ffffff;
  height: 600px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  letter-spacing: 0.25em;
  position: relative;
  background-color: rgba(34, 64, 114, 0.5); }
  @media (max-width: 769px) {
    .image_text {
      height: auto; } }
  .image_text .inner {
    padding: 80px 80px 0 80px;
    width: 40%;
    height: 100%;
    background-color: #224072;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media (max-width: 769px) {
      .image_text .inner {
        padding: 60px 40px 0 40px;
        width: 100%; } }
  .image_text h2 {
    font-size: 36px;
    letter-spacing: 0.2em;
    line-height: 1.5em;
    font-weight: 100; }
  .image_text h3 {
    font-size: 20px;
    margin-bottom: 20px; }
  .image_text p {
    margin-bottom: 40px; }

.image_text.top_consult {
  background-image: url(/img/top_bg_image.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }
  @media (max-width: 769px) {
    .image_text.top_consult {
      background-attachment: scroll; } }

.image_text.access {
  display: flex; }
  @media (max-width: 769px) {
    .image_text.access {
      display: block;
    }
  }
  .image_text.access .inner {
    /* display: table-cell; */
    width: 40%;
    height: auto;
    padding-bottom: 120px; }
    @media (max-width: 769px) {
      .image_text.access .inner {
        width: 100%;
        display: block;
        padding-bottom: 65px; } }
    .image_text.access .inner > div + div {
      padding-top: 80px; }
    .image_text.access .inner p {
      margin-bottom: 20px; }
  .image_text.access .inner.map {
    width: 60%;
    padding: 0 !important; }
    @media (max-width: 769px) {
      .image_text.access .inner.map {
        width: 100%;
        height: 50vh; }
        .image_text.access .inner.map iframe {
          vertical-align: bottom; } }

.tel-number a {
  color: #ffffff;
  text-decoration: none; }

/* .access
------------------------------------------------------------------------------------*/
/* top
------------------------------------------------------------------------------------*/
.top_business {
  padding: 90px 0 20px;
}

.top_business .column_1 dt {
  background-image: url(/img/top_image_02.jpg); }

.top_business .column_2 dt {
  background-image: url(/img/top_image_01.jpg); }

.top_business .column_3 dt {
background-image: url(/img/top_image_03.jpg); }

.top_contents .column_1 dt {
  background-image: url(/img/top_bannar_01.jpg); }

.top_contents .column_2 dt {
  background-image: url(/img/top_bannar_02.jpg); }

.top_contents .column_3 dt {
  background-image: url(/img/top_bannar_03.jpg); }

.top_concept {
  height: 650px;
  background-image: url(/img/top_worldmap.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-color: rgba(34, 64, 114, 0.5);
  color: #ffffff; }
  .top_concept .inner {
    width: 50%;
    padding: 80px 80px 0 80px; }
  .top_concept h1 {
    width: 400px;
    margin-bottom: 20px;
    margin-left: -5px; }
    .top_concept h1 object {
      width: 100%; }
  .top_concept h2 {
    width: 150px;
    margin-bottom: 40px; }
    .top_concept h2 object {
      width: 100%; }
  .top_concept p {
    line-height: 2.4em;
    margin-bottom: 40px; }

@media all and (max-width: 768px) {
  .top_concept {
    height: 170vw;
    background-image: url(/img/top_worldmap.jpg);
    background-repeat: no-repeat;
    background-color: rgba(34, 64, 114, 0.5);
    color: #ffffff; }
    .top_concept .inner {
      width: 100%;
      padding: 20vw 10vw;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .top_concept h1 {
      width: 60vw;
      margin-bottom: 5vw;
      margin-left: 0; }
      .top_concept h1 object {
        width: 100%; }
    .top_concept h2 {
      width: 40vw;
      margin-bottom: 10vw; }
      .top_concept h2 object {
        width: 100%; }
    .top_concept p {
      line-height: 2.4em;
      font-size: 13px; }
  .top_consult {
    height: 170vw;
    background-size: 100% auto;
    background-repeat: no-repeat;
    letter-spacing: 0.25em;
    background-color: rgba(34, 64, 114, 0.5);
    background-image: url(/images/top_bg_image.jpg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-attachment: scroll;
    background-position: bottom center; }
    .top_consult .inner {
      padding: 20vw 10vw;
      width: 100%;
      height: auto;
      background-color: #224072;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .top_consult h2 {
      font-size: 21px;
      letter-spacing: 0.2em;
      line-height: 1.5em;
      font-weight: 100; }
    .top_consult h3 {
      font-size: 18px;
      letter-spacing: 0;
      margin-bottom: 5vw; }
    .top_consult p {
      font-size: 13px;
      margin-bottom: 10vw;
      letter-spacing: 0; } }

.schedule_txt_01 {
  font-size: 21px;
  text-align: center;
  line-height: 1.7em;
  padding: 100px 0 40px; }
  @media (max-width: 769px) {
    .schedule_txt_01 {
      font-size: 13px;
      padding: 0 0 10vw; } }

.schedule_list {
  width: 100%;
  letter-spacing: -.4em;
  padding: 0 0 110px; }
  .schedule_list li {
    display: inline-block;
    width: 33%;
    letter-spacing: initial;
    float: left; }
    @media (max-width: 769px) {
      .schedule_list li {
        width: 100%; } }
    .schedule_list li:nth-child(1) a {
      border-left: none; }
    .schedule_list li:nth-child(2) {
      padding: 0 .5%; }
      @media (max-width: 769px) {
        .schedule_list li:nth-child(2) {
          padding: 0; } }
    .schedule_list li:nth-child(3) {
      float: right; }
      .schedule_list li:nth-child(3) a {
        border-right: none; }
    .schedule_list li a {
      display: block; }
      .schedule_list li a:hover {
        opacity: .7; }
    .schedule_list li .schedule_line {
      border: 1px solid #ccc;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: block;
      padding: 16% 7%; }
      @media (max-width: 769px) {
        .schedule_list li .schedule_line {
          border-top: 1px solid #ccc;
          border-left: none;
          border-right: none;
          border-bottom: 1px solid #ccc; } }
    .schedule_list li img {
      display: block;
      margin: 0 auto;
      max-width: 203px; }
    .schedule_list li .schedule_txt {
      display: inline-block;
      margin: 4% 2% 2% 5%;
      font-size: 16px;
      color: #000;
      width: 93%; }
      @media (max-width: 769px) {
        .schedule_list li .schedule_txt {
          margin: 6% 2% 13% 5%;
          font-size: 13px; } }
    .schedule_list li i {
      background: url(/images/link_icon.png) no-repeat right center;
      background-size: contain;
      display: inline-block;
      width: 21px;
      height: 17px;
      margin-right: 5%;
      padding: 0 0 0 3%; }
      @media (max-width: 769px) {
        .schedule_list li i {
          width: 16px;
          height: 13px; } }

.dimerco_txt_01 {
  text-align: center;
  line-height: 2.5em;
  font-size: 16px; }
  @media (max-width: 769px) {
    .dimerco_txt_01 {
      line-height: 2em;
      width: 80%;
      margin: 0 auto;
      text-align: left;
      font-size: 13px; }
      .dimerco_txt_01 br {
        display: none; } }

.dimerco_sec h2 {
  color: #224072;
  font-size: 42px;
  text-align: center;
  font-weight: 100;
  letter-spacing: 0.1em;
  line-height: 1.3em; }

.dimerco_sec h3 {
  font-size: 21px;
  text-align: center;
  font-weight: 100;
  letter-spacing: 0.1em; }

.dimerco_sec h4 {
  font-size: 24px;
  text-align: center;
  font-weight: 100;
  letter-spacing: 0.1em;
  margin-bottom: 20px; }
  @media (max-width: 769px) {
    .dimerco_sec h4 {
      font-size: 18px; } }

.dimerco_sec .dimerco_img_01 {
  max-width: 964px;
  margin: 0 auto 0; }
  @media (max-width: 769px) {
    .dimerco_sec .dimerco_img_01 {
      margin-bottom: 10vw; } }

.dimerco_sec .dimerco_inner {
  max-width: 950px;
  width: 96%;
  margin: 0 auto;
  display: table; }
  @media (max-width: 769px) {
    .dimerco_sec .dimerco_inner {
      width: 80%;
      font-size: 13px; } }

.dimerco_sec#sec02 .dimerco_inner {
  border-bottom: 1px solid #ddd;
  background: url(/images/dimerco_img_02.png) no-repeat center top;
  background-size: contain;
  padding-bottom: 55px;
  margin-bottom: 55px; }
  .dimerco_sec#sec02 .dimerco_inner:last-child {
    border: none;
    background: transparent; }

.dimerco_sec dl {
  display: table-cell;
  width: 20%; }
  @media (max-width: 769px) {
    .dimerco_sec dl {
      display: block;
      width: 50%;
      float: left; } }
  .dimerco_sec dl.secound_list dd:first-child {
    margin-top: 29px; }
  .dimerco_sec dl dt {
    font-size: 18px;
    color: #224072;
    margin-bottom: 10px; }
  .dimerco_sec dl dd {
    font-size: 13px;
    margin-bottom: 5px; }

.dimerco_sec .station {
  background: #fafafa;
  padding: 2% 5%;
  width: 60%;
  margin: 0 auto 40px; }
  .dimerco_sec .station .station_txt_01 {
    font-size: 16px;
    color: #505050; }
  .dimerco_sec .station .station_txt_02 {
    display: block; }
    .dimerco_sec .station .station_txt_02 span {
      display: inline-block;
      padding-right: 20px; }

.about_sec {
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 769px) {
    .about_sec {
      background-color: #fff;
      position: relative;
      z-index: 10; } }
  .about_sec .about_sec_inner {
    width: 85%;
    margin: 0 auto;
    position: relative; }
    @media (max-width: 769px) {
      .about_sec .about_sec_inner {
        width: 100%; } }
  .about_sec#sec01 {
    margin-bottom: 224px;
    margin-top: -185px;
    padding-top: 185px; }
    @media (max-width: 769px) {
      .about_sec#sec01 {
        margin-bottom: 0;
        margin-top: -70px;
        padding-top: 70px; } }
    .about_sec#sec01 .about_txt {
      float: left;
      position: relative;
      z-index: 10; }
      @media (max-width: 769px) {
        .about_sec#sec01 .about_txt {
          width: 80%;
          padding: 15% 10%; } }
    .about_sec#sec01 .about_img {
      background: url(/images/about_img_01.jpg) no-repeat;
      background-size: cover;
      position: absolute;
      background-position: center center;
      left: 20%;
      top: 125px;
      width: 80%;
      height: 575px;
      opacity: 1;
      -webkit-transition: opacity .35s ease;
      -moz-transition: opacity .35s ease;
      -ms-transition: opacity .35s ease;
      -o-transition: opacity .35s ease;
      transition: opacity .35s ease; }
      @media (max-width: 769px) {
        .about_sec#sec01 .about_img {
          position: static;
          float: left;
          width: 100%;
          height: 50vh;
          background-position: bottom center;
          margin-top: 0 !important; } }
      .about_sec#sec01 .about_img.active {
        opacity: 1; }
  .about_sec#sec02 {
    margin-bottom: 130px;
    margin-top: -185px;
    padding-top: 185px; }
    @media (max-width: 769px) {
      .about_sec#sec02 {
        margin-bottom: 0;
        margin-top: 0;
        padding-top: 0; } }
    .about_sec#sec02 .about_txt {
      float: right;
      margin-bottom: 170px;
      position: relative;
      z-index: 10; }
      @media (max-width: 769px) {
        .about_sec#sec02 .about_txt {
          float: left;
          width: 80%;
          padding: 15% 10%;
          margin-bottom: 0; } }
    .about_sec#sec02 .about_img {
      background: url(/images/about_img_02.jpg) no-repeat;
      background-size: cover;
      margin-top: 225px;
      width: 80%;
      height: 575px;
      background-position: center center;
      position: absolute;
      opacity: 1;
      top: 0;
      -webkit-transition: opacity .35s ease;
      -moz-transition: opacity .35s ease;
      -ms-transition: opacity .35s ease;
      -o-transition: opacity .35s ease;
      transition: opacity .35s ease; }
      @media (max-width: 769px) {
        .about_sec#sec02 .about_img {
          position: static;
          float: left;
          width: 100%;
          height: 50vh;
          background-position: bottom center;
          margin-top: 0 !important; } }
      .about_sec#sec02 .about_img.active {
        opacity: 1; }
  .about_sec .about_txt {
    width: 452px;
    padding: 45px;
    position: relative;
    overflow: hidden; }
    .about_sec .about_txt h2 {
      font-size: 56px;
      line-height: 1;
      font-weight: 100;
      color: #224072;
      letter-spacing: 0.1em;
      position: relative;
      z-index: 5; }
      @media (max-width: 769px) {
        .about_sec .about_txt h2 {
          font-size: 44px; } }
    .about_sec .about_txt .about_line {
      width: 198px;
      height: 1px;
      background: #224072;
      margin: 24px 0;
      position: relative;
      z-index: 5; }
    .about_sec .about_txt h3 {
      font-size: 42px;
      line-height: 1;
      font-weight: 100;
      color: #224072;
      letter-spacing: 0.1em;
      margin: 24px 0;
      position: relative;
      z-index: 5; }
    .about_sec .about_txt h4 {
      font-size: 21px;
      line-height: 1.5;
      font-weight: 100;
      color: #505050;
      letter-spacing: 0.1em;
      margin: 24px 0;
      position: relative;
      z-index: 5; }
    .about_sec .about_txt p {
      font-size: 13px;
      line-height: 2;
      font-weight: 100;
      color: #505050;
      letter-spacing: 0.1em;
      position: relative;
      z-index: 5; }
    .about_sec .about_txt .about_bg {
      background: #fafafa;
      position: absolute;
      top: 73px;
      left: 0;
      width: 100%;
      height: 100%; }
      @media (max-width: 769px) {
        .about_sec .about_txt .about_bg {
          background: #fff; } }

.business_sec {
  margin-top: -185px;
  padding-top: 185px;
  max-width: 1800px;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 769px) {
    .business_sec {
      margin-top: 0px;
      padding-top: 0px; } }
  .business_sec h2 {
    font-size: 42px;
    line-height: 1;
    font-weight: 100;
    color: #224072;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
    opacity: 0;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .business_sec h2 {
        -webkit-transform: translate(0, 10%);
        -ms-transform: translate(0, 10%);
        transform: translate(0, 10%); } }
  @media (max-width: 769px) {
    .business_sec#sec01 h2 {
      padding: 0 0 0; } }
  .business_sec h3 {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 100;
    color: #505050;
    letter-spacing: 0.1em;
    margin: 12px 0 80px;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
    opacity: 0;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }
    @media (max-width: 769px) {
      .business_sec h3 {
        margin: 4% 0 9%; } }
  .business_sec.active h2, .business_sec.active h3 {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1; }
  .business_sec .business_sec01_inner {
    width: 90%;
    margin: 0 auto;
    position: relative; }
    @media (max-width: 769px) {
      .business_sec .business_sec01_inner {
        width: 100%; } }
    .business_sec .business_sec01_inner .business_txt {
      background: #fafafa;
      position: relative;
      z-index: 5;
      width: 450px;
      padding: 45px;
      margin: 0 0 440px; }
      @media (max-width: 769px) {
        .business_sec .business_sec01_inner .business_txt {
          width: 80%;
          padding: 0;
          background: #fff;
          margin: 0 auto 10%; } }
      .business_sec .business_sec01_inner .business_txt p {
        font-size: 13px;
        line-height: 2;
        font-weight: 100;
        color: #505050;
        letter-spacing: 0.1em; }
        .business_sec .business_sec01_inner .business_txt p a {
          color: #505050;
          text-decoration: underline; }
    .business_sec .business_sec01_inner .business_img {
      background: url(/images/business_img_01.jpg) no-repeat center center;
      background-size: cover;
      position: absolute;
      left: 20%;
      top: 50px;
      width: 80%;
      height: 575px; }
      @media (max-width: 769px) {
        .business_sec .business_sec01_inner .business_img {
          width: 100%;
          position: static;
          height: 245px; } }
      .business_sec .business_sec01_inner .business_img.active {
        opacity: 1; }
    .business_sec .business_sec01_inner .business_img_02 {
      background: url(/images/top_image_01.jpg) no-repeat center center;
      background-size: cover;
      position: absolute;
      left: 20%;
      top: 500px;
      width: 80%;
      height: 575px; }
      @media (max-width: 769px) {
        .business_sec .business_sec01_inner .business_img_02 {
          width: 100%;
          position: static;
          height: 245px; } }
      .business_sec .business_sec01_inner .business_img_02.active {
        opacity: 1; }
  .business_sec .business_sec02_inner {
    width: 90%;
    margin: 0 auto;
    position: relative; }
    @media (max-width: 769px) {
      .business_sec .business_sec02_inner {
        width: 100%; } }
    .business_sec .business_sec02_inner .business_txt {
      background: #fafafa;
      position: relative;
      z-index: 5;
      width: 450px;
      padding: 45px;
      margin: 0 0 440px;
      float: right; }
      @media (max-width: 769px) {
        .business_sec .business_sec02_inner .business_txt {
          width: 80%;
          padding: 0;
          background: #fff;
          margin: 0 auto 10%;
          float: none; } }
      .business_sec .business_sec02_inner .business_txt p {
        font-size: 13px;
        line-height: 2;
        font-weight: 100;
        color: #505050;
        letter-spacing: 0.1em; }
    .business_sec .business_sec02_inner .business_img {
      background: url(/images/business_img_02.jpg) no-repeat center center;
      background-size: cover;
      position: absolute;
      top: 50px;
      width: 80%;
      height: 575px;
      -webkit-transition: opacity .35s ease;
      -moz-transition: opacity .35s ease;
      -ms-transition: opacity .35s ease;
      -o-transition: opacity .35s ease;
      transition: opacity .35s ease; }
      @media (max-width: 769px) {
        .business_sec .business_sec02_inner .business_img {
          width: 100%;
          position: static;
          height: 245px; } }
      .business_sec .business_sec02_inner .business_img.active {
        opacity: 1; }
  .business_sec h4 {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 100;
    color: #224072;
    letter-spacing: 0.1em;
    margin: 12px 0;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .business_sec h4 {
        margin: 9% auto 5%;
        width: 90%;
        font-size: 18px; } }
    .business_sec h4.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
  .business_sec .subtxt {
    font-size: 15px;
    line-height: 1.5;
    font-weight: 100;
    color: #505050;
    letter-spacing: 0.1em;
    margin: 12px auto 70px;
    width: 64.29%;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .business_sec .subtxt {
        width: 80%;
        margin: 4% auto 10%;
        font-size: 13px; } }
    .business_sec .subtxt.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
  .business_sec h5 {
    font-size: 16px;
    font-weight: 100;
    color: #505050;
    letter-spacing: 0.1em;
    margin: 0 auto 70px;
    position: relative;
    z-index: 5;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 64.29%;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .business_sec h5 {
        width: 80%;
        margin: 4% auto 7%; } }
    .business_sec h5:before, .business_sec h5:after {
      content: "";
      -webkit-box-flex: 1;
      -ms-flex-positive: 1;
      flex-grow: 1;
      height: 1px;
      background: #ccc;
      display: block; }
    .business_sec h5:before {
      margin-right: 20px; }
    .business_sec h5:after {
      margin-left: 20px; }
    .business_sec h5.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
  .business_sec .business_sample {
    width: 64.29%;
    margin: 40px auto 70px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media (max-width: 769px) {
      .business_sec .business_sample {
        width: 80%;
        margin: 4% auto 4%;
        font-size: 13px; }
        .business_sec .business_sample.sample_sp {
          display: -webkit-box !important;
          display: -ms-flexbox !important;
          display: flex !important; }
        .business_sec .business_sample.sample_pc {
          display: none; } }
    .business_sec .business_sample.sample_sp {
      display: none; }
    .business_sec .business_sample li {
      width: 19%;
      display: block;
      text-align: center;
      -webkit-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
      @media (max-width: 769px) {
        .business_sec .business_sample li {
          width: 28%; } }
      .business_sec .business_sample li.active {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1; }
      .business_sec .business_sample li img {
        margin-bottom: 20px;
        display: block; }
  .business_sec .business_box {
    width: 64.29%;
    margin: 40px auto 70px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media (max-width: 769px) {
      .business_sec .business_box {
        display: block;
        width: 80%;
        margin: 4% auto 4%;
        font-size: 13px; }
        .business_sec .business_box:after {
          content: "";
          display: block;
          clear: both; } }
    .business_sec .business_box li {
      width: 24%;
      display: block;
      text-align: center;
      -webkit-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
      .business_sec .business_box li.active {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1; }
      .business_sec .business_box li img {
        margin-bottom: 20px;
        display: block; }
    @media (max-width: 769px) {
      .business_sec .business_box li {
        width: 50%;
        float: left;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 1vw;
        display: block;
        text-align: center;
        -webkit-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease;
        padding-bottom: 2vw; }
        .business_sec .business_box li.active {
          -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
          transform: translate(0, 0);
          opacity: 1; }
        .business_sec .business_box li img {
          margin-bottom: 5px;
          display: block; } }
  .business_sec .business_flow {
    width: 64.29%;
    margin: 40px auto 70px;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    @media (max-width: 769px) {
      .business_sec .business_flow {
        width: 80%;
        margin: 4% auto 4%; }
        .business_sec .business_flow img.img_sp {
          display: block !important; }
        .business_sec .business_flow img.img_pc {
          display: none; } }
    .business_sec .business_flow.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
    .business_sec .business_flow img.img_sp {
      display: none; }

.business_consult_img {
  width: 60%;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  background: url(/images/business_img_03.jpg) no-repeat center center;
  background-size: cover; }
  @media (max-width: 769px) {
    .business_consult_img {
      position: static;
      width: 100%;
      height: 200px; } }

.contact_txt {
  margin-bottom: 20px; }

@media (max-width: 769px) {
  .local .image_text .inner {
    padding: 20vw 10vw;
    width: 100%;
    height: auto;
    background-color: #224072;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .local .image_text h2 {
    font-size: 21px;
    letter-spacing: 0.2em;
    line-height: 1.5em;
    font-weight: 100; }
  .local .image_text h3 {
    font-size: 18px;
    letter-spacing: 0;
    margin-bottom: 5vw; }
  .local .image_text p {
    font-size: 13px;
    margin-bottom: 10vw;
    letter-spacing: 0; } }

.recruit_local {
  padding-top: 80px; }
  @media (max-width: 769px) {
    .recruit_local {
      padding-top: 0; } }
  .recruit_local .recruit_sec {
    border-bottom: 1px solid #ccc;
    padding: 57px 0;
    width: 64.29%;
    max-width: 900px;
    margin: 0 auto; }
    @media (max-width: 769px) {
      .recruit_local .recruit_sec {
        width: 80%;
        padding: 0 0;
        font-size: 13px;
        padding-bottom: 10vw; } }
    .recruit_local .recruit_sec.recruit_none_sec {
      border-bottom: none; }
    .recruit_local .recruit_sec .recruit_none {
      text-align: center;
      font-size: 18px;
      margin: 20px 0 0; }
      @media (max-width: 769px) {
        .recruit_local .recruit_sec .recruit_none {
          margin: 50px 0 20vw; } }
  .recruit_local h2 {
    font-size: 42px;
    line-height: 1;
    font-weight: 100;
    color: #224072;
    letter-spacing: 0.1em;
    margin: 12px 0;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }
    .recruit_local h2.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
  .recruit_local h3 {
    font-size: 21px;
    line-height: 1.5;
    font-weight: 100;
    color: #505050;
    letter-spacing: 0.1em;
    margin: 12px 0 0;
    position: relative;
    z-index: 5;
    text-align: center;
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
    opacity: 0;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s; }
    .recruit_local h3.active {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      opacity: 1; }
  .recruit_local h4 {
    color: #214072;
    font-size: 18px;
    margin-bottom: 6px; }
    .recruit_local h4:nth-child(n+1) {
      padding-top: 57px; }
    @media (max-width: 769px) {
      .recruit_local h4 {
        font-size: 18px; } }
  .recruit_local p {
    font-size: 15px; }
    .recruit_local p span {
      font-size: 13px; }
    @media (max-width: 769px) {
      .recruit_local p {
        font-size: 13px; }
        .recruit_local p span {
          font-size: 10px; } }
  .recruit_local .contact {
    padding: 57px 0 115px;
    text-align: center; }
  .recruit_local .contact_btn {
    background-color: #1059d3;
    display: inline-block;
    height: 55px;
    font-size: 13px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    width: 222px;
    text-align: left;
    margin-top: 24px; }
    .recruit_local .contact_btn a {
      padding: 16px 22px;
      color: #fff;
      display: block;
      -webkit-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
      @media (max-width: 769px) {
        .recruit_local .contact_btn a span {
          font-size: 13px; } }
      .recruit_local .contact_btn a:hover {
        opacity: .6; }
        .recruit_local .contact_btn a:hover span:after {
          right: 15px; }
    .recruit_local .contact_btn.top_btn_p {
      width: 165px; }
  .recruit_local .contact_btn span:after {
    content: '';
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: -4px 0 0 91px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 26px;
    right: 21px;
    -webkit-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease; }

.inquiry_sec_01 {
  border-bottom: 1px solid #ccc;
  padding: 2px 0 25px;
  width: 64.29%;
  max-width: 900px;
  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: #505050;
    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 #ccc;
  padding: 57px 0;
  width: 64.29%;
  max-width: 900px;
  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: 64.29%;
  max-width: 900px;
  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: #505050;
    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 #ccc;
    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: 50%; }
  @media (max-width: 769px) {
    .inquiry_form_txt_02 {
      display: block;
      width: 100%;
      float: none;
      margin: 0 0 15px; } }
  .inquiry_form_txt_02 input {
    border-radius: 6px;
    border: 1px solid #ccc;
    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_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;
  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: #0f59d2;
    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: #505050;
      background-color: #fafafa; }
  .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: #1059d3;
    -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: 64.29%;
  max-width: 900px;
  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; }

.news_local {
  color: #505050; }
  .news_local .news_sec {
    border-bottom: 1px solid #ccc;
    padding: 57px 0;
    width: 64.29%;
    max-width: 900px;
    margin: 0 auto; }
    @media (max-width: 769px) {
      .news_local .news_sec {
        width: 80%;
        padding: 12% 0;
        font-size: 13px; } }
    .news_local .news_sec h2 {
      font-size: 24px; }
    .news_local .news_sec .news_time {
      font-size: 15px;
      margin-top: 13px; }
    .news_local .news_sec h3 {
      font-size: 18px;
      color: #214072; }
    .news_local .news_sec .news_txt {
      margin: 17px 0 54px; }
      .news_local .news_sec .news_txt:last-child {
        margin: 17px 0 0; }
  .news_local .news_sec_03 {
    padding: 0 0 57px;
    width: 64.29%;
    max-width: 900px;
    margin: 0 auto; }
    @media (max-width: 769px) {
      .news_local .news_sec_03 {
        width: 80%;
        padding: 12% 0;
        font-size: 13px; } }
    .news_local .news_sec_03 .news_time {
      font-size: 15px;
      font-weight: bold;
      display: inline-block; }
    .news_local .news_sec_03 .news_cat {
      font-size: 15px;
      display: inline-block;
      margin-left: 20px; }
      @media (max-width: 769px) {
        .news_local .news_sec_03 .news_cat {
          margin-left: 0px; } }
    .news_local .news_sec_03 .news_ttl {
      font-size: 15px;
      display: inline-block;
      margin-left: 20px; }
      @media (max-width: 769px) {
        .news_local .news_sec_03 .news_ttl {
          margin-left: 0px; } }
    .news_local .news_sec_03 h2 {
      color: #214072;
      font-size: 36px;
      border-top: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      padding: 80px 0 24px;
      margin: 57px 0 57px; }
      .news_local .news_sec_03 h2:first-child {
        border-top: none;
        margin: 0 0 57px;
        padding: 0 0 24px; }
      .news_local .news_sec_03 h2 span {
        font-size: 21px; }
    .news_local .news_sec_03 .post_list {
      border-bottom: 1px solid #ccc; }
    .news_local .news_sec_03 .post_list a:hover {
      opacity: .7; }
    .news_local .news_sec_03 .post_list:nth-child(n+1) {
      margin-top: 31px;
      padding-bottom: 31px; }
    .news_local .news_sec_03 .post_list:last-child {
      border-bottom: 1px solid #ccc; }
  .news_local .news_sec_04 {
    padding: 0 0 57px;
    width: 64.29%;
    max-width: 900px;
    margin: 0 auto; }
    .news_local .news_sec_04 .screen-reader-text {
      display: none; }
    .news_local .news_sec_04 .nav-links {
      text-align: center; }
    .news_local .news_sec_04 .page-numbers {
      padding: 10px;
      height: 15px;
      width: 15px;
      display: inline-block;
      text-align: center;
      line-height: 1em; }
      .news_local .news_sec_04 .page-numbers.current {
        background: #eee; }

.entry-footer {
  display: none; }

.recruit_local p.provacy_txt {
  width: 75%;
  margin: 0 auto;
  text-align: center;
  font-size: 15px; }
  @media (max-width: 769px) {
    .recruit_local p.provacy_txt {
      font-size: 13px;
      width: 100%; } }

.sitemap_sec {
  width: 100%;
  max-width: 1000px;
  padding: 118px 0 83px;
  margin: 0 auto; }
  @media (max-width: 769px) {
    .sitemap_sec {
      padding: 20% 0 5%; } }
  .sitemap_sec dl {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media (max-width: 769px) {
      .sitemap_sec dl {
        width: 80%;
        display: block;
        margin: 0 auto; } }
  .sitemap_sec .menu_block {
    width: 30%; }
    @media (max-width: 769px) {
      .sitemap_sec .menu_block {
        width: 100%; } }
  .sitemap_sec dt {
    font-size: 15px;
    margin-bottom: 32px;
    position: relative;
    overflow: hidden;
    padding: .3em;
    font-weight: bold;
    padding-bottom: 16px; }
    .sitemap_sec dt::before, .sitemap_sec dt::after {
      content: "";
      position: absolute;
      bottom: 0; }
    .sitemap_sec dt:before {
      border-bottom: 1px solid #1059d3;
      width: 30px;
      z-index: 10;
      left: 0; }
    .sitemap_sec dt:after {
      border-bottom: 1px solid #ccc;
      width: 100%;
      left: 0; }
  .sitemap_sec dd {
    font-size: 13px;
    margin-bottom: 24px;
    position: relative; }
    .sitemap_sec dd a {
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease;
      display: block; }
    .sitemap_sec dd a:after {
      content: '';
      position: absolute;
      top: 10px;
      left: 170px;
      width: 6px;
      height: 6px;
      margin: -4px 0 0 15px;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
      @media (max-width: 769px) {
        .sitemap_sec dd a:after {
          right: 10px;
          left: auto; } }
    .sitemap_sec dd a:hover {
      opacity: .7; }
      .sitemap_sec dd a:hover:after {
        left: 175px; }
        @media (max-width: 769px) {
          .sitemap_sec dd a:hover:after {
            right: 0px; } }

.sitemap_sec_02 {
  width: 100%;
  max-width: 1000px;
  padding: 0 0 107px;
  margin: 0 auto; }
  .sitemap_sec_02 ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media (max-width: 769px) {
      .sitemap_sec_02 ul {
        display: block;
        width: 90%;
        margin: 0 auto; } }
    .sitemap_sec_02 ul li {
      width: 19%;
      text-align: center; }
      @media (max-width: 769px) {
        .sitemap_sec_02 ul li {
          width: 100%;
          margin: 6% 0 0; } }
      .sitemap_sec_02 ul li a {
        -webkit-transition: all .35s ease;
        -moz-transition: all .35s ease;
        -ms-transition: all .35s ease;
        -o-transition: all .35s ease;
        transition: all .35s ease;
        display: block;
        position: relative;
        width: 100%;
        padding: 0;
        font-size: 13px;
        text-align: center;
        padding: 12px 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media (max-width: 769px) {
          .sitemap_sec_02 ul li a {
            padding: 5% 0; } }
        .sitemap_sec_02 ul li a:after {
          content: "";
          display: block;
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: 0;
          border: solid 1px rgba(221, 221, 221, 0.8);
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          -webkit-transition: all .35s ease;
          -moz-transition: all .35s ease;
          -ms-transition: all .35s ease;
          -o-transition: all .35s ease;
          transition: all .35s ease; }
        .sitemap_sec_02 ul li a:hover {
          opacity: .7; }
          .sitemap_sec_02 ul li a:hover:after {
            -webkit-transform: scale(0.955);
            -moz-transform: scale(0.955);
            -ms-transform: scale(0.955);
            -o-transform: scale(0.955);
            transform: scale(0.955); }

.terms_list {
  width: 100%;
  margin: auto;
  max-width: 1400px;
  padding: 0 37px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 120px; }
  .terms_list .text_blb {
    font-weight: bold;
    color: #224072;
    font-size: 18px; }
  .terms_list > dl {
    width: 100%;
    display: table; }
    @media (max-width: 769px) {
      .terms_list > dl {
        display: block; } }
  .terms_list > dl {
    border-bottom: solid 1px #ddd; }
  .terms_list > dl + .head {
    margin-top: 80px;
    border-top: solid 1px #ddd; }
  @media (max-width: 769px) {
    .terms_list .head dt {
      background-color: #1059d3;
      color: #fff; }
      .terms_list .head dt .gg {
        color: #fff; } }
  .terms_list > dl > dt,
  .terms_list dl > dd {
    display: table-cell;
    padding: 32px 20px; }
    @media (max-width: 769px) {
      .terms_list > dl > dt,
      .terms_list dl > dd {
        display: block;
        padding: 20px 20px; } }
  .terms_list > dl > dt {
    width: 20%;
    font-weight: bold;
    color: #224072;
    font-size: 18px;
    background-color: #fafafa;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media (max-width: 769px) {
      .terms_list > dl > dt {
        width: 100%; } }
    .terms_list > dl > dt .gg {
      float: right;
      font-size: 15px;
      color: #224072;
      -webkit-transition: all .35s ease;
      -moz-transition: all .35s ease;
      -ms-transition: all .35s ease;
      -o-transition: all .35s ease;
      transition: all .35s ease; }
      .terms_list > dl > dt .gg:hover {
        opacity: 0.5; }
  .terms_list > dl > dd {
    width: 80%;
    padding-left: 20px; }

.terms_nav {
  width: 100%;
  margin: auto;
  max-width: 1400px;
  padding: 0 37px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 120px; }
  .terms_nav .p1 {
    font-weight: bold;
    color: #224072;
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px; }

.entry-content {
  width: 100%; }
  .entry-content + .p1 {
    margin-top: 40px; }
  .entry-content:after {
    content: "";
    display: block;
    clear: both; }
  .entry-content .a {
    -webkit-transition: all .35s ease;
    -moz-transition: all .35s ease;
    -ms-transition: all .35s ease;
    -o-transition: all .35s ease;
    transition: all .35s ease;
    display: block; }
    .entry-content .a:hover {
      opacity: 0.5; }
    @media (max-width: 769px) {
      .entry-content .a {
        width: 20%; } }
  .entry-content a:nth-child(10n) {
    border-right: solid 1px #ddd; }
    @media (max-width: 769px) {
      .entry-content a:nth-child(10n) {
        border-right: none; } }
  @media (max-width: 769px) {
    .entry-content a:nth-child(5n) {
      border-right: solid 1px #ddd; } }


      .mv {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.mv-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
}

.mv-inner {
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
}

.mv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4); /* 暗くする */
  z-index: 1;
}


/* 上のMEOだけフル幅 */
.column_full {
  width: 100%;
  margin-bottom: 40px;
}

/* 下2つ並べる */
.service-flex {
  display: flex;
  gap: 30px;
}

.service-flex .column {
  width: 50%;
}

/* 少し強調（MEOだけ） */
.column_full dd {
  background: #1059d3;
  color: #fff;
  padding: 40px;
}

.column_full h3 {
  font-size: 28px;
  margin-bottom: 20px;
}

.column_full p {
  color: rgba(255,255,255,0.9);
}

/* SP */
@media (max-width: 769px) {
  .service-flex {
    display: block;
  }

  .service-flex .column {
    width: 100%;
  }

  .service-flex .column + .column {
    margin-top: 20px;
  }
}

.page-meo {
  background-color: #fff;
}


.mission-block {
  padding: 90px 0 110px;
  background: #f7f7f7;
}

.mission-flex {
  display: flex;
  gap: 30px;
  margin-top: 50px;
}

.mission-item {
  width: calc(33.333% - 20px);
  background: #fff;
  padding: 45px 25px 35px;
  text-align: center;
  border-top: 4px solid #1059d3;
  box-sizing: border-box;
}

.mission-num {
  display: block;
  font-size: 64px;
  line-height: 1;
  color: rgba(16, 89, 211, 0.10);
  font-weight: 700;
  margin-bottom: 20px;
}

.mission-item p {
  font-size: 16px;
  line-height: 2;
  color: #505050;
}

/* SP */
@media (max-width: 769px) {
  .mission-flex {
    display: block;
  }

  .mission-item {
    width: 100%;
    margin-bottom: 40px;
  }
}



.fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade.is-show {
  opacity: 1;
  transform: translateY(0);
}

.mission-item.fade:nth-child(1) {
  transition-delay: 0.1s;
}

.mission-item.fade:nth-child(2) {
  transition-delay: 0.25s;
}

.mission-item.fade:nth-child(3) {
  transition-delay: 0.4s;
}


.mission_inner {
  width: 98%;
  max-width: 1100px;
  margin: 0 auto;
}






.page-energy {
  background-color: #fff;
}

.page-mv {
  margin-top: 80px;
  padding: 120px 20px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.energy-mv {
  background: url('/img/energy-mv.jpg') center/cover no-repeat;
}

.energy-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}

.page-mv .inner {
  position: relative;
  z-index: 2;
}

.page-mv h1 {
  font-size: 42px;
  letter-spacing: 0.12em;
  margin-bottom: 20px;
}

.page-mv p {
  font-size: 18px;
  line-height: 1.8;
}

.page-section {
  padding: 90px 20px;
}

.page-section .inner {
  max-width: 1100px;
  margin: 0 auto;
}

.page-section .inner.narrow {
  max-width: 860px;
}

.section-gray {
  background: #f7f7f7;
}

.page-lead h3 {
  font-size: 30px;
  margin-bottom: 25px;
  line-height: 1.5;
}

.page-lead p {
  line-height: 2;
  margin-top: 15px;
}

.page-card {
  background: #fff;
  padding: 45px 40px;
  border-top: 4px solid #1059d3;
  box-sizing: border-box;
}

.page-card h3 {
  font-size: 28px;
  margin-bottom: 20px;
}

.page-card p {
  line-height: 2;
  margin-top: 12px;
}

.info-grid {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}

.info-box {
  width: calc(33.333% - 20px);
  background: #fff;
  padding: 40px 30px;
  box-sizing: border-box;
  border-top: 4px solid #1059d3;
}

.info-box h3 {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.info-box p {
  line-height: 2;
}

.info-num {
  display: block;
  font-size: 58px;
  line-height: 1;
  color: rgba(16, 89, 211, 0.10);
  font-weight: 700;
  margin-bottom: 20px;
}

.page-cta {
  padding: 90px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}

.page-cta .inner {
  max-width: 900px;
  margin: 0 auto;
}

.page-cta h2 {
  font-size: 30px;
  margin-bottom: 20px;
}

.page-cta p {
  line-height: 2;
}

.page-cta .btn {
  display: inline-block;
  margin-top: 25px;
  padding: 16px 34px;
  background: #fff;
  color: #000;
  text-decoration: none;
}

@media (max-width: 769px) {
  .page-mv {
    margin-top: 60px;
    padding: 90px 20px;
  }

  .page-mv h1 {
    font-size: 28px;
  }

  .page-mv p {
    font-size: 15px;
  }

  .page-section {
    padding: 65px 20px;
  }

  .page-lead h3,
  .page-card h3,
  .page-cta h2 {
    font-size: 24px;
  }

  .page-card {
    padding: 30px 25px;
  }

  .info-grid {
    display: block;
    margin-top: 30px;
  }

  .info-box {
    width: 100%;
    padding: 30px 25px;
  }

  .info-box + .info-box {
    margin-top: 20px;
  }
}



.page-concept {
  background-color: #fff;
}

.page-mv {
  margin-top: 80px;
  padding: 120px 20px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.concept-mv {
  background: url('/img/concept-mv.jpg') center/cover no-repeat;
}

.concept-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
}

.page-mv .inner {
  position: relative;
  z-index: 2;
}

.page-mv h1 {
  font-size: 42px;
  letter-spacing: 0.12em;
  margin-bottom: 20px;
}

.page-mv p {
  font-size: 18px;
  line-height: 1.8;
}

.page-section {
  padding: 90px 20px;
}

.page-section .inner {
  max-width: 1100px;
  margin: 0 auto;
}

.page-section .inner.narrow {
  max-width: 860px;
}

.section-gray {
  background: #f7f7f7;
}

.page-lead h3 {
  font-size: 30px;
  margin-bottom: 25px;
  line-height: 1.5;
}

.page-lead p {
  line-height: 2;
  margin-top: 15px;
}

.info-grid {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}

.info-box {
  width: calc(33.333% - 20px);
  background: #fff;
  padding: 40px 30px;
  box-sizing: border-box;
  border-top: 4px solid #1059d3;
}

.info-box h3 {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.info-box p {
  line-height: 2;
}

.info-num {
  display: block;
  font-size: 58px;
  line-height: 1;
  color: rgba(16, 89, 211, 0.10);
  font-weight: 700;
  margin-bottom: 20px;
}

.mission-flex {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}

.mission-item {
  width: calc(33.333% - 20px);
  background: #fff;
  padding: 45px 25px 35px;
  text-align: center;
  border-top: 4px solid #1059d3;
  box-sizing: border-box;
}

.mission-num {
  display: block;
  font-size: 64px;
  line-height: 1;
  color: rgba(16, 89, 211, 0.10);
  font-weight: 700;
  margin-bottom: 20px;
}

.mission-item p {
  font-size: 16px;
  line-height: 2;
  color: #505050;
}

.page-cta {
  padding: 90px 20px;
  background: #000;
  color: #fff;
  text-align: center;
}

.page-cta .inner {
  max-width: 900px;
  margin: 0 auto;
}

.page-cta h2 {
  font-size: 30px;
  margin-bottom: 20px;
}

.page-cta p {
  line-height: 2;
}

.page-cta .btn {
  display: inline-block;
  margin-top: 25px;
  padding: 16px 34px;
  background: #fff;
  color: #000;
  text-decoration: none;
}

@media (max-width: 769px) {
  .page-mv {
    margin-top: 60px;
    padding: 90px 20px;
  }

  .page-mv h1 {
    font-size: 28px;
  }

  .page-mv p {
    font-size: 15px;
  }

  .page-section {
    padding: 65px 20px;
  }

  .page-lead h3,
  .page-cta h2 {
    font-size: 24px;
  }

  .info-grid,
  .mission-flex {
    display: block;
    margin-top: 30px;
  }

  .info-box,
  .mission-item {
    width: 100%;
    padding: 30px 25px;
  }

  .info-box + .info-box,
  .mission-item + .mission-item {
    margin-top: 20px;
  }
}




.page-security {
  background-color: #fff;
}

.security-mv {
  background: url('/img/security-mv.jpg') center/cover no-repeat;
}

.security-mv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
}