@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Serif+JP:wght@200;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Serif+JP:wght@200;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Serif+JP:wght@200;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Serif+JP:wght@200;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Noto+Serif+JP:wght@200;700&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;
}

html, body {
  width: 100%;
  height: 100%;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: local("Cormorant Garamond Regular");
  size-adjust: 106%;
}
body {
  margin: 0px;
  padding: 0px;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-size: 16px;
  font-weight: 200;
  text-align: left;
}
@media screen and (max-width: 1160px) {
  body {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    font-size: 3.72vw;
  }
}

h1, h2, h3, h4, h5, h6 {
  margin: 0px;
  padding: 0px;
  color: #000;
  font-size: 24px;
  line-height: 1.8em;
  font-weight: 200;
}
@media screen and (max-width: 1160px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 2.07vw;
  }
}
@media screen and (max-width: 750px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 3.72vw;
  }
}

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: 16px;
  line-height: 1.75em;
  font-weight: 200;
  color: #000;
}
@media screen and (max-width: 1160px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  p, li, dt, dd, th, td, figcaption, time, address {
    font-size: 3.72vw;
  }
}

th p, td p {
  font-size: 100%;
}

p {
  margin-bottom: 2em;
}

a {
  color: #000;
  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;
}

#layout {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.dwrap {
  position: relative;
  clear: both;
}

.dleft {
  float: left;
}

.dright {
  float: right;
}

/* スペースの調整用 */
.pt-15 {
  padding-top: -15px;
}

.pt0 {
  padding-top: 0;
}

.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;
}

.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;
}

#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;
}

.header_inner {
  width: 1420px;
  margin: 0 auto;
  padding: 22px 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;
}
.header_inner .logo_wrap {
  position: relative;
  width: 248px;
}
.header_inner .logo_wrap a {
  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;
}
.header_inner .logo_wrap a h1 {
  width: 280px;
  line-height: 0;
  font-size: 0;
}
.header_inner ul {
  margin-right: 20px;
  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_inner ul li {
  list-style: none;
  margin: 0 35px 0 0;
  font-size: 20px;
}
.header_inner ul li a {
  display: block;
  position: relative;
  text-decoration: none;
  padding-bottom: 0.2em;
}
.header_inner ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #000;
  bottom: -1px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; /*変形の時間*/
}
.header_inner ul li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1); /*ホバー後、x軸方向に1（相対値）伸長*/
}
@media screen and (max-width: 1780px) {
  .header_inner {
    width: 90%;
    padding-right: 6vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media screen and (max-width: 1500px) {
  .header_inner {
    width: 100%;
    padding: 1.46vw 12vw 1.46vw 5vw;
  }
  .header_inner .logo_wrap {
    width: 16.5vw;
  }
  .header_inner .logo_wrap a figure {
    width: 3.6vw;
  }
  .header_inner .logo_wrap a h1 {
    width: 18.7vw;
  }
  .header_inner ul {
    margin-right: 1.3vw;
  }
  .header_inner ul li {
    margin: 0 2.3vw 0 0;
    font-size: 1.4vw;
  }
}
@media screen and (max-width: 750px) {
  .header_inner {
    padding: 0;
    height: 72px;
  }
  .header_inner .logo_wrap {
    width: 163px;
  }
  .header_inner .logo_wrap a h1 {
    margin: 0 0 0 16px;
    width: 163px;
  }
  .header_inner ul {
    display: none;
  }
}

.principle .header_inner ul li:nth-child(1) a::after,
.ceo .header_inner ul li:nth-child(2) a::after,
.service .header_inner ul li:nth-child(3) a::after,
.company .header_inner ul li:nth-child(4) a::after,
.recruit .header_inner ul li:nth-child(5) a::after,
.contact .header_inner ul li:nth-child(6) a::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  background: #B1A683;
}

footer {
  background: #B1A683;
  padding: 140px 0 0 0;
}
@media screen and (max-width: 1160px) {
  footer {
    padding: 12.07vw 0 0 0;
  }
}
@media screen and (max-width: 750px) {
  footer {
    padding: 17.44vw 0 0 0;
  }
}

.footer_inner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding-bottom: 180px;
  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_inner .footer_logo {
  width: 460px;
  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_inner .footer_logo h2 {
  width: 102px;
  line-height: 0;
  font-size: 0;
  margin: 0 0 0 0;
}
.footer_inner .footer_logo div {
  width: 330px;
}
.footer_inner .footer_logo address {
  font-size: 14px;
  font-style: normal;
  margin: 0 0 0.2em 0;
  line-height: 1.5em;
  color: #FFF;
}
.footer_inner .footer_logo p {
  width: 275px;
}
.footer_inner .footer_logo p img {
  width: 100%;
}
.footer_inner .footer_nav {
  width: 300px;
  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;
}
.footer_inner .footer_nav ul {
  list-style: none;
}
.footer_inner .footer_nav ul:first-child {
  margin-right: 35px;
}
.footer_inner .footer_nav ul li {
  margin-bottom: 1em;
}
.footer_inner .footer_nav ul li:last-child {
  margin: 0;
}
.footer_inner .footer_nav ul li a {
  color: #FFF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_inner .footer_nav ul li a:hover {
  color: #887A4F;
}
.footer_inner .contact_btn {
  width: 180px;
  font-size: 20px;
  text-align: center;
}
.footer_inner .contact_btn a {
  display: block;
  text-decoration: none;
  background: #FFF;
  color: #887A4F;
  padding: 0.5em 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_inner .contact_btn a:hover {
  background: #887A4F;
  color: #FFF;
}
.footer_inner .privacy_fnav {
  position: absolute;
  bottom: 120px;
  left: 490px;
  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;
}
.footer_inner .privacy_fnav li {
  font-size: 14px;
  list-style: none;
  padding-right: 2em;
  border-right: 1px solid #FFF;
  margin-right: 2em;
  line-height: 1.4em;
}
.footer_inner .privacy_fnav li:last-child {
  border-right: none;
}
.footer_inner .privacy_fnav li a {
  color: #FFF;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.footer_inner .privacy_fnav li a:hover {
  color: #887A4F;
}
@media screen and (max-width: 1160px) {
  .footer_inner {
    width: 90%;
    padding-bottom: 15.52vw;
  }
  .footer_inner .footer_logo {
    width: 39.66vw;
  }
  .footer_inner .footer_logo h2 {
    width: 8.79vw;
    margin: 0;
  }
  .footer_inner .footer_logo div {
    width: 28.45vw;
  }
  .footer_inner .footer_logo address {
    font-size: 1.21vw;
    margin: 0;
  }
  .footer_inner .footer_logo p {
    width: 23.71vw;
  }
  .footer_inner .footer_nav {
    width: 25.86vw;
  }
  .footer_inner .footer_nav ul:first-child {
    margin-right: 3.02vw;
  }
  .footer_inner .contact_btn {
    width: 15.52vw;
    font-size: 1.72vw;
  }
  .footer_inner .privacy_fnav {
    bottom: 10.34vw;
    left: 43.53vw;
  }
  .footer_inner .privacy_fnav li {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_inner {
    width: 81.4vw;
    padding-bottom: 17.44vw;
  }
  .footer_inner .footer_logo {
    width: 100%;
  }
  .footer_inner .footer_logo h2 {
    width: 18.95vw;
    margin: 0 auto 9.07vw auto;
  }
  .footer_inner .footer_logo div {
    width: 81.4vw;
    text-align: center;
    margin-bottom: 2em;
  }
  .footer_inner .footer_logo address {
    font-size: 3.02vw;
    line-height: 1.8em;
    margin: 0;
  }
  .footer_inner .footer_logo p {
    width: 58.14vw;
    margin: 0 auto;
  }
  .footer_inner .footer_nav {
    width: 100%;
    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;
  }
  .footer_inner .footer_nav ul {
    display: none;
  }
  .footer_inner .footer_nav p {
    text-align: center;
    color: #FFF;
    line-height: 2.06em;
    font-size: 3.02vw;
    width: 100%;
  }
  .footer_inner .footer_nav p a {
    color: #FFF;
    text-decoration: none;
  }
  .footer_inner .contact_btn {
    width: 41.86vw;
    font-size: 3.72vw;
    margin: 0 auto;
  }
  .footer_inner .contact_btn a {
    -webkit-transition: none;
    transition: none;
  }
  .footer_inner .contact_btn a:hover {
    background: #887A4F;
    color: #FFF;
  }
}

.footer_copy {
  position: relative;
  background: #FFF;
}

.footer_copy_inner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 30px 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;
}
.footer_copy_inner p {
  display: inline-block;
  font-size: 14px;
  margin: 0;
  padding-left: 8px;
  color: #2F1D19;
}
.footer_copy_inner ul {
  list-style: none;
  display: inline-block;
  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_copy_inner ul li {
  font-size: 14px;
  line-height: 1.2em;
  display: inline-block;
  padding-right: 2em;
  margin-right: 2em;
  border-right: 1px solid #767676;
}
.footer_copy_inner ul li a {
  text-decoration: none;
  color: #767676;
}
.footer_copy_inner ul li:last-child {
  padding-right: 0;
  margin-right: 0;
  border: none;
}
@media screen and (max-width: 1160px) {
  .footer_copy_inner {
    width: 90%;
    padding: 2.59vw 0;
  }
  .footer_copy_inner p {
    font-size: 1.21vw;
    padding-left: 0.69vw;
  }
  .footer_copy_inner ul li {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .footer_copy_inner {
    width: 81.4vw;
    padding: 4.65vw 0 5.81vw 0;
  }
  .footer_copy_inner p {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    font-size: 2.79vw;
    padding-left: 0;
    text-align: center;
    line-height: 2em;
    width: 100%;
  }
  .footer_copy_inner ul {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 0.5em;
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .footer_copy_inner ul li {
    font-size: 2.79vw;
    color: #767676;
  }
  .footer_copy_inner ul li a {
    color: #767676;
  }
}

.pagetop {
  position: fixed;
  right: 50px;
  bottom: 50px;
  width: 70px;
  line-height: 0;
  font-size: 0;
  margin: 0;
  z-index: 45;
}
.pagetop a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.pagetop a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1160px) {
  .pagetop {
    right: 4.31vw;
    bottom: 4.31vw;
    width: 6.03vw;
  }
}
@media screen and (max-width: 750px) {
  .pagetop {
    right: 4.65vw;
    bottom: 4.65vw;
    width: 11.63vw;
  }
}

/* gnav */
/* sp menu */
.no_scroll .menu {
  position: fixed;
}

.menu {
  position: fixed;
  width: 170px;
  height: 50px;
  right: 0;
  top: 28px;
  cursor: pointer;
  text-align: left;
  font-size: 21px;
  padding: 0.4em 0 0 1.6em;
  color: #FFF;
  margin: 0px;
  z-index: 40;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #B1A683;
}
.menu em {
  font-style: normal;
}
.menu::before, .menu::after,
.menu .icon {
  position: absolute;
  top: 15px;
  right: 22px;
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background-color: #FFF;
  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: 24px;
  background: #FFF;
}
.menu::before {
  content: "";
  top: 34px;
  background: #FFF;
}
.menu .open {
  display: block;
}
.menu .close {
  display: none;
}
.menu.on {
  background: none;
  color: #F1F0E7;
}
.menu.on em {
  display: none;
}
.menu.on::before {
  -webkit-transform: translateY(-9.5px) rotate(-45deg);
          transform: translateY(-9.5px) rotate(-45deg);
  background-color: #BC9440;
}
.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(9.5px) rotate(45deg);
          transform: translateY(9.5px) rotate(45deg);
  background-color: #BC9440;
}
.menu.on .open {
  display: none;
}
.menu.on .close {
  display: block;
}
@media screen and (max-width: 1500px) {
  .menu {
    width: 11.3vw;
    height: 3.3vw;
    top: 1.86vw;
    font-size: 1.4vw;
  }
  .menu::before, .menu::after,
  .menu .icon {
    top: 1vw;
    right: 1.46vw;
    width: 1.73vw;
  }
  .menu::after {
    top: 1.6vw;
  }
  .menu::before {
    top: 2.26vw;
  }
  .menu.on::before {
    -webkit-transform: translateY(-0.63vw) rotate(-45deg);
            transform: translateY(-0.63vw) rotate(-45deg);
  }
  .menu.on .icon {
    -webkit-transform: translateY(0.63vw) rotate(45deg);
            transform: translateY(0.63vw) rotate(45deg);
  }
}
@media screen and (max-width: 750px) {
  .menu {
    width: 50px;
    height: 50px;
    right: 13px;
    top: 11px;
    font-size: 0;
    padding: 0;
  }
  .menu::before, .menu::after,
  .menu .icon {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 19px;
    height: 1px;
    border-radius: 1px;
    -webkit-transition: none;
    transition: none;
  }
  .menu::after {
    top: 25px;
  }
  .menu::before {
    top: 33px;
  }
  .menu.on::before {
    -webkit-transform: translateY(-8.5px) rotate(-45deg);
            transform: translateY(-8.5px) rotate(-45deg);
  }
  .menu.on .icon {
    -webkit-transform: translateY(8.5px) rotate(45deg);
            transform: translateY(8.5px) rotate(45deg);
  }
}

.spnav_back {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  background: rgba(60, 60, 60, 0.5);
  z-index: 39;
}

.spnav {
  position: fixed;
  right: -400px;
  top: 0;
  width: 355px;
  padding: 30px;
  height: 100vh;
  text-align: center;
  background: #F1F0E7;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 39;
}
.spnav .list_btn {
  width: 230px;
  line-height: 1.2em;
  font-size: 20px;
}
.spnav .list_btn a {
  padding: 13px 0;
}
.spnav h2 {
  width: 180px;
  line-height: 0;
  font-size: 0;
}
.spnav ul {
  list-style: none;
  padding-top: 80px;
  margin-bottom: 50px;
  padding-left: 3px;
}
.spnav ul li {
  font-size: 24px;
  line-height: 1em;
  margin-bottom: 1.5em;
  text-align: left;
}
.spnav ul li a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.spnav ul li a:hover {
  opacity: 0.5;
}
.spnav ul li span {
  display: block;
  font-size: 12px;
}
.spnav p {
  text-align: left;
  font-size: 14px;
  padding-left: 3px;
}
.spnav p a {
  text-decoration: none;
}
.spnav .spnav_insta {
  text-align: center;
  margin-bottom: 40px;
}
.spnav .spnav_insta a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.spnav .spnav_insta a:hover {
  opacity: 0.5;
}
.spnav.view {
  opacity: 1;
  top: 0;
  right: 0;
}
@media screen and (max-width: 1500px) {
  .spnav {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
  .spnav h2 {
    width: 12vw;
  }
}
@media screen and (max-width: 750px) {
  .spnav {
    right: -110%;
    width: 100%;
    padding: 0;
  }
  .spnav h2 {
    margin: 12px 0 0 16px;
    width: 163px;
  }
  .spnav .list_btn {
    width: 53.49vw;
    font-size: 5.2vw;
  }
  .spnav .list_btn a {
    padding: 4vw 0;
  }
  .spnav ul {
    padding-top: 13.95vw;
    padding-left: 19px;
  }
  .spnav ul li {
    font-size: 20px;
  }
  .spnav ul li a:hover {
    opacity: 1;
  }
  .spnav ul li span {
    font-size: 2.79vw;
  }
  .spnav p {
    font-size: 14px;
    padding-left: 19px;
  }
  .spnav .spnav_insta {
    margin-bottom: 8.14vw;
  }
  .spnav .spnav_insta a {
    -webkit-transition: none;
    transition: none;
  }
  .spnav .spnav_insta a:hover {
    opacity: 1;
  }
}

/**
 * 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);
  }
}
main {
  overflow: hidden;
}
.dwrap {
  position: relative;
  width: 1096px;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .dwrap {
    width: 94.48vw;
  }
}
@media screen and (max-width: 750px) {
  .dwrap {
    width: 81.4vw;
  }
}

.home_kv {
  position: relative;
}
.home_kv article {
  position: relative;
  line-height: 0;
  font-size: 0;
  margin: 0;
}
.home_kv article video {
  width: 100%;
  line-height: 0;
  font-size: 0;
}
.home_kv article figure {
  line-height: 0;
  font-size: 0;
}
.home_kv article.kv_image {
  display: none;
  width: 100%;
}
.home_kv article.kv_image figure {
  line-height: 0;
  font-size: 0;
}
.home_kv article.kv_image figure img {
  width: 100%;
}
.home_kv article.kv_image h2 {
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 760px;
  line-height: 0;
  font-size: 0;
}
.home_kv article.kv_image h2 img {
  width: 100%;
}
@media screen and (max-width: 1260px) {
  .home_kv article.kv_image h2 {
    width: 60.32vw;
  }
}
@media screen and (max-width: 750px) {
  .home_kv article {
    width: 100%;
    height: 60vw;
  }
  .home_kv article video {
    position: relative;
    width: auto;
    height: 60vw;
    left: -18vw;
  }
  .home_kv article.kv_image figure {
    line-height: 0;
    font-size: 0;
  }
  .home_kv article.kv_image figure img {
    height: 60vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .home_kv article.kv_image h2 {
    width: 80vw;
  }
}

.home_copy {
  position: relative;
  background: #F8F5F5;
  padding: 300px 0 285px 0;
  height: 100%;
}
.home_copy::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 40px;
  background: transparent linear-gradient(182deg, #FAF1D2 0%, #6F633C 100%) 0% 0% no-repeat padding-box;
}
@media screen and (max-width: 1260px) {
  .home_copy {
    padding: 23.81vw 0 22.62vw 0;
  }
  .home_copy::after {
    width: 3.17vw;
  }
}
@media screen and (max-width: 750px) {
  .home_copy {
    margin-top: 11.63vw;
    padding: 10.47vw 0 13.95vw 0;
    height: auto;
  }
  .home_copy::after {
    width: 7px;
    display: none;
  }
}

.home_copy_inner {
  position: relative;
  width: 1000px;
  height: 100%;
  margin: 0 auto;
  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_copy_inner .vline_title {
  width: 15.6px;
  margin: 0 51px 0 0;
  line-height: 0;
  font-size: 0;
}
.home_copy_inner .home_copy_text {
  position: relative;
  width: 350px;
  height: 100%;
}
.home_copy_inner .home_copy_text h2 {
  font-size: 24px;
  margin-bottom: 1.5em;
}
.home_copy_inner .home_copy_text p {
  font-size: 14px;
  line-height: 2.1em;
}
.home_copy_inner .home_copy_text p:last-child {
  margin: 0;
}
.home_copy_inner .home_copy_text .more_btn {
  font-size: 16px;
  margin: 160px 0 0 0;
}
.home_copy_inner figure {
  position: absolute;
  top: 0;
  width: 638px;
  right: -138px;
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 1260px) {
  .home_copy_inner {
    width: 100%;
  }
  .home_copy_inner .vline_title {
    padding-left: 6.5vw;
  }
  .home_copy_inner figure {
    width: 50.63vw;
    right: 0;
  }
}
@media screen and (max-width: 1160px) {
  .home_copy_inner .vline_title {
    width: 1.34vw;
    margin: 0 4.4vw 0 0;
  }
  .home_copy_inner .home_copy_text {
    width: 30.17vw;
  }
  .home_copy_inner .home_copy_text h2 {
    font-size: 2.07vw;
  }
  .home_copy_inner .home_copy_text p {
    font-size: 1.21vw;
  }
  .home_copy_inner .home_copy_text .more_btn {
    font-size: 1.38vw;
    margin: 16.38vw 0 0 0;
  }
}
@media screen and (max-width: 750px) {
  .home_copy_inner {
    width: 100%;
    display: block;
  }
  .home_copy_inner .vline_title {
    margin: 0;
    width: 3.63vw;
    position: absolute;
    right: 2.79vw;
    top: -12.79vw;
  }
  .home_copy_inner .vline_title img {
    width: 100%;
  }
  .home_copy_inner .home_copy_text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 81.4vw;
    margin: 0 auto;
    height: auto;
  }
  .home_copy_inner .home_copy_text h2 {
    font-size: 4.88vw;
    margin-bottom: 4.19vw;
  }
  .home_copy_inner .home_copy_text p {
    font-size: 3.02vw;
  }
  .home_copy_inner .home_copy_text .more_btn {
    font-size: 3.26vw;
    margin: 0 auto;
  }
  .home_copy_inner figure {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    position: relative;
    top: auto;
    right: auto;
    width: 81.4vw;
    margin: 0 auto 12.79vw auto;
  }
  .home_copy_inner figure img {
    width: 100%;
  }
  .home_copy_inner .more_btn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    font-size: 3.26vw;
    margin: 0 auto;
  }
}

.more_btn {
  position: relative;
  font-size: 16px;
  text-align: right;
}
.more_btn a {
  display: block;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: 100px;
  margin: 0 0 0 auto;
}
.more_btn a::before {
  position: absolute;
  display: block;
  content: "";
  width: 100px;
  bottom: 0;
  right: 0;
  height: 3px;
  background: #BAA773;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.more_btn a::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  right: 42px;
  height: 3px;
  width: 58px;
  background: #6F6F6F;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.more_btn a:hover {
  color: #D4A28F;
}
.more_btn a:hover::after {
  right: 0;
}
@media screen and (max-width: 1160px) {
  .more_btn {
    font-size: 1.55vw;
  }
  .more_btn a {
    width: 8.62vw;
  }
  .more_btn a::before {
    width: 8.62vw;
  }
  .more_btn a::after {
    right: 3.62vw;
    width: 5vw;
  }
}
@media screen and (max-width: 750px) {
  .more_btn {
    font-size: 3.02vw;
    width: 17.21vw;
    text-align: center;
    margin: 0 auto;
  }
  .more_btn a {
    width: 17.21vw;
    margin: 0;
  }
  .more_btn a::before {
    width: 17.21vw;
    -webkit-transition: none;
    transition: none;
  }
  .more_btn a::after {
    right: auto;
    left: 0;
    width: 8.6vw;
    -webkit-transition: none;
    transition: none;
  }
  .more_btn a:hover::after {
    right: 0;
    left: auto;
  }
}

.service_wrap {
  position: relative;
  padding: 0 0 120px 0;
}
.service_wrap .service_title {
  position: relative;
  width: 1200px;
  margin: 0 auto;
  padding-top: 115px;
}
.service_wrap .vline_title {
  position: absolute;
  right: 0;
  top: -67px;
  margin: 0;
}
.service_wrap h2 {
  text-align: center;
  color: #000;
  font-size: 37px;
  line-height: 1.5em;
  text-align: center;
}
.service_wrap h3 {
  font-size: 16px;
  line-height: 1em;
  margin: 0 0 70px 0;
  text-align: center;
  color: #B1A683;
}
@media screen and (max-width: 1260px) {
  .service_wrap .service_title {
    width: 94%;
    padding-top: 9.91vw;
  }
}
@media screen and (max-width: 1160px) {
  .service_wrap {
    padding: 0 0 10.34vw 0;
  }
  .service_wrap .service_title {
    padding-top: 9.91vw;
  }
  .service_wrap .vline_title {
    top: -5.78vw;
    width: 1.34vw;
  }
  .service_wrap h2 {
    font-size: 2.93vw;
  }
  .service_wrap h3 {
    font-size: 1.38vw;
    margin: 0 0 6.03vw 0;
  }
}
@media screen and (max-width: 750px) {
  .service_wrap {
    padding: 13.72vw 0 12.79vw 0;
  }
  .service_wrap .service_title {
    padding-top: 0;
  }
  .service_wrap .vline_title {
    top: -34.65vw;
    right: 0vw;
    width: 2.84vw;
  }
  .service_wrap .vline_title img {
    width: 100%;
  }
  .service_wrap h2 {
    font-size: 5.35vw;
    width: 81.4vw;
    margin: 0 auto 1.63vw auto;
  }
  .service_wrap h3 {
    font-size: 3.26vw;
    width: 81.4vw;
    margin: 0 auto 9.3vw auto;
  }
}

.service_inner {
  position: relative;
  width: 1200px;
  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;
}
.service_inner article {
  width: 31%;
}
.service_inner article a {
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.service_inner article a img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.service_inner article a:hover img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -ms-filter: blur(6px);
  -webkit-filter: blur(6px);
          filter: blur(6px);
}
.service_inner article figure {
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 0;
  font-size: 0;
  margin: 0 0 18px 0;
  overflow: hidden;
}
.service_inner article h4 {
  font-size: 30px;
  line-height: 1.5em;
  text-align: center;
}
.service_inner article h5 {
  font-size: 14px;
  color: #B1A683;
  text-align: center;
  line-height: 1.1em;
  margin-bottom: 30px;
}
.service_inner article p {
  font-size: 14px;
}
.service_inner article .more_btn {
  font-size: 16px;
  line-height: 1.8em;
}
.service_inner article .more_btn a {
  text-align: right;
}
@media screen and (max-width: 1260px) {
  .service_inner {
    width: 94%;
  }
}
@media screen and (max-width: 1160px) {
  .service_inner article figure {
    margin: 0 0 1.55vw 0;
  }
  .service_inner article h4 {
    font-size: 2.59vw;
  }
  .service_inner article h5 {
    font-size: 1.21vw;
    margin-bottom: 2.59vw;
  }
  .service_inner article p {
    font-size: 1.21vw;
  }
  .service_inner article .more_btn {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  .service_inner {
    width: 100%;
  }
  .service_inner article {
    width: 100vw;
    padding: 0 1.5vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .service_inner article .slick-list {
    padding: 0;
  }
  .service_inner article figure {
    margin: 0 0 9.07vw 0;
  }
  .service_inner article h4 {
    font-size: 5.35vw;
  }
  .service_inner article h5 {
    font-size: 2.79vw;
    margin-bottom: 4.65vw;
  }
  .service_inner article p {
    font-size: 2.79vw;
    line-height: 2.3em;
  }
  .service_inner article .more_btn {
    font-size: 3.26vw;
    width: 17.21vw;
    margin: 0 auto 9.77vw auto;
  }
  .service_inner article .more_btn a {
    text-align: center;
  }
}

.allview_btn {
  width: 135px;
  margin: 0 auto;
  font-size: 18px;
}
.allview_btn a {
  display: block;
  color: #6F6F6F;
  text-decoration: none;
  padding: 0 0 0.3em 0;
  border-bottom: 1px solid #B9A773;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.allview_btn a:hover {
  color: #B1A683;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 1160px) {
  .allview_btn {
    width: 11.64vw;
    font-size: 1.55vw;
  }
}
@media screen and (max-width: 750px) {
  .allview_btn {
    width: 23.26vw;
    font-size: 3.72vw;
  }
}

.home_info_topics {
  position: relative;
  background: #F5F5F5;
  padding: 110px 0 125px 0;
}
@media screen and (max-width: 1160px) {
  .home_info_topics {
    padding: 9.48vw 0 10.78vw 0;
  }
}
@media screen and (max-width: 750px) {
  .home_info_topics {
    padding: 16.28vw 0 18.14vw 0;
  }
}

.home_info_topics_inner {
  position: relative;
  width: 1200px;
  margin: 0 auto;
}
.home_info_topics_inner h2 {
  font-size: 34px;
  color: #B1A683;
  letter-spacing: 0.1em;
  line-height: 1.5em;
}
.home_info_topics_inner h3 {
  font-size: 14px;
  margin-bottom: 25px;
}
.home_info_topics_inner h3.more_btn {
  font-size: 16px;
}
@media screen and (max-width: 1260px) {
  .home_info_topics_inner {
    width: 94%;
  }
}
@media screen and (max-width: 1160px) {
  .home_info_topics_inner h2 {
    font-size: 2.93vw;
  }
  .home_info_topics_inner h3 {
    font-size: 1.21vw;
    margin-bottom: 2.16vw;
  }
  .home_info_topics_inner h3.more_btn {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  .home_info_topics_inner {
    width: 81.4vw;
  }
  .home_info_topics_inner h2 {
    font-size: 5.58vw;
    margin-bottom: 1.4vw;
  }
  .home_info_topics_inner h3 {
    font-size: 2.79vw;
    margin-bottom: 5.81vw;
  }
  .home_info_topics_inner h3.more_btn {
    font-size: 3.26vw;
    width: 17.21vw;
    margin: 0 auto;
  }
}

.info_wrap {
  position: relative;
  border-top: 1px solid #B1A683;
}
.info_wrap dl {
  padding: 30px 0;
  border-bottom: 1px solid #E3E3E3;
  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;
}
.info_wrap dl dt {
  font-size: 14px;
  width: 8em;
}
.info_wrap dl dd {
  font-size: 14px;
  width: calc(100% - 8em);
}
.info_wrap dl dd a {
  color: #2F1D19;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.info_wrap dl dd a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1160px) {
  .info_wrap dl {
    padding: 2.59vw 0;
  }
  .info_wrap dl dt {
    font-size: 1.21vw;
  }
  .info_wrap dl dd {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .info_wrap dl {
    padding: 5.81vw 0;
  }
  .info_wrap dl dt {
    font-size: 2.79vw;
    width: 8em;
  }
  .info_wrap dl dd {
    font-size: 2.79vw;
    width: calc(100% - 8em);
  }
  .info_wrap dl dd a {
    -webkit-transition: none;
    transition: none;
  }
}

.topics_wrap {
  position: relative;
  margin-top: 110px;
}
@media screen and (max-width: 1160px) {
  .topics_wrap {
    margin-top: 9.48vw;
  }
}

.allview_btn2 {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 18px;
  width: 230px;
}
.allview_btn2 a {
  display: block;
  color: #FFF;
  padding: 0.75em 0;
  background: #B1A683;
  text-decoration: none;
  text-align: center;
  border: 1px solid #B1A683;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.allview_btn2 a:hover {
  background: #FFF;
  color: #B1A683;
}
@media screen and (max-width: 1160px) {
  .allview_btn2 {
    font-size: 1.55vw;
    width: 19.83vw;
  }
}

.topics_inner {
  position: relative;
  border-top: 1px solid #B1A683;
  padding-top: 65px;
  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;
}
.topics_inner article {
  width: 31%;
  padding-bottom: 35px;
  background: #FFF;
  -webkit-box-shadow: 0px 0px 15px 0px rgba(39, 39, 39, 0.16);
          box-shadow: 0px 0px 15px 0px rgba(39, 39, 39, 0.16);
}
.topics_inner article a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.topics_inner article a img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.topics_inner article a:hover img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -ms-filter: blur(6px);
  -webkit-filter: blur(6px);
          filter: blur(6px);
}
.topics_inner article figure {
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  margin-bottom: 30px;
}
.topics_inner article h4 {
  font-size: 20px;
  padding: 0 34px;
  margin-bottom: 30px;
  line-height: 1.5em;
}
.topics_inner article p {
  padding: 0 34px;
  font-size: 14px;
  line-height: 2.1em;
  margin-bottom: 15px;
}
.topics_inner article h3 {
  margin: 0 34px 0 0;
}
@media screen and (max-width: 1160px) {
  .topics_inner {
    padding-top: 5.6vw;
  }
  .topics_inner article {
    padding-bottom: 3.02vw;
  }
  .topics_inner article figure {
    margin-bottom: 2.59vw;
  }
  .topics_inner article h4 {
    font-size: 1.72vw;
    padding: 0 2.93vw;
    margin-bottom: 2.59vw;
  }
  .topics_inner article p {
    padding: 0 2.93vw;
    font-size: 1.21vw;
    margin-bottom: 1.29vw;
  }
  .topics_inner article h3 {
    margin: 0 2.93vw 0 0;
  }
}

.banner_copy {
  position: relative;
  padding: 110px 0;
  background: -webkit-gradient(linear, left top, right top, from(#E8E8E8), color-stop(53%, #E8E8E8), color-stop(53%, #FFF), to(#FFF));
  background: linear-gradient(to right, #E8E8E8 0%, #E8E8E8 53%, #FFF 53%, #FFF 100%);
}
@media screen and (max-width: 1160px) {
  .banner_copy {
    padding: 9.48vw 0;
  }
}
@media screen and (max-width: 750px) {
  .banner_copy {
    padding: 12.09vw 0 17.44vw 0;
    background: #E8E8E8;
  }
}

.banner_copy_inner {
  position: relative;
  width: 1200px;
  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;
}
.banner_copy_inner ul {
  width: 35.6%;
  margin-left: 8.3%;
  list-style: none;
}
.banner_copy_inner ul li {
  position: relative;
  margin-bottom: 25px;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.banner_copy_inner ul li img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.banner_copy_inner ul li:hover img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -ms-filter: blur(6px);
  -webkit-filter: blur(6px);
          filter: blur(6px);
}
.banner_copy_inner ul li span {
  display: block;
  width: 100%;
  color: #FFF;
  font-size: 30px;
  line-height: 1.8em;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.banner_copy_inner ul li:nth-child(3) {
  margin-bottom: 0;
}
.banner_copy_inner .home_bottom_copy {
  width: 35.6%;
  padding-right: 1.75%;
}
.banner_copy_inner .home_bottom_copy a {
  text-decoration: none;
}
.banner_copy_inner .home_bottom_copy figure {
  position: relative;
  line-height: 0;
  font-size: 0;
  margin-bottom: 65px;
  overflow: hidden;
}
.banner_copy_inner .home_bottom_copy figure figcaption {
  position: absolute;
  font-size: 24px;
  color: #FFF;
  right: 0.7em;
  top: 39%;
}
.banner_copy_inner .home_bottom_copy figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.banner_copy_inner .home_bottom_copy .ceo_title_text {
  padding: 0;
  width: 350px;
  margin-bottom: 45px;
}
.banner_copy_inner .home_bottom_copy h3 {
  position: absolute;
  right: 25px;
  bottom: 0;
  width: 15.4px;
}
.banner_copy_inner .home_bottom_copy .home_ceo_mes {
  width: 350px;
}
.banner_copy_inner .home_bottom_copy .home_ceo_mes p {
  font-size: 14px;
}
.banner_copy_inner .home_bottom_copy .home_ceo_mes p.more_btn {
  margin: 100px 0 0 0;
  font-size: 16px;
}
@media screen and (max-width: 1260px) {
  .banner_copy_inner {
    width: 94%;
  }
}
@media screen and (max-width: 1160px) {
  .banner_copy_inner {
    width: 90%;
  }
  .banner_copy_inner ul li {
    margin-bottom: 2.16vw;
  }
  .banner_copy_inner ul li span {
    font-size: 2.59vw;
  }
  .banner_copy_inner .home_bottom_copy figure {
    margin-bottom: 5.6vw;
  }
  .banner_copy_inner .home_bottom_copy figure figcaption {
    font-size: 2.07vw;
  }
  .banner_copy_inner .home_bottom_copy .ceo_title_text {
    width: 27.59vw;
    margin-bottom: 3.88vw;
  }
  .banner_copy_inner .home_bottom_copy h3 {
    right: 2.16vw;
    width: 1.33vw;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes {
    width: 27.59vw;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes p {
    font-size: 1.21vw;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes p.more_btn {
    margin: 8.62vw 0 0 0;
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  .banner_copy_inner {
    width: 100%;
  }
  .banner_copy_inner ul {
    width: 81.3%;
    margin: 0 auto 2.33vw auto;
  }
  .banner_copy_inner ul li {
    margin-bottom: 3.49vw;
  }
  .banner_copy_inner ul li img {
    height: 36.51vw;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .banner_copy_inner ul li span {
    font-size: 5.35vw;
  }
  .banner_copy_inner h3 {
    position: absolute;
    left: auto;
    right: 3.02vw;
    top: -23.26vw;
    width: 3.63vw;
    margin: 0;
  }
  .banner_copy_inner h3 img {
    width: 100%;
  }
  .banner_copy_inner .home_bottom_copy {
    width: 81.3%;
    margin: 0 auto;
    padding-right: 0;
  }
  .banner_copy_inner .home_bottom_copy figure {
    margin-bottom: 6.98vw;
  }
  .banner_copy_inner .home_bottom_copy figure figcaption {
    font-size: 4.65vw;
  }
  .banner_copy_inner .home_bottom_copy .ceo_title_text {
    width: 100%;
    margin-bottom: 4.65vw;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes {
    width: 100%;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes p {
    font-size: 2.79vw;
  }
  .banner_copy_inner .home_bottom_copy .home_ceo_mes p.more_btn {
    margin: 0 auto;
    font-size: 3.26vw;
  }
  .banner_copy_inner .home_bottom_copy {
    width: 81.3%;
    margin: 0 auto;
  }
  .banner_copy_inner .home_bottom_copy figure {
    height: 36.5vw;
  }
  .banner_copy_inner .home_bottom_copy figure img {
    width: 100%;
    height: 36.5vw;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
  }
  .banner_copy_inner .home_bottom_copy h2 {
    font-size: 4.88vw;
    margin-bottom: 5.35vw;
  }
  .banner_copy_inner .home_bottom_copy p {
    font-size: 2.79vw;
  }
  .banner_copy_inner .home_bottom_copy p.more_btn {
    margin: 0 auto;
    font-size: 3.26vw;
  }
}

.page_title {
  position: relative;
}
.page_title figure {
  line-height: 0;
  font-size: 0;
  z-index: 1;
  max-height: 425px;
}
.page_title figure img {
  max-height: 425px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page_title .page_title_text {
  text-align: center;
  z-index: 2;
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.page_title .page_title_text p {
  margin: 0;
  font-size: 63px;
  line-height: 1.2em;
  color: #FFF;
  -webkit-animation: fadeoutBlur 1s ease-in-out;
          animation: fadeoutBlur 1s ease-in-out;
}
.page_title .page_title_text h1 {
  font-size: 30px;
  line-height: 1.7em;
  color: #FFF;
  -webkit-animation: fadeoutBlur 1s ease-in-out;
          animation: fadeoutBlur 1s ease-in-out;
}
@media screen and (max-width: 1160px) {
  .page_title .page_title_text p {
    font-size: 5.43vw;
  }
  .page_title .page_title_text h1 {
    font-size: 2.59vw;
  }
}
@media screen and (max-width: 750px) {
  .page_title figure {
    height: 34.88vw;
  }
  .page_title figure img {
    height: 34.88vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .page_title .page_title_text p {
    font-size: 5.35vw;
  }
  .page_title .page_title_text h1 {
    font-size: 3.26vw;
  }
}

@-webkit-keyframes fadeoutBlur {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes fadeoutBlur {
  0% {
    opacity: 0;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes graytocolor {
  0% {
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
  }
  100% {
    -webkit-filter: grayscale(0);
            filter: grayscale(0);
  }
}
@keyframes graytocolor {
  0% {
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
  }
  100% {
    -webkit-filter: grayscale(0);
            filter: grayscale(0);
  }
}
.page_copy {
  width: 800px;
  margin: 0 auto;
  font-size: 16px;
  padding: 75px 0;
  text-align: center;
}
@media screen and (max-width: 1160px) {
  .page_copy {
    width: 68.97vw;
    font-size: 1.38vw;
    padding: 6.47vw 0;
  }
}
@media screen and (max-width: 750px) {
  .page_copy {
    width: 81.4vw;
    font-size: 3.02vw;
    padding: 8.6vw 0;
    text-align: left;
  }
}

.philo_detail {
  text-align: center;
  background: #F8F8F8;
  padding: 85px 0;
}
.philo_detail h2 {
  color: #B1A683;
  text-align: center;
  padding: 0 0 0 0;
  font-size: 20px;
  line-height: 1.8em;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.philo_detail h3 {
  text-align: center;
  font-size: 16px;
  line-height: 1em;
  margin: 0 0 35px 0;
}
.philo_detail p {
  text-align: center;
  font-size: 20px;
  margin-bottom: 80px;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.philo_detail p.principle_main {
  font-size: 32px;
  line-height: 1em;
}
@media screen and (max-width: 1160px) {
  .philo_detail {
    padding: 7.33vw 0;
  }
  .philo_detail h2 {
    font-size: 1.72vw;
    margin-bottom: 1.21vw;
  }
  .philo_detail h3 {
    font-size: 1.38vw;
    margin: 0 0 3.02vw 0;
  }
  .philo_detail p {
    font-size: 1.72vw;
    margin-bottom: 6.9vw;
  }
  .philo_detail p.principle_main {
    font-size: 2.76vw;
  }
}
@media screen and (max-width: 750px) {
  .philo_detail {
    padding: 15.12vw 0;
  }
  .philo_detail h2 {
    font-size: 5.58vw;
    margin-bottom: 2.09vw;
  }
  .philo_detail h3 {
    font-size: 2.79vw;
    margin: 0 0 4.42vw 0;
  }
  .philo_detail p {
    font-size: 3.26vw;
    margin-bottom: 12.79vw;
  }
  .philo_detail p:last-child {
    margin: 0;
  }
  .philo_detail p.principle_main {
    font-size: 5.58vw;
  }
}

.philo_banner {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 125px 0;
}
.philo_banner p {
  width: 63.8%;
  margin: 0 auto 135px auto;
}
.philo_banner 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;
}
.philo_banner ul li {
  position: relative;
  width: 48%;
  font-size: 22px;
}
.philo_banner ul li::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  display: block;
  background: #B1A683;
  height: 100%;
  width: 40px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: -1;
}
.philo_banner ul li:hover::before {
  width: 100%;
}
.philo_banner ul li a {
  position: relative;
  display: block;
  border: 1px solid #B1A683;
  text-decoration: none;
  padding: 55px 0 55px 80px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  z-index: 2;
}
.philo_banner ul li a::before {
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  display: block;
  background: #B1A683;
  height: 100%;
  width: 40px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: -1;
}
.philo_banner ul li a::after {
  display: block;
  cursor: pointer;
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: calc(50% - 4px);
  right: 17px;
  margin-top: -2px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.philo_banner ul li a:hover {
  color: #FFF;
}
.philo_banner ul li a:hover::before {
  background: #FFF;
}
.philo_banner ul li a:hover::after {
  border-top: solid 2px #B1A683;
  border-right: solid 2px #B1A683;
}
@media screen and (max-width: 1160px) {
  .philo_banner {
    width: 90%;
    padding: 10.78vw 0;
  }
  .philo_banner p {
    margin: 0 auto 11.64vw auto;
  }
  .philo_banner ul li {
    font-size: 1.9vw;
  }
  .philo_banner ul li::before {
    width: 3.45vw;
  }
  .philo_banner ul li a {
    padding: 4.74vw 0 4.74vw 6.9vw;
  }
  .philo_banner ul li a::before {
    width: 3.45vw;
  }
  .philo_banner ul li a::after {
    width: 0.69vw;
    height: 0.69vw;
    top: calc(50% - 0.33vw);
    right: 1.47vw;
  }
}
@media screen and (max-width: 750px) {
  .philo_banner {
    width: 81.4vw;
    padding: 12.79vw 0;
  }
  .philo_banner ul li {
    font-size: 3.26vw;
    margin-bottom: 3.49vw;
    width: 100%;
  }
  .philo_banner ul li::before {
    width: 6.74vw;
  }
  .philo_banner ul li a {
    text-align: center;
    padding: 7.67vw 0 7.67vw 0;
  }
  .philo_banner ul li a::before {
    width: 6.74vw;
  }
  .philo_banner ul li a::after {
    width: 2.33vw;
    height: 2.33vw;
    top: calc(50% - 1vw);
    right: 2.56vw;
  }
}

.ceo_title_face {
  position: relative;
  width: 100%;
}
.ceo_title_face::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 425px;
  left: 0;
  top: 0;
  z-index: -1;
  background: rgba(180, 178, 178, 0.04);
}
@media screen and (max-width: 1160px) {
  .ceo_title_face::after {
    height: 36.64vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_title_face::after {
    height: 88.37vw;
  }
}

.ceo_title_inner {
  width: 710px;
  margin: 0 auto;
  padding-top: 80px;
  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;
}
.ceo_title_inner figure {
  width: 53.3%;
  line-height: 0;
  font-size: 0;
}
.ceo_title_inner .ceo_title_text {
  width: 35.7%;
  padding: 110px 0 0 0;
}
.ceo_title_inner .ceo_title_text p {
  font-size: 16px;
  color: #909090;
}
.ceo_title_inner .ceo_title_text p.sig {
  margin-bottom: 15px;
}
.ceo_title_inner .ceo_title_text p.alpha {
  margin: 0;
}
.ceo_title_inner .ceo_title_text h2 {
  line-height: 1.5em;
  font-size: 24px;
  margin: 0;
  color: #909090;
}
@media screen and (max-width: 1160px) {
  .ceo_title_inner {
    width: 61.21vw;
  }
  .ceo_title_inner .ceo_title_text {
    padding: 9.48vw 0 0 0;
  }
  .ceo_title_inner .ceo_title_text p {
    font-size: 1.38vw;
  }
  .ceo_title_inner .ceo_title_text p.sig {
    margin-bottom: 1.29vw;
  }
  .ceo_title_inner .ceo_title_text h2 {
    font-size: 2.07vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_title_inner {
    width: 100%;
    margin: 0 auto;
    padding-top: 20vw;
  }
  .ceo_title_inner figure {
    width: 65%;
    line-height: 0;
    font-size: 0;
  }
  .ceo_title_inner .ceo_title_text {
    width: 30%;
    padding: 35vw 0 0 0;
  }
  .ceo_title_inner .ceo_title_text p {
    font-size: 3.02vw;
  }
  .ceo_title_inner .ceo_title_text p.sig {
    margin-bottom: 2.33vw;
  }
  .ceo_title_inner .ceo_title_text h2 {
    font-size: 4.65vw;
  }
}

.ceo_message {
  position: relative;
  width: 1000px;
  padding: 140px 0 0 0;
  margin: 0 auto;
}
@media screen and (max-width: 1160px) {
  .ceo_message {
    width: 90%;
    padding: 12.07vw 0 0 0;
  }
}
@media screen and (max-width: 750px) {
  .ceo_message {
    width: 81.4vw;
  }
}

.ceo_message_contents {
  width: 67%;
  padding-bottom: 110px;
  margin: 0 0 0 auto;
}
.ceo_message_contents h2 {
  line-height: 1.5em;
  margin-bottom: 65px;
  letter-spacing: 0.2em;
}
.ceo_message_contents p {
  font-size: 14px;
  line-height: 2.1em;
}
.ceo_message_contents p:last-child {
  margin: 0;
}
@media screen and (max-width: 1160px) {
  .ceo_message_contents {
    padding-bottom: 9.48vw;
  }
  .ceo_message_contents h2 {
    margin-bottom: 5.6vw;
  }
  .ceo_message_contents p {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_message_contents {
    width: 81.4vw;
    margin: 0 auto;
    padding-bottom: 25.58vw;
  }
  .ceo_message_contents h2 {
    margin-bottom: 6.98vw;
  }
  .ceo_message_contents p {
    font-size: 3.02vw;
  }
}

.ceo_president {
  padding: 120px 0 95px 0;
  width: 170px;
  margin: 0 0 0 auto;
}
.ceo_president p {
  margin: 0;
  color: #909090;
}
.ceo_president h3 {
  color: #909090;
}
@media screen and (max-width: 1160px) {
  .ceo_president {
    padding: 10.34vw 0 8.19vw 0;
    width: 14.66vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_president {
    padding: 15.12vw 0;
    width: 81.4vw;
    margin: 0 auto;
  }
}

.ceo_profile {
  position: relative;
  background: #F8F8F8;
  padding: 120px 0 115px 0;
}
@media screen and (max-width: 1160px) {
  .ceo_profile {
    padding: 10.34vw 0 9.91vw 0;
  }
}
@media screen and (max-width: 750px) {
  .ceo_profile {
    padding: 15.12vw 0;
  }
}

.ceo_profile_inner {
  position: relative;
  width: 1000px;
  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;
}
.ceo_profile_inner h2 {
  width: 33%;
  color: #B1A683;
  font-size: 26px;
  text-align: center;
}
@media screen and (max-width: 1160px) {
  .ceo_profile_inner {
    width: 90%;
  }
  .ceo_profile_inner h2 {
    font-size: 2.24vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_profile_inner {
    width: 81.4vw;
    margin: 0 auto;
  }
  .ceo_profile_inner h2 {
    width: 100%;
    text-align: left;
    margin-bottom: 4vw;
    font-size: 4.65vw;
  }
}

.ceo_profile_text {
  width: 100%;
}
.ceo_profile_text p {
  font-size: 14px;
  width: 100%;
}
.ceo_profile_text p:last-child {
  margin: 0;
}
@media screen and (max-width: 1160px) {
  .ceo_profile_text p {
    font-size: 1.21vw;
    width: 35.78vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_profile_text {
    width: 81.4vw;
  }
  .ceo_profile_text p {
    font-size: 3.02vw;
    width: 100%;
  }
}

.message_wrap {
  position: relative;
  width: 100%;
  padding: 50px 0 125px 0;
  background: #F8F8F8;
  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) {
  .message_wrap {
    padding: 11.64vw 0 10.78vw 0;
  }
}
@media screen and (max-width: 750px) {
  .message_wrap {
    padding: 18.6vw 0 18.6vw 0;
  }
}

.ceo_outer {
  position: relative;
  width: 41%;
}
.ceo_outer .ceo_face {
  position: absolute;
  right: 33px;
  top: 0;
  width: 294px;
}
.ceo_outer .ceo_face figure {
  line-height: 0;
  font-size: 0;
}
.ceo_outer .ceo_face.fixed {
  position: fixed;
}
@media screen and (max-width: 1160px) {
  .ceo_outer .ceo_face {
    width: 25.34vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_outer {
    width: 100%;
    margin: 0 auto;
  }
  .ceo_outer .ceo_face {
    position: relative;
    right: auto;
    top: auto;
    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: center;
    -webkit-box-align: center;
            align-items: center;
  }
  .ceo_outer .ceo_face figure {
    width: 55%;
  }
}

.ceo_title_text {
  width: 100%;
  padding: 60px 0 0 35px;
}
.ceo_title_text p {
  font-size: 16px;
  color: #707070;
}
.ceo_title_text p.sig {
  margin-bottom: 14px;
}
.ceo_title_text p.alpha {
  margin: 0;
}
.ceo_title_text h2 {
  line-height: 1.5em;
  font-size: 24px;
  margin: 0;
  color: #707070;
}
@media screen and (max-width: 1160px) {
  .ceo_title_text {
    padding: 5.17vw 0 0 3.02vw;
  }
  .ceo_title_text p {
    font-size: 1.38vw;
  }
  .ceo_title_text p.sig {
    margin-bottom: 1.29vw;
  }
  .ceo_title_text h2 {
    font-size: 2.07vw;
  }
}
@media screen and (max-width: 750px) {
  .ceo_title_text {
    width: 38%;
    padding: 0;
  }
  .ceo_title_text p {
    font-size: 3.02vw;
  }
  .ceo_title_text p.sig {
    margin-bottom: 3.49vw;
  }
  .ceo_title_text h2 {
    font-size: 3.02vw;
  }
}

.message_profile {
  position: relative;
  width: 59%;
  padding: 50px 0 110px 90px;
  background: #FFF;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.message_profile .message {
  width: 550px;
  margin-bottom: 140px;
}
.message_profile .message h2 {
  font-size: 27px;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  color: #000;
}
.message_profile .message p {
  font-size: 15px;
  line-height: 2.1em;
}
.message_profile .message p:last-child {
  margin: 0;
}
.message_profile .profile {
  width: 550px;
}
.message_profile .profile h2 {
  font-size: 27px;
  line-height: 1.8em;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
  color: #000;
}
.message_profile .profile p {
  font-size: 15px;
  line-height: 2.1em;
}
.message_profile .profile p:last-child {
  margin: 0;
}
@media screen and (max-width: 1160px) {
  .message_profile {
    padding: 4.31vw 0 9.48vw 7.76vw;
  }
  .message_profile .message {
    width: 47.41vw;
    margin-bottom: 12.07vw;
  }
  .message_profile .message h2 {
    font-size: 2.33vw;
    margin-bottom: 3.45vw;
  }
  .message_profile .message p {
    font-size: 1.21vw;
  }
  .message_profile .profile {
    width: 47.41vw;
  }
  .message_profile .profile h2 {
    font-size: 2.33vw;
    margin-bottom: 3.45vw;
  }
  .message_profile .profile p {
    font-size: 1.21vw;
    margin-bottom: 4.74vw;
  }
}
@media screen and (max-width: 750px) {
  .message_profile {
    width: 81.4vw;
    margin: 0 auto;
    background: none;
    padding: 11.63vw 0 11.63vw 0;
  }
  .message_profile .message {
    width: 100%;
    margin-bottom: 23.26vw;
  }
  .message_profile .message h2 {
    font-size: 4.65vw;
    margin-bottom: 1em;
  }
  .message_profile .message p {
    font-size: 3.02vw;
  }
  .message_profile .profile {
    width: 100%;
  }
  .message_profile .profile h2 {
    font-size: 4.65vw;
    margin-bottom: 1em;
  }
  .message_profile .profile p {
    font-size: 3.02vw;
  }
}

.company_detail {
  position: relative;
  width: 1000px;
  margin: 0 auto;
  padding: 40px 0 200px 0;
}
.company_detail dl {
  position: relative;
  border-bottom: 1px solid #D8D8D8;
  padding: 30px 0;
  margin: 0;
  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;
}
.company_detail dl dt,
.company_detail dl dd {
  font-size: 15px;
  line-height: 2em;
}
.company_detail dl dt {
  width: 8em;
}
.company_detail dl dd {
  width: calc(100% - 8em);
}
.company_detail dl dd iframe {
  width: 745px;
  height: 310px;
  margin-top: 15px;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  z-index: -1;
}
.company_detail dl dd iframe:active, .company_detail dl dd iframe:focus {
  border: none !important;
  outline: 0 !important;
}
.company_detail dl dd .com_tel {
  width: 130px;
}
@media screen and (max-width: 1160px) {
  .company_detail {
    width: 90%;
    padding: 3.45vw 0 17.24vw 0;
  }
  .company_detail dl {
    padding: 2.59vw 0;
  }
  .company_detail dl dt,
  .company_detail dl dd {
    font-size: 1.29vw;
  }
  .company_detail dl dd iframe {
    margin-top: 1.29vw;
    width: 64.22vw;
    height: 26.72vw;
  }
  .company_detail dl dd .com_tel {
    width: 11.21vw;
  }
}
@media screen and (max-width: 750px) {
  .company_detail {
    width: 81.4vw;
    padding: 9.3vw 0 23.26vw 0;
  }
  .company_detail dl {
    padding: 4.65vw 0;
  }
  .company_detail dl dt,
  .company_detail dl dd {
    font-size: 3.26vw;
  }
  .company_detail dl dt {
    width: 7em;
  }
  .company_detail dl dd {
    width: calc(100% - 7em);
  }
  .company_detail dl dd iframe {
    margin-top: 3.49vw;
    width: 100%;
    height: 55.81vw;
  }
  .company_detail dl dd .com_tel {
    width: 29.77vw;
  }
}

.service_contets {
  position: relative;
  width: 1000px;
  margin: 0 auto 300px auto;
}
.service_contets article {
  position: relative;
  width: 1000px;
  margin: 0 auto 40px auto;
}
.service_contets article a {
  position: relative;
  display: block;
  text-decoration: none;
  background: #F8F8F8;
  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.2s;
  transition: all 0.2s;
}
.service_contets article a .service_ctitle {
  width: 28.7%;
  padding-left: 7.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.service_contets article a .service_ctitle p {
  margin: 0;
  line-height: 1.1em;
  font-size: 30px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.service_contets article a .service_ctitle h3 {
  font-size: 14px;
  color: #B1A683;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.service_contets article a .service_ctext {
  width: 37%;
}
.service_contets article a .service_ctext p {
  margin: 0;
  font-size: 14px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.service_contets article a figure {
  width: 28.2%;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.service_contets article a figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.service_contets article a:hover {
  background: #B1A683;
}
.service_contets article a:hover .service_ctitle p {
  color: #FFF;
}
.service_contets article a:hover .service_ctitle h3 {
  color: #FFF;
}
.service_contets article a:hover .service_ctext p {
  color: #FFF;
}
.service_contets article a:hover figure img {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -ms-filter: blur(6px);
  -webkit-filter: blur(6px);
          filter: blur(6px);
}
@media screen and (max-width: 1160px) {
  .service_contets {
    width: 90%;
    margin: 0 auto 25.86vw auto;
  }
  .service_contets article {
    width: 100%;
    margin: 0 auto 3.45vw auto;
  }
  .service_contets article a .service_ctitle p {
    font-size: 2.59vw;
  }
  .service_contets article a .service_ctitle h3 {
    font-size: 1.21vw;
  }
  .service_contets article a .service_ctext p {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .service_contets {
    width: 81.4vw;
    margin: 0 auto 23.26vw auto;
  }
  .service_contets article {
    width: 100%;
    margin: 0 auto 6.98vw auto;
  }
  .service_contets article a .service_ctitle {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 4.65vw 4.65vw 2.33vw 4.65vw;
  }
  .service_contets article a .service_ctitle p {
    font-size: 5.35vw;
  }
  .service_contets article a .service_ctitle h3 {
    font-size: 2.79vw;
  }
  .service_contets article a .service_ctext {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 4.65vw 4.65vw 4.65vw;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .service_contets article a .service_ctext p {
    font-size: 2.79vw;
  }
  .service_contets article a figure {
    width: 100%;
    height: 40vw;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .service_contets article a figure img {
    width: 100%;
    height: 40vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.service_nav {
  position: relative;
  background: #F8F8F8;
  padding: 50px 0 45px 0;
}
.service_nav .service_nav_inner {
  position: relative;
  width: 1000px;
  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;
}
.service_nav article {
  width: 36.6%;
  border-right: 1px solid #707070;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.service_nav article:nth-child(2) {
  width: 26.8%;
}
.service_nav article:nth-child(3) {
  border-right: none;
}
.service_nav article a {
  text-decoration: none;
  display: block;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.service_nav article a:hover {
  opacity: 0.5;
}
.service_nav article a h3 {
  font-size: 18px;
  line-height: 1.6em;
  color: #000;
}
.service_nav article a p {
  font-size: 14px;
  margin: 0;
  line-height: 2.25em;
  color: #9B906B;
}
@media screen and (max-width: 1160px) {
  .service_nav {
    padding: 4.31vw 0 3.88vw 0;
  }
  .service_nav .service_nav_inner {
    width: 86.21vw;
  }
  .service_nav article a h3 {
    font-size: 1.55vw;
  }
  .service_nav article a p {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .service_nav {
    padding: 9.3vw 0;
  }
  .service_nav .service_nav_inner {
    width: 81.4vw;
  }
  .service_nav article {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #999;
  }
  .service_nav article:nth-child(2) {
    width: 100%;
  }
  .service_nav article:nth-child(3) {
    border-bottom: none;
  }
  .service_nav article a {
    padding: 6.98vw 0;
  }
  .service_nav article a h3 {
    font-size: 3.72vw;
  }
  .service_nav article a p {
    font-size: 3.02vw;
  }
}

.service_detail .service_contets {
  background: #F8F8F8;
  padding: 105px 0 100px 0;
  width: 100%;
  margin-bottom: 0;
}
.service_detail .service_contets article a {
  background: #FFF;
}
.service_detail .service_contets article a:hover {
  background: #B1A683;
}
@media screen and (max-width: 1160px) {
  .service_detail .service_contets {
    padding: 9.05vw 0 8.62vw 0;
  }
  .service_detail .service_contets article {
    width: 90%;
  }
}
@media screen and (max-width: 750px) {
  .service_detail .service_contets {
    background: #F8F8F8;
    padding: 23.26vw 0;
  }
  .service_detail .service_contets article {
    width: 81.4vw;
  }
}

.consul_wrap {
  position: relative;
  width: 1000px;
  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: stretch;
  -webkit-box-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.consul_wrap article {
  position: relative;
  margin-bottom: 85px;
  width: 48.1%;
  background: #F8F8F8;
  /*
  a{
      display: block ;
      text-decoration: none;
      //background: #F8F8F8;
      transition: all .2s;
      &:hover{
          background: $keycolor2;
          h3{
              color: #FFF;
          }
          p{
              color: #FFF;
          }
          img{
              transform:scale(1.2,1.2);
              -ms-filter: blur(6px);
              filter: blur(6px);
          }
      }
  }
  */
}
.consul_wrap article figure {
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.consul_wrap article figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.consul_wrap article .consul_text {
  padding: 60px 60px 55px 60px;
}
.consul_wrap article h3 {
  font-size: 20px;
  margin-bottom: 1.5em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.consul_wrap article p {
  font-size: 14px;
  margin: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 1160px) {
  .consul_wrap {
    width: 90%;
  }
  .consul_wrap article {
    margin-bottom: 7.33vw;
  }
  .consul_wrap article .consul_text {
    padding: 5.17vw 5.17vw 4.74vw 5.17vw;
  }
  .consul_wrap article h3 {
    font-size: 1.72vw;
  }
  .consul_wrap article p {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .consul_wrap {
    width: 81.4vw;
  }
  .consul_wrap article {
    width: 100%;
    margin-bottom: 13.95vw;
  }
  .consul_wrap article .consul_text {
    padding: 4.65vw;
  }
  .consul_wrap article h3 {
    font-size: 4.65vw;
    margin-bottom: 0.5em;
  }
  .consul_wrap article p {
    font-size: 2.79vw;
  }
}

.coaching_wrap {
  position: relative;
  width: 1000px;
  margin: 0 auto 85px auto;
}
.coaching_wrap article {
  text-decoration: none;
  display: block;
  margin-bottom: 35px;
  background: #F8F8F8;
  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;
  /*
  &:hover{
      background: $keycolor2;
      h3{
          color: #FFF;
      }
      p{
          color: #FFF;
      }
      img{
          transform:scale(1.2,1.2);
          -ms-filter: blur(6px);
          filter: blur(6px);
      }
  }
  */
}
.coaching_wrap article .coaching_text {
  width: 66.4%;
  padding: 70px 70px 70px 60px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.coaching_wrap article .coaching_text h3 {
  font-size: 20px;
  margin-bottom: 1.5em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.coaching_wrap article .coaching_text p {
  margin: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.coaching_wrap article figure {
  width: 33.6%;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}
.coaching_wrap article figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 1160px) {
  .coaching_wrap {
    width: 90%;
    margin: 0 auto 7.33vw auto;
  }
  .coaching_wrap article {
    margin-bottom: 3.02vw;
  }
  .coaching_wrap article .coaching_text {
    padding: 6.03vw 6.03vw 6.03vw 5.17vw;
  }
  .coaching_wrap article .coaching_text h3 {
    font-size: 1.72vw;
  }
}
@media screen and (max-width: 750px) {
  .coaching_wrap {
    width: 81.4vw;
    margin: 0 auto 13.95vw auto;
  }
  .coaching_wrap article {
    margin-bottom: 4.65vw;
  }
  .coaching_wrap article .coaching_text {
    width: 100%;
    padding: 4.65vw;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .coaching_wrap article .coaching_text h3 {
    font-size: 3.72vw;
    margin-bottom: 2vw;
  }
  .coaching_wrap article .coaching_text p {
    font-size: 2.79vw;
  }
  .coaching_wrap article figure {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .coaching_wrap article figure img {
    width: 100%;
    height: 40vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.seminar_wrap {
  position: relative;
  width: 1000px;
  margin: 0 auto 60px auto;
  padding: 0;
}
.seminar_wrap h2 {
  width: 1000px;
  padding: 0 50px 20px 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px solid #707070;
}
.seminar_wrap article {
  position: relative;
  width: 900px;
  padding: 35px 0;
  margin: 0 auto;
  border-bottom: 1px solid #DBDBDB;
  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;
}
.seminar_wrap article:last-child {
  border-bottom: none;
}
.seminar_wrap article h3 {
  font-size: 18px;
  width: 155px;
  padding-left: 0;
  line-height: 2em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
}
.seminar_wrap article ul {
  width: 745px;
  padding-left: 1.5em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.seminar_wrap article ul li {
  font-size: 14px;
  line-height: 2.5em;
}
@media screen and (max-width: 1160px) {
  .seminar_wrap {
    width: 90%;
    margin: 0 auto 5.17vw auto;
  }
  .seminar_wrap h2 {
    width: 100%;
    padding: 0 5% 1.72vw 5%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-bottom: 1px solid #707070;
  }
  .seminar_wrap article {
    width: 90%;
    padding: 3.02vw 0;
  }
  .seminar_wrap article h3 {
    font-size: 1.55vw;
    width: 17.2%;
  }
  .seminar_wrap article ul {
    width: 82.7%;
  }
  .seminar_wrap article ul li {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .seminar_wrap {
    width: 81.4vw;
    margin: 0 auto 5.17vw auto;
  }
  .seminar_wrap h2 {
    width: 81.4vw;
    padding: 0 0 2.33vw 0;
  }
  .seminar_wrap article {
    width: 81.4vw;
    padding: 4.65vw 0;
  }
  .seminar_wrap article h3 {
    font-size: 3.72vw;
    width: 100%;
  }
  .seminar_wrap article ul {
    width: 100%;
  }
  .seminar_wrap article ul li {
    font-size: 3.26vw;
  }
}

.page_title2 {
  background: #F8F5F5;
  padding: 70px 0 55px 0;
  margin-bottom: 54px;
}
.page_title2 h1 {
  text-align: center;
  font-size: 30px;
  line-height: 1.8em;
  margin: 0 0 5px 0;
}
.page_title2 p {
  font-size: 16px;
  color: #B1A683;
  margin: 0;
  text-align: center;
  line-height: 1.5em;
}
@media screen and (max-width: 1160px) {
  .page_title2 {
    padding: 6.03vw 0 4.74vw 0;
    margin-bottom: 4.66vw;
  }
  .page_title2 h1 {
    font-size: 2.59vw;
    margin: 0 0 0.43vw 0;
  }
  .page_title2 p {
    font-size: 1.38vw;
  }
}
@media screen and (max-width: 750px) {
  .page_title2 {
    padding: 13.95vw 0 11.63vw 0;
  }
  .page_title2 h1 {
    font-size: 5.35vw;
    margin: 0 0 2.33vw 0;
  }
  .page_title2 p {
    font-size: 3.02vw;
  }
}

.contact_wrap,
.privacy_detail,
.antisocial_detail {
  width: 100%;
  padding: 80px 0 90px 0;
  background: #F8F8F8;
}
.contact_wrap .privacy_detail_inner,
.contact_wrap .antisocial_detail_inner,
.privacy_detail .privacy_detail_inner,
.privacy_detail .antisocial_detail_inner,
.antisocial_detail .privacy_detail_inner,
.antisocial_detail .antisocial_detail_inner {
  position: relative;
  width: 810px;
  margin: 0 auto;
}
.contact_wrap p,
.privacy_detail p,
.antisocial_detail p {
  font-size: 14px;
}
.contact_wrap p:last-child,
.privacy_detail p:last-child,
.antisocial_detail p:last-child {
  margin-bottom: 0;
}
.contact_wrap ol,
.privacy_detail ol,
.antisocial_detail ol {
  padding-left: 1.5em;
  margin-bottom: 85px;
}
.contact_wrap ol li,
.privacy_detail ol li,
.antisocial_detail ol li {
  font-size: 14px;
  margin-bottom: 2em;
  line-height: 2em;
}
.contact_wrap section,
.privacy_detail section,
.antisocial_detail section {
  margin-bottom: 55px;
}
.contact_wrap section p:last-child,
.privacy_detail section p:last-child,
.antisocial_detail section p:last-child {
  margin: 0;
}
.contact_wrap section h3,
.privacy_detail section h3,
.antisocial_detail section h3 {
  font-size: 16px;
  margin-bottom: 0.5em;
}
.contact_wrap section ul,
.privacy_detail section ul,
.antisocial_detail section ul {
  padding-left: 1.5em;
  margin-bottom: 2em;
}
.contact_wrap section ul li,
.privacy_detail section ul li,
.antisocial_detail section ul li {
  font-size: 14px;
  line-height: 2em;
}
@media screen and (max-width: 1160px) {
  .contact_wrap,
  .privacy_detail,
  .antisocial_detail {
    padding: 6.9vw 0 7.76vw 0;
  }
  .contact_wrap .privacy_detail_inner,
  .contact_wrap .antisocial_detail_inner,
  .privacy_detail .privacy_detail_inner,
  .privacy_detail .antisocial_detail_inner,
  .antisocial_detail .privacy_detail_inner,
  .antisocial_detail .antisocial_detail_inner {
    width: 69.83vw;
  }
  .contact_wrap p,
  .privacy_detail p,
  .antisocial_detail p {
    font-size: 1.21vw;
  }
  .contact_wrap ol,
  .privacy_detail ol,
  .antisocial_detail ol {
    margin-bottom: 7.33vw;
  }
  .contact_wrap ol li,
  .privacy_detail ol li,
  .antisocial_detail ol li {
    font-size: 1.21vw;
  }
  .contact_wrap section,
  .privacy_detail section,
  .antisocial_detail section {
    margin-bottom: 4.74vw;
  }
  .contact_wrap section h3,
  .privacy_detail section h3,
  .antisocial_detail section h3 {
    font-size: 1.38vw;
  }
  .contact_wrap section ul li,
  .privacy_detail section ul li,
  .antisocial_detail section ul li {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .contact_wrap,
  .privacy_detail,
  .antisocial_detail {
    padding: 13.95vw 0 13.95vw 0;
  }
  .contact_wrap .privacy_detail_inner,
  .contact_wrap .antisocial_detail_inner,
  .privacy_detail .privacy_detail_inner,
  .privacy_detail .antisocial_detail_inner,
  .antisocial_detail .privacy_detail_inner,
  .antisocial_detail .antisocial_detail_inner {
    width: 81.4vw;
  }
  .contact_wrap p,
  .privacy_detail p,
  .antisocial_detail p {
    font-size: 2.79vw;
  }
  .contact_wrap p.mb85,
  .privacy_detail p.mb85,
  .antisocial_detail p.mb85 {
    margin-bottom: 4em;
  }
  .contact_wrap ol,
  .privacy_detail ol,
  .antisocial_detail ol {
    margin-bottom: 13.95vw;
  }
  .contact_wrap ol li,
  .privacy_detail ol li,
  .antisocial_detail ol li {
    font-size: 2.79vw;
  }
  .contact_wrap section,
  .privacy_detail section,
  .antisocial_detail section {
    margin-bottom: 9.3vw;
  }
  .contact_wrap section h3,
  .privacy_detail section h3,
  .antisocial_detail section h3 {
    font-size: 3.26vw;
  }
  .contact_wrap section ul li,
  .privacy_detail section ul li,
  .antisocial_detail section ul li {
    font-size: 2.79vw;
  }
}

.privacy_link {
  position: relative;
  width: 810px;
  margin: 0 auto;
  padding: 50px 0;
}
.privacy_link p {
  font-size: 14px;
  text-decoration: none;
}
.privacy_link p a {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  text-decoration: none;
}
.privacy_link p a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 1160px) {
  .privacy_link {
    width: 69.83vw;
    padding: 4.31vw 0;
  }
  .privacy_link p {
    font-size: 1.21vw;
  }
}
@media screen and (max-width: 750px) {
  .privacy_link {
    width: 81.4vw;
    padding: 13.95vw 0;
  }
  .privacy_link p {
    font-size: 3.02vw;
  }
}

.contact_privacy {
  text-align: center;
}
.contact_privacy p {
  font-size: 15px;
}
.contact_privacy p a {
  color: #C7A350;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_privacy p a:hover {
  opacity: 0.5;
}
.contact_privacy h4 {
  font-size: 20px;
  margin-bottom: 1em;
  color: #B1A683;
}
.contact_privacy h2 {
  font-size: 16px;
  color: #444;
  padding-top: 3em;
}
.contact_privacy h3 {
  font-size: 12px;
  color: #444;
  margin: 0 0 48px 0;
}
@media screen and (max-width: 1160px) {
  .contact_privacy p {
    font-size: 1.29vw;
  }
  .contact_privacy h4 {
    font-size: 4.65vw;
  }
  .contact_privacy h2 {
    font-size: 1.38vw;
  }
  .contact_privacy h3 {
    font-size: 1.03vw;
    margin: 0 0 4.14vw 0;
  }
}
@media screen and (max-width: 750px) {
  .contact_privacy {
    width: 81.4vw;
    margin: 0 auto;
  }
  .contact_privacy p {
    font-size: 3.26vw;
  }
  .contact_privacy h4 {
    font-size: 4.19vw;
  }
  .contact_privacy h2 {
    font-size: 3.26vw;
  }
  .contact_privacy h3 {
    font-size: 2.79vw;
    margin: 0 0 6.98vw 0;
  }
}

@media screen and (max-width: 750px) {
  #contact .contact_privacy {
    text-align: left;
  }
}

.contact_inner {
  position: relative;
  width: 810px;
  margin: 0 auto;
}
.contact_inner dl {
  position: relative;
  margin: 0 0 28px 0;
  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;
}
.contact_inner dl dt {
  width: 14em;
  font-size: 15px;
  text-align: right;
  padding-right: 2em;
  color: #444;
}
.contact_inner dl dt span.spc,
.contact_inner dl dt strong {
  display: inline-block;
  background: #C7A350;
  font-size: 12px;
  color: #FFF;
  line-height: 2em;
  padding: 0 0.5em;
  margin-left: 1em;
}
.contact_inner dl dt span.spc {
  background: none;
}
.contact_inner dl dd {
  color: #444;
  font-size: 15px;
}
.contact_inner dl dd select,
.contact_inner dl dd input[type=text],
.contact_inner dl dd input[type=email],
.contact_inner dl dd textarea {
  background: #FFF;
  border: none;
  width: 100%;
  padding: 0.8em;
  color: #444;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 6px;
}
.contact_inner dl dd select::-webkit-input-placeholder, .contact_inner dl dd input[type=text]::-webkit-input-placeholder, .contact_inner dl dd input[type=email]::-webkit-input-placeholder, .contact_inner dl dd textarea::-webkit-input-placeholder {
  color: rgba(177, 166, 131, 0.6);
}
.contact_inner dl dd select::-moz-placeholder, .contact_inner dl dd input[type=text]::-moz-placeholder, .contact_inner dl dd input[type=email]::-moz-placeholder, .contact_inner dl dd textarea::-moz-placeholder {
  color: rgba(177, 166, 131, 0.6);
}
.contact_inner dl dd select:-ms-input-placeholder, .contact_inner dl dd input[type=text]:-ms-input-placeholder, .contact_inner dl dd input[type=email]:-ms-input-placeholder, .contact_inner dl dd textarea:-ms-input-placeholder {
  color: rgba(177, 166, 131, 0.6);
}
.contact_inner dl dd select::-ms-input-placeholder, .contact_inner dl dd input[type=text]::-ms-input-placeholder, .contact_inner dl dd input[type=email]::-ms-input-placeholder, .contact_inner dl dd textarea::-ms-input-placeholder {
  color: rgba(177, 166, 131, 0.6);
}
.contact_inner dl dd select::placeholder,
.contact_inner dl dd input[type=text]::placeholder,
.contact_inner dl dd input[type=email]::placeholder,
.contact_inner dl dd textarea::placeholder {
  color: rgba(177, 166, 131, 0.6);
}
.contact_inner dl dd select:active, .contact_inner dl dd select:focus,
.contact_inner dl dd input[type=text]:active,
.contact_inner dl dd input[type=text]:focus,
.contact_inner dl dd input[type=email]:active,
.contact_inner dl dd input[type=email]:focus,
.contact_inner dl dd textarea:active,
.contact_inner dl dd textarea:focus {
  border: none;
  outline: none;
}
.contact_inner dl dd textarea {
  resize: none;
}
.contact_inner dl dd strong {
  background: #C7A350;
  font-size: 12px;
  line-height: 2em;
  color: #FFF;
  padding: 0.2em 0.5em;
  margin-left: 0;
  margin-right: 1em;
}
.contact_inner dl.form2 dd:nth-of-type(1) {
  width: calc(100% - 16em);
  padding-right: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact_inner dl.form2.pdbs {
  margin-bottom: 10px;
}
.contact_inner dl.form3 dd:nth-of-type(1),
.contact_inner dl.form3 dd:nth-of-type(2) {
  width: calc((100% - 16em) / 2 - 0.5em);
  padding-right: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact_inner dl.form3 dd:nth-of-type(2) {
  padding-right: 0;
}
.contact_inner dl.form3.pdbs {
  margin-bottom: 10px;
}
.contact_inner dl.form4 dd:nth-of-type(1) {
  width: 6em;
}
.contact_inner dl.form4 dd:nth-of-type(2) {
  width: 8em;
  margin-right: 1.5em;
}
.contact_inner dl .zipbtn {
  display: inline-block;
  padding: 0.7em 3em;
  font-size: 12px;
  border-radius: 6px;
  background: #CBC19E;
  border: 1px solid #CBC19E;
  color: #FFF;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_inner dl .zipbtn:hover {
  background: #FFF;
  color: #B1A683;
}
.contact_inner dl.form3a dd:nth-of-type(1) {
  width: 6em;
}
.contact_inner dl.form3a dd:nth-of-type(2) {
  width: calc(100% - 23em);
}
.contact_inner dl.form2m {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact_inner dl.form2m dt {
  padding-top: 0.5em;
}
.contact_inner dl.form2m dd:nth-of-type(1) {
  width: calc(100% - 16em);
  padding-right: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact_inner dl.form2s dd:nth-of-type(1) {
  width: calc(100% - 16em);
  padding-right: 1em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.contact_inner dl.form2s input[type=submit] {
  display: inline-block;
  padding: 0.7em 3em;
  font-size: 12px;
  border-radius: 6px;
  background: #CBC19E;
  border: 1px solid #CBC19E;
  color: #FFF;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.contact_inner dl.form2s input[type=submit]:hover {
  background: #FFF;
  color: #B1A683;
}
@media screen and (max-width: 1160px) {
  .contact_inner {
    width: 69.83vw;
  }
  .contact_inner dl {
    margin: 0 0 2.41vw 0;
  }
  .contact_inner dl dt strong {
    font-size: 1.03vw;
  }
  .contact_inner dl dd input[type=text],
  .contact_inner dl dd input[type=email],
  .contact_inner dl dd textarea {
    font-size: 1.38vw;
  }
  .contact_inner dl.form4 .zipbtn {
    font-size: 1.03vw;
    border-radius: 0.52vw;
  }
  .contact_inner dl.form2s input[type=submit] {
    font-size: 1.03vw;
    border-radius: 0.52vw;
  }
}
@media screen and (max-width: 750px) {
  .contact_inner {
    width: 81.4vw;
  }
  .contact_inner dl {
    margin: 0 0 3.49vw 0;
  }
  .contact_inner dl dt {
    width: 100%;
    text-align: left;
    margin-bottom: 2.33vw;
  }
  .contact_inner dl dt span.spc,
  .contact_inner dl dt strong {
    font-size: 2.56vw;
  }
  .contact_inner dl dd {
    width: 100%;
    margin-bottom: 4.19vw;
  }
  .contact_inner dl dd select,
  .contact_inner dl dd input[type=text],
  .contact_inner dl dd input[type=email],
  .contact_inner dl dd textarea {
    border-radius: 1.4vw;
    font-size: 3.02vw;
  }
  .contact_inner dl dd strong {
    font-size: 2.56vw;
  }
  .contact_inner dl.form2 dd:nth-of-type(1) {
    width: 100%;
    padding-right: 0;
  }
  .contact_inner dl.form2.pdbs {
    margin-bottom: 0;
  }
  .contact_inner dl.form2.pdbs dd {
    margin-bottom: 0;
  }
  .contact_inner dl.form2 .mwform-checkbox-field-text {
    font-size: 3.5vw;
  }
  .contact_inner dl.form3 dd:nth-of-type(1),
  .contact_inner dl.form3 dd:nth-of-type(2) {
    width: 50%;
    padding-right: 2.33vw;
  }
  .contact_inner dl.form3 dd:nth-of-type(2) {
    padding-right: 0;
  }
  .contact_inner dl.form3.pdbs {
    margin-bottom: 0;
  }
  .contact_inner dl.form3.pdbs dd {
    margin-bottom: 0;
  }
  .contact_inner dl .zipbtn {
    font-size: 2.79vw;
    border-radius: 1.4vw;
    padding: 0.5em 2em;
  }
  .contact_inner dl.form3a dd:nth-of-type(1) {
    width: 50%;
    padding-right: 2.33vw;
  }
  .contact_inner dl.form3a dd:nth-of-type(2) {
    width: 50%;
  }
  .contact_inner dl.form2m dt {
    padding-top: 0.5em;
  }
  .contact_inner dl.form2m dd:nth-of-type(1) {
    width: 100%;
    padding-right: 0;
  }
  .contact_inner dl.form2s dd:nth-of-type(1) {
    width: 100%;
    padding-right: 0;
  }
  .contact_inner dl.form2s {
    text-align: center;
  }
  .contact_inner dl.form2s input[type=submit] {
    font-size: 3.02vw;
    border-radius: 1.4vw;
  }
}

.mw_wp_form_confirm .contact_inner dl dt span.spc,
.mw_wp_form_confirm .contact_inner dl dd strong,
.mw_wp_form_confirm .contact_inner dl dt strong,
.mw_wp_form_confirm .contact_inner dl .zipbtn {
  display: none;
}

.formthanks_wrap {
  width: 650px;
  margin: 0 auto;
  text-align: left;
}
.formthanks_wrap h4 {
  text-align: center;
}
.formthanks_wrap p {
  padding-left: 4em;
}
@media screen and (max-width: 750px) {
  .formthanks_wrap {
    width: 81.4vw;
  }
}

.more_btn,
.service_wrap h2,
.service_inner article h4,
.allview_btn,
.banner_copy_inner ul li,
.footer_inner .contact_btn,
.menu,
.header_nav li,
.header_inner ul li,
.footer_copy_inner p,
.page_title .page_title_text p,
.message_profile h2,
.ceo_outer .ceo_title_text p.alpha,
.philo_detail h2,
.service_contets article a .service_ctitle p,
.page_title2 p,
.garamond {
  font-family: "Cormorant Garamond", serif;
}

input,
select,
textarea {
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

/*
.contact_inner dl dd input::placeholder,
.contact_inner dl dd select, 
.contact_inner dl dt,
.contact_inner dl dd,
.contact_privacy,
.spnav,
.page_title2,
.ceo_message_contents,
.ceo_profile_inner,
.philo_banner,
.service_ctitle,
.philo_detail,
.page_title,
.banner_copy_inner,
.more_btn,
.home_info_topics,
.service_inner,
.service_wrap,
.home_copy_text h2,
.home_copy_text p,
.home_kv h2,
footer,
header ul li,
.min{
    font-family: "Noto Serif JP", serif;
}
*/