@charset "UTF-8";
/*
Theme Name: YDK - 株式会社ワイ・ケー電子
Theme URI: 
Author: Nobuhito Miyazaki - OAR DESIGN
Author URI: http://wordpress.org/
Description: 
Version: 0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* CSS RESET */
html, body, div, .padder, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, acronym, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

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

fieldset, img {
  border: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, img, object, embed {
  display: block;
}

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal;
}

nav ul, nav li {
  list-style: none;
}

caption, th {
  text-align: left;
}

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

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

abbr, acronym {
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

legend {
  color: #000;
}

a, .no-touch a:hover, .no-touch a:visited:hover, a:active, .no-touch a:active:hover {
  outline: none;
}

/* a,.no-touch a:hover,.no-touch a:visited:hover,a:visited{text-decoration: none} */
a {
  outline: none;
}

a:focus, *:focus {
  outline: none;
}

input, button {
  outline: 0;
}

input::-moz-focus-inner, button::-moz-focus-inner {
  border: 0;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  color: transparent;
  font-size: 0;
  border: none;
  outline: none;
  max-width: 100%;
  width: 100%;
  height: auto;
}

/* __Basic
---------------------------------------------------------------------- */
* {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-appearance: none;
}

html {
  font-size: 62.5%;
  /* Base 10px */
  font-weight: 400;
  line-height: 1.6;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #fff;
  color: #000;
}

@-ms-viewport {
  width: device-width;
}

body {
  font-family: 'futura-pt','Helvetica W01', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.6em;
  line-height: 1.6;
  letter-spacing: 0;
  background-color: #fff;
  color: #000;
  text-align: left;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #000;
}

/*  __H
---------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

/* __Font_size
------------------------------- */
.f120 {
  font-size: 8.333vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f120 {
    font-size: 8.333vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f120 {
    font-size: 11.719vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f120 {
    font-size: 14.323vw;
  }
}

@media only screen and (max-width: 480px) {
  .f120 {
    font-size: 20.000vw;
  }
}

.f80 {
  font-size: 5.556vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f80 {
    font-size: 5.556vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f80 {
    font-size: 7.813vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f80 {
    font-size: 9.635vw;
  }
}

@media only screen and (max-width: 480px) {
  .f80 {
    font-size: 17.000vw;
  }
}

.f40 {
  font-size: 2.778vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f40 {
    font-size: 2.778vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f40 {
    font-size: 3.906vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f40 {
    font-size: 4.818vw;
  }
}

@media only screen and (max-width: 480px) {
  .f40 {
    font-size: 8.500vw;
  }
}

.f30 {
  font-size: 2.083vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f30 {
    font-size: 2.083vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f30 {
    font-size: 2.930vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f30 {
    font-size: 3.516vw;
  }
}

@media only screen and (max-width: 480px) {
  .f30 {
    font-size: 5.000vw;
  }
}

.f28 {
  font-size: 1.944vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f28 {
    font-size: 1.944vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f28 {
    font-size: 2.734vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f28 {
    font-size: 3.125vw;
  }
}

@media only screen and (max-width: 480px) {
  .f28 {
    font-size: 5.500vw;
  }
}

.f24 {
  font-size: 1.667vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f24 {
    font-size: 1.667vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f24 {
    font-size: 2.344vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f24 {
    font-size: 2.865vw;
  }
}

@media only screen and (max-width: 480px) {
  .f24 {
    font-size: 5.000vw;
  }
}

.logo.f24 {
  font-size: 1.4vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .logo.f24 {
    font-size: 1.4vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .logo.f24 {
    font-size: 2.0vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .logo.f24 {
    font-size: 2.5vw;
  }
}

@media only screen and (max-width: 480px) {
  .logo.f24 {
    font-size: 4.5vw;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .main_nav.f24,
  .footer_nav.f24 {
    font-size: 2.0vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .main_nav.f24,
  .footer_nav.f24 {
    font-size: 2.8vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .main_nav.f24,
  .footer_nav.f24 {
    font-size: 3.2vw;
  }
}

@media only screen and (max-width: 480px) {
  .main_nav.f24,
  .footer_nav.f24 {
    font-size: 6.2vw;
  }
}

@media only screen and (max-width: 480px) {
  .footer_nav.f24 {
    font-size: 6.000vw;
  }
}

.f20 {
  font-size: 1.389vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f20 {
    font-size: 1.389vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f20 {
    font-size: 2.232vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f20 {
    font-size: 2.885vw;
  }
}

@media only screen and (max-width: 480px) {
  .f20 {
    font-size: 4.000vw;
  }
}

.f18 {
  font-size: 1.250vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f18 {
    font-size: 1.250vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f18 {
    font-size: 2.009vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f18 {
    font-size: 2.724vw;
  }
}

@media only screen and (max-width: 480px) {
  .f18 {
    font-size: 4.000vw;
  }
}

.f16 {
  font-size: 1.111vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f16 {
    font-size: 1.111vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f16 {
    font-size: 1.786vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f16 {
    font-size: 2.404vw;
  }
}

@media only screen and (max-width: 480px) {
  .f16 {
    font-size: 3.500vw;
  }
}

.f14 {
  font-size: 0.972vw;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .f14 {
    font-size: 0.972vw;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .f14 {
    font-size: 1.562vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .f14 {
    font-size: 2.244vw;
  }
}

@media only screen and (max-width: 480px) {
  .f14 {
    font-size: 3.5vw;
  }
}

.f30 span {
  font-size: 80%;
}

.f24 span {
  font-size: 80%;
}

.lh11 {
  line-height: 1.1;
}

.lh12 {
  line-height: 1.2;
}

.lh13 {
  line-height: 1.3;
}

.lh14 {
  line-height: 1.4;
}

.lh15 {
  line-height: 1.5;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh20 {
  line-height: 2.0;
}

.lh21 {
  line-height: 2.1;
}

.lh22 {
  line-height: 2.2;
}

.lh23 {
  line-height: 2.3;
}

.lh24 {
  line-height: 2.4;
}

/*  __H1
------------------------------- */
/*  __H2
------------------------------- */
/*  __H3
------------------------------- */
/*  __H4
------------------------------- */
/*  __H5 H6
------------------------------- */
/*  __P Text Span
------------------------------- */
/* __A
------------------------------- */
a {
  color: #000;
  opacity: 1.0;
  text-decoration: none;
  border-bottom: none;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

a.underline {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*  __List
------------------------------- */
ul {
  list-style: none outside;
}

ol {
  list-style: decimal;
}

ul.square {
  list-style: square outside;
}

ul.circle {
  list-style: circle outside;
}

ul.disc {
  list-style: disc outside;
}

/* ----------------------------------------------------------------
__Wrap All
---------------------------------------------------------------- */
.wrap {
  width: 100%;
  margin: auto;
}

.main {
  width: 100%;
}

.home .main {
  background-attachment: fixed;
}

/*  __container
---------------------------------------------------------------------- */
.container {
  width: 100%;
  overflow: hidden;
}

/* __slider_section
------------------------------- */
.slider_section {
  width: 40%;
  height: 100vh;
  /* padding: 1.5em; */
  /* padding-right: 0; */
  object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  overscroll-behavior: contain;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .slider_section {
    height: 100svh;
    width: 100%;
    position: absolute;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .slider_section {
    height: 100svh;
    width: 100%;
    position: absolute;
  }
}

@media only screen and (max-width: 480px) {
  .slider_section {
    height: 100svh;
    width: 100%;
    position: absolute;
  }
}

.home_fix_slider,
.fix_slider,
.slick-list,
.slick-track {
  width: 100%;
  height: 100%;
}

.fix_slider_set {
  position: relative;
}

.fix_slider_image {
  width: 100%;
  height: 100%;
  background-size: cover;
}

.fix_slider_image.mobile {
  display: none;
}

.fix_slider_caption {
  position: absolute !important;
  bottom: 0;
  left: 0;
  background: #fff;
  color: #000;
  padding: 0.25em 1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .fix_slider_caption {
    left: 0;
    padding: 0.5em 1em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .fix_slider_caption {
    left: 0;
    padding: 0.5em 1em;
  }
}

@media only screen and (max-width: 480px) {
  .fix_slider_caption {
    left: 0;
    padding: 0.5em 1em;
  }
}

.home .fix_slider_caption {
  background: #000;
  color: #fff;
}

/*  __contents_section
------------------------------- */
.contents_section {
  position: relative;
  width: 60%;
  margin-left: 40%;
  z-index: 2;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .contents_section {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .contents_section {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (max-width: 480px) {
  .contents_section {
    width: 100%;
    margin-left: 0;
  }
}

.section {
  position: relative;
  padding: 6em 2em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .section {
    padding: 7em 3em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .section {
    padding: 5em 2em;
  }
}

@media only screen and (max-width: 480px) {
  .section {
    padding: 3em 1em;
  }
}

.section:nth-of-type(2) {
  padding-top: 12.0em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .section:nth-of-type(2) {
    padding-top: 14.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .section:nth-of-type(2) {
    padding-top: 10.0em;
  }
}

@media only screen and (max-width: 480px) {
  .section:nth-of-type(2) {
    padding-top: 6.0em;
  }
}

.section:last-of-type {
  padding-bottom: 12.0em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .section:last-of-type {
    padding-bottom: 14.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .section:last-of-type {
    padding-bottom: 10.0em;
  }
}

@media only screen and (max-width: 480px) {
  .section:last-of-type {
    padding-bottom: 6.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .section .text br {
    display: none;
  }
}

@media only screen and (max-width: 480px) {
  .section .text br {
    display: none;
  }
}

.box {
  padding: 0 2em;
  margin-top: 3.0em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box {
    padding: 0 3em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .box {
    padding: 0 2em;
  }
}

@media only screen and (max-width: 480px) {
  .box {
    padding: 0 1em;
    margin-top: 1.5em;
  }
}

.rep {
  margin-top: 5.0em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .rep {
    margin-top: 5.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .rep {
    margin-top: 4.0em;
  }
}

@media only screen and (max-width: 480px) {
  .rep {
    margin-top: 2.5em;
  }
}

.rep .title,
.rep .text {
  margin-top: 1.5em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .rep .title,
  .rep .text {
    margin-top: 2.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .rep .title,
  .rep .text {
    margin-top: 1.75em;
  }
}

@media only screen and (max-width: 480px) {
  .rep .title,
  .rep .text {
    margin-top: 1.5em;
  }
}

.line {
  display: flex;
  align-items: center;
}

.line::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #000;
  margin: 0 auto;
}

.home .line::after {
  background-color: #fff;
}

.line:after {
  margin-left: 10px;
}

/* __Home
---------------------------------------------------------------------- */
.home .section.contents_02 {
  background: #fff;
  padding: 0;
}

.pagelink_box {
  text-align: center;
  padding: 9em 3em;
  border-top: 1px solid #000;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .pagelink_box {
    padding: 7.5em 3em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .pagelink_box {
    padding: 6em 2em;
  }
}

@media only screen and (max-width: 480px) {
  .pagelink_box {
    padding: 6em 3em;
  }
}

.pagelink_box .pagelink_slider {
  width: 50%;
  margin: auto;
}

@media only screen and (max-width: 480px) {
  .pagelink_box .pagelink_slider {
    width: 70%;
  }
}

/* __Intoro
---------------------------------------------------------------------- */
#intro {
  position: fixed;
  width: 100vw;
  height: 100vh;
  opacity: 1;
  z-index: 10000;
}

#intro.intro-lock {
  opacity: 1 !important;
  visibility: visible !important;
}

#bg {
  position: relative;
  width: 100%;
  height: 100vh;
  /* background-size: cover; */
  background-attachment: fixed;
}

svg#line {
  overflow: visible;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: block;
}

.circuit-line,
.circuit-circle,
.circuit-rect {
  stroke: #fff;
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 2000;
  stroke-dashoffset: -2000;
  strokeDashoffset: 0;
  opacity: 1;
}

.circuit-line {
  /* filter: drop-shadow(0px 3px 10px #71f7ed); */
}

.logo-line {
  stroke: #fff;
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 2000;
  stroke-dashoffset: 2000;
  opacity: 1;
}

#logo {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 30%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #logo {
    width: 50%;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  #logo {
    width: 50%;
  }
}

@media only screen and (max-width: 480px) {
  #logo {
    width: 65%;
  }
}

/* __Hero
---------------------------------------------------------------------- */
.hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  padding: 3em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .hero {
    height: 100svh;
    padding: 3em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .hero {
    height: 100svh;
    padding: 2em;
  }
}

@media only screen and (max-width: 480px) {
  .hero {
    height: 100svh;
    padding: 1em;
  }
}

.home .hero,
.home .contents_01 {
  color: #fff;
}

.home .hero_title {
  letter-spacing: 0.1em;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .home .hero_title {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .home .hero_title {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (max-width: 480px) {
  .home .hero_title {
    width: 100%;
    margin-left: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .hero_title,
  .hero_text_ja,
  .hero_text_en {
    color: #fff;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .hero_title,
  .hero_text_ja,
  .hero_text_en {
    color: #fff;
  }
}

@media only screen and (max-width: 480px) {
  .hero_title,
  .hero_text_ja,
  .hero_text_en {
    color: #fff;
  }
}

.hero_text_ja {
  margin-bottom: 0.5em;
  margin-left: 0.2em;
}

.hero_text_en {
  margin-left: 0.2em;
}

.hero_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .hero_bg {
    height: 100svh;
    background: rgba(0, 0, 0, 0.2);
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .hero_bg {
    height: 100svh;
    background: rgba(0, 0, 0, 0.2);
  }
}

@media only screen and (max-width: 480px) {
  .hero_bg {
    height: 100svh;
    background: rgba(0, 0, 0, 0.2);
  }
}

.hero_arrow {
  width: 10px;
  position: absolute;
  bottom: 3.0em !important;
  left: 3.0em;
  animation-name: floating;
  animation-delay: 0s;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .hero_arrow {
    width: 15px;
    bottom: 3.0em !important;
    left: 4.0em;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .hero_arrow {
    width: 15px;
    bottom: 2.0em !important;
    left: 3.0em;
  }
}

@media only screen and (max-width: 480px) {
  .hero_arrow {
    width: 10px;
    bottom: 2.0em !important;
    left: 2.0em;
  }
}

@keyframes floating {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

.hero_arrow a {
  display: block;
}

.hero_arrow a svg {
  fill: none;
  stroke: #000;
  stroke-miterlimit: 10;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .hero_arrow a svg {
    stroke: #fff;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .hero_arrow a svg {
    stroke: #fff;
  }
}

@media only screen and (max-width: 480px) {
  .hero_arrow a svg {
    stroke: #fff;
  }
}

.home .hero_arrow a svg {
  stroke: #fff;
}

/* __Page__Company
---------------------------------------------------------------------- */
.overview_list,
.history_list {
  display: flex;
  flex-wrap: wrap;
  padding: 0.3em 0;
}

.overview_list .left {
  width: 5em;
  margin-right: 1em;
  vertical-align: top;
}

@media only screen and (max-width: 480px) {
  .overview_list .left {
    margin-right: 0.5em;
  }
}

.overview_list .right {
  width: calc(100% - 6em);
  vertical-align: top;
}

.access_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 2em 0;
  border-bottom: 1px solid;
}

@media only screen and (max-width: 480px) {
  .access_list {
    padding: 1.5em 0;
  }
}

.access_list .left {
  width: 30%;
}

@media only screen and (max-width: 480px) {
  .access_list .left {
    width: 100%;
    font-weight: bold;
  }
}

.access_list .left br {
  width: 30%;
}

@media only screen and (max-width: 480px) {
  .access_list .left br {
    display: none;
  }
}

.access_list .center {
  width: 40%;
}

@media only screen and (max-width: 480px) {
  .access_list .center {
    width: 100%;
    margin-top: 1.0em;
  }
}

.access_list .right {
  width: 30%;
}

@media only screen and (max-width: 480px) {
  .access_list .right {
    width: 100%;
    margin-top: 1.0em;
  }
}

.history_list .left {
  width: 6em;
  margin-right: 1em;
  vertical-align: top;
}

@media only screen and (max-width: 480px) {
  .history_list .left {
    margin-right: 0.5em;
  }
}

.history_list .right {
  width: calc(100% - 7em);
  vertical-align: top;
}

/* __Map
------------------------------------ */
.map-wrap {
  position: relative;
  height: 30vw;
  border: 1px solid #000;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .map-wrap {
    height: 55vw;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .map-wrap {
    height: 65vw;
  }
}

@media only screen and (max-width: 480px) {
  .map-wrap {
    height: 80vw;
  }
}

#map-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.gm-style-pbc {
  transition: opacity ease-in-out;
  background-color: transparent !important;
  text-align: center;
}

/* __Page__Bussines
---------------------------------------------------------------------- */
.mss_rep {
  margin: 2em 0 4em 0;
}

@media only screen and (max-width: 480px) {
  .mss_rep {
    margin: 1em 0 3em 0;
  }
}

.mss_rep:last-of-type {
  margin-bottom: 0;
}

.mss_rep .subtitle {
  margin: 1em 0.3em 0 0.3em;
}

.mss_rep .list_item {
  border-radius: 100px;
  display: inline-block;
  text-align: center;
  padding: 0.5em 1.5em;
  margin: 0.6em 0.2em;
  border: 1px solid #000;
}

@media only screen and (max-width: 480px) {
  .mss_rep .list_item {
    padding: 0.25em 1em;
    margin: 0.3em 0.1em;
  }
}

.qe_rep:last-of-type {
  margin-top: 3.0em;
  padding-top: 3.0em;
  border-top: 1px solid #000;
}

.qe_rep .list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 2.0em;
}

.qe_rep .list img {
  width: 25%;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .qe_rep .list img {
    width: 30%;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .qe_rep .list img {
    width: 30%;
  }
}

@media only screen and (max-width: 480px) {
  .qe_rep .list img {
    width: 50%;
  }
}

.qe_rep .list p {
  margin-left: 2.0em;
}

@media only screen and (max-width: 480px) {
  .qe_rep .list p {
    margin-left: 1.0em;
  }
}

/* __Page__Community
---------------------------------------------------------------------- */
.ema_set .caption,
.feature_set .caption {
  margin-top: 0.5em;
}

.ema_set_02 {
  margin-top: 2.5em;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

@media only screen and (max-width: 480px) {
  .ema_set_02 {
    margin-top: 1.5em;
  }
}

.ema_set_left {
  width: 50%;
  padding-right: 0.5em;
}

@media only screen and (max-width: 480px) {
  .ema_set_left {
    width: 100%;
    padding-right: 0;
  }
}

.ema_set_right {
  width: 50%;
  padding-left: 0.5em;
}

@media only screen and (max-width: 480px) {
  .ema_set_right {
    width: 100%;
    padding-left: 0;
    margin-top: 1.5em;
  }
}

.ema_set_03 {
  margin-top: 2.5em;
  padding-top: 1.25em;
  border-top: 1px solid #000;
}

.rra_rep .link {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.0em;
}

.rra_rep .link a {
  border-radius: 100px;
  display: inline-block;
  text-align: center;
  padding: 0.5em 1.5em;
  border: 1px solid #000;
}

.rra_rep .link a:hover {
  background-color: #000;
  color: #fff;
}

.ayase_icon {
  display: flex;
  align-items: center;
  margin-top: 1em;
}

.ayase_icon a {
  display: block;
  margin-right: 1em;
}

.ayase_icon a img {
  width: 70px;
}

/* __Page__Future
---------------------------------------------------------------------- */
.feature_set {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3.0em;
  padding-top: 1.0em;
  border: 1px solid #000;
  margin-top: 5.0em;
}

@media only screen and (max-width: 480px) {
  .feature_set {
    padding: 1.5em;
    padding-top: 0;
    margin-top: 3.0em;
  }
}

.feature_set .title {
  margin: 0;
  margin: auto;
  background-color: #fff;
  padding: 0 1em;
  display: inline-block;
  position: relative;
  top: -1.5em;
}

@media only screen and (max-width: 480px) {
  .feature_set .title {
    top: -0.75em;
  }
}

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

.feature_set .text {
  margin-top: 3em;
}

@media only screen and (max-width: 480px) {
  .feature_set .text {
    margin-top: 1.5em;
  }
}

/* __Page__&banki
---------------------------------------------------------------------- */
.andbanki_logo {
  width: 30%;
}

@media only screen and (max-width: 480px) {
  .andbanki_logo {
    width: 50%;
  }
}

/* __Page__Contact
---------------------------------------------------------------------- */
/* __Form
------------------------------ */
button, input, select, textarea {
  background-color: transparent;
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  border-style: solid;
  border-width: 0;
}

.wpcf7 {
  width: 100%;
}

.wpcf7-form p:last-of-type {
  margin-bottom: 0;
}

span.wpcf7-form-control-wrap {
  display: block;
  margin-bottom: 2em;
}

input,
textarea {
  font-weight: normal;
  width: 100%;
  padding: 0.8em;
  background-color: #fff;
  border: 1px solid #000;
}

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

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;
}

input[type="submit"] {
  width: 100%;
  padding: 1em;
  color: #fff;
  background-color: #000;
  opacity: 1.0;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

input[type="submit"]:hover {
  opacity: 0.7;
}

.wpcf7-not-valid-tip {
  font-weight: bold;
  color: #ff0000;
  margin-top: 0.25em;
}

.wpcf7 form .wpcf7-response-output {
  font-weight: bold;
  background-color: #ececec;
  padding: 1.0em;
  border: none;
  margin: 0;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border: none;
}

.wpcf7-turnstile {
  margin-bottom: 2.0em;
}

.wpcf7-spinner {
  display: inline-block;
  background-color: #000;
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin-top: 24px;
  position: relative;
}

/* __Form__Confirm
------------------------------ */
/* __Form__Complate
------------------------------ */
/*  __Nav
---------------------------------------------------------------------- */
.header_nav_container {
  margin: auto;
  pointer-events: none;
  position: fixed;
  top: 1.0em;
  right: 1.0em;
  width: 400px;
  z-index: 5;
}

@media only screen and (min-width: 1440px) {
  .header_nav_container {
    width: 25%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header_nav_container {
    top: 2.0em;
    right: 2.0em;
    width: 50%;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .header_nav_container {
    top: 2.0em;
    right: 2.0em;
    width: 50%;
  }
}

@media only screen and (max-width: 480px) {
  .header_nav_container {
    top: 1.0em;
    right: 1.0em;
    left: 1.0em;
    width: calc(100% - 2.0em);
  }
}

.header {
  padding: 1em 1.5em;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 1.5px 3.5px 3.5px rgba(0, 0, 0, 0.25);
  -webkit-perspective: 1000;
  perspective: 1000;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 40px;
  margin: auto;
  pointer-events: all;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .header {
    padding: 1em 2em;
    border-radius: 30px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .header {
    padding: 1em 2em;
    border-radius: 30px;
  }
}

@media only screen and (max-width: 480px) {
  .header {
    padding: 0.75em 1.5em;
    border-radius: 30px;
  }
}

.header_container {
  align-items: center;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

/* __logo
------------------------------ */
.logo a,
.main_nav a {
  display: block;
}

/*  __Nav__Menu icon
-------------------------------- */
.menu_button {
  cursor: pointer;
  position: relative;
  width: 30px;
  height: 30px;
}

.menu_button_line {
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: #000;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.menu_button .menu_button_line:nth-child(1) {
  top: calc(15px - 5px);
}

.menu_button .menu_button_line:nth-child(2) {
  bottom: calc(15px - 5px);
}

.active.menu_button .menu_button_line {
  top: 15px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.active.menu_button .menu_button_line:nth-of-type(2) {
  top: 15px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

/* __nav_container
------------------------------ */
.nav_container {
  display: none;
  margin-top: 25px;
  max-height: 80vh;
  overflow: auto;
  -ms-overflow-style: none;
  /* IE, Edge */
  scrollbar-width: none;
  /* Firefox */
}

.nav_container::-webkit-scrollbar {
  display: none;
}

/* Safari, Google Chrome */
/* __contact_nav
------------------------------ */
.contact_nav {
  opacity: 0;
  transition: opacity 0.5s 0s ease;
  margin: auto;
  text-align: center;
  position: fixed;
  bottom: 2.0em;
  right: 1.0em;
  z-index: 5;
  padding: 0.75em 1.5em;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 1.5px 3.5px 3.5px rgba(0, 0, 0, 0.25);
  -webkit-perspective: 1000;
  perspective: 1000;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  background: rgba(255, 255, 255, 0.7);
  border-radius: 40px;
  margin: auto;
  pointer-events: all;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .contact_nav {
    bottom: 2.0em;
    right: 2.0em;
    padding: 0.75em 2em;
    border-radius: 30px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .contact_nav {
    bottom: 2.0em;
    right: 2.0em;
    padding: 0.75em 2em;
    border-radius: 30px;
  }
}

@media only screen and (max-width: 480px) {
  .contact_nav {
    bottom: 1.0em;
    right: auto;
    left: 1.0em;
    padding: 0.75em 1.5em;
    border-radius: 30px;
  }
}

.contact_nav a {
  display: block;
}

.contact_nav.active {
  opacity: 1.0;
  display: block;
}

/* __Footer
---------------------------------------------------------------------- */
.footer {
  position: relative;
  padding: 6em 3em 3em 3em;
  background-color: #fff;
  color: #fff;
  overflow: hidden;
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .footer {
    padding: 4.5em 2em 2.5em 2em;
  }
}

@media only screen and (max-width: 480px) {
  .footer {
    padding: 3em 1em 5em 1em;
  }
}

.footer a {
  color: #fff;
}

.footer_contents {
  position: relative;
  z-index: 2;
}

.footer_top {
  border-bottom: 1px solid;
  padding-bottom: 3.0em;
  margin-bottom: 3.0em;
}

@media only screen and (max-width: 480px) {
  .footer_top {
    padding-bottom: 1.5em;
    margin-bottom: 1.5em;
  }
}

.footer_bottom {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer_bottom_left {
  width: 50%;
}

@media only screen and (max-width: 480px) {
  .footer_bottom_left {
    width: 100%;
  }
}

.footer_bottom_right {
  width: 50%;
}

@media only screen and (max-width: 480px) {
  .footer_bottom_right {
    display: none;
  }
}

.footer_image {
  width: 90%;
  height: 100%;
  background-size: cover;
  margin-left: auto;
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .footer_image {
    width: 80%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .footer_image {
    width: 70%;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .footer_image {
    width: 80%;
  }
}

.footer_overview {
  margin-bottom: 1.5em;
}

.footer_overview h1 {
  margin-bottom: 0.5em;
}

.footer_credit {
  width: 100%;
  margin-top: 4.0em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media only screen and (max-width: 480px) {
  .footer_credit {
    flex-wrap: wrap;
  }
}

.footer_cover {
  background-color: #008c4a;
  height: 5px;
  margin-top: -2px;
}

/* __Dot bg
------------------------------ */
#dot-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 101%;
  height: 101%;
  z-index: 1;
  pointer-events: none;
}

/* __Slick Slider
---------------------------------------------------------------------- */
/* Slider */
.slick-loading .slick-list {
  background: #fff url("js/slick/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("js/slick/fonts/slick.eot");
  src: url("js/slick/fonts/slick.eot?#iefix") format("embedded-opentype"), url("js/slick/fonts/slick.woff") format("woff"), url("js/slick/fonts/slick.ttf") format("truetype"), url("js/slick/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  height: 100%;
  width: 50%;
  z-index: 1;
  font-size: 0px;
  cursor: pointer;
  padding: 0;
  border: none;
  outline: none;
}

.slick-prev {
  top: 0;
  left: 0;
}

.slick-next {
  top: 0;
  right: 0;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover, .slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 0.5;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  position: absolute;
  font-size: 30px;
  line-height: 1;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .slick-prev:before,
  .slick-next:before {
    font-size: 25px;
  }
}

@media only screen and (min-width: 480px) and (max-width: 768px) {
  .slick-prev:before,
  .slick-next:before {
    font-size: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .slick-prev:before,
  .slick-next:before {
    font-size: 15px;
  }
}

.slick-prev:before {
  content: "←";
  left: 10px;
}

@media only screen and (max-width: 480px) {
  .slick-prev:before {
    left: 8px;
  }
}

.slick-next:before {
  content: "→";
  right: 10px;
}

@media only screen and (max-width: 480px) {
  .slick-next:before {
    right: 8px;
  }
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: 20px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: #ffffff;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: #ffffff;
  opacity: 0.75;
}

/* __Animation
---------------------------------------------------------------------- */
.animate p,
.animate li,
.animate .hero_title,
.animate .title,
.animate .hero_text_ja,
.animate .hero_text_en,
.animate .fix_slider,
.animate .slider,
.animate .pagelink_slider,
.animate .pagelink_title,
.animate .pagelink_text_ja {
  opacity: 0;
  position: relative;
}

.animate .hero_arrow,
.header {
  opacity: 0;
}

/* __Clearing
--------------------------------------------------------------------- */
.cf:before,
.cf:after {
  content: " ";
  display: table;
}

.cf:after {
  clear: both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
  *zoom: 1;
}
