@charset "UTF-8";
@import url(https://use.fontawesome.com/releases/v5.12.0/css/all.css);
/*-----------------------

         COMMON          

-----------------------*/
html {
  font-size: 62.5%;
  /*  scroll-behavior: smooth;*/
}
a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.8;
  text-decoration: none;
}
i {
  margin-right: 5px;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
iframe {
  max-width: 100%;
  height: auto;
}
.mac.webkit body {
  font-weight: 400;
}
.flex {
  display: flex;
}
.flex-b {
  display: flex;
  justify-content: space-between;
}
.flex-c {
  display: flex;
  justify-content: center;
}
.flex-e {
  display: flex;
  justify-content: flex-end;
}
body {
  background-color: #fff;
  color: #444;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6;
  font-feature-settings: "palt";
  font-family: 'Zen Kaku Gothic New', sans-serif;
  letter-spacing: 0.025em;
}
.wrap {
  overflow: hidden;
}
.osw {
  font-family: 'Oswald', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.1rem;
}
.pc {
  display: block;
}
.sp {
  display: none;
}
.container {
  max-width: 1280px;
  padding: 0 20px;
  margin: 0 auto;
  min-height: auto;
}
.container::before, .container::after {
  display: none;
}
.mainColor {
  color: #009fe8;
}
.color-o {
  color: #eeb033;
}
.color-n {
  color: #002855;
}
.color-c {
  color: #5eaac2;
}
.color-w {
  color: #fff;
}
.gradation-o {
  background: linear-gradient(to right, rgba(236, 211, 86, 1) 0%, rgba(238, 176, 51, 1) 100%);
  -webkit-background-clip: text;
  color: transparent;
}
.gradation-o2 {
  background: linear-gradient(to right, rgba(143, 195, 31, 1) 0%, rgba(243, 152, 0, 1) 100%);
  -webkit-background-clip: text;
  color: transparent;
}
.gradation-g {
  background: linear-gradient(to right, rgba(188, 213, 153, 1) 0%, rgba(94, 174, 194, 1) 100%);
  -webkit-background-clip: text;
  color: transparent;
}
.gradation-g-bg {
  background: linear-gradient(-28.75deg, rgba(188, 213, 153, 1) 0%, rgba(94, 174, 194, 1) 100%);
}
.gradation-o-bg {
  background: linear-gradient(-28.75deg, rgba(143, 195, 31, 1) 0%, rgba(243, 152, 0, 1) 100%);
}
.gradation-g2-bg {
  background: linear-gradient(to right, rgba(188, 213, 153, 1) 0%, rgba(94, 174, 194, 1) 100%);
}
.gradation-o2-bg {
  background: linear-gradient(to right, rgba(143, 195, 31, 1) 0%, rgba(243, 152, 0, 1) 100%);
}
.gradation-by-bg {
  background: linear-gradient(to right, rgba(0, 40, 85, 0.6) 0%, rgba(250, 238, 0, 1) 100%);
}
.gradation-yo-bg {
  background: linear-gradient(to right, rgba(236, 211, 86, 1) 0%, rgba(238, 176, 51, 1) 100%);
}
.text-c {
  text-align: center;
}
.text-l {
  text-align: left;
}
.text-r {
  text-align: right;
}
.ft-400 {
  font-weight: 400;
}
.ft-500 {
  font-weight: 400;
}
.ft-700 {
  font-weight: 500;
}
/*.mac.webkit .ft-700 {
  font-weight: 400;
}*/
.skew {
  display: inline-block;
  transform: skewX(-28.75deg);
  position: absolute;
  width: 300px;
  height: 1038px;
}
.opa60 {
  opacity: 0.6;
}
/*見出し*/
.secTTL {
  font-size: 4.4rem;
  font-weight: 500;
  position: relative;
  display: inline-block;
  letter-spacing: 0.1rem;
  z-index: 5;
}
.secTTL::before {
  content: "";
  width: 3px;
  height: 115px;
  background: #3e3a39;
  transform: skewX(-28.75deg);
  display: inline-block;
  position: absolute;
  top: -8px;
  /*left: -70px;*/
  left: -55px;
}
.secTTL::after {
  content: "";
  width: 3px;
  height: 115px;
  background: #3e3a39;
  transform: skewX(-28.75deg);
  display: inline-block;
  position: absolute;
  top: -8px;
  right: -70px;
}
.mac.webkit .secTTL, .mac.webkit .secTTL2 {
  font-weight: 500;
}
.secTTL2 {
  font-size: 4.4rem;
  margin-bottom: 45px;
}
.subTTL {
  font-size: 2.6rem;
  letter-spacing: 0.5rem;
}
.ttl-IMG {
  width: 71.5%;
  margin: 142px auto 0;
}
.mac.webkit h4 {
  font-weight: 500;
}
/*BT*/
.bt {
  text-align: center;
}
.bt a {
  display: inline-block;
  padding: 12px 3.2%;
  font-size: 2.2rem;
  font-weight: 500;
}
p.tel i {
  transform: rotateY(180deg);
  font-size: 85%;
  position: relative;
  top: -3px;
}
/*drawer*/
.drawer--right .drawer-nav {
  width: 100%;
  right: -100%;
  z-index: 500;
}
.drawer--top.drawer-open .drawer-nav {
  top: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.drawer--right.drawer-open .drawer-nav {
  right: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}
input, button, textarea, select, .entry input[type="url"], input[type="email"], .entry input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  border: solid 1px #999;
  padding: 15px 0;
}
select::placeholder {
  color: #3e3a39;
}
@media screen and (max-width:559px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .container {
    width: 100%;
  }
  .flex, .flex-b, .flex-c, .flex-e {
    flex-direction: column;
  }
  .secTTL {
    font-size: 3rem;
    line-height: 1.4;
    display: block;
  }
  .subTTL {
    font-size: 1.8rem;
    letter-spacing: 0.2em;
  }
  .secTTL::before {
    /*
    height: 52px;
    top: 10px;
    left: 4%;
*/
    height: 52px;
    top: 50%;
    transform: translateY(-50%) skewX(-28.75deg);
    left: 4%;
  }
  .secTTL::after {
    /*
    height: 52px;
    top: 12px;
    right: 4%;
*/
    height: 52px;
    top: 50%;
    transform: translateY(-50%) skewX(-28.75deg);
    right: 4%;
  }
  .bt a {
    padding: 12px 12%;
  }
}
@media screen and (max-width:375px) {
  .secTTL {
    line-height: 1.2;
  }
  .secTTL::before {
    left: 2%;
  }
  .secTTL::after {
    right: 2%;
  }
}
@media screen and (max-width:361px) {
  .bt a {
    padding: 12px 11%;
  }
  .secTTL {
    font-size: 2.6rem;
  }
  .subTTL {
    font-size: 1.6rem;
    letter-spacing: 0.3rem;
  }
}