@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Zen+Maru+Gothic&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio[controls],
canvas,
video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  font-size: 100%; /* 1 */
  overflow-y: scroll; /* 2 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -ms-text-size-adjust: 100%; /* 4 */
}

body {
  margin: 0;
}

body,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

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

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul,
ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

nav ul,
nav ol {
  /*list-style: none;*/
}

img {
  border: 0; /* 1 */
  -ms-interpolation-mode: bicubic; /* 2 */
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0; /* 1 */
  *margin-left: -7px; /* 2 */
}

button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

button,
input {
  line-height: normal; /* 1 */
  *overflow: visible; /* 2 */
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer; /* 1 */
  -webkit-appearance: button; /* 2 */
}

input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

textarea {
  overflow: auto; /* 1 */
  vertical-align: top; /* 2 */
}

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

@font-face {
  font-family: "Orkney";
  font-style: normal;
  font-weight: 300;
  src: local("Orkney"), url("../fonts/orkney/orkney-light.woff") format("woff");
}
@font-face {
  font-family: "Orkney";
  font-style: normal;
  font-weight: 500;
  src: local("Orkney"), url("../fonts/orkney/orkney-medium.woff") format("woff");
}
@font-face {
  font-family: "Orkney";
  font-style: normal;
  font-weight: 700;
  src: local("Orkney"), url("../fonts/orkney/orkney-bold.woff") format("woff");
}
html, body {
  width: 100%;
  min-height: 100%;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  font-weight: "Regular";
  text-align: left;
}
@media screen and (max-width: 1160px) {
  body {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 4.17vw;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #323232;
  font-size: 150%;
  line-height: 1.8em;
  font-weight: "Medium";
}

hr {
  display: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  margin: 0;
  padding: 0;
}

p, li, dt, dd, th, td, figcaption, time, address {
  margin: 0px;
  padding: 0px;
  font-size: 100%;
  line-height: 1.8em;
  font-weight: "Regular";
  color: #323232;
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

img {
  pointer-events: none;
}

a {
  color: #0064AF;
  text-decoration: underline;
  outline: none;
}

a:hover {
  text-decoration: none;
}

a.outline:focus {
  outline: none;
}

a:focus {
  outline: none;
}

a img {
  margin: 0px;
  padding: 0px;
  border: none;
}

button {
  outline: none;
}

ol li p,
ul li p,
ol li table tr th,
ol li table tr td,
table tr td p,
table tr td ol li,
table tr td ul li,
table tr td ol li p,
table tr td ul li p {
  font-size: 100%;
}

ol.lmnone,
ul.lmnone {
  margin: 0;
  padding: 0;
  list-style: none;
}

ol.fllist li,
ul.fllist li {
  float: left;
  list-style: none;
}

/* dl table */
dl.table1 dt,
dl.table2 dt {
  margin: 0;
  margin-right: -110px;
  float: left;
  clear: both;
  display: inline;
  width: 110px;
}

dl.table1 dd {
  margin-left: 110px;
}

dl.table1 {
  /*\*/
  min-height: 1px;
  _height: 1%;
  /* */
  /*\*/ /*/
overflow: hidden;
/**/
}

dl.table1::after {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
}

dl.table2 dt {
  width: 120px;
  margin-right: -120px;
}

dl.table2 dd {
  margin-left: 120px;
}

form {
  margin: 0;
  padding: 0;
}

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

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0 !important;
}

.pt1em {
  padding-top: 1em;
}

.pt2em {
  padding-top: 2em;
}

.pt3em {
  padding-top: 3em;
}

.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt55 {
  padding-top: 55px;
}

.pt60 {
  padding-top: 60px;
}

.pt65 {
  padding-top: 65px;
}

.pt70 {
  padding-top: 70px;
}

.pt75 {
  padding-top: 75px;
}

.pt80 {
  padding-top: 80px;
}

.pt85 {
  padding-top: 85px;
}

.pt124 {
  padding-top: 124px;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1em {
  padding-bottom: 1em;
}

.pb2em {
  padding-bottom: 2em;
}

.pb3em {
  padding-bottom: 3em;
}

.pb4em {
  padding-bottom: 4em;
}

.pb5em {
  padding-bottom: 5em;
}

.pb6em {
  padding-bottom: 6em;
}

.pb5 {
  padding-bottom: 5px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb55 {
  padding-bottom: 55px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb65 {
  padding-bottom: 65px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb75 {
  padding-bottom: 75px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb85 {
  padding-bottom: 85px;
}

.pb120 {
  padding-bottom: 120px;
}

.mt0 {
  margin-top: 0 !important;
}

.mt1em {
  margin-top: 1em;
}

.mt2em {
  margin-top: 2em;
}

.mt3em {
  margin-top: 3em;
}

.mt4em {
  margin-top: 4em;
}

.mt5em {
  margin-top: 5em;
}

.mt6em {
  margin-top: 6em;
}

.mt7em {
  margin-top: 7em;
}

.mt8em {
  margin-top: 8em;
}

.mt9em {
  margin-top: 9em;
}

.mt5 {
  margin-top: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mt120 {
  margin-top: 120px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1em {
  margin-bottom: 1em;
}

.mb2em {
  margin-bottom: 2em;
}

.mb3em {
  margin-bottom: 3em;
}

.mb4em {
  margin-bottom: 4em;
}

.mb5em {
  margin-bottom: 5em;
}

.mb6em {
  margin-bottom: 6em;
}

.mb7em {
  margin-bottom: 7em;
}

.mb8em {
  margin-bottom: 8em;
}

.mb9em {
  margin-bottom: 9em;
}

.mb7 {
  margin-bottom: 7px;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb120 {
  margin-bottom: 120px;
}

.pl1em {
  padding-left: 1em;
}

.ml1em {
  margin-left: 1em;
}

.rp0 {
  padding-right: 0;
}

.rm0 {
  margin-right: 0;
}

.pr10 {
  padding-right: 10px;
}

.pr20 {
  padding-right: 20px;
}

.pr35 {
  padding-right: 35px;
}

.pr50 {
  padding-right: 50px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl340 {
  padding-left: 340px;
}

.bb5 {
  border-bottom: 5px solid #78BE00;
}

.bt5 {
  border-top: 5px solid #78BE00;
  padding-top: 70px;
}

.f11 {
  font-size: 11px !important;
}

.f12 {
  font-size: 12px !important;
}

.red {
  color: red;
}

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

.text-rightb {
  font-weight: bold;
  text-align: right;
}

.tcenter {
  text-align: center;
}

body {
  _zoom: 0.7;
}

.pcv {
  display: block;
}
@media screen and (max-width: 750px) {
  .pcv {
    display: none !important;
  }
}

.pcvin {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .pcvin {
    display: none;
  }
}

.spv {
  display: none;
}
@media screen and (max-width: 750px) {
  .spv {
    display: block;
  }
}

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

.inview.fade {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.fade3 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.fade3.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.fade4 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.fade4.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right2 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.right2.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.right3 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.right3.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.inview.blfadeRL {
  opacity: 0;
  -webkit-transform: translateX(80px);
          transform: translateX(80px);
  -webkit-filter: blur(50px);
          filter: blur(50px);
  -webkit-transition: 0.7ms;
  transition: 0.7ms;
}

.inview.blfadeRL.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.blfadeDU {
  opacity: 0;
  -webkit-transform: translateY(120px);
          transform: translateY(120px);
  -webkit-filter: blur(50px);
          filter: blur(50px);
  -webkit-transition: 0.7ms;
  transition: 0.7ms;
}

.inview.blfadeDU.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.blfadeUD {
  opacity: 0;
  -webkit-transform: translateY(-200px);
          transform: translateY(-200px);
  -webkit-filter: blur(50px);
          filter: blur(50px);
  -webkit-transition: 0.7ms;
  transition: 0.7ms;
}

.inview.blfadeUD.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.glow {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.glow.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
  -webkit-animation: yuraGlow 3s linear infinite;
          animation: yuraGlow 3s linear infinite;
}

@-webkit-keyframes yuraGlow {
  0%, 100% {
    -webkit-filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8));
            filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8));
  }
  50% {
    -webkit-filter: none;
            filter: none;
  }
}

@keyframes yuraGlow {
  0%, 100% {
    -webkit-filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8));
            filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.8));
  }
  50% {
    -webkit-filter: none;
            filter: none;
  }
}
#loading {
  width: 100%;
  height: 100%;
  background-color: #FFF;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 999;
}

.loader {
  width: 60px;
  height: 60px;
  position: fixed;
  z-index: 101;
  top: 50%;
  left: 50%;
  margin: -30px 0 0 -30px;
}

.loading_logo {
  width: 260px;
  opacity: 0;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.loading_logo.view {
  opacity: 1;
}

.youtube_wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube_wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  background: #FFF;
  width: 100%;
  height: 100px;
  padding: 0 25px 0 45px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 8;
}
header .logo {
  width: 245px;
  line-height: 0;
  font-size: 0;
}
header .logo .logow {
  display: none;
}
header .logo a {
  display: block;
}
header .gnav {
  z-index: 2;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header .gnav .contact_lang,
header .gnav .menu_logo {
  display: none;
}
header .gnav .nav_item {
  position: relative;
  display: inline-block;
  font-size: 15px;
  margin: 0 1em;
  font-weight: bold;
}
header .gnav .nav_item::after {
  position: absolute;
  left: 0;
  top: 1.7em;
  content: "";
  width: 100%;
  height: 1px;
  background: #0064AF;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.2s;
  transition: -webkit-transform 0.2s;
  transition: transform 0.2s;
  transition: transform 0.2s, -webkit-transform 0.2s;
}
header .gnav .nav_item:hover a {
  color: #0064AF;
}
header .gnav .nav_item:hover.nav_parent .nav_parent_link {
  color: #0064AF;
}
header .gnav .nav_item:hover:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
header .gnav .nav_item:hover {
  /*
  .sub_menu{
      visibility: inherit;
      opacity: 1;
  }
  */
}
header .gnav .nav_item a {
  text-decoration: none;
  color: #323232;
}
header .gnav .nav_item.nav_parent {
  position: relative;
  text-decoration: none;
}
header .gnav .nav_item.nav_parent .nav_parent_link {
  color: #323232;
  padding-bottom: 60px;
}
header .contact_lang {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header .contact_lang div {
  margin: 0 15px 0 0;
}
header .contact_lang div a {
  display: block;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  padding: 0.5em 2em;
  border-radius: 2.5em;
  background: #0064AF;
  border: 1px solid #0064AF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header .contact_lang div a:hover {
  background: #FFF;
  color: #0064AF;
}
header .contact_lang ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .contact_lang ul li {
  display: inline-block;
  width: 30px;
  height: 30px;
  font-size: 14px;
  font-weight: bold;
  line-height: 1em;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .contact_lang ul li a {
  width: 30px;
  height: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  text-decoration: none;
  color: #323232;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
header .contact_lang ul li.active a {
  color: #0064AF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #0064AF;
  border-radius: 30px;
}
@media screen and (max-width: 1160px) {
  header {
    height: 8.62vw;
    padding: 0 2.16vw 0 3.88vw;
  }
  header .logo {
    width: 21.12vw;
  }
  header .gnav .nav_item {
    font-size: 1.29vw;
  }
  header .contact_lang div {
    margin: 0 1.29vw 0 0;
  }
  header .contact_lang div a {
    font-size: 1.21vw;
  }
  header .contact_lang ul li {
    width: 2.59vw;
    height: 2.59vw;
    font-size: 1.21vw;
  }
  header .contact_lang ul li a {
    width: 2.59vw;
    height: 2.59vw;
  }
  header .contact_lang ul li.active a {
    border-radius: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  header {
    width: 100%;
    height: 13.89vw;
    padding: 0 4.44vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    z-index: 8;
  }
  header .logo {
    width: 52.78vw;
  }
  header .logo .logow {
    display: none;
  }
  header .gnav {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: inherit;
    min-height: 100vh;
    height: 100%;
    overflow-y: scroll;
    background: #FFF;
    padding: 4.17vw 4.44vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  header .gnav.active {
    display: block;
    z-index: 35;
  }
  header .gnav .contact_lang {
    display: block;
    padding-top: 15.28vw;
    width: 78.89vw;
    margin: 0 auto;
  }
  header .gnav .contact_lang div {
    margin: 0 0 9.72vw 0;
  }
  header .gnav .contact_lang div a {
    font-size: 3.89vw;
    padding: 1.5em 1.5em 1.5em 2.5em;
  }
  header .gnav .contact_lang ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  header .gnav .contact_lang ul li {
    font-size: 3.89vw;
    width: 8.33vw;
    height: 8.33vw;
  }
  header .gnav .contact_lang ul li a {
    width: 8.33vw;
    height: 8.33vw;
    border-radius: 4.17vw;
  }
  header .gnav .menu_logo {
    display: block;
    line-height: 0;
    margin-bottom: 17.22vw;
    width: 52.78vw;
  }
  header .gnav .nav_item {
    display: block;
    font-size: 4.17vw;
    width: 78.61vw;
    margin: 0 auto;
    padding: 5vw 0 5vw 1.11vw;
    border-bottom: 1px solid #EEEEEE;
    cursor: pointer;
  }
  header .gnav .nav_item:first-of-type {
    border-top: 1px solid #EEEEEE;
  }
  header .gnav .nav_item a.nav_parent_link {
    pointer-events: none;
  }
  header .gnav .nav_item a {
    color: #323232 !important;
  }
  header .gnav .nav_item::after {
    position: absolute;
    right: 0;
    top: 1.7em;
    content: "";
    width: 100%;
    height: 1px;
    background: #0064AF;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
  }
  header .gnav .nav_item .nav_parent_link {
    position: relative;
    display: block;
  }
  header .gnav .nav_item .nav_parent_link::before, header .gnav .nav_item .nav_parent_link::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    background-color: #0064AF;
    border-radius: 0;
  }
  header .gnav .nav_item .nav_parent_link::before {
    width: 2px;
    height: 14px;
    right: 6px;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  header .gnav .nav_item .nav_parent_link::after {
    width: 14px;
    height: 2px;
  }
  header .gnav .nav_item.active .nav_parent_link::before {
    opacity: 0;
  }
  header .gnav .nav_item .no_nav_parent {
    display: block;
  }
  header .gnav .nav_item:hover a {
    color: #0064AF;
  }
  header .gnav .nav_item:hover.nav_parent .nav_parent_link {
    color: #0064AF;
  }
  header .gnav .nav_item:hover:hover::after {
    -webkit-transform: none;
            transform: none;
    display: none;
  }
  header .gnav .nav_item.nav_parent .nav_parent_link {
    padding-bottom: 0;
  }
  header .contact_lang {
    display: none;
  }
}

.mnav_back {
  position: fixed;
  left: 0;
  top: 0;
  visibility: hidden;
  opacity: 0;
  z-index: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  z-index: 7;
}

body.active header {
  background: #FFF !important;
}
body.active .mnav_back {
  visibility: inherit;
  opacity: 1;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 750px) {
  body.active .mnav_back {
    display: none !important;
  }
}

#home header {
  background: none;
}
#home header .logo .logow {
  display: block;
}
#home header .logo .logobk {
  display: none;
}
#home header .gnav .nav_item::after {
  background: #FFF;
}
#home header .gnav .nav_item a {
  color: #FFF;
}
#home header .gnav.active .contact_lang ul li a {
  color: #323232;
}
#home header .gnav.active .contact_lang ul li.active a {
  color: #0064AF;
  border: 1px solid #0064AF;
}
#home header .contact_lang div a {
  background: #0064AF;
}
#home header .contact_lang div a:hover {
  background: #FFF;
  color: #0064AF;
}
#home header .contact_lang ul li a {
  color: #FFF;
}
#home header .contact_lang ul li.active a {
  border: none;
  background: #FFF;
  color: #0064AF;
}
#home.active header, #home.scPos header {
  background: #FFF;
}
#home.active header .logo .logow, #home.scPos header .logo .logow {
  display: none;
}
#home.active header .logo .logobk, #home.scPos header .logo .logobk {
  display: block;
}
#home.active header .gnav .nav_item::after, #home.scPos header .gnav .nav_item::after {
  background: #0064AF;
}
#home.active header .gnav .nav_item a, #home.scPos header .gnav .nav_item a {
  color: #323232;
}
#home.active header .gnav .nav_item a:hover, #home.scPos header .gnav .nav_item a:hover {
  color: #0064AF;
}
#home.active header .contact_lang div a, #home.scPos header .contact_lang div a {
  background: #0064AF;
}
#home.active header .contact_lang div a:hover, #home.scPos header .contact_lang div a:hover {
  background: #FFF;
  color: #0064AF;
}
#home.active header .contact_lang ul li a, #home.scPos header .contact_lang ul li a {
  color: #323232;
}
#home.active header .contact_lang ul li.active a, #home.scPos header .contact_lang ul li.active a {
  color: #0064AF;
  border: 1px solid #0064AF;
}
@media screen and (max-width: 750px) {
  #home header {
    z-index: 37;
  }
}

.sub_menu {
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%;
  background: #FFF;
  padding: 65px 0 35px 0;
  opacity: 0;
  visibility: hidden;
  z-index: 5;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.sub_menu.active {
  visibility: inherit;
  opacity: 1;
}
.sub_menu .sub_menu_inner {
  width: 1030px;
  margin: 0 auto;
}
.sub_menu a {
  color: #323232 !important;
}
.sub_menu a:hover {
  color: #0064AF !important;
  background-size: 100% 1px;
}
.sub_menu h2 {
  position: relative;
  display: inline-block;
  font-size: 24px;
  margin-bottom: 35px;
}
.sub_menu h2 a {
  display: inline-block;
  padding-right: 40px;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.sub_menu h2::before {
  position: absolute;
  top: 10px;
  right: 0;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.sub_menu h2 .icon_rarrow {
  position: absolute;
  top: 18px;
  right: 8px;
}
.sub_menu .sub_menu_wrap {
  width: 100%;
}
.sub_menu .sub_menu_wrap.half_wrap {
  width: 46.2%;
}
.sub_menu .sub_menu_wrap.half_wrap article {
  width: 42%;
  margin-right: 16%;
}
.sub_menu .sub_menu_wrap.half_wrap article:nth-child(2n) {
  margin-right: 0;
}
.sub_menu .sub_menu_wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sub_menu .sub_menu_wrap article {
  width: 19.4%;
  margin-right: 7.46%;
  margin-bottom: 35px;
}
.sub_menu .sub_menu_wrap article.w250 {
  width: 26%;
}
.sub_menu .sub_menu_wrap article:nth-child(4n) {
  margin-right: 0;
}
.sub_menu.col3 article {
  width: 27.8%;
  margin-right: 8.3%;
}
.sub_menu.col3 article:nth-child(4n) {
  margin-right: 8.3%;
}
.sub_menu.col3 article:nth-child(3n) {
  margin-right: 0;
}
.sub_menu h3 {
  position: relative;
  display: block;
  font-size: 15px;
  margin-bottom: 1em;
  width: 100%;
  border-bottom: 1px solid #D0D0D0;
}
.sub_menu h3 a {
  display: block;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.sub_menu h3 .icon_rarrow {
  position: absolute;
  top: 9px;
  right: 0;
}
.sub_menu h4 {
  font-size: 17px;
  margin-bottom: 35px;
}
.sub_menu h4.nobdr {
  border: none;
}
.sub_menu ul {
  list-style: none;
}
.sub_menu ul li {
  position: relative;
  font-size: 14px;
  margin-bottom: 0.4em;
  font-weight: normal;
}
.sub_menu ul li a {
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.sub_menu ul li {
  /*
  a{
      padding-right: 15px;
      display: inline-block;
  }
  .icon_rarrow{
      position: absolute;
      top: 9px;
      right: 0;
  }
  */
}
@media screen and (max-width: 1160px) {
  .sub_menu {
    top: 6.03vw;
    padding: 5.6vw 0 3.02vw 0;
  }
  .sub_menu .sub_menu_inner {
    width: 88.79vw;
  }
  .sub_menu h2 {
    font-size: 2.07vw;
    margin-bottom: 3.02vw;
  }
  .sub_menu h2 a {
    padding-right: 3.45vw;
  }
  .sub_menu h2::before {
    top: 0.86vw;
    width: 2.07vw;
    height: 2.07vw;
  }
  .sub_menu h2 .icon_rarrow {
    top: 1.55vw;
    right: 0.69vw;
  }
  .sub_menu .sub_menu_wrap article {
    margin-bottom: 3.02vw;
  }
  .sub_menu h3 {
    font-size: 1.29vw;
  }
  .sub_menu h3 .icon_rarrow {
    top: 0.78vw;
  }
  .sub_menu h4 {
    font-size: 1.21vw;
  }
  .sub_menu ul li {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .sub_menu {
    position: relative;
    top: auto;
    left: auto;
    height: 0;
    width: 100%;
    padding: 0;
  }
  .sub_menu.active {
    visibility: inherit;
    opacity: 1;
    height: auto;
  }
  .sub_menu .sub_menu_inner {
    width: 100%;
    margin: 0 auto;
  }
  .sub_menu .sub_menu_inner h4 {
    font-weight: bold;
  }
  .sub_menu a {
    color: #323232 !important;
    background: none;
  }
  .sub_menu a:hover {
    color: #0064AF !important;
    background-size: 0;
  }
  .sub_menu h2 {
    font-size: 3.89vw;
    margin-bottom: 0;
    padding: 0.5em 0 0 1em;
    font-weight: normal;
  }
  .sub_menu h2 a {
    padding-right: 40px;
    display: block;
    background: none;
  }
  .sub_menu h2::before {
    display: none;
  }
  .sub_menu h2 .icon_rarrow {
    display: none;
  }
  .sub_menu .sub_menu_wrap {
    width: 100%;
  }
  .sub_menu .sub_menu_wrap.half_wrap {
    width: 100%;
  }
  .sub_menu .sub_menu_wrap.half_wrap article {
    width: 100%;
    margin-right: 0;
  }
  .sub_menu .sub_menu_wrap {
    display: block;
  }
  .sub_menu .sub_menu_wrap article {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
  }
  .sub_menu .sub_menu_wrap article.w250 {
    width: 100%;
  }
  .sub_menu.col3 article {
    width: 100%;
    margin-right: 0;
  }
  .sub_menu.col3 article:nth-child(4n) {
    margin-right: 0;
  }
  .sub_menu h3 {
    font-size: 3.89vw;
    margin-bottom: 0;
    border-bottom: none;
    padding-left: 2em;
    font-weight: normal;
  }
  .sub_menu h3 a {
    display: block;
    background: none;
  }
  .sub_menu h3 .icon_rarrow {
    display: none;
  }
  .sub_menu h4 {
    font-size: 3.89vw;
    padding-left: 2em;
    font-weight: normal;
    margin: 0;
  }
  .sub_menu ul li {
    font-size: 3.89vw;
    padding-left: 3em;
    color: #808080;
  }
  .sub_menu ul li a {
    display: block;
    background: none;
  }
}

footer {
  position: relative;
  width: 100%;
}

.footer_contact {
  width: 100%;
  background: #0064AF;
  padding: 165px 0;
  text-align: center;
}
.footer_contact .arrow_btn {
  margin: 100px auto 0 auto;
}
.footer_contact .arrow_btn a {
  color: #FFF;
  border: 1px solid #FFF;
}
.footer_contact .arrow_btn a .icon_rarrow {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
  background-size: 10px;
}
.footer_contact .arrow_btn a:hover {
  background: #FFF;
  color: #0064AF;
}
.footer_contact .arrow_btn a:hover .icon_rarrow {
  background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
  background-size: 10px;
}
@media screen and (max-width: 1160px) {
  .footer_contact {
    padding: 14.22vw 0;
  }
  .footer_contact .arrow_btn {
    margin: 8.62vw auto 0 auto;
  }
  .footer_contact .arrow_btn a .icon_rarrow {
    background-size: 0.86vw;
  }
  .footer_contact .arrow_btn a:hover .icon_rarrow {
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_contact {
    padding: 20.83vw 0 23.61vw 0;
  }
  .footer_contact .arrow_btn {
    width: 86.67vw;
    margin: 27.78vw auto 0 auto;
  }
  .footer_contact .arrow_btn a .icon_rarrow {
    background-size: 2.78vw;
  }
  .footer_contact .arrow_btn a:hover .icon_rarrow {
    background-size: 2.78vw;
  }
}

.footer_contact_inner {
  padding: 95px 60px;
  width: 1030px;
  border-radius: 10px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #D2E6FA;
}
.footer_contact_inner h2 {
  line-height: 1em;
  font-size: 50px;
  margin-bottom: 25px;
  color: #0064AF;
  text-align: center;
  color: #0064AF;
  font-weight: 600;
  font-family: "Source Sans 3", serif;
}
.footer_contact_inner h3 {
  line-height: 1em;
  font-size: 24px;
  margin-bottom: 25px;
  text-align: center;
  color: #0064AF;
}
.footer_contact_inner p {
  text-align: center;
  font-size: 18px;
  margin-bottom: 3em;
}
.footer_contact_inner ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_contact_inner ul li {
  position: relative;
  font-size: 18px;
  width: 48.3%;
  font-weight: bold;
  text-align: center;
}
.footer_contact_inner ul li.stop {
  pointer-events: none;
}
.footer_contact_inner ul li.stop a {
  color: #CCC;
}
.footer_contact_inner ul li.stop a::before {
  border: 1px solid #CCC !important;
}
.footer_contact_inner ul li.stop a .icon_rarrow {
  opacity: 0.3;
}
.footer_contact_inner ul li a {
  display: block;
  background: #FFF;
  padding: 85px 0;
  border-radius: 10px;
  text-decoration: none;
  max-height: 200px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li a::before {
  content: "";
  position: absolute;
  right: 27px;
  top: calc(50% - 13px);
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.footer_contact_inner ul li.tel_btn a {
  padding: 54px 0;
  height: 100%;
  color: #464646;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.tel_btn a:hover {
  background: #0064AF;
}
.footer_contact_inner ul li.tel_btn a:hover h4,
.footer_contact_inner ul li.tel_btn a:hover time,
.footer_contact_inner ul li.tel_btn a:hover p {
  color: #FFF;
}
.footer_contact_inner ul li.tel_btn a:hover .this_icon {
  background: url(../images/common/icon_tel_w.svg) no-repeat left center;
  background-size: 16px;
}
.footer_contact_inner ul li.tel_btn a:hover::before {
  border: 1px solid #FFF;
}
.footer_contact_inner ul li.tel_btn a:hover .icon_rarrow {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
}
.footer_contact_inner ul li.tel_btn h4 {
  font-size: 16px;
  color: #464646;
  margin: 0 0 0.5em 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.tel_btn p {
  margin: 0 0 0.2em 0;
  font-size: 28px;
  color: #464646;
  line-height: 1.2em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.tel_btn .this_icon {
  display: inline-block;
  padding-left: 25px;
  background: url(../images/common/icon_tel_b.svg) no-repeat left center;
  background-size: 16px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.tel_btn .icon_rarrow {
  position: absolute;
  right: 36px;
  top: calc(50% - 5px);
}
.footer_contact_inner ul li.tel_btn time {
  font-size: 11.3px;
  display: block;
  color: #464646;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.contact_btn a, .footer_contact_inner ul li.faq_btn a {
  color: #464646;
}
.footer_contact_inner ul li.contact_btn a:hover, .footer_contact_inner ul li.faq_btn a:hover {
  background: #0064AF;
  color: #FFF;
}
.footer_contact_inner ul li.contact_btn a:hover::before, .footer_contact_inner ul li.faq_btn a:hover::before {
  border: 1px solid #FFF;
}
.footer_contact_inner ul li.contact_btn a:hover .this_icon, .footer_contact_inner ul li.faq_btn a:hover .this_icon {
  color: #FFF;
  background: url(../images/common/icon_mail_w.svg) no-repeat left center;
  background-size: 34px;
}
.footer_contact_inner ul li.contact_btn a:hover .icon_rarrow, .footer_contact_inner ul li.faq_btn a:hover .icon_rarrow {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
}
.footer_contact_inner ul li.contact_btn a .this_icon, .footer_contact_inner ul li.faq_btn a .this_icon {
  display: inline-block;
  padding-left: 50px;
  color: #464646;
  background: url(../images/common/icon_mail_blue.svg) no-repeat left center;
  background-size: 34px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_contact_inner ul li.contact_btn a .icon_rarrow, .footer_contact_inner ul li.faq_btn a .icon_rarrow {
  position: absolute;
  right: 36px;
  top: calc(50% - 5px);
}
.footer_contact_inner ul li.faq_btn a .this_icon {
  background: url(../images/common/icon_faq_blue.svg) no-repeat left center;
  background-size: 34px;
}
.footer_contact_inner ul li.faq_btn a:hover {
  background: #0064AF;
  color: #FFF;
}
.footer_contact_inner ul li.faq_btn a:hover .this_icon {
  background: url(../images/common/icon_faq_w.svg) no-repeat left center;
  background-size: 34px;
}
.footer_contact_inner ul li.faq_btn a:hover .icon_rarrow {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
}
.footer_contact_inner.contact_half {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.footer_contact_inner.contact_half div {
  width: 41.75%;
  text-align: left;
}
.footer_contact_inner.contact_half div h2 {
  text-align: left;
}
.footer_contact_inner.contact_half div h3 {
  text-align: left;
}
.footer_contact_inner.contact_half div p {
  text-align: left;
  margin: 0;
}
.footer_contact_inner.contact_half ul {
  width: 48.5%;
}
.footer_contact_inner.contact_half ul li {
  width: 100%;
}
.footer_contact_inner.contact_half ul li a {
  border: 1px solid #FFF;
}
@media screen and (max-width: 1160px) {
  .footer_contact_inner {
    padding: 8.19vw 5.17vw;
    width: 88.79vw;
    border-radius: 0.86vw;
  }
  .footer_contact_inner h2 {
    font-size: 4.31vw;
    margin-bottom: 2.16vw;
  }
  .footer_contact_inner h3 {
    font-size: 2.07vw;
    margin-bottom: 2.16vw;
  }
  .footer_contact_inner p {
    font-size: 1.55vw;
  }
  .footer_contact_inner ul li {
    font-size: 1.55vw;
  }
  .footer_contact_inner ul li a {
    border-radius: 0.86vw;
    padding: 7.33vw 0;
  }
  .footer_contact_inner ul li a::before {
    right: 2.33vw;
    top: calc(50% - 1.1vw);
    width: 2.07vw;
    height: 2.07vw;
  }
  .footer_contact_inner ul li a .this_icon {
    padding-left: 4.31vw;
    background-size: 2.93vw;
  }
  .footer_contact_inner ul li a .icon_rarrow {
    right: 3.1vw;
    top: calc(50% - 0.43vw);
  }
  .footer_contact_inner ul li a:hover .this_icon {
    background-size: 2.93vw;
  }
  .footer_contact_inner ul li.contact_btn a .icon_rarrow {
    right: 3.1vw;
    top: calc(50% - 0.43vw);
  }
  .footer_contact_inner ul li:nth-of-type(2) a .this_icon {
    background-size: 2.93vw;
  }
  .footer_contact_inner ul li:nth-of-type(2) a:hover .this_icon {
    background-size: 2.93vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_contact_inner {
    padding: 0;
    background: none;
    width: 86.67vw;
    border-radius: 2.78vw;
  }
  .footer_contact_inner h2 {
    color: #FFF;
    font-size: 11.11vw;
    line-height: 1em;
    margin-bottom: 5.56vw;
  }
  .footer_contact_inner h3 {
    color: #FFF;
    font-size: 5.56vw;
    margin-bottom: 6.94vw;
  }
  .footer_contact_inner p {
    color: #FFF;
    font-size: 4.17vw;
    margin-bottom: 8.89vw;
  }
  .footer_contact_inner ul li {
    width: 100%;
    font-size: 5vw;
    margin-bottom: 4.17vw;
  }
  .footer_contact_inner ul li a {
    padding: 8.33vw 0;
    border-radius: 2.78vw;
    max-height: 55.56vw;
    border: 1px solid #FFF;
  }
  .footer_contact_inner ul li a::before {
    right: 7.5vw;
    top: calc(50% - 2.78vw);
    width: 5.56vw;
    height: 5.56vw;
  }
  .footer_contact_inner ul li.tel_btn a {
    padding: 5.56vw 0;
  }
  .footer_contact_inner ul li.tel_btn a:hover .this_icon {
    background-size: 4.44vw;
  }
  .footer_contact_inner ul li.tel_btn h4 {
    font-size: 4.44vw;
    text-align: left;
    line-height: 1.2em;
    margin-left: 13vw;
  }
  .footer_contact_inner ul li.tel_btn p {
    font-size: 7.78vw;
    text-align: left;
  }
  .footer_contact_inner ul li.tel_btn p .this_icon {
    margin-left: 8vw;
    padding-left: 6.94vw;
    background-size: 4.44vw;
  }
  .footer_contact_inner ul li.tel_btn .icon_rarrow {
    right: 9.17vw;
    top: calc(50% - 1.25vw);
  }
  .footer_contact_inner ul li.tel_btn time {
    font-size: 2.78vw;
    text-align: left;
    margin-left: 6vw;
  }
  .footer_contact_inner ul li.contact_btn, .footer_contact_inner ul li.faq_btn {
    text-align: left;
  }
  .footer_contact_inner ul li.contact_btn a, .footer_contact_inner ul li.faq_btn a {
    padding-left: 1.5em;
  }
  .footer_contact_inner ul li.contact_btn a:hover .this_icon, .footer_contact_inner ul li.faq_btn a:hover .this_icon {
    background-size: 9.44vw;
  }
  .footer_contact_inner ul li.contact_btn a .this_icon, .footer_contact_inner ul li.faq_btn a .this_icon {
    padding-left: 13.89vw;
    background-size: 9.44vw;
  }
  .footer_contact_inner ul li.contact_btn a .icon_rarrow, .footer_contact_inner ul li.faq_btn a .icon_rarrow {
    right: 9.17vw;
    top: calc(50% - 1.25vw);
  }
  .footer_contact_inner ul li.faq_btn a .this_icon {
    background-size: 9.44vw;
  }
  .footer_contact_inner ul li.faq_btn a:hover .this_icon {
    background-size: 9.44vw;
  }
  .footer_contact_inner.contact_half {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .footer_contact_inner.contact_half div {
    width: 100%;
    text-align: center;
  }
  .footer_contact_inner.contact_half div h2 {
    text-align: center;
    margin-bottom: 5.56vw;
  }
  .footer_contact_inner.contact_half div h3 {
    text-align: center;
    margin-bottom: 5.56vw;
  }
  .footer_contact_inner.contact_half div p {
    text-align: center;
    margin-bottom: 8.33vw;
  }
  .footer_contact_inner.contact_half ul {
    width: 100%;
  }
  .footer_contact_inner.contact_half ul li {
    width: 100%;
  }
}

#home .footer_contact_inner {
  padding: 0;
  background: none;
}
#home .footer_contact_inner h2,
#home .footer_contact_inner h3,
#home .footer_contact_inner p {
  color: #FFF;
}
#home .footer_contact_inner h3 {
  margin-bottom: 60px;
}
#home .footer_contact_inner ul li a {
  border: 1px solid #0064AF;
}
#home .footer_contact_inner ul li a:hover {
  border: 1px solid #FFF;
}
@media screen and (max-width: 1160px) {
  #home .footer_contact_inner h3 {
    margin-bottom: 5.17vw;
  }
}
@media screen and (max-width: 750px) {
  #home .footer_contact_inner h3 {
    margin-bottom: 16.67vw;
  }
}

.english .footer_contact_inner.contact_half {
  padding: 0;
  background: none;
}
.english .footer_contact_inner.contact_half div h2 {
  color: #FFF;
}
.english .footer_contact_inner.contact_half div h3 {
  color: #FFF;
}
.english .footer_contact_inner.contact_half div p {
  color: #FFF;
}

.fcontact_nav {
  position: relative;
  width: 1030px;
  margin: 100px auto 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.fcontact_nav article {
  width: 31.4%;
  background: #FFF;
  border-radius: 10px;
}
.fcontact_nav article figure {
  line-height: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  overflow: hidden;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.fcontact_nav article figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.fcontact_nav article a {
  text-decoration: none;
}
.fcontact_nav article a:hover figure img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.fcontact_nav article a:hover h3 {
  color: #0064AF;
  line-height: 1.3em;
  display: inline;
}
.fcontact_nav article a:hover h3 .hover_line {
  display: inline;
  background-size: 100% 1px;
}
.fcontact_nav article div {
  display: block;
  position: relative;
  text-align: left;
  padding: 10px 20px;
  min-height: 46px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.fcontact_nav article div::before {
  content: "";
  position: absolute;
  right: 22px;
  top: calc(50% - 13px);
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.fcontact_nav article h3 {
  width: 100%;
  line-height: 1.4em !important;
  font-size: 18px;
  display: inline;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.fcontact_nav article h3 .hover_line {
  display: inline-block !important;
  line-height: 1.4em !important;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.fcontact_nav article .icon_rarrow {
  position: absolute;
  right: 30px;
  top: calc(50% - 5px);
}
@media screen and (max-width: 1160px) {
  .fcontact_nav {
    width: 88.79vw;
    margin: 8.62vw auto 0 auto;
  }
  .fcontact_nav article {
    border-radius: 0.86vw;
  }
  .fcontact_nav article figure {
    border-top-left-radius: 0.86vw;
    border-top-right-radius: 0.86vw;
  }
  .fcontact_nav article figure img {
    border-top-left-radius: 0.86vw;
    border-top-right-radius: 0.86vw;
  }
  .fcontact_nav article div::before {
    right: 1.9vw;
    top: calc(50% - 1.1vw);
    width: 2.07vw;
    height: 2.07vw;
  }
  .fcontact_nav article h3 {
    font-size: 1.38vw;
    padding: 0.86vw 1.72vw;
  }
  .fcontact_nav article .icon_rarrow {
    right: 2.59vw;
    top: calc(50% - 0.43vw);
  }
}
@media screen and (max-width: 750px) {
  .fcontact_nav {
    width: 86.67vw;
    margin: 19.44vw auto 0 auto;
  }
  .fcontact_nav article {
    width: 100%;
    margin-bottom: 6.94vw;
    border-radius: 2.78vw;
  }
  .fcontact_nav article figure {
    border-top-left-radius: 2.78vw;
    border-top-right-radius: 2.78vw;
  }
  .fcontact_nav article figure img {
    border-top-left-radius: 2.78vw;
    border-top-right-radius: 2.78vw;
  }
  .fcontact_nav article div {
    padding: 2.78vw 5.56vw;
    min-height: 12.78vw;
  }
  .fcontact_nav article div::before {
    right: 6.11vw;
    top: calc(50% - 3.61vw);
    width: 5.56vw;
    height: 5.56vw;
  }
  .fcontact_nav article a {
    background: none;
  }
  .fcontact_nav article h3 {
    font-size: 4.72vw;
  }
  .fcontact_nav article h3 .hover_line {
    background: none;
  }
  .fcontact_nav article .icon_rarrow {
    right: 7.5vw;
    top: calc(50% - 1.94vw);
  }
}

.footer_nav {
  position: relative;
  padding: 80px 0;
  background: #FFF;
}
@media screen and (max-width: 1160px) {
  .footer_nav {
    padding: 6.9vw 0;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav {
    padding: 13.89vw 0;
  }
}

.footer_nav_inner {
  width: 1030px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1160px) {
  .footer_nav_inner {
    width: 88.79vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav_inner {
    width: 86.67vw;
  }
}

.logo_address {
  width: 25%;
}
.logo_address h2 {
  line-height: 0;
  font-size: 0;
  margin-bottom: 35px;
}
.logo_address h2 a {
  display: block;
}
.logo_address h3 {
  font-size: 12px;
  color: #464646;
  line-height: 1.8em;
}
.logo_address address {
  font-size: 12px;
  line-height: 1.8em;
  color: #464646;
  font-style: normal;
}
@media screen and (max-width: 1160px) {
  .logo_address h2 {
    margin-bottom: 3.02vw;
  }
  .logo_address h3 {
    font-size: 1.03vw;
  }
  .logo_address address {
    font-size: 1.03vw;
  }
}
@media screen and (max-width: 750px) {
  .logo_address {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .logo_address h2 {
    width: 71.67vw;
    font-size: 3.33vw;
    margin-bottom: 6.39vw;
  }
  .logo_address h3 {
    font-size: 3.33vw;
  }
  .logo_address address {
    font-size: 3.33vw;
    margin-bottom: 2em;
  }
}

.footer_nav_detail {
  position: relative;
  width: 64%;
  padding-bottom: 75px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_nav_detail.spv {
  display: none;
}
.footer_nav_detail article:nth-child(1) {
  width: 30%;
}
.footer_nav_detail article:nth-child(2) {
  width: 27.3%;
}
.footer_nav_detail article:nth-child(3) {
  width: 35.3%;
}
.footer_nav_detail h3 {
  font-size: 13px;
  color: #464646;
  margin-bottom: 0.5em;
}
.footer_nav_detail h3 a {
  color: #464646;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav_detail h3 a:hover {
  color: #0064AF;
}
.footer_nav_detail h4 {
  font-size: 13px;
  padding: 0 0 2em 0;
  margin-bottom: 2em;
  color: #464646;
  border-bottom: 1px solid #E0E0E0;
}
.footer_nav_detail h4 a {
  text-decoration: none;
  color: #464646;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav_detail h4 a:hover {
  color: #0064AF;
}
.footer_nav_detail ul {
  font-size: 13px;
  list-style: none;
  border-bottom: 1px solid #E0E0E0;
  padding-bottom: 2em;
  margin-bottom: 2em;
}
.footer_nav_detail ul:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.footer_nav_detail ul li a {
  color: #464646;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_nav_detail ul li a:hover {
  color: #0064AF;
}
.footer_nav_detail ul li ul {
  padding-left: 1em;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 1160px) {
  .footer_nav_detail {
    padding-bottom: 6.47vw;
  }
  .footer_nav_detail h3 {
    font-size: 1.12vw;
  }
  .footer_nav_detail h4 {
    font-size: 1.12vw;
  }
  .footer_nav_detail ul {
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav_detail.pcv {
    display: none;
  }
  .footer_nav_detail.spv {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .footer_nav_detail {
    width: 100%;
    padding-bottom: 22.22vw;
  }
  .footer_nav_detail article:nth-child(1) {
    width: 48.5%;
  }
  .footer_nav_detail article:nth-child(2) {
    width: 48.5%;
  }
  .footer_nav_detail article:nth-child(3) {
    width: 48.5%;
  }
  .footer_nav_detail h3 {
    font-size: 3.33vw;
  }
  .footer_nav_detail h4 {
    font-size: 3.33vw;
  }
  .footer_nav_detail ul {
    font-size: 3.33vw;
  }
  .footer_nav_detail ul li {
    font-size: 3.33vw;
  }
}

.footer_nav_eng {
  position: relative;
  width: 64%;
  padding-bottom: 75px;
}
.footer_nav_eng ul {
  list-style: none;
  margin-bottom: 1.5em;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_nav_eng ul li {
  font-size: 12px;
  margin-left: 2em;
}
.footer_nav_eng ul li a {
  text-decoration: none;
  color: #464646;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.footer_nav_eng ul li a:hover {
  color: #0064AF;
  background-size: 100% 1px;
}
.footer_nav_eng ul.strong_list li {
  font-size: 13px;
  font-weight: bold;
}
@media screen and (max-width: 1160px) {
  .footer_nav_eng {
    padding-bottom: 6.47vw;
  }
  .footer_nav_eng ul li {
    font-size: 1.03vw;
  }
  .footer_nav_eng ul.strong_list li {
    font-size: 1.12vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_nav_eng {
    padding-bottom: 19.44vw;
  }
  .footer_nav_eng ul {
    text-align: left;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .footer_nav_eng ul li {
    display: block;
    width: 100%;
    font-size: 3.33vw;
    margin-left: 0;
  }
  .footer_nav_eng ul.strong_list li {
    font-size: 3.61vw;
  }
}

.footer_copy {
  position: relative;
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: end;
  -webkit-box-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.footer_copy ul {
  width: 25.8%;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.footer_copy ul li {
  width: 41%;
  font-size: 10px;
}
.footer_copy ul li:nth-child(2) {
  width: 50%;
}
.footer_copy ul li img {
  margin-bottom: 5px;
}
.footer_copy p {
  margin: 0;
  font-size: 12px;
  color: #464646;
}
@media screen and (max-width: 1160px) {
  .footer_copy ul li {
    font-size: 0.86vw;
  }
  .footer_copy ul li img {
    margin-bottom: 0.43vw;
  }
  .footer_copy p {
    font-size: 1.03vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_copy {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .footer_copy ul {
    width: 100%;
    margin-bottom: 13.89vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .footer_copy ul li {
    width: 26.11vw;
    margin-right: 5.56vw;
  }
  .footer_copy ul li:nth-child(2) {
    width: 33.33vw;
  }
  .footer_copy ul li img {
    margin-bottom: 5px;
  }
  .footer_copy p {
    font-size: 2.78vw;
  }
}

.pagetop {
  position: fixed;
  right: 0;
  bottom: 0;
  width: 60px;
  height: 86px;
  border-top-left-radius: 10px;
  text-indent: -9999px;
  background: #0064AF;
  line-height: 0;
  font-size: 0;
  margin: 0;
  z-index: 7;
  -webkit-box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
          box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
.pagetop a {
  position: relative;
  display: block;
  height: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.pagetop a::after {
  display: block;
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: calc(50% - 7px);
  right: calc(50% - 7px);
}
.pagetop a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1160px) {
  .pagetop {
    width: 5.17vw;
    height: 7.41vw;
    border-top-left-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .pagetop {
    width: 15.28vw;
    height: 15.28vw;
    border-radius: 9.72vw;
    bottom: 3vw;
    right: 3vw;
  }
  .pagetop a {
    position: relative;
    display: block;
    height: 100%;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
  }
  .pagetop a::after {
    width: 3.33vw;
    height: 3.33vw;
    top: calc(50% - 1.11vw);
    right: calc(50% - 1.67vw);
  }
}

.entry .footer_contact_inner h2 {
  color: #FFF;
}

/* sp menu */
.no_scroll .menu {
  position: fixed;
}

.menu {
  display: none;
  position: absolute;
  width: 6.67vw;
  height: 6.67vw;
  right: 4.17vw;
  top: 4.17vw;
  cursor: pointer;
  text-align: left;
  font-size: 0;
  padding: 0;
  color: #0064AF;
  margin: 0px;
  z-index: 40;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.menu em {
  font-style: normal;
}
.menu::before, .menu::after,
.menu .icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 6.67vw;
  height: 2px;
  background-color: #0064AF;
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.menu::after {
  content: "";
  top: 2.5vw;
  left: 1.11vw;
  background: #0064AF;
}
.menu::before {
  content: "";
  top: 5vw;
  background: #0064AF;
}
.menu .open {
  display: block;
}
.menu .close {
  display: none;
}
.menu.on {
  background: none;
  color: #F1F0E7;
  border-radius: 0;
}
.menu.on em {
  display: none;
}
.menu.on::before {
  -webkit-transform: translateY(-2.5vw) rotate(-30deg);
          transform: translateY(-2.5vw) rotate(-30deg);
  background-color: #0064AF;
  width: 7.78vw;
}
.menu.on::after {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.menu.on .icon {
  -webkit-transform: translateY(2.5vw) rotate(30deg);
          transform: translateY(2.5vw) rotate(30deg);
  background-color: #0064AF;
  width: 7.78vw;
}
.menu.on .open {
  display: none;
}
.menu.on .close {
  display: block;
}
@media screen and (max-width: 750px) {
  .menu {
    display: block;
  }
  .menu.on {
    position: fixed;
  }
}

.home .menu {
  color: #FFF;
}
.home .menu::before, .home .menu::after,
.home .menu .icon {
  background-color: #FFF;
}
.home .menu::after {
  background: #FFF;
}
.home .menu::before {
  background: #FFF;
}
.home .menu.on {
  color: #0064AF;
}
.home .menu.on::before, .home .menu.on::after,
.home .menu.on .icon {
  background-color: #0064AF;
}
.home .menu.on::after {
  background: #0064AF;
}
.home .menu.on::before {
  background: #0064AF;
}
.home.scPos .menu {
  color: #0064AF;
}
.home.scPos .menu::before, .home.scPos .menu::after,
.home.scPos .menu .icon {
  background-color: #0064AF;
}
.home.scPos .menu::after {
  background: #0064AF;
}
.home.scPos .menu::before {
  background: #0064AF;
}

/**
 * Copyright (c) 2016 Connor Atherton
 *
 * All animations must live in their own file
 * in the animations directory and be included
 * here.
 *
 */
/**
 * Styles shared by multiple animations
 */
/**
 * Dots
 */
@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  45% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
  45% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0.7;
  }
  80% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.ball-pulse > div:nth-child(1) {
  -webkit-animation: scale 1.2s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.2s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div:nth-child(2) {
  -webkit-animation: scale 1.2s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.2s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div:nth-child(3) {
  -webkit-animation: scale 1.2s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: scale 1.2s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.ball-pulse > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 5px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
}

@-webkit-keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  66% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  66% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.ball-pulse-sync > div:nth-child(1) {
  -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
}

.ball-pulse-sync > div:nth-child(2) {
  -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
}

.ball-pulse-sync > div:nth-child(3) {
  -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
  animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
}

.ball-pulse-sync > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
}

@-webkit-keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite;
}

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite;
}

.ball-scale-random {
  width: 37px;
  height: 40px;
}

.ball-scale-random > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  display: inline-block;
  height: 30px;
  width: 30px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
  animation: ball-scale 1s 0s ease-in-out infinite;
}

.ball-scale-random > div:nth-child(1) {
  margin-left: -7px;
  -webkit-animation: ball-scale 1s 0.2s ease-in-out infinite;
  animation: ball-scale 1s 0.2s ease-in-out infinite;
}

.ball-scale-random > div:nth-child(3) {
  margin-left: -2px;
  margin-top: 9px;
  -webkit-animation: ball-scale 1s 0.5s ease-in-out infinite;
  animation: ball-scale 1s 0.5s ease-in-out infinite;
}

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.ball-rotate {
  position: relative;
}

.ball-rotate > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: relative;
}

.ball-rotate > div:first-child {
  -webkit-animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
  animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
}

.ball-rotate > div:before, .ball-rotate > div:after {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  content: "";
  position: absolute;
  opacity: 0.8;
}

.ball-rotate > div:before {
  top: 0px;
  left: -28px;
}

.ball-rotate > div:after {
  top: 0px;
  left: 25px;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.ball-clip-rotate > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 26px;
  width: 26px;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
  animation: rotate 0.75s 0s linear infinite;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
    transform: rotate(360deg) scale(1);
  }
}
@keyframes scale {
  30% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.ball-clip-rotate-pulse {
  position: relative;
  -webkit-transform: translateY(-15px);
  transform: translateY(-15px);
}

.ball-clip-rotate-pulse > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  top: 0px;
  left: 0px;
  border-radius: 100%;
}

.ball-clip-rotate-pulse > div:first-child {
  background: #fff;
  height: 16px;
  width: 16px;
  top: 7px;
  left: -7px;
  -webkit-animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

.ball-clip-rotate-pulse > div:last-child {
  position: absolute;
  border: 2px solid #fff;
  width: 30px;
  height: 30px;
  left: -16px;
  top: -2px;
  background: transparent;
  border: 2px solid;
  border-color: #fff transparent #fff transparent;
  -webkit-animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
  }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
    transform: rotate(360deg) scale(1);
  }
}
.ball-clip-rotate-multiple {
  position: relative;
}

.ball-clip-rotate-multiple > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  left: -20px;
  top: -20px;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  border-top-color: transparent;
  border-radius: 100%;
  height: 35px;
  width: 35px;
  -webkit-animation: rotate 1s 0s ease-in-out infinite;
  animation: rotate 1s 0s ease-in-out infinite;
}

.ball-clip-rotate-multiple > div:last-child {
  display: inline-block;
  top: -10px;
  left: -10px;
  width: 15px;
  height: 15px;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  border-color: #fff transparent #fff transparent;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}

@-webkit-keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
@keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
.ball-scale-ripple > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
}

@-webkit-keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
@keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}
.ball-scale-ripple-multiple {
  position: relative;
  -webkit-transform: translateY(-25px);
  transform: translateY(-25px);
}

.ball-scale-ripple-multiple > div:nth-child(0) {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.ball-scale-ripple-multiple > div:nth-child(1) {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.ball-scale-ripple-multiple > div:nth-child(2) {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.ball-scale-ripple-multiple > div:nth-child(3) {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.ball-scale-ripple-multiple > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  top: -2px;
  left: -26px;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
  animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
}

@-webkit-keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.ball-beat > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: ball-beat 0.7s 0s infinite linear;
  animation: ball-beat 0.7s 0s infinite linear;
}

.ball-beat > div:nth-child(2n-1) {
  -webkit-animation-delay: -0.35s !important;
  animation-delay: -0.35s !important;
}

@-webkit-keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
@keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
.ball-scale-multiple {
  position: relative;
  -webkit-transform: translateY(-30px);
  transform: translateY(-30px);
}

.ball-scale-multiple > div:nth-child(2) {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.ball-scale-multiple > div:nth-child(3) {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.ball-scale-multiple > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  left: -30px;
  top: 0px;
  opacity: 0;
  margin: 0;
  width: 60px;
  height: 60px;
  -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
  animation: ball-scale-multiple 1s 0s linear infinite;
}

@-webkit-keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
    transform: translate(25px, -50px);
  }
  66% {
    -webkit-transform: translate(50px, 0px);
    transform: translate(50px, 0px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
    transform: translate(25px, -50px);
  }
  66% {
    -webkit-transform: translate(50px, 0px);
    transform: translate(50px, 0px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@-webkit-keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
    transform: translate(25px, 50px);
  }
  66% {
    -webkit-transform: translate(-25px, 50px);
    transform: translate(-25px, 50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
    transform: translate(25px, 50px);
  }
  66% {
    -webkit-transform: translate(-25px, 50px);
    transform: translate(-25px, 50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@-webkit-keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
    transform: translate(-50px, 0px);
  }
  66% {
    -webkit-transform: translate(-25px, -50px);
    transform: translate(-25px, -50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
    transform: translate(-50px, 0px);
  }
  66% {
    -webkit-transform: translate(-25px, -50px);
    transform: translate(-25px, -50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
.ball-triangle-path {
  position: relative;
  -webkit-transform: translate(-29.994px, -37.50938px);
  transform: translate(-29.994px, -37.50938px);
}

.ball-triangle-path > div:nth-child(1) {
  -webkit-animation-name: ball-triangle-path-1;
  animation-name: ball-triangle-path-1;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.ball-triangle-path > div:nth-child(2) {
  -webkit-animation-name: ball-triangle-path-2;
  animation-name: ball-triangle-path-2;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.ball-triangle-path > div:nth-child(3) {
  -webkit-animation-name: ball-triangle-path-3;
  animation-name: ball-triangle-path-3;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.ball-triangle-path > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 1px solid #fff;
}

.ball-triangle-path > div:nth-of-type(1) {
  top: 50px;
}

.ball-triangle-path > div:nth-of-type(2) {
  left: 25px;
}

.ball-triangle-path > div:nth-of-type(3) {
  top: 50px;
  left: 50px;
}

@-webkit-keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  25% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  50% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  75% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  25% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  50% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  75% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  25% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
}
@keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  25% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  75% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
}
.ball-pulse-rise > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

.ball-pulse-rise > div:nth-child(2n) {
  -webkit-animation-name: ball-pulse-rise-even;
  animation-name: ball-pulse-rise-even;
}

.ball-pulse-rise > div:nth-child(2n-1) {
  -webkit-animation-name: ball-pulse-rise-odd;
  animation-name: ball-pulse-rise-odd;
}

@-webkit-keyframes ball-grid-beat {
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
@keyframes ball-grid-beat {
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}
.ball-grid-beat {
  width: 57px;
}

.ball-grid-beat > div:nth-child(1) {
  -webkit-animation-delay: 0.15s;
  animation-delay: 0.15s;
  -webkit-animation-duration: 1.45s;
  animation-duration: 1.45s;
}

.ball-grid-beat > div:nth-child(2) {
  -webkit-animation-delay: -0.02s;
  animation-delay: -0.02s;
  -webkit-animation-duration: 0.97s;
  animation-duration: 0.97s;
}

.ball-grid-beat > div:nth-child(3) {
  -webkit-animation-delay: 0.66s;
  animation-delay: 0.66s;
  -webkit-animation-duration: 1.23s;
  animation-duration: 1.23s;
}

.ball-grid-beat > div:nth-child(4) {
  -webkit-animation-delay: 0.64s;
  animation-delay: 0.64s;
  -webkit-animation-duration: 1.24s;
  animation-duration: 1.24s;
}

.ball-grid-beat > div:nth-child(5) {
  -webkit-animation-delay: -0.19s;
  animation-delay: -0.19s;
  -webkit-animation-duration: 1.13s;
  animation-duration: 1.13s;
}

.ball-grid-beat > div:nth-child(6) {
  -webkit-animation-delay: 0.69s;
  animation-delay: 0.69s;
  -webkit-animation-duration: 1.42s;
  animation-duration: 1.42s;
}

.ball-grid-beat > div:nth-child(7) {
  -webkit-animation-delay: 0.58s;
  animation-delay: 0.58s;
  -webkit-animation-duration: 1.14s;
  animation-duration: 1.14s;
}

.ball-grid-beat > div:nth-child(8) {
  -webkit-animation-delay: 0.21s;
  animation-delay: 0.21s;
  -webkit-animation-duration: 1.17s;
  animation-duration: 1.17s;
}

.ball-grid-beat > div:nth-child(9) {
  -webkit-animation-delay: -0.18s;
  animation-delay: -0.18s;
  -webkit-animation-duration: 0.65s;
  animation-duration: 0.65s;
}

.ball-grid-beat > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  -webkit-animation-name: ball-grid-beat;
  animation-name: ball-grid-beat;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

@-webkit-keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0.7;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.ball-grid-pulse {
  width: 57px;
}

.ball-grid-pulse > div:nth-child(1) {
  -webkit-animation-delay: 0.22s;
  animation-delay: 0.22s;
  -webkit-animation-duration: 0.9s;
  animation-duration: 0.9s;
}

.ball-grid-pulse > div:nth-child(2) {
  -webkit-animation-delay: 0.64s;
  animation-delay: 0.64s;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}

.ball-grid-pulse > div:nth-child(3) {
  -webkit-animation-delay: -0.15s;
  animation-delay: -0.15s;
  -webkit-animation-duration: 0.63s;
  animation-duration: 0.63s;
}

.ball-grid-pulse > div:nth-child(4) {
  -webkit-animation-delay: -0.03s;
  animation-delay: -0.03s;
  -webkit-animation-duration: 1.24s;
  animation-duration: 1.24s;
}

.ball-grid-pulse > div:nth-child(5) {
  -webkit-animation-delay: 0.08s;
  animation-delay: 0.08s;
  -webkit-animation-duration: 1.37s;
  animation-duration: 1.37s;
}

.ball-grid-pulse > div:nth-child(6) {
  -webkit-animation-delay: 0.43s;
  animation-delay: 0.43s;
  -webkit-animation-duration: 1.55s;
  animation-duration: 1.55s;
}

.ball-grid-pulse > div:nth-child(7) {
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
  -webkit-animation-duration: 0.7s;
  animation-duration: 0.7s;
}

.ball-grid-pulse > div:nth-child(8) {
  -webkit-animation-delay: 0.05s;
  animation-delay: 0.05s;
  -webkit-animation-duration: 0.97s;
  animation-duration: 0.97s;
}

.ball-grid-pulse > div:nth-child(9) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-duration: 0.63s;
  animation-duration: 0.63s;
}

.ball-grid-pulse > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  float: left;
  -webkit-animation-name: ball-grid-pulse;
  animation-name: ball-grid-pulse;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

@-webkit-keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px;
}

.ball-spin-fade-loader > div:nth-child(1) {
  top: 25px;
  left: 0;
  -webkit-animation: ball-spin-fade-loader 1s -0.96s infinite linear;
  animation: ball-spin-fade-loader 1s -0.96s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(2) {
  top: 17.04545px;
  left: 17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.84s infinite linear;
  animation: ball-spin-fade-loader 1s -0.84s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(3) {
  top: 0;
  left: 25px;
  -webkit-animation: ball-spin-fade-loader 1s -0.72s infinite linear;
  animation: ball-spin-fade-loader 1s -0.72s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(4) {
  top: -17.04545px;
  left: 17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.6s infinite linear;
  animation: ball-spin-fade-loader 1s -0.6s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(5) {
  top: -25px;
  left: 0;
  -webkit-animation: ball-spin-fade-loader 1s -0.48s infinite linear;
  animation: ball-spin-fade-loader 1s -0.48s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(6) {
  top: -17.04545px;
  left: -17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.36s infinite linear;
  animation: ball-spin-fade-loader 1s -0.36s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(7) {
  top: 0;
  left: -25px;
  -webkit-animation: ball-spin-fade-loader 1s -0.24s infinite linear;
  animation: ball-spin-fade-loader 1s -0.24s infinite linear;
}

.ball-spin-fade-loader > div:nth-child(8) {
  top: 17.04545px;
  left: -17.04545px;
  -webkit-animation: ball-spin-fade-loader 1s -0.12s infinite linear;
  animation: ball-spin-fade-loader 1s -0.12s infinite linear;
}

.ball-spin-fade-loader > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
}

@-webkit-keyframes ball-spin-loader {
  75% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
@keyframes ball-spin-loader {
  75% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}
.ball-spin-loader {
  position: relative;
}

.ball-spin-loader > span:nth-child(1) {
  top: 45px;
  left: 0;
  -webkit-animation: ball-spin-loader 2s 0.9s infinite linear;
  animation: ball-spin-loader 2s 0.9s infinite linear;
}

.ball-spin-loader > span:nth-child(2) {
  top: 30.68182px;
  left: 30.68182px;
  -webkit-animation: ball-spin-loader 2s 1.8s infinite linear;
  animation: ball-spin-loader 2s 1.8s infinite linear;
}

.ball-spin-loader > span:nth-child(3) {
  top: 0;
  left: 45px;
  -webkit-animation: ball-spin-loader 2s 2.7s infinite linear;
  animation: ball-spin-loader 2s 2.7s infinite linear;
}

.ball-spin-loader > span:nth-child(4) {
  top: -30.68182px;
  left: 30.68182px;
  -webkit-animation: ball-spin-loader 2s 3.6s infinite linear;
  animation: ball-spin-loader 2s 3.6s infinite linear;
}

.ball-spin-loader > span:nth-child(5) {
  top: -45px;
  left: 0;
  -webkit-animation: ball-spin-loader 2s 4.5s infinite linear;
  animation: ball-spin-loader 2s 4.5s infinite linear;
}

.ball-spin-loader > span:nth-child(6) {
  top: -30.68182px;
  left: -30.68182px;
  -webkit-animation: ball-spin-loader 2s 5.4s infinite linear;
  animation: ball-spin-loader 2s 5.4s infinite linear;
}

.ball-spin-loader > span:nth-child(7) {
  top: 0;
  left: -45px;
  -webkit-animation: ball-spin-loader 2s 6.3s infinite linear;
  animation: ball-spin-loader 2s 6.3s infinite linear;
}

.ball-spin-loader > span:nth-child(8) {
  top: 30.68182px;
  left: -30.68182px;
  -webkit-animation: ball-spin-loader 2s 7.2s infinite linear;
  animation: ball-spin-loader 2s 7.2s infinite linear;
}

.ball-spin-loader > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background: green;
}

@-webkit-keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  66% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  66% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  66% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  66% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.ball-zig-zag {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px);
}

.ball-zig-zag > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px;
}

.ball-zig-zag > div:first-child {
  -webkit-animation: ball-zig 0.7s 0s infinite linear;
  animation: ball-zig 0.7s 0s infinite linear;
}

.ball-zig-zag > div:last-child {
  -webkit-animation: ball-zag 0.7s 0s infinite linear;
  animation: ball-zag 0.7s 0s infinite linear;
}

@-webkit-keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  34% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  67% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  84% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  34% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  67% {
    -webkit-transform: translate(15px, -30px);
    transform: translate(15px, -30px);
  }
  84% {
    -webkit-transform: translate(-15px, -30px);
    transform: translate(-15px, -30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  34% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  67% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  84% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  34% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  50% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  67% {
    -webkit-transform: translate(-15px, 30px);
    transform: translate(-15px, 30px);
  }
  84% {
    -webkit-transform: translate(15px, 30px);
    transform: translate(15px, 30px);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
.ball-zig-zag-deflect {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px);
}

.ball-zig-zag-deflect > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  margin-left: 15px;
  top: 4px;
  left: -7px;
}

.ball-zig-zag-deflect > div:first-child {
  -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
  animation: ball-zig-deflect 1.5s 0s infinite linear;
}

.ball-zig-zag-deflect > div:last-child {
  -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
  animation: ball-zag-deflect 1.5s 0s infinite linear;
}

/**
 * Lines
 */
@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4);
  }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4);
  }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
  animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}

.line-scale > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
}

@-webkit-keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.line-scale-party > div:nth-child(1) {
  -webkit-animation-delay: 0.48s;
  animation-delay: 0.48s;
  -webkit-animation-duration: 0.54s;
  animation-duration: 0.54s;
}

.line-scale-party > div:nth-child(2) {
  -webkit-animation-delay: -0.15s;
  animation-delay: -0.15s;
  -webkit-animation-duration: 1.15s;
  animation-duration: 1.15s;
}

.line-scale-party > div:nth-child(3) {
  -webkit-animation-delay: 0.04s;
  animation-delay: 0.04s;
  -webkit-animation-duration: 0.77s;
  animation-duration: 0.77s;
}

.line-scale-party > div:nth-child(4) {
  -webkit-animation-delay: -0.12s;
  animation-delay: -0.12s;
  -webkit-animation-duration: 0.61s;
  animation-duration: 0.61s;
}

.line-scale-party > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-name: line-scale-party;
  animation-name: line-scale-party;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

@-webkit-keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4);
  }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
@keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  50% {
    -webkit-transform: scaley(0.4);
    transform: scaley(0.4);
  }
  100% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
.line-scale-pulse-out > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
  animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
}

.line-scale-pulse-out > div:nth-child(2), .line-scale-pulse-out > div:nth-child(4) {
  -webkit-animation-delay: -0.4s !important;
  animation-delay: -0.4s !important;
}

.line-scale-pulse-out > div:nth-child(1), .line-scale-pulse-out > div:nth-child(5) {
  -webkit-animation-delay: -0.2s !important;
  animation-delay: -0.2s !important;
}

@-webkit-keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  80% {
    -webkit-transform: scaley(0.3);
    transform: scaley(0.3);
  }
  90% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
@keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
  80% {
    -webkit-transform: scaley(0.3);
    transform: scaley(0.3);
  }
  90% {
    -webkit-transform: scaley(1);
    transform: scaley(1);
  }
}
.line-scale-pulse-out-rapid > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  display: inline-block;
  vertical-align: middle;
  -webkit-animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
  animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
}

.line-scale-pulse-out-rapid > div:nth-child(2), .line-scale-pulse-out-rapid > div:nth-child(4) {
  -webkit-animation-delay: -0.25s !important;
  animation-delay: -0.25s !important;
}

.line-scale-pulse-out-rapid > div:nth-child(1), .line-scale-pulse-out-rapid > div:nth-child(5) {
  -webkit-animation-delay: 0s !important;
  animation-delay: 0s !important;
}

@-webkit-keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
@keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
.line-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -4px;
}

.line-spin-fade-loader > div:nth-child(1) {
  top: 20px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(2) {
  top: 13.63636px;
  left: 13.63636px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(3) {
  top: 0;
  left: 20px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(4) {
  top: -13.63636px;
  left: 13.63636px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(5) {
  top: -20px;
  left: 0;
  -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(6) {
  top: -13.63636px;
  left: -13.63636px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(7) {
  top: 0;
  left: -20px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
}

.line-spin-fade-loader > div:nth-child(8) {
  top: 13.63636px;
  left: -13.63636px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
  animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
}

.line-spin-fade-loader > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 5px;
  height: 15px;
}

/**
 * Misc
 */
@-webkit-keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
@keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
.triangle-skew-spin > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #fff;
  -webkit-animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

@-webkit-keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
@keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
    transform: perspective(100px) rotateX(180deg) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
    transform: perspective(100px) rotateX(180deg) rotateY(180deg);
  }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
    transform: perspective(100px) rotateX(0) rotateY(180deg);
  }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
    transform: perspective(100px) rotateX(0) rotateY(0);
  }
}
.square-spin > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 50px;
  height: 50px;
  background: #fff;
  -webkit-animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
  animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
}

@-webkit-keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}
@keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
  50% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
  }
}
@-webkit-keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
@keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  50% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
@-webkit-keyframes pacman-balls {
  75% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
    transform: translate(-100px, -6.25px);
  }
}
@keyframes pacman-balls {
  75% {
    opacity: 0.7;
  }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
    transform: translate(-100px, -6.25px);
  }
}
.pacman {
  position: relative;
}

.pacman > div:nth-child(2) {
  -webkit-animation: pacman-balls 1s -0.99s infinite linear;
  animation: pacman-balls 1s -0.99s infinite linear;
}

.pacman > div:nth-child(3) {
  -webkit-animation: pacman-balls 1s -0.66s infinite linear;
  animation: pacman-balls 1s -0.66s infinite linear;
}

.pacman > div:nth-child(4) {
  -webkit-animation: pacman-balls 1s -0.33s infinite linear;
  animation: pacman-balls 1s -0.33s infinite linear;
}

.pacman > div:nth-child(5) {
  -webkit-animation: pacman-balls 1s 0s infinite linear;
  animation: pacman-balls 1s 0s infinite linear;
}

.pacman > div:first-of-type {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #fff;
  border-left: 25px solid #fff;
  border-bottom: 25px solid #fff;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
  animation: rotate_pacman_half_up 0.5s 0s infinite;
  position: relative;
  left: -30px;
}

.pacman > div:nth-child(2) {
  width: 0px;
  height: 0px;
  border-right: 25px solid transparent;
  border-top: 25px solid #fff;
  border-left: 25px solid #fff;
  border-bottom: 25px solid #fff;
  border-radius: 25px;
  -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
  animation: rotate_pacman_half_down 0.5s 0s infinite;
  margin-top: -50px;
  position: relative;
  left: -30px;
}

.pacman > div:nth-child(3),
.pacman > div:nth-child(4),
.pacman > div:nth-child(5),
.pacman > div:nth-child(6) {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  width: 10px;
  height: 10px;
  position: absolute;
  -webkit-transform: translate(0, -6.25px);
  transform: translate(0, -6.25px);
  top: 25px;
  left: 70px;
}

@-webkit-keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
    transform: translateX(50px) scale(0.5) rotate(-90deg);
  }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
    transform: translate(50px, 50px) rotate(-180deg);
  }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
    transform: translateY(50px) scale(0.5) rotate(-270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
@keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
    transform: translateX(50px) scale(0.5) rotate(-90deg);
  }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
    transform: translate(50px, 50px) rotate(-180deg);
  }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
    transform: translateY(50px) scale(0.5) rotate(-270deg);
  }
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}
.cube-transition {
  position: relative;
  -webkit-transform: translate(-25px, -25px);
  transform: translate(-25px, -25px);
}

.cube-transition > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  width: 10px;
  height: 10px;
  position: absolute;
  top: -5px;
  left: -5px;
  background-color: #fff;
  -webkit-animation: cube-transition 1.6s 0s infinite ease-in-out;
  animation: cube-transition 1.6s 0s infinite ease-in-out;
}

.cube-transition > div:last-child {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

@-webkit-keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.semi-circle-spin {
  position: relative;
  width: 35px;
  height: 35px;
  overflow: hidden;
}

.semi-circle-spin > div {
  position: absolute;
  border-width: 0px;
  border-radius: 100%;
  -webkit-animation: spin-rotate 0.6s 0s infinite linear;
  animation: spin-rotate 0.6s 0s infinite linear;
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), color-stop(30%, #fff), to(#fff));
  background-image: linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
  width: 100%;
  height: 100%;
}

.sk-circle {
  margin: -20px auto 0 auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child:before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  background-color: #CFCFCF;
  border-radius: 100%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-circle .sk-circle4:before {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s;
}

.sk-circle .sk-circle5:before {
  -webkit-animation-delay: -0.8s;
  animation-delay: -0.8s;
}

.sk-circle .sk-circle6:before {
  -webkit-animation-delay: -0.7s;
  animation-delay: -0.7s;
}

.sk-circle .sk-circle7:before {
  -webkit-animation-delay: -0.6s;
  animation-delay: -0.6s;
}

.sk-circle .sk-circle8:before {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

.sk-circle .sk-circle9:before {
  -webkit-animation-delay: -0.4s;
  animation-delay: -0.4s;
}

.sk-circle .sk-circle10:before {
  -webkit-animation-delay: -0.3s;
  animation-delay: -0.3s;
}

.sk-circle .sk-circle11:before {
  -webkit-animation-delay: -0.2s;
  animation-delay: -0.2s;
}

.sk-circle .sk-circle12:before {
  -webkit-animation-delay: -0.1s;
  animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.inview.fadeno {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fadeno.show {
  opacity: 1;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade,
.inview.fade1 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inview.fade.show,
.inview.fade1.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.inview.fade2 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.fade2.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.fade3 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.fade3.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.fade4 {
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.fade4.show {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.left {
  opacity: 0;
  -webkit-transform: translateX(-30px);
          transform: translateX(-30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.left.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.inview.right.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.right2 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.inview.right2.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.inview.right3 {
  opacity: 0;
  -webkit-transform: translateX(30px);
          transform: translateX(30px);
  -webkit-transition: 0.9s;
  transition: 0.9s;
}

.inview.right3.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.inview.d1.show {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.inview.d2.show {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.inview.d3.show {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.inview.top::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  /* background-color: transparent; */
  z-index: 2;
  -webkit-transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
  transition: all 0.4s cubic-bezier(0, 0.48, 0.24, 0.96);
}

.inview.top.show::after, .inview.top.show::before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.image.inview.top.show::after, .image.inview.top.show::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

main {
  position: relative;
  width: 100%;
  padding-top: 100px;
}
@media screen and (max-width: 1160px) {
  main {
    padding-top: 8.62vw;
  }
}
@media screen and (max-width: 750px) {
  main {
    padding-top: 13.89vw;
  }
}

.arrow_btn {
  display: inline-block;
  width: 300px;
  text-align: center;
}
.arrow_btn a {
  position: relative;
  display: block;
  font-weight: bold;
  padding: 1.5em 0;
  border-radius: 4em;
  text-decoration: none;
  border: 1px solid #0064AF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.arrow_btn a:hover {
  background: #0064AF;
  color: #FFF;
}
.arrow_btn a:hover span {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
  background-size: 10px;
}
.arrow_btn a:hover .icon_rarrow_l {
  background: url(../images/common/icon_arrow_left_w.svg) no-repeat right center;
  background-size: 10px;
}
.arrow_btn a span {
  position: absolute;
  right: 22px;
  top: calc(50% - 5px);
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
  background-size: 10px;
}
.arrow_btn a .icon_rarrow_l {
  background: url(../images/common/icon_arrow_left_b.svg) no-repeat right center;
  background-size: 10px;
}
@media screen and (max-width: 1160px) {
  .arrow_btn {
    width: 25.86vw;
  }
  .arrow_btn a:hover span {
    background-size: 0.86vw;
  }
  .arrow_btn a:hover .icon_rarrow_l {
    background-size: 0.86vw;
  }
  .arrow_btn a span {
    right: 1.9vw;
    top: calc(50% - 0.43vw);
    width: 0.86vw;
    height: 0.86vw;
    background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
    background-size: 0.86vw;
  }
  .arrow_btn a .icon_rarrow_l {
    background: url(../images/common/icon_arrow_left_b.svg) no-repeat right center;
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .arrow_btn {
    width: 100%;
    font-size: 4.44vw;
  }
  .arrow_btn a {
    padding: 1.5em 0;
    border-radius: 5em;
  }
  .arrow_btn a:hover span {
    background: url(../images/common/icon_arrow_right_w.svg) no-repeat right center;
    background-size: 2.78vw;
  }
  .arrow_btn a:hover .icon_rarrow_l {
    background: url(../images/common/icon_arrow_left_w.svg) no-repeat right center;
    background-size: 2.78vw;
  }
  .arrow_btn a span {
    right: 6.11vw;
    top: calc(50% - 1.39vw);
    width: 2.78vw;
    height: 2.78vw;
    background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
    background-size: 2.78vw;
  }
  .arrow_btn a .icon_rarrow_l {
    background: url(../images/common/icon_arrow_left_b.svg) no-repeat right center;
    background-size: 2.78vw;
  }
}

.arrow_big_btn {
  width: 830px;
  margin: 0 auto;
}
.arrow_big_btn a {
  position: relative;
  font-size: 20px;
  font-weight: bold;
  display: block;
  background: #FFF;
  border: 1px solid #0064AF;
  border-radius: 20px;
  padding: 4em 0;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.arrow_big_btn a::after {
  display: block;
  content: "";
  position: absolute;
  right: 20px;
  top: calc(50% - 13px);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #0064AF;
}
.arrow_big_btn a .icon_rarrow {
  position: absolute;
  right: 28px;
  top: calc(50% - 5px);
}
.arrow_big_btn a:hover {
  background: #0064AF;
  border: 1px solid #FFF;
  color: #FFF;
}
.arrow_big_btn a:hover::after {
  border: 1px solid #FFF;
}
.arrow_big_btn a:hover .icon_rarrow {
  background: url(../images/common/icon_arrow_right_w.svg) no-repeat center center;
  background-size: 10px;
}
@media screen and (max-width: 1160px) {
  .arrow_big_btn {
    width: 71.55vw;
  }
  .arrow_big_btn a {
    font-size: 1.72vw;
    padding: 2em 0;
    border-radius: 1.72vw;
  }
  .arrow_big_btn a::after {
    right: 1.72vw;
    top: calc(50% - 1.1vw);
    width: 2.07vw;
    height: 2.07vw;
  }
  .arrow_big_btn a .icon_rarrow {
    right: 2.41vw;
    top: calc(50% - 0.43vw);
  }
  .arrow_big_btn a:hover .icon_rarrow {
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .arrow_big_btn {
    width: 86.67vw;
  }
  .arrow_big_btn a {
    font-size: 5vw;
    border-radius: 2.78vw;
  }
  .arrow_big_btn a::after {
    right: 5.56vw;
    top: calc(50% - 3.61vw);
    width: 5.56vw;
    height: 5.56vw;
  }
  .arrow_big_btn a .icon_rarrow {
    right: 6.94vw;
    top: calc(50% - 2.08vw);
  }
  .arrow_big_btn a:hover .icon_rarrow {
    background-size: 2.78vw;
  }
}

.more_btn {
  font-size: 16px;
  display: block;
  width: 300px;
  text-align: center;
  margin: 0 auto;
  position: relative;
  font-weight: bold;
  padding: 1.5em 0;
  border-radius: 4em;
  text-decoration: none;
  cursor: pointer;
  color: #0064AF;
  border: 1px solid #0064AF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.more_btn a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.more_btn a:hover {
  color: #FFF;
}
.more_btn span {
  position: relative;
  display: inline-block;
  padding-left: 30px;
}
.more_btn span::before, .more_btn span::after {
  display: block;
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  margin: auto;
  background-color: #0064AF;
  border-radius: 10px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.more_btn span::before {
  width: 2px;
  height: 14px;
  top: calc(50% - 7px);
  left: 6px;
}
.more_btn span::after {
  width: 14px;
  height: 2px;
}
.more_btn.active {
  visibility: hidden;
  opacity: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
.more_btn.active a {
  padding: 0;
  margin: 0;
}
.more_btn.active span::before {
  display: none;
}
.more_btn:hover {
  background: #0064AF;
  color: #FFF;
}
.more_btn:hover span::before, .more_btn:hover span::after {
  background-color: #FFF;
}
@media screen and (max-width: 1160px) {
  .more_btn {
    font-size: 1.38vw;
    width: 25.86vw;
  }
  .more_btn span {
    padding-left: 2.59vw;
  }
  .more_btn span::before, .more_btn span::after {
    border-radius: 0.86vw;
    top: calc(50% - 0.09vw);
  }
  .more_btn span::before {
    height: 1.21vw;
    top: calc(50% - 0.6vw);
    left: 0.52vw;
  }
  .more_btn span::after {
    width: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .more_btn {
    font-size: 4.44vw;
    width: 100%;
    padding: 1.5em 0;
  }
  .more_btn span {
    padding-left: 8.33vw;
  }
  .more_btn span::before, .more_btn span::after {
    border-radius: 2.78vw;
  }
  .more_btn span::before {
    height: 3.89vw;
    top: calc(50% - 1.67vw);
    left: 1.81vw;
  }
  .more_btn span::after {
    width: 3.89vw;
  }
}

a:hover .icon_rarrow,
button:hover .icon_rarrow,
span:hover .icon_rarrow {
  -webkit-animation-name: toright;
          animation-name: toright;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
          animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
  will-change: opacity, transform;
}

a:hover .icon_rarrow_l {
  -webkit-animation-name: toleft;
          animation-name: toleft;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
          animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
  will-change: opacity, transform;
}

a:hover .icon_rarrow_b {
  -webkit-animation-name: tobottom;
          animation-name: tobottom;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
          animation-iteration-count: cubic-bezier(0.33, 1, 0.68, 1);
  will-change: opacity, transform;
}

@-webkit-keyframes toright {
  30% {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes toright {
  30% {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes toleft {
  30% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes toleft {
  30% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes tobottom {
  30% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes tobottom {
  30% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes totop {
  30% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes totop {
  30% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  31%, 40% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.half_imagetext {
  position: relative;
  width: 100%;
  padding: 150px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.half_imagetext figure {
  width: 50%;
  height: 500px;
}
.half_imagetext figure img {
  width: 100%;
  height: 500px;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  -o-object-fit: cover;
     object-fit: cover;
}
.half_imagetext .half_text {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 105px;
}
.half_imagetext .harl_text_inner {
  width: 515px;
}
@media screen and (max-width: 1160px) {
  .half_imagetext {
    padding: 12.93vw 0;
  }
  .half_imagetext figure {
    height: 43.1vw;
  }
  .half_imagetext figure img {
    height: 43.1vw;
    border-top-right-radius: 0.86vw;
    border-bottom-right-radius: 0.86vw;
  }
  .half_imagetext .half_text {
    padding-left: 9.05vw;
  }
  .half_imagetext .harl_text_inner {
    width: 44.4vw;
  }
}
@media screen and (max-width: 750px) {
  .half_imagetext {
    padding: 20.83vw 0 22.22vw 0;
    display: block;
  }
  .half_imagetext figure {
    position: relative;
    left: -6.67vw;
    width: 93.33vw;
    height: 73.06vw;
    margin-bottom: 10.28vw;
  }
  .half_imagetext figure img {
    width: 100%;
    height: 73.06vw;
    border-top-right-radius: 2.78vw;
    border-bottom-right-radius: 2.78vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .half_imagetext .half_text {
    width: 86.67vw;
    margin: 0 auto;
    padding-left: 0;
  }
  .half_imagetext .harl_text_inner {
    width: 86.67vw;
  }
  .half_imagetext .arrow_btn {
    margin-top: 2em;
  }
}

.half48_imagetext {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.half48_imagetext h3 {
  width: 100%;
}
.half48_imagetext figure,
.half48_imagetext div {
  width: 48%;
}
.half48_imagetext figure img,
.half48_imagetext div img {
  border-radius: 10px;
}
.half48_imagetext figure {
  line-height: 0;
}
.half48_imagetext.w100p figure {
  width: 100%;
}
@media screen and (max-width: 1160px) {
  .half48_imagetext figure img,
  .half48_imagetext div img {
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 1160px) {
  .half48_imagetext figure,
  .half48_imagetext div {
    width: 100%;
    margin-bottom: 6.94vw;
  }
  .half48_imagetext figure img,
  .half48_imagetext div img {
    border-radius: 2.78vw;
  }
}

.swiper-backface-hidden .swiper-slide {
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-backface-visibility: inherit !important;
  backface-visibility: inherit !important;
}

.flow_slide {
  position: relative;
  z-index: 6 !important;
}
.flow_slide .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.flow_slide ul {
  list-style: none;
}
.flow_slide ul li {
  line-height: 0;
  font-size: 0;
  width: 640px;
}
@media screen and (max-width: 1160px) {
  .flow_slide ul li {
    width: 55.17vw;
  }
}
@media screen and (max-width: 750px) {
  .flow_slide ul li {
    width: 100%;
    height: 84.72vw;
  }
  .flow_slide ul li img {
    width: 100%;
    height: 84.72vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.home_title_btn {
  position: relative;
  width: 1030px;
  margin: 0 auto;
}
.home_title_btn h2 {
  font-size: 50px;
  line-height: 1em;
  margin-bottom: 15px;
  font-weight: 600;
  font-family: "Source Sans 3", serif;
}
.home_title_btn p {
  font-size: 24px;
  font-weight: bold;
}
.home_title_btn p.arrow_btn {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 16px;
}
@media screen and (max-width: 1160px) {
  .home_title_btn {
    width: 88.79vw;
  }
  .home_title_btn h2 {
    font-size: 4.31vw;
    margin-bottom: 1.29vw;
  }
  .home_title_btn p {
    font-size: 2.07vw;
  }
  .home_title_btn p.arrow_btn {
    font-size: 1.38vw;
  }
}

.detail_page_title {
  position: relative;
  width: 100%;
  height: 28.5vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #0064AF;
}
@media screen and (max-width: 750px) {
  .detail_page_title {
    height: 66.67vw;
  }
}

.detail_page_title_inner {
  position: relative;
  margin: 0 auto;
  width: 1030px;
  height: 100%;
}
.detail_page_title_inner .page_title_text {
  position: absolute;
  top: 50%;
  left: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.detail_page_title_inner .alphabet_title {
  font-size: 64px;
  margin-bottom: 35px;
  font-weight: 600;
  color: #FFF;
  line-height: 1em;
}
.detail_page_title_inner h1 {
  font-size: 24px;
  line-height: 1em;
  color: #FFF;
}
@media screen and (max-width: 1160px) {
  .detail_page_title_inner {
    width: 88.79vw;
  }
  .detail_page_title_inner .alphabet_title {
    font-size: 5.52vw;
    margin-bottom: 3.02vw;
  }
  .detail_page_title_inner h1 {
    font-size: 2.07vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_page_title_inner {
    width: 86.67vw;
    height: 66.67vw;
  }
  .detail_page_title_inner .page_title_text {
    top: 18.06vw;
    -webkit-transform: inherit;
    transform: inherit;
  }
  .detail_page_title_inner .alphabet_title {
    font-size: 11.11vw;
    margin-bottom: 5.56vw;
  }
  .detail_page_title_inner h1 {
    font-size: 5.56vw;
  }
}

.english .detail_page_title.light_color h1,
.english .detail_page_title_inner h1 {
  font-size: 54px;
}
@media screen and (max-width: 1160px) {
  .english .detail_page_title.light_color h1,
  .english .detail_page_title_inner h1 {
    font-size: 4.66vw;
  }
}
@media screen and (max-width: 750px) {
  .english .detail_page_title.light_color h1 .detail_page_title.light_color h1,
  .english .detail_page_title.light_color h1 .detail_page_title_inner h1,
  .english .detail_page_title_inner h1 .detail_page_title.light_color h1,
  .english .detail_page_title_inner h1 .detail_page_title_inner h1 {
    font-size: 6.67vw;
  }
  .english .detail_page_title_inner .page_title_text {
    top: 23.33vw;
  }
}

.topicpath {
  position: absolute;
  right: 0;
  bottom: 45px;
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: end;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
.topicpath li {
  font-size: 12px;
  position: relative;
  padding-right: 1.5em;
  color: #FFF;
}
.topicpath li::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: calc(50% - 4px);
  right: 6px;
}
.topicpath li:last-child {
  padding-right: 0;
}
.topicpath li:last-child::after {
  display: none;
}
.topicpath li a {
  color: #FFF;
}
.topicpath li a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1160px) {
  .topicpath {
    bottom: 3.88vw;
  }
  .topicpath li::after {
    width: 0.69vw;
    height: 0.69vw;
    top: calc(50% - 0.51vw);
    right: 0.78vw;
  }
}
@media screen and (max-width: 750px) {
  .topicpath {
    bottom: 5.56vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .topicpath li {
    font-size: 2.78vw;
  }
}

.detail_page_title.light_color {
  background: #F0F5FA;
}
.detail_page_title.light_color p {
  color: #0064AF;
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: bold;
}
.detail_page_title.light_color h1 {
  color: #0064AF;
  font-size: 46px;
}
.detail_page_title.light_color .topicpath li {
  color: #0064AF;
}
.detail_page_title.light_color .topicpath li a {
  color: #0064AF;
}
.detail_page_title.light_color .topicpath li::after {
  border-top: solid 1px #0064AF;
  border-right: solid 1px #0064AF;
}
@media screen and (max-width: 1160px) {
  .detail_page_title.light_color p {
    margin-bottom: 3.45vw;
    font-size: 2.07vw;
  }
  .detail_page_title.light_color h1 {
    font-size: 3.97vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_page_title.light_color p {
    margin-bottom: 5.56vw;
    font-size: 5.56vw;
    line-height: 1.4em;
  }
  .detail_page_title.light_color h1 {
    font-size: 5.56vw;
    line-height: 1.4em;
  }
}

.detail_image_title {
  position: relative;
}
.detail_image_title figure {
  width: 100%;
  line-height: 0;
  font-size: 0;
}
.detail_image_title figure img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .detail_image_title {
    height: 66.67vw;
  }
  .detail_image_title figure {
    height: 66.67vw;
  }
  .detail_image_title figure img {
    height: 66.67vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.detail_image_title_inner {
  position: absolute;
  top: 0;
  left: calc(50% - 515px);
  width: 1030px;
  margin: 0 auto;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.detail_image_title_inner div {
  position: absolute;
  top: 50%;
  left: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: -2em;
}
.detail_image_title_inner .alphabet_title {
  color: #FFF;
  font-weight: bold;
  font-size: 24px;
  line-height: 1em;
  margin-bottom: 50px;
}
.detail_image_title_inner h1 {
  font-size: 46px;
  color: #FFF;
  line-height: 1em;
}
@media screen and (max-width: 1160px) {
  .detail_image_title_inner {
    left: calc(50% - 44.3vw);
    width: 88.79vw;
  }
  .detail_image_title_inner .alphabet_title {
    font-size: 2.07vw;
    margin-bottom: 3.45vw;
  }
  .detail_image_title_inner h1 {
    font-size: 3.97vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_image_title_inner {
    left: calc(50% - 43.33vw);
    width: 86.67vw;
  }
  .detail_image_title_inner div {
    -webkit-transform: inherit;
    transform: inherit;
    top: 18.06vw;
    margin-top: inherit;
  }
  .detail_image_title_inner .alphabet_title {
    font-size: 5.56vw;
    margin-bottom: 5vw;
  }
  .detail_image_title_inner h1 {
    font-size: 5.56vw;
  }
}

.detail_page_image {
  position: relative;
  z-index: 6;
}
.detail_page_image figure {
  line-height: 0;
  font-size: 0;
}
.detail_page_image img {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .detail_page_image {
    height: 83.33vw;
  }
  .detail_page_image.pt80 {
    padding-top: 22.22vw;
  }
  .detail_page_image figure {
    height: 83.33vw;
    height: 83.33vw;
  }
  .detail_page_image figure img {
    width: 100%;
    height: 83.33vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.icon_rarrow {
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
  background-size: 10px;
}
.icon_rarrow.other {
  background: url(../images/common/icon_other_b.svg) no-repeat right center;
  background-size: 10px;
}
.icon_rarrow.other_inline {
  display: inline-block;
  padding-left: 7px;
  background: url(../images/common/icon_other_b.svg) no-repeat right center;
  background-size: 10px;
}
@media screen and (max-width: 1160px) {
  .icon_rarrow {
    width: 0.86vw;
    height: 0.86vw;
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .icon_rarrow {
    width: 3.06vw;
    height: 3.06vw;
    background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
    background-size: 3.06vw;
  }
  .icon_rarrow.other {
    background: url(../images/common/icon_other_b.svg) no-repeat right center;
    background-size: 3.06vw;
  }
  .icon_rarrow.other_inline {
    display: inline-block;
    padding-left: 1.94vw;
    background: url(../images/common/icon_other_b.svg) no-repeat right center;
    background-size: 3.06vw;
  }
}

.icon_rarrow_b {
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/common/icon_arrow_down_b.svg) no-repeat right center;
  background-size: 10px;
}
@media screen and (max-width: 1160px) {
  .icon_rarrow_b {
    width: 0.86vw;
    height: 0.86vw;
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .icon_rarrow_b {
    width: 2.78vw;
    height: 2.78vw;
    background-size: 2.78vw;
  }
}

.icon_other {
  display: inline-block;
  padding-right: 23px;
  background: url(../images/common/icon_other.svg) no-repeat right center;
  background-size: 10px;
}
@media screen and (max-width: 750px) {
  .icon_other {
    padding-right: 6.39vw;
    background-size: 2.78vw;
  }
}

.other_link {
  display: inline-block;
  padding-right: 30px;
  background: url(../images/common/icon_other_b.svg) no-repeat right center;
  background-size: 12px;
}
@media screen and (max-width: 1160px) {
  .other_link {
    padding-right: 2.59vw;
    background-size: 1.03vw;
  }
}
@media screen and (max-width: 750px) {
  .other_link {
    padding-right: 8.33vw;
    background-size: 3.33vw;
  }
}

.other_link_list {
  list-style: none;
}
.other_link_list li {
  font-size: 14px;
  margin-bottom: 1em;
}
.other_link_list li a {
  display: inline-block;
  padding-right: 18px;
  background: url(../images/common/icon_other.svg) no-repeat right top 0.4em;
  background-size: 12px;
}
.other_link_list li:last-child {
  margin: 0;
}
@media screen and (max-width: 1160px) {
  .other_link_list li {
    font-size: 1.21vw;
  }
  .other_link_list li a {
    padding-right: 1.55vw;
    background-size: 1.03vw;
  }
}
@media screen and (max-width: 750px) {
  .other_link_list li {
    font-size: 3.89vw;
  }
  .other_link_list li a {
    padding-right: 5vw;
    background-size: 3.33vw;
  }
}

.box_wrap {
  padding: 28px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #0064AF;
}
@media screen and (max-width: 1160px) {
  .box_wrap {
    padding: 2.41vw;
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .box_wrap {
    padding: 5.56vw;
  }
}

.strength_box {
  position: relative;
  background: #FFF;
  margin-bottom: 25px;
  border-radius: 10px;
  padding: 20px 0 30px 0;
  text-align: center;
}
.strength_box a {
  display: block;
  text-decoration: none;
}
.strength_box a:hover span,
.strength_box a:hover p,
.strength_box a:hover h3 {
  opacity: 0.5;
}
.strength_box a:hover .icon_rarrow {
  opacity: 1;
}
.strength_box .strength_num {
  position: absolute;
  left: 0;
  top: 0;
  width: 70px;
  height: 70px;
  border-top-left-radius: 10px;
  background: #0064AF;
}
.strength_box .strength_num span {
  color: #FFF;
  font-size: 12px;
  display: block;
  text-align: center;
  padding-top: 7px;
  margin-bottom: 5px;
  font-weight: bold;
  font-family: "Source Sans 3", serif;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.strength_box .strength_num p {
  position: relative;
  margin: 0;
  left: -5px;
  text-align: center;
  font-size: 35px;
  line-height: 1em;
  height: auto;
  color: #FFF;
  font-style: italic;
  font-weight: 700;
  font-family: "Orkney", serif;
}
.strength_box p {
  height: 3.6em;
  text-align: center;
  line-height: 1.2em;
  margin: 0 0 15px 0;
  font-size: 20px;
  font-weight: bold;
  color: #0064AF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.strength_box h3 {
  text-align: center;
  font-size: 28px;
  color: #0064AF;
  display: inline-block;
  border-bottom: 3px solid #0064AF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.strength_box h3 strong {
  font-size: 64px;
  font-style: italic;
  display: inline-block;
  padding: 0 0.1em 0 0;
  font-family: "Orkney", serif;
}
.strength_box::after {
  display: block;
  content: "";
  position: absolute;
  right: 20px;
  top: calc(50% - 13px);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #0064AF;
}
.strength_box .icon_rarrow {
  position: absolute;
  right: 29px;
  top: calc(50% - 5px);
}
@media screen and (max-width: 1160px) {
  .strength_box {
    margin-bottom: 2.16vw;
    border-radius: 0.86vw;
    padding: 1.72vw 0 2.59vw 0;
  }
  .strength_box .strength_num {
    width: 6.03vw;
    height: 6.03vw;
    border-top-left-radius: 0.86vw;
  }
  .strength_box .strength_num span {
    font-size: 1.03vw;
    padding-top: 0.6vw;
  }
  .strength_box .strength_num p {
    font-size: 3.02vw;
  }
  .strength_box p {
    margin: 0 0 1.29vw 0;
    font-size: 1.72vw;
  }
  .strength_box h3 {
    font-size: 2.41vw;
  }
  .strength_box h3 strong {
    font-size: 5.52vw;
  }
}
@media screen and (max-width: 750px) {
  .strength_box {
    margin-bottom: 25px;
    border-radius: 10px;
    padding: 0;
    text-align: center;
  }
  .strength_box a {
    display: block;
    text-decoration: none;
  }
  .strength_box a:hover span,
  .strength_box a:hover p,
  .strength_box a:hover h3 {
    opacity: 0.5;
  }
  .strength_box a:hover .icon_rarrow {
    opacity: 1;
  }
  .strength_box .strength_num {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: 70px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .strength_box .strength_num span {
    font-size: 3.89vw;
    padding-top: 0;
    margin-bottom: 0;
    margin-right: 1.11vw;
  }
  .strength_box .strength_num p {
    left: auto;
    text-align: left;
    margin: 0 !important;
    font-size: 6.67vw !important;
    line-height: 1em !important;
  }
  .strength_box .strength_text {
    height: 43.06vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .strength_box p {
    height: auto;
    margin: 0 0 4.17vw 0;
    font-size: 4.44vw;
  }
  .strength_box h3 {
    font-size: 6.67vw;
  }
  .strength_box h3 strong {
    font-size: 14.44vw;
  }
  .strength_box::after {
    right: 3.89vw;
    top: calc(50% + 4.17vw);
    width: 5.56vw;
    height: 5.56vw;
  }
  .strength_box .icon_rarrow {
    right: 5.28vw;
    top: calc(50% + 5.69vw);
  }
}

.text_and_image1 {
  position: relative;
}

.text_and_image1_inner {
  position: relative;
  width: 1030px;
  margin: 0 auto;
  padding: 170px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.text_and_image1_inner .text_wrap {
  width: 41.7%;
}
.text_and_image1_inner .text_wrap h2 {
  color: #0064AF;
  line-height: 1.4em;
  font-size: 39px;
  margin-bottom: 40px;
}
.text_and_image1_inner .text_wrap h2 span:nth-child(1) {
  color: #71B9E6;
}
.text_and_image1_inner .text_wrap p {
  text-align: justify;
}
.text_and_image1_inner .text_wrap p:last-child {
  margin-bottom: 0;
}
.text_and_image1_inner .text_wrap p.big_text {
  font-size: 20px;
}
.text_and_image1_inner figure {
  width: 45.4%;
}
@media screen and (max-width: 1160px) {
  .text_and_image1_inner {
    width: 88.79vw;
    padding: 14.66vw 0;
  }
  .text_and_image1_inner .text_wrap h2 {
    font-size: 3.36vw;
    margin-bottom: 3.45vw;
  }
  .text_and_image1_inner .text_wrap p.big_text {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .text_and_image1_inner {
    width: 86.67vw;
    padding: 27.78vw 0 22.22vw 0;
  }
  .text_and_image1_inner .text_wrap {
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .text_and_image1_inner .text_wrap h2 {
    font-size: 7.78vw;
    margin-bottom: 6.94vw;
    text-align: center;
  }
  .text_and_image1_inner .text_wrap p {
    font-size: 4.44vw;
  }
  .text_and_image1_inner .text_wrap p.big_text {
    font-size: 4.44vw;
  }
  .text_and_image1_inner figure {
    width: 55.56vw;
    margin: 0 auto 25vw auto;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.text_and_image_box {
  position: relative;
  width: 100%;
  margin-bottom: 165px;
}
@media screen and (max-width: 1160px) {
  .text_and_image_box {
    margin-bottom: 14.22vw;
  }
}
@media screen and (max-width: 750px) {
  .text_and_image_box {
    margin-bottom: 22.22vw;
  }
}

.text_and_image1box_inner {
  position: relative;
  width: 1030px;
  background: #F0F5FA;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.text_and_image1box_inner a {
  width: 100%;
  display: block;
  text-decoration: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.text_and_image1box_inner a:hover h2 {
  color: #0064AF;
  background-size: 100% 1px;
}
.text_and_image1box_inner a:hover figure {
  opacity: 0.5;
}
.text_and_image1box_inner figure {
  width: 41.7%;
  line-height: 0;
  font-size: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.text_and_image1box_inner figure img {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.text_and_image1box_inner .text_wrap {
  width: 58.3%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 0 0 70px;
}
.text_and_image1box_inner .text_wrap h2 {
  position: relative;
  display: inline-block;
  font-size: 28px;
  margin-bottom: 25px;
  line-height: 1.6em;
  padding-right: 40px;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.text_and_image1box_inner .text_wrap h2 a {
  text-decoration: none;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.text_and_image1box_inner .text_wrap h2 a:hover {
  background-size: 100% 1px;
}
.text_and_image1box_inner .text_wrap h2::before {
  position: absolute;
  top: 10px;
  right: 0;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.text_and_image1box_inner .text_wrap h2 .icon_rarrow {
  position: absolute;
  top: 18px;
  right: 8px;
}
.text_and_image1box_inner .text_wrap p {
  font-size: 20px;
}
.text_and_image1box_inner .text_wrap p:last-child {
  margin: 0;
}
@media screen and (max-width: 1160px) {
  .text_and_image1box_inner {
    width: 88.79vw;
    border-radius: 0.86vw;
  }
  .text_and_image1box_inner figure {
    border-top-left-radius: 0.86vw;
    border-bottom-left-radius: 0.86vw;
  }
  .text_and_image1box_inner figure img {
    border-top-left-radius: 0.86vw;
    border-bottom-left-radius: 0.86vw;
  }
  .text_and_image1box_inner .text_wrap {
    padding: 0 0 0 6.03vw;
  }
  .text_and_image1box_inner .text_wrap h2 {
    font-size: 2.41vw;
    margin-bottom: 2.16vw;
    padding-right: 3.45vw;
  }
  .text_and_image1box_inner .text_wrap h2::before {
    top: 0.86vw;
    width: 2.07vw;
    height: 2.07vw;
  }
  .text_and_image1box_inner .text_wrap h2 .icon_rarrow {
    top: 1.55vw;
    right: 0.69vw;
  }
  .text_and_image1box_inner .text_wrap p {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .text_and_image1box_inner {
    width: 86.67vw;
    border-radius: 10px;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: start;
    -webkit-box-pack: start;
            justify-content: flex-start;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .text_and_image1box_inner figure {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    border-top-left-radius: 2.78vw;
    border-top-right-radius: 2.78vw;
    border-bottom-left-radius: 0;
  }
  .text_and_image1box_inner figure img {
    border-top-left-radius: 2.78vw;
    border-top-right-radius: 2.78vw;
    border-bottom-left-radius: 0;
  }
  .text_and_image1box_inner .text_wrap {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    padding: 5.56vw;
  }
  .text_and_image1box_inner .text_wrap h2 {
    display: block;
    font-size: 5vw;
    margin-bottom: 4.17vw;
    padding-right: 0;
    background-image: none;
  }
  .text_and_image1box_inner .text_wrap h2 a {
    background: none;
  }
  .text_and_image1box_inner .text_wrap h2::before {
    top: 2.78vw;
    width: 5.56vw;
    height: 5.56vw;
  }
  .text_and_image1box_inner .text_wrap h2 .icon_rarrow {
    top: 4.17vw;
    right: 1.67vw;
  }
  .text_and_image1box_inner .text_wrap p {
    font-size: 4.44vw;
  }
}

.detail_page_copy {
  text-align: center;
  padding: 110px 0 120px 0;
}
.detail_page_copy h2 {
  font-size: 28px;
  color: #0064AF;
  margin-bottom: 45px;
}
.detail_page_copy h3 {
  font-size: 28px;
  color: #0064AF;
}
.detail_page_copy p {
  font-size: 20px;
}
@media screen and (max-width: 1160px) {
  .detail_page_copy {
    padding: 9.48vw 0 10.34vw 0;
  }
  .detail_page_copy h2 {
    font-size: 2.41vw;
    margin-bottom: 3.88vw;
  }
  .detail_page_copy h3 {
    font-size: 2.41vw;
  }
  .detail_page_copy p {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_page_copy {
    width: 86.67vw;
    margin: 0 auto;
    padding: 20.83vw 0 26.39vw 0;
    text-align: left;
  }
  .detail_page_copy h2 {
    font-size: 5.56vw;
    margin-bottom: 7.78vw;
  }
  .detail_page_copy h3 {
    font-size: 5.56vw;
    margin-bottom: 7.78vw;
  }
  .detail_page_copy p {
    font-size: 4.44vw;
    margin: 0;
  }
}

.detail_copy {
  position: relative;
  width: 1100px;
  margin: 0 auto;
  padding: 145px 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.detail_copy .detail_copy_text {
  width: 39%;
  margin: 0 0 0 5.9%;
}
.detail_copy .detail_copy_text h2 {
  font-size: 28px;
  margin-bottom: 30px;
  color: #0064AF;
  line-height: 1.5em;
}
.detail_copy .detail_copy_text p:last-child {
  margin-bottom: 0;
}
.detail_copy figure {
  position: relative;
  width: 51.8%;
  line-height: 0;
  font-size: 0;
}
.detail_copy figure img {
  border-radius: 10px;
}
.detail_copy figure.number_text div {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 100px;
}
.detail_copy figure.number_text p {
  font-size: 30px;
  line-height: 1em;
  margin: 0 0 1.5em 0;
  font-weight: bold;
  color: #fff;
}
.detail_copy figure.number_text p em {
  font-style: normal;
  font-size: 19px;
}
.detail_copy figure.number_text h4 {
  font-size: 38px;
  line-height: 1em;
  color: #FFF;
}
.detail_copy figure.number_text h4 strong {
  font-size: 84px;
  display: inline-block;
  padding: 0 0.1em;
  font-family: "Orkney";
  font-style: italic;
}
.detail_copy figure.number_text h4 span {
  font-size: 26px;
}
@media screen and (max-width: 1160px) {
  .detail_copy {
    width: 94.83vw;
    padding: 12.5vw 0;
  }
  .detail_copy .detail_copy_text h2 {
    font-size: 2.41vw;
    margin-bottom: 2.59vw;
  }
  .detail_copy figure img {
    border-radius: 0.86vw;
  }
  .detail_copy figure.number_text div {
    top: 8.62vw;
  }
  .detail_copy figure.number_text p {
    font-size: 2.59vw;
  }
  .detail_copy figure.number_text p em {
    font-size: 1.64vw;
  }
  .detail_copy figure.number_text h4 {
    font-size: 3.28vw;
    color: #FFF;
  }
  .detail_copy figure.number_text h4 strong {
    font-size: 7.24vw;
  }
  .detail_copy figure.number_text h4 span {
    font-size: 2.24vw;
  }
}
@media screen and (max-width: 750px) {
  .detail_copy {
    width: 86.67vw;
    padding: 20.83vw 0 23.61vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .detail_copy .detail_copy_text {
    width: 100%;
    margin: 0 0 6vw 0;
  }
  .detail_copy .detail_copy_text h2 {
    font-size: 5.56vw;
    margin-bottom: 5.56vw;
    line-height: 1.5em;
  }
  .detail_copy figure {
    width: 100%;
    margin-bottom: 5.56vw;
  }
  .detail_copy figure img {
    border-radius: 2.78vw;
  }
  .detail_copy figure.number_text div {
    width: 100%;
    text-align: center;
    position: absolute;
    top: 12.5vw;
  }
  .detail_copy figure.number_text p {
    font-size: 6.67vw;
    margin: 0 0 1.2em 0;
  }
  .detail_copy figure.number_text p em {
    font-size: 5.28vw;
  }
  .detail_copy figure.number_text h4 {
    font-size: 8.33vw;
  }
  .detail_copy figure.number_text h4 strong {
    font-size: 17.78vw;
  }
  .detail_copy figure.number_text h4 span {
    font-size: 5.56vw;
  }
}

.side_nav_contents {
  position: relative;
  width: 100%;
}

.page_nav {
  position: absolute;
  width: 250px;
  top: 125px;
  left: calc(50% - 515px);
  z-index: 5;
}
.page_nav h2 {
  font-size: 20px;
  margin-bottom: 30px;
  line-height: 1.2em;
  color: #0064AF;
}
.page_nav ul {
  list-style: none;
}
.page_nav ul li {
  padding-left: 1.5em;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 1em;
}
.page_nav ul li a {
  position: relative;
  text-decoration: none;
  color: #8E8F90;
}
.page_nav ul li a.current {
  color: #323232;
}
.page_nav ul li a.current::before {
  position: absolute;
  line-height: 1.3em;
  left: -1.5em;
  top: 0;
  font-size: 15px;
  content: "● ";
  color: #0064AF;
}
@media screen and (max-width: 1160px) {
  .page_nav ul li {
    font-size: 1.29vw;
  }
  .page_nav ul li a.current::before {
    font-size: 1.29vw;
  }
}
@media screen and (max-width: 750px) {
  .page_nav {
    display: none;
  }
}
.page_nav .category_nav li {
  font-size: 16px;
  margin-bottom: 2em;
}
.page_nav .category_nav li a {
  color: #323232;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF); /* 線の色 */
  background-position: left bottom; /* 線の起点を左・下に設定 */
  background-repeat: no-repeat;
  background-size: 0 1px;
  line-height: 1.5em;
  padding-bottom: 6px;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
}
.page_nav .category_nav li:hover a {
  background-size: 100% 1px;
  color: #0064AF;
}
.page_nav .category_nav li.current a {
  background-size: 100% 1px;
  color: #0064AF;
}
.page_nav .category_nav li.stop {
  opacity: 0.5;
  pointer-events: none;
}
.page_nav.stiky {
  position: fixed;
}
.page_nav.stiky_stop {
  position: absolute;
  top: auto;
  bottom: 140px;
}
@media screen and (max-width: 1160px) {
  .page_nav {
    width: 21.55vw;
    top: 10.78vw;
    left: calc(50% - 44.3vw);
  }
  .page_nav h2 {
    font-size: 1.72vw;
    margin-bottom: 2.59vw;
  }
  .page_nav ul {
    list-style: none;
  }
  .page_nav ul li {
    font-size: 1.29vw;
  }
  .page_nav ul li a.active::before {
    font-size: 1.29vw;
  }
  .page_nav .category_nav li {
    font-size: 1.38vw;
  }
  .page_nav .category_nav li a {
    padding-bottom: 0.52vw;
    background-image: none;
  }
  .page_nav.stiky_stop {
    bottom: 12.07vw;
  }
}

.side_nav_contents_items {
  position: relative;
  width: 100%;
  padding: 130px 0 100px 0;
  overflow: hidden;
}
.side_nav_contents_items h2 {
  font-size: 28px;
  line-height: 1.6em;
  color: #0064AF;
  padding: 0 0 15px 0;
  margin: 0 0 60px 0;
  border-bottom: 1px solid #0064AF;
}
.side_nav_contents_items p:last-child {
  margin-bottom: 0;
}
.side_nav_contents_items:nth-child(odd) {
  background: #F0F5FA;
}
.side_nav_contents_items:nth-child(odd) .side_nav_contents_item {
  background: #FFF;
}
.side_nav_contents_items:nth-child(odd) .three_box_list li,
.side_nav_contents_items:nth-child(odd) .number_contents.figurea_add article {
  background: #FFF;
}
@media screen and (max-width: 1160px) {
  .side_nav_contents_items {
    padding: 11.21vw 0 8.62vw 0;
  }
  .side_nav_contents_items h2 {
    font-size: 2.41vw;
    padding: 0 0 1.29vw 0;
    margin: 0 0 5.17vw 0;
  }
}
@media screen and (max-width: 750px) {
  .side_nav_contents_items {
    padding: 20.83vw 0 22.22vw 0;
  }
  .side_nav_contents_items h2 {
    font-size: 5.56vw;
    margin-bottom: 9.72vw;
  }
  .side_nav_contents_items p {
    font-size: 4.17vw;
  }
}

#governance.english .light_color {
  margin-bottom: 30px;
}
@media screen and (max-width: 1160px) {
  #governance.english {
    margin-bottom: 2.59vw;
  }
}
.side_nav_contents_box {
  border: 1px solid #0064AF;
  padding: 1.5em 2em;
  border-radius: 10px;
}
.side_nav_contents_box p {
  font-weight: bold;
}
.side_nav_contents_box p:last-child {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .side_nav_contents_box {
    padding: 5.56vw;
    border-radius: 2.78vw;
  }
}

.side_nav_contents_base {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .side_nav_contents_base {
    width: 94.83vw;
  }
}
@media screen and (max-width: 750px) {
  .side_nav_contents_base {
    width: 86.67vw;
  }
}

.side_nav_contents_list {
  position: relative;
  width: 800px;
  margin: 0 0 0 auto;
}
.side_nav_contents_list p {
  margin-bottom: 2.5em;
}
.side_nav_contents_list h3 {
  font-size: 22px;
  color: #0064AF;
  margin-bottom: 35px;
}
.side_nav_contents_list h3.mb1em {
  margin-bottom: 1em;
}
.side_nav_contents_list ol,
.side_nav_contents_list ul {
  padding-left: 1.5em;
  margin-bottom: 2em;
}
.side_nav_contents_list ol.service_category,
.side_nav_contents_list ul.service_category {
  padding-left: 0;
}
@media screen and (max-width: 1160px) {
  .side_nav_contents_list {
    width: 68.97vw;
  }
  .side_nav_contents_list h3 {
    font-size: 1.9vw;
    margin-bottom: 3.02vw;
  }
}
@media screen and (max-width: 750px) {
  .side_nav_contents_list {
    width: 100%;
  }
  .side_nav_contents_list h3 {
    line-height: 1.56em;
    font-size: 4.44vw;
    margin-bottom: 8.33vw;
  }
}

.english .side_nav_contents_list p {
  margin-bottom: 3em;
}
.english .side_nav_contents_list h3 {
  font-size: 20px;
  margin-bottom: 1em;
  line-height: 1.5em;
}
.english .side_nav_contents_list ol,
.english .side_nav_contents_list ul {
  padding-left: 1.5em;
  margin-bottom: 2em;
}
@media screen and (max-width: 1160px) {
  .english .side_nav_contents_list h3 {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .english .side_nav_contents_list h3 {
    font-size: 5.56vw;
  }
}

.side_nav_contents_item {
  margin-bottom: 34px;
  background: #F0F5FA;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.side_nav_contents_item.link_btn {
  width: 100%;
}
.side_nav_contents_item.link_btn a {
  position: relative;
  display: block;
  text-decoration: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.side_nav_contents_item.link_btn a::before {
  position: absolute;
  top: calc(50% - 11px);
  right: 40px;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.side_nav_contents_item.link_btn a h3 {
  color: #464646;
  display: inline-block;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.side_nav_contents_item.link_btn a h3::before {
  display: none;
}
.side_nav_contents_item.link_btn a .icon_rarrow {
  position: absolute;
  right: 48px;
  top: calc(50% - 3px);
}
.side_nav_contents_item.link_btn a figure {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_nav_contents_item.link_btn a:hover h3 {
  color: #0064AF;
  background-size: 100% 1px;
}
.side_nav_contents_item.link_btn a:hover figure {
  opacity: 0.5;
}
.side_nav_contents_item figure {
  width: 37.5%;
  line-height: 0;
}
.side_nav_contents_item figure img {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.side_nav_contents_item div {
  width: 62.5%;
  padding: 0 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.side_nav_contents_item div h3 {
  position: relative;
  font-size: 18px;
  color: #0064AF;
  font-weight: bold;
}
.side_nav_contents_item div h3:last-child {
  margin: 0;
}
.side_nav_contents_item div h3.link_title {
  margin-bottom: 0;
}
.side_nav_contents_item div h3.link_title::before {
  position: absolute;
  top: calc(50% - 11px);
  right: 60px;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.side_nav_contents_item div h3 a {
  text-decoration: none;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.side_nav_contents_item div h3 a:hover {
  background-size: 100% 1px;
}
.side_nav_contents_item div h3 .icon_rarrow {
  position: absolute;
  right: 68px;
  top: calc(50% - 3px);
}
.side_nav_contents_item.only_text {
  position: relative;
  border-radius: 10px;
  display: block;
  width: 100%;
}
.side_nav_contents_item.only_text a {
  display: block;
  padding: 50px 40px;
  text-decoration: none;
}
.side_nav_contents_item.only_text a h3 {
  display: inline-block;
  font-size: 18px;
  margin-bottom: 0;
  color: #0064AF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
.side_nav_contents_item.only_text a p {
  width: 100%;
  margin: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.side_nav_contents_item.only_text a:hover p {
  color: #0064AF;
  background-size: 100% 1px;
}
.side_nav_contents_item.only_text a:hover h3 {
  color: #0064AF;
  background-size: 100% 1px;
}
.side_nav_contents_item.only_text a::before {
  position: absolute;
  top: calc(50% - 11px);
  right: 40px;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 50%;
}
.side_nav_contents_item.only_text a .icon_rarrow_b {
  position: absolute;
  top: calc(50% - 3px);
  right: 48px;
}
.side_nav_contents_item.items_space {
  padding: 40px;
  border-radius: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.side_nav_contents_item.items_space figure img {
  margin-bottom: 13px;
  border-radius: 10px;
}
.side_nav_contents_item.items_space figure img:last-child {
  margin-bottom: 0;
}
.side_nav_contents_item.items_space div h3 {
  margin-bottom: 1em;
}
.side_nav_contents_item.items_space div p:last-child {
  margin: 0;
}
.side_nav_contents_item.items_space section {
  width: 100%;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #EFEFEF;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.side_nav_contents_item.items_space section:last-child {
  margin-bottom: 0;
  border-bottom: none;
  padding: 0;
}
@media screen and (max-width: 1160px) {
  .side_nav_contents_item {
    margin-bottom: 2.93vw;
    border-top-right-radius: 0.86vw;
    border-bottom-right-radius: 0.86vw;
  }
  .side_nav_contents_item.link_btn a::before {
    top: calc(50% - 0.94vw);
    right: 3.45vw;
    width: 2.07vw;
    height: 2.07vw;
  }
  .side_nav_contents_item.link_btn a .icon_rarrow {
    right: 4.14vw;
    top: calc(50% - 0.25vw);
  }
  .side_nav_contents_item figure img {
    border-top-left-radius: 0.86vw;
    border-bottom-left-radius: 0.86vw;
  }
  .side_nav_contents_item div {
    padding: 0 3.45vw;
  }
  .side_nav_contents_item div h3 {
    font-size: 1.55vw;
  }
  .side_nav_contents_item.only_text {
    border-radius: 0.86vw;
  }
  .side_nav_contents_item.only_text a {
    padding: 4.31vw 3.45vw;
  }
  .side_nav_contents_item.only_text a h3 {
    font-size: 1.55vw;
  }
  .side_nav_contents_item.only_text::before {
    top: calc(50% - 0.94vw);
    right: 3.45vw;
    width: 2.07vw;
    height: 2.07vw;
  }
  .side_nav_contents_item.only_text .icon_rarrow_b {
    top: calc(50% - 0.25vw);
    right: 4.22vw;
  }
  .side_nav_contents_item.items_space {
    padding: 3.45vw;
    border-radius: 0.86vw;
  }
  .side_nav_contents_item.items_space figure img {
    margin-bottom: 1.12vw;
    border-radius: 0.86vw;
  }
  .side_nav_contents_item.items_space section {
    padding-bottom: 2.59vw;
    margin-bottom: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  .side_nav_contents_item {
    margin-bottom: 9.44vw;
    border-radius: 2.78vw;
  }
  .side_nav_contents_item.link_btn a::before {
    top: calc(50% - 3.06vw);
    right: 11.11vw;
    width: 5.56vw;
    height: 5.56vw;
  }
  .side_nav_contents_item.link_btn a .icon_rarrow {
    position: absolute;
    right: 13.33vw;
    top: calc(50% - 0.83vw);
  }
  .side_nav_contents_item figure {
    width: 100%;
    margin-bottom: 5.56vw;
  }
  .side_nav_contents_item figure img {
    border-top-left-radius: 2.78vw;
    border-top-right-radius: 2.78vw;
    border-bottom-left-radius: 0;
  }
  .side_nav_contents_item div {
    width: 100%;
    padding: 6.11vw;
  }
  .side_nav_contents_item div h3 {
    font-size: 4.17vw;
    line-height: 1.6em;
    background-image: none;
  }
  .side_nav_contents_item div h3.link_title::before {
    top: calc(50% - 3.06vw);
    right: 16.67vw;
    width: 5.56vw;
    height: 5.56vw;
  }
  .side_nav_contents_item div h3 .icon_rarrow {
    right: 68px;
    top: calc(50% - 3px);
  }
  .side_nav_contents_item.only_text {
    border-radius: 2.78vw;
  }
  .side_nav_contents_item.only_text a {
    padding: 5.56vw;
  }
  .side_nav_contents_item.only_text a h3 {
    font-size: 5vw;
    margin-bottom: 0.5em;
    background-image: none;
  }
  .side_nav_contents_item.only_text a p {
    font-size: 4.17vw;
  }
  .side_nav_contents_item.only_text a::before {
    top: 6.67vw;
    right: 4.72vw;
    width: 5.56vw;
    height: 5.56vw;
  }
  .side_nav_contents_item.only_text a .icon_rarrow_b {
    top: 8.33vw;
    right: 6.39vw;
  }
  .side_nav_contents_item.items_space {
    padding: 6.94vw 5.56vw;
    border-radius: 2.78vw;
  }
  .side_nav_contents_item.items_space figure img {
    margin-bottom: 3.89vw;
    border-radius: 2.78vw;
  }
  .side_nav_contents_item.items_space div {
    padding: 0;
  }
  .side_nav_contents_item.items_space div h3 {
    font-size: 5vw;
    background-image: none;
  }
  .side_nav_contents_item.items_space div p {
    font-size: 4.17vw;
  }
  .side_nav_contents_item.items_space section {
    padding-bottom: 5.56vw;
    margin-bottom: 5.56vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.side_nav_contents_wide_item {
  padding: 80px 0 0 0;
}
.side_nav_contents_wide_item h3 {
  font-size: 20px;
  color: #0064AF;
  margin-bottom: 1em;
}
.side_nav_contents_wide_item figure img {
  border-radius: 10px;
}
@media screen and (max-width: 1160px) {
  .side_nav_contents_wide_item {
    padding: 6.9vw 0 0 0;
  }
  .side_nav_contents_wide_item h3 {
    font-size: 1.72vw;
  }
  .side_nav_contents_wide_item figure img {
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .side_nav_contents_wide_item {
    padding: 22.22vw 0 0 0;
  }
  .side_nav_contents_wide_item h3 {
    font-size: 5vw;
  }
  .side_nav_contents_wide_item figure img {
    border-radius: 2.78vw;
  }
}

.text_image {
  position: relative;
  margin-bottom: 25px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.text_image div {
  width: 53.75%;
}
.text_image div p:last-child {
  margin-bottom: 0;
}
.text_image div .flow_dlwrap {
  width: 100%;
}
.text_image figure {
  width: 34.375%;
}
.text_image figure img {
  border-radius: 10px;
}
.text_image figure .more_btn {
  width: 90%;
  margin: 15px auto 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}
.text_image figure .more_btn a {
  display: block;
  padding: 1.2em 0;
}
.text_image.image_mid {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.text_image.image_mid div {
  width: 47.5%;
}
.text_image.image_mid figure {
  width: 46.25%;
}
@media screen and (max-width: 1160px) {
  .text_image {
    margin-bottom: 2.16vw;
  }
  .text_image figure img {
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .text_image div {
    width: 100%;
    margin-bottom: 8.33vw;
  }
  .text_image figure {
    width: 100%;
    margin-bottom: 13.89vw;
    text-align: center;
  }
  .text_image figure img {
    border-radius: 2.78vw;
  }
  .text_image figure img.wsp250 {
    width: 69.44vw;
    border-radius: 2.78vw;
  }
}

.flow_dlwrap {
  position: relative;
  width: 100%;
}
.flow_dlwrap dl {
  border-bottom: 1px solid #C8C8C8;
  margin: 0;
  padding: 1em 0 0.9em 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flow_dlwrap dl dt,
.flow_dlwrap dl dd {
  font-weight: bold;
  color: #0064AF;
}
.flow_dlwrap dl dt {
  font-size: 11px;
  line-height: 1.2em;
  padding: 0.2em 1em;
  border: 1px solid #0064AF;
  border-radius: 2em;
  width: 3em;
}
.flow_dlwrap dl dd {
  font-size: 15px;
  line-height: 1.2em;
  width: calc(100% - 4em);
  padding-left: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1160px) {
  .flow_dlwrap dl dt {
    font-size: 0.95vw;
  }
  .flow_dlwrap dl dd {
    font-size: 1.29vw;
  }
}
@media screen and (max-width: 750px) {
  .flow_dlwrap {
    margin-bottom: 0 !important;
  }
  .flow_dlwrap dl dt {
    font-size: 3.06vw;
    text-align: center;
    width: 3.5em;
  }
  .flow_dlwrap dl dd {
    font-size: 4.44vw;
    line-height: 1.5em;
    width: calc(100% - 4.5em);
  }
}

.point_list {
  position: relative;
  margin-bottom: 60px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.point_list article {
  width: 48%;
  margin: 0 0 30px 0;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #F0F5FA;
  text-align: center;
  padding: 40px;
}
.point_list article.fig_box {
  padding: 0;
  line-height: 0;
  font-size: 0;
}
.point_list article.fig_box img {
  border-radius: 10px;
}
.point_list article h4 {
  font-size: 20px;
  color: #0064AF;
  margin-bottom: 0.5em;
}
.point_list article p {
  margin: 0;
}
.point_list article.image_text_list ul {
  list-style: none;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.point_list article.image_text_list ul li {
  font-size: 14px;
  text-align: center;
  width: 93px;
}
.point_list article.image_text_list ul li img {
  width: 93px;
}
.point_list article.box_text_list {
  padding: 40px 10px;
}
.point_list article.box_text_list ul {
  padding: 0;
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.point_list article.box_text_list ul li {
  list-style: none;
  width: 112px;
  height: 110px;
  font-size: 13px;
  padding: 0 8px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #D2E6FA;
  text-align: center;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
          justify-content: center;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
}
@media screen and (max-width: 1160px) {
  .point_list {
    margin-bottom: 5.17vw;
  }
  .point_list article {
    margin: 0 0 2.59vw 0;
    border-radius: 0.86vw;
    padding: 3.45vw;
  }
  .point_list article h4 {
    font-size: 1.72vw;
  }
  .point_list article.image_text_list ul li {
    font-size: 1.21vw;
    width: 8.02vw;
  }
  .point_list article.image_text_list ul li img {
    width: 8.02vw;
  }
  .point_list article.box_text_list {
    padding: 3.45vw 0.86vw;
  }
  .point_list article.box_text_list ul li {
    width: 9.66vw;
    height: 9.48vw;
    font-size: 1.12vw;
    padding: 0 0.69vw;
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .point_list {
    margin-bottom: 16.67vw;
  }
  .point_list article {
    width: 100%;
    margin: 0 0 5.56vw 0;
    border-radius: 2.78vw;
    padding: 9.72vw 5.56vw;
  }
  .point_list article.fig_box img {
    border-radius: 2.78vw;
  }
  .point_list article h4 {
    font-size: 4.44vw;
  }
  .point_list article p {
    font-size: 4.17vw;
  }
  .point_list article.image_text_list ul li {
    font-size: 3.33vw;
    width: 19.72vw;
  }
  .point_list article.image_text_list ul li img {
    width: 19.72vw;
  }
  .point_list article.box_text_list {
    padding: 11.11vw 2.78vw;
  }
  .point_list article.box_text_list ul {
    width: 100%;
  }
  .point_list article.box_text_list ul li {
    width: 31.9%;
    height: 25.28vw;
    font-size: 3.06vw;
    padding: 0 2.22vw;
    border-radius: 2.78vw;
  }
}

.point_left article p {
  text-align: left;
}

.service_category {
  margin-bottom: 10px;
}
.service_category li {
  display: inline-block;
  padding: 0.4em 1em;
  margin-right: 6px;
  font-weight: bold;
  background: #0064AF;
  color: #FFF;
  line-height: 1.2em;
  border-radius: 2em;
}
@media screen and (max-width: 1160px) {
  .service_category {
    margin-bottom: 0.86vw;
  }
  .service_category li {
    margin-right: 0.52vw;
  }
}
@media screen and (max-width: 750px) {
  .service_category {
    margin-bottom: 1.72vw;
    padding-left: 0 !important;
  }
  .service_category li {
    height: 13.33vw;
    padding: 0;
    font-size: 4.17vw;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-right: 0;
    text-align: center;
    margin-bottom: 2.22vw;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
            justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
            align-items: center;
  }
}

.service_icon_list {
  position: relative;
  margin-bottom: 35px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.service_icon_list article {
  width: 48%;
  background: #FFF;
  padding: 35px 0;
  margin-bottom: 30px;
  border-radius: 10px;
  text-align: center;
}
.service_icon_list article p {
  margin: 0;
  line-height: 1.5em;
}
.service_icon_list article figure {
  width: 65px;
  margin: 0 auto 30px auto;
  line-height: 0;
}
.service_icon_list article figure.icon_pccheck {
  width: 65px;
}
.service_icon_list article figure.icon_truck {
  width: 65px;
}
.service_icon_list article figure.icon_barcode {
  width: 54px;
  margin-bottom: 20px;
}
.service_icon_list article figure.icon_pcbox {
  width: 65px;
}
.service_icon_list article figure.icon_checklist {
  width: 38px;
}
.service_icon_list article figure.icon_pc_en {
  width: 54px;
  margin-bottom: 18px;
}
.service_icon_list article figure.icon_brand {
  padding-top: 5px;
  margin-bottom: 30px;
}
.service_icon_list article figure.icon_lock {
  width: 45px;
  margin-bottom: 20px;
}
.service_icon_list article figure.icon_graf {
  width: 50px;
}
.service_icon_list article figure.icon_monitor_en {
  margin-bottom: 25px;
}
@media screen and (max-width: 1160px) {
  .service_icon_list {
    margin-bottom: 3.02vw;
  }
  .service_icon_list article {
    padding: 3.02vw 0;
    margin-bottom: 2.59vw;
    border-radius: 0.86vw;
  }
  .service_icon_list article figure {
    width: 5.6vw;
    margin: 0 auto 2.59vw auto;
  }
  .service_icon_list article figure.icon_pccheck {
    width: 5.6vw;
  }
  .service_icon_list article figure.icon_truck {
    width: 5.6vw;
  }
  .service_icon_list article figure.icon_barcode {
    width: 4.66vw;
    margin-bottom: 1.72vw;
  }
  .service_icon_list article figure.icon_pcbox {
    width: 5.6vw;
  }
  .service_icon_list article figure.icon_checklist {
    width: 3.28vw;
  }
  .service_icon_list article figure.icon_pc_en {
    width: 4.66vw;
    margin-bottom: 1.55vw;
  }
  .service_icon_list article figure.icon_brand {
    padding-top: 0.43vw;
    margin-bottom: 2.59vw;
  }
  .service_icon_list article figure.icon_lock {
    width: 3.88vw;
    margin-bottom: 1.72vw;
  }
  .service_icon_list article figure.icon_graf {
    width: 4.31vw;
  }
  .service_icon_list article figure.icon_monitor_en {
    margin-bottom: 2.16vw;
  }
}
@media screen and (max-width: 750px) {
  .service_icon_list {
    margin-bottom: 9.72vw;
  }
  .service_icon_list article {
    width: 100%;
    padding: 8.33vw 0 6.94vw 0;
    margin-bottom: 5.56vw;
    border-radius: 2.78vw;
  }
  .service_icon_list article figure {
    width: 15vw;
    margin: 0 auto 6.94vw auto;
    line-height: 0;
  }
  .service_icon_list article figure.icon_pccheck {
    width: 18.06vw;
  }
  .service_icon_list article figure.icon_truck {
    width: 18.06vw;
  }
  .service_icon_list article figure.icon_barcode {
    width: 15vw;
    margin-bottom: 5.56vw;
  }
  .service_icon_list article figure.icon_pcbox {
    width: 18.06vw;
  }
  .service_icon_list article figure.icon_checklist {
    width: 10.56vw;
  }
  .service_icon_list article figure.icon_pc_en {
    width: 15vw;
    margin-bottom: 5vw;
  }
  .service_icon_list article figure.icon_brand {
    padding-top: 1.39vw;
    margin-bottom: 8.33vw;
  }
  .service_icon_list article figure.icon_lock {
    width: 12.5vw;
    margin-bottom: 5.56vw;
  }
  .service_icon_list article figure.icon_graf {
    width: 13.89vw;
  }
  .service_icon_list article figure.icon_monitor_en {
    margin-bottom: 6.94vw;
  }
}

.flow_image {
  background: #FFF;
  padding: 40px;
  line-height: 0;
  font-size: 0;
  margin-bottom: 95px;
  border-radius: 10px;
}
@media screen and (max-width: 1160px) {
  .flow_image {
    padding: 3.45vw;
    margin-bottom: 8.19vw;
    border-radius: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .flow_image {
    padding: 5.56vw;
    margin-bottom: 15.28vw;
    border-radius: 2.78vw;
  }
}

.number_contents {
  margin-bottom: 60px;
}
.number_contents article {
  background: #FFF;
  padding: 25px;
  border-radius: 10px;
  margin-bottom: 30px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.number_contents article .number {
  font-size: 34px;
  display: inline-block;
  color: #0064AF;
  width: 1.5em;
  font-weight: bold;
}
.number_contents article p {
  margin: 0;
  line-height: 1.6em;
  width: calc(100% - 3.4em);
}
.number_contents article p .caution {
  font-size: 14px;
}
.number_contents.figurea_add article {
  background: #F0F5FA;
  border-radius: 10px;
}
.number_contents.figurea_add article div {
  width: calc(100% - 3.4em);
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.number_contents.figurea_add article p {
  font-weight: bold;
  font-size: 20px;
  color: #0064AF;
  width: calc(100% - 215px);
}
.number_contents.figurea_add article figure {
  width: 185px;
  line-height: 0;
}
@media screen and (max-width: 1160px) {
  .number_contents {
    margin-bottom: 5.17vw;
  }
  .number_contents article {
    padding: 2.16vw;
    border-radius: 0.86vw;
    margin-bottom: 2.59vw;
  }
  .number_contents article .number {
    font-size: 2.93vw;
  }
  .number_contents article p .caution {
    font-size: 1.21vw;
  }
  .number_contents.figurea_add article p {
    font-size: 1.72vw;
    width: calc(100% - 18.53vw);
  }
  .number_contents.figurea_add article figure {
    width: 15.95vw;
  }
}
@media screen and (max-width: 750px) {
  .number_contents {
    margin-bottom: 15.28vw;
  }
  .number_contents:last-child {
    margin: 0;
  }
  .number_contents article {
    padding: 5.56vw;
    border-radius: 2.78vw;
    margin-bottom: 5.56vw;
  }
  .number_contents article .number {
    font-size: 6.67vw;
  }
  .number_contents article p {
    font-size: 4.17vw;
    margin: 0;
    line-height: 1.6em;
    width: calc(100% - 3.4em);
  }
  .number_contents article p .caution {
    font-size: 3.61vw;
  }
  .number_contents.figurea_add article {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    border-radius: 2.78vw;
  }
  .number_contents.figurea_add article p {
    font-size: 4.44vw;
    width: 100%;
  }
  .number_contents.figurea_add article figure {
    width: 100%;
    text-align: center;
  }
  .number_contents.figurea_add article figure img {
    position: relative;
    left: -1em;
    width: 34.72vw;
  }
}

.side_nav_contents_items:nth-child(even) .service_icon_list article {
  background: #F0F5FA;
}
.side_nav_contents_items:nth-child(even) .flow_image {
  background: #F0F5FA;
}
.side_nav_contents_items:nth-child(even) .number_contents article {
  background: #F0F5FA;
}

.coution {
  font-size: 14px;
}
@media screen and (max-width: 1160px) {
  .coution {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .coution {
    font-size: 2.78vw;
  }
}

.service_device {
  margin-bottom: 20px;
  list-style: none;
  padding: 0;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.service_device li {
  list-style: none;
  background: #FFF;
  text-align: center;
  width: 23.75%;
  padding: 24px 0;
  border-radius: 10px;
  margin: 0 1.625% 1.625% 0;
}
.service_device li:nth-child(4n) {
  margin-right: 0;
}
.service_device li img {
  width: 110px;
  margin: 0 auto;
}
.service_device li span {
  display: block;
  width: 100%;
  color: #0064AF;
  line-height: 1.2em;
}
.service_device li span small {
  font-size: 14px;
}
@media screen and (max-width: 1160px) {
  .service_device {
    margin-bottom: 1.72vw;
  }
  .service_device li {
    padding: 2.07vw 0;
    border-radius: 0.86vw;
  }
  .service_device li img {
    width: 9.48vw;
  }
  .service_device li span small {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .service_device {
    margin-bottom: 20px;
  }
  .service_device li {
    width: 30.12%;
    padding: 4.17vw 0;
    border-radius: 2.78vw;
    margin: 0 4.82% 4.82% 0;
  }
  .service_device li:nth-child(4n) {
    margin: 0 4.82% 4.82% 0;
  }
  .service_device li:nth-child(3n) {
    margin: 0 0 4.82% 0;
  }
  .service_device li img {
    width: 17.5vw;
  }
  .service_device li span {
    font-size: 2.22vw;
  }
  .service_device li span small {
    font-size: 1.94vw;
  }
}

.three_box_list {
  position: relative;
  margin-bottom: 110px;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.three_box_list li {
  list-style: none;
  width: 31.6%;
  margin-right: 2.6%;
  padding: 50px 0;
  font-size: 18px;
  line-height: 1.3em;
  font-weight: bold;
  text-align: center;
  background: #F0F5FA;
  border-radius: 10px;
  margin-bottom: 20px;
  color: #0064AF;
}
.three_box_list li:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 1160px) {
  .three_box_list {
    margin-bottom: 9.48vw;
  }
  .three_box_list li {
    padding: 4.31vw 0;
    font-size: 1.55vw;
    border-radius: 0.86vw;
    margin-bottom: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .three_box_list {
    margin-bottom: 9.72vw;
    padding-left: 0 !important;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .three_box_list li {
    width: 47.7%;
    padding: 8.33vw 0;
    margin-right: 0;
    font-size: 4.17vw;
    border-radius: 2.78vw;
    margin-bottom: 5.56vw;
  }
  .three_box_list li:nth-child(3n) {
    margin-right: 0;
  }
}

.project_nav {
  padding: 0 0 180px 0;
}
.project_nav.bgcolor {
  background: #F0F5FA;
}
.project_nav ul {
  list-style: none;
  width: 1030px;
  margin: 0 auto 2em auto;
  padding-top: 85px;
  border-top: 1px solid #E6E6E6;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
}
.project_nav ul li {
  position: relative;
  font-weight: bold;
}
.project_nav ul li a {
  display: block;
  text-decoration: none;
  color: #323232;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.project_nav ul li a:hover {
  color: #0064AF;
}
.project_nav ul li.pnav_prev {
  padding-left: 37px;
}
.project_nav ul li.pnav_prev::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 12px;
}
.project_nav ul li.pnav_prev span {
  position: absolute;
  left: 8px;
  top: calc(50% - 6px);
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/common/icon_arrow_left_b.svg) no-repeat right center;
  background-size: 10px;
}
.project_nav ul li.pnav_next {
  padding-right: 37px;
}
.project_nav ul li.pnav_next::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 24px;
  height: 24px;
  border: 1px solid #0064AF;
  border-radius: 12px;
}
.project_nav ul li.pnav_next span {
  position: absolute;
  right: 8px;
  top: calc(50% - 6px);
  display: block;
  width: 10px;
  height: 10px;
  background: url(../images/common/icon_arrow_right_b.svg) no-repeat right center;
  background-size: 10px;
}
.project_nav p {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .project_nav {
    padding: 0 0 15.52vw 0;
  }
  .project_nav ul {
    width: 88.79vw;
    padding-top: 7.33vw;
  }
  .project_nav ul li.pnav_prev {
    padding-left: 3.19vw;
  }
  .project_nav ul li.pnav_prev::before {
    width: 2.07vw;
    height: 2.07vw;
    border-radius: 1.03vw;
  }
  .project_nav ul li.pnav_prev span {
    left: 0.69vw;
    top: calc(50% - 0.51vw);
    width: 0.86vw;
    height: 0.86vw;
    background-size: 0.86vw;
  }
  .project_nav ul li.pnav_next {
    padding-right: 3.19vw;
  }
  .project_nav ul li.pnav_next::before {
    width: 2.07vw;
    height: 2.07vw;
    border-radius: 1.03vw;
  }
  .project_nav ul li.pnav_next span {
    right: 0.69vw;
    top: calc(50% - 0.51vw);
    width: 0.86vw;
    height: 0.86vw;
    background-size: 0.86vw;
  }
}
@media screen and (max-width: 750px) {
  .project_nav {
    padding: 0 0 22.22vw 0;
  }
  .project_nav ul {
    margin-top: 13.89vw;
    width: 86.67vw;
    padding-top: 12.5vw;
    margin-bottom: 12.5vw;
  }
  .project_nav ul li.pnav_prev {
    padding-left: 9.17vw;
  }
  .project_nav ul li.pnav_prev::before {
    top: 0.83vw;
    width: 5.56vw;
    height: 5.56vw;
    border-radius: 3.33vw;
  }
  .project_nav ul li.pnav_prev span {
    left: 1.67vw;
    top: calc(50% - 1.39vw);
    width: 2.78vw;
    height: 2.78vw;
    background-size: 2.78vw;
  }
  .project_nav ul li.pnav_next {
    padding-right: 9.17vw;
  }
  .project_nav ul li.pnav_next::before {
    top: 0.83vw;
    width: 5.56vw;
    height: 5.56vw;
    border-radius: 3.33vw;
  }
  .project_nav ul li.pnav_next span {
    right: 1.67vw;
    top: calc(50% - 1.39vw);
    width: 2.78vw;
    height: 2.78vw;
    background-size: 2.78vw;
  }
}

.hover_line {
  display: inline;
  background-repeat: no-repeat;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
  background-size: 0 1px;
  background-image: -webkit-gradient(linear, left top, right top, from(#0064AF), to(#0064AF));
  background-image: linear-gradient(90deg, #0064AF, #0064AF);
  background-position: left bottom;
}
@media screen and (max-width: 750px) {
  .hover_line {
    background: none;
  }
}

a:hover .hover_line {
  background-size: 100% 1px;
}

.fancybox__backdrop {
  background-color: #0064AF !important;
  opacity: 0.95;
}

.fancybox__content {
  border-radius: 20px !important;
}

.is-next,
.is-prev {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.is-next::after,
.is-prev::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  margin-top: -4px;
}
.is-next svg,
.is-prev svg {
  display: none;
}
.is-next:hover,
.is-prev:hover {
  background: none;
  --f-button-active-bg: none;
  --f-button-hover-bg: none;
  opacity: 0.5;
}

.is-prev {
  left: 5vw !important;
}

.is-next {
  right: 5vw !important;
}
.is-next::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.home_news_entry {
  margin-bottom: 45px;
  padding-bottom: 45px;
  border-bottom: 1px solid #D7D7D7;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.home_news_entry div {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.home_news_entry time {
  display: inline-block;
  font-style: normal;
  font-size: 13px;
  line-height: 2.2em;
  margin-right: 1.5em;
  font-weight: bold;
  color: #0064AF;
}
.home_news_entry p {
  font-size: 13px;
  background: #F0F5FA;
  border-radius: 2em;
  line-height: 2.2em;
  padding: 0 1.5em;
  margin: 0 0 15px 0;
  font-weight: bold;
  color: #0064AF;
}
.home_news_entry h3 {
  position: relative;
  width: 100%;
  font-size: 15px;
  line-height: 1.66em;
  font-weight: normal;
}
.home_news_entry h3 .icon_rarrow {
  position: absolute;
  top: 10px;
  right: 8px;
  background: url(../images/common/icon_arrow_right_b.svg) no-repeat center center;
  background-size: 10px;
}
.home_news_entry h3 a {
  display: block;
  padding-right: 2em;
  text-decoration: none;
  color: #323232;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.home_news_entry h3 a:hover {
  color: #0064AF;
}
@media screen and (max-width: 1160px) {
  .home_news_entry {
    margin-bottom: 3.88vw;
    padding-bottom: 3.88vw;
  }
  .home_news_entry time {
    font-size: 1.12vw;
  }
  .home_news_entry p {
    font-size: 1.12vw;
    margin: 0 0 1.29vw 0;
  }
  .home_news_entry h3 {
    font-size: 1.29vw;
    padding-right: 3.45vw;
  }
  .home_news_entry h3 .icon_rarrow {
    top: 1.12vw;
    right: 0.69vw;
  }
}
@media screen and (max-width: 750px) {
  .home_news_entry {
    margin-bottom: 6.94vw;
    padding-bottom: 5.56vw;
  }
  .home_news_entry time {
    font-size: 3.61vw;
  }
  .home_news_entry p {
    font-size: 3.61vw;
    margin: 0 0 4.17vw 0;
  }
  .home_news_entry h3 {
    font-size: 4.17vw;
  }
  .home_news_entry h3 .icon_rarrow {
    top: 2.78vw;
    right: 2.22vw;
    background-size: 2.78vw;
  }
}

.fancybox__content > .f-button.is-close-btn {
  opacity: 1 !important;
  display: block;
  width: 50px;
  height: 50px;
  --f-button-width: 0;
  --f-button-height: 0;
  top: -70px;
}
.fancybox__content > .f-button.is-close-btn svg {
  display: none !important;
}
.fancybox__content > .f-button.is-close-btn::before, .fancybox__content > .f-button.is-close-btn::after { /* 共通設定 */
  content: "";
  position: absolute;
  top: 25px;
  left: 25px;
  width: 2px; /* 棒の幅（太さ） */
  height: 50px; /* 棒の高さ */
  background: #FFF;
}
.fancybox__content > .f-button.is-close-btn::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.fancybox__content > .f-button.is-close-btn::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width: 1160px) {
  .fancybox__content > .f-button.is-close-btn {
    width: 4.31vw;
    height: 4.31vw;
    top: -6.03vw;
  }
  .fancybox__content > .f-button.is-close-btn::before, .fancybox__content > .f-button.is-close-btn::after {
    top: 2.16vw;
    left: 2.16vw;
    width: 2px;
    height: 4.31vw;
  }
}
@media screen and (max-width: 750px) {
  .fancybox__content > .f-button.is-close-btn {
    width: 13.89vw;
    height: 13.89vw;
    top: -19.44vw;
  }
  .fancybox__content > .f-button.is-close-btn::before, .fancybox__content > .f-button.is-close-btn::after {
    top: 6.94vw;
    left: 6.94vw;
    width: 2px;
    height: 13.89vw;
  }
}

main .no_bdr {
  border-radius: 0 !important;
}
main .no_bdr img {
  border-radius: 0 !important;
}

.min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.orkney {
  font-family: "Orkney", sans-serif;
}

.alphabet_title,
.ssans3 {
  font-family: "Source Sans 3", sans-serif;
}

.fjp {
  font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}