@charset "UTF-8";
/*
 * foundation
 */
.spi, .spib, .sp, .spflex {
  display: none !important;
}

.pci {
  display: inline !important;
}

.pcib {
  display: inline-block !important;
}

.pc {
  display: block !important;
}

.pcflex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

@media screen and (max-width: 768px), print {
  .pci, .pcib, .pc, .pcflex {
    display: none !important;
  }
  .spi {
    display: inline !important;
  }
  .spib {
    display: inline-block !important;
  }
  .sp {
    display: block !important;
  }
  .spflex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, small {
  display: block;
}

nav ul {
  list-style: none;
}

a, span {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

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

input, select {
  vertical-align: middle;
}

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch;
}

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

sup {
  font-size: 0.5em;
  display: inline-block;
  -webkit-transform: translate3d(0, -0.7em, 0);
          transform: translate3d(0, -0.7em, 0);
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
}

p {
  margin-bottom: 0;
}

/*	Base 
    ========================================== */
body {
  width: 100%;
  color: #101010;
}
@media screen and (max-width: 768px), print {
  body {
    padding-top: 50px;
  }
  body.home {
    padding-top: 0;
  }
}

body, h1, h2, h3, h4, h5, h6, textarea, input {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

@font-face {
  font-family: "itc";
  /* フォントが置かれているパスを書く */
  src: url("../font/ITCAvantGardeStd-BkObl.otf") format("truetype");
}
.fadeInTrigger {
  opacity: 0;
}

.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  opacity: 0;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInAnime {
  from {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.-delay1 {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.-delay2 {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}

.-delay3 {
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}

/*
  * layout
  */
.l-footer {
  padding: 6.25vw 0;
  background: url("../img/footer_bg.png") no-repeat center/cover;
}
@media screen and (max-width: 768px), print {
  .l-footer {
    padding: 16.9230769231vw 0 11.5384615385vw;
    background-image: url("../img/footer_bg_sp.png");
  }
}
.l-footer__main {
  width: 58.3333333333vw;
  margin: 0 auto;
  position: relative;
  left: 3.0833333333vw;
}
@media screen and (max-width: 768px), print {
  .l-footer__main {
    width: 100%;
    left: 0;
  }
}
.l-footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .l-footer__wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.l-footer__logos {
  text-align: center;
  width: 13.75vw;
}
@media screen and (max-width: 768px), print {
  .l-footer__logos {
    width: auto;
    margin-right: 19.1025641026vw;
  }
}
.l-footer__logos__xrono {
  width: 8.1666666667vw;
}
@media screen and (max-width: 768px), print {
  .l-footer__logos__xrono {
    width: 22.4358974359vw;
  }
}
.l-footer__logos__sns {
  margin-top: 5.8333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .l-footer__logos__sns {
    text-align: center;
    width: 111px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 24.358974359vw auto 0;
  }
}
.l-footer__logos__sns img {
  height: 2.0833333333vw;
  width: auto;
}
@media screen and (max-width: 768px), print {
  .l-footer__logos__sns img {
    width: 5.1282051282vw;
    height: auto;
  }
}
.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 768px), print {
  .l-footer__nav {
    display: block;
  }
}
.l-footer__nav ul:first-child {
  margin-right: 6.25vw;
}
@media screen and (max-width: 768px), print {
  .l-footer__nav ul:first-child {
    margin-right: 0;
  }
}
.l-footer__nav a {
  font-size: 0.8333333333vw;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.05vw;
  text-align: left;
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .l-footer__nav a {
    font-size: 2.5641025641vw;
    letter-spacing: 0.1538461538vw;
  }
}

body.-fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

.l-header.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
  animation: DownAnime 0.5s forwards;
}

.l-header.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
  animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-80px);
    transform: translateY(-80px);
  }
}

@keyframes UpAnime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-80px);
    transform: translateY(-80px);
  }
}
@-webkit-keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-80px);
    transform: translateY(-80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@keyframes DownAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(-80px);
    transform: translateY(-80px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  height: 80px;
  z-index: 10;
  background-color: rgba(255, 255, 255, 0.4); /* 背景色 */
  -webkit-backdrop-filter: blur(20px); /* ぼかしエフェクト */
  backdrop-filter: blur(20px);
}
@media screen and (min-width: 768px) {
  .l-header.is-lower {
    position: relative;
  }
}
@media screen and (max-width: 768px), print {
  .l-header {
    height: 50px;
  }
}
.l-header:before {
  background-image: -webkit-gradient(linear, left top, right top, from(#004EA2), color-stop(60%, #3071B9), color-stop(80%, #00A0D2), to(#3071B9));
  background-image: linear-gradient(to right, #004EA2 0%, #3071B9 60%, #00A0D2 80%, #3071B9 100%);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 10px;
  content: "";
  z-index: 2;
}
@media screen and (max-width: 768px), print {
  .l-header:before {
    height: 5px;
  }
}
.l-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 30px 0;
  height: 100%;
}
@media screen and (max-width: 768px), print {
  .l-header__inner {
    padding: 5px 19.7px 0 15.6px;
  }
}
.l-header__logo {
  width: 222px;
}
@media screen and (max-width: 768px), print {
  .l-header__logo {
    width: 174px;
  }
}
.l-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header__nav li {
  margin-left: 12px;
}
.l-header__nav a {
  font-size: 1vw;
  font-weight: 500;
  letter-spacing: 0.72px;
}
.l-header__nav a:link, .l-header__nav a:visited, .l-header__nav a:hover, .l-header__nav a:active {
  color: #4C4948;
}
@media screen and (max-width: 768px), print {
  .l-header__nav {
    display: none;
  }
}
.l-header__nav__single {
  position: relative;
}
.l-header__nav__single:hover .l-header__nav__second-level {
  visibility: visible;
  opacity: 1;
}
.l-header__nav__second-level {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  position: absolute;
  top: 35px;
  width: 8.5vw;
  background-color: rgba(255, 255, 255, 0.1);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.l-header__nav__second-level li {
  margin-left: 0;
  padding: 12px;
  line-height: 1;
}
.l-header__nav__second-level li:hover {
  background-color: #FFF;
}
.l-header__burger {
  display: none;
}
@media screen and (max-width: 768px), print {
  .l-header__burger {
    display: block;
    width: 31px;
  }
}
.l-header__nav-sp {
  display: none;
  overflow-y: scroll;
  padding-top: 10.2564102564vw;
  padding-left: 9.9230769231vw;
  padding-bottom: 10.2564102564vw;
  position: fixed;
  top: 50px;
  right: -88.4615384615vw;
  width: 88.4615384615vw;
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  background-image: linear-gradient(138deg, #004EA2 -32%, #3071B9 60%, #00A0D2 91%, #3071B9 114%);
  -webkit-transition: right 0.2s;
  transition: right 0.2s;
}
@media screen and (max-width: 768px), print {
  .l-header__nav-sp {
    display: block;
  }
}
.l-header__nav-sp.-on {
  right: 0;
}
.l-header__nav-sp__scroll {
  position: absolute;
  width: 6.5641025641vw;
  right: 5.9487179487vw;
  top: 4.5128205128vw;
}
.l-header__nav-sp__main {
  margin-bottom: 6.4102564103vw;
}
.l-header__nav-sp__main a {
  font-family: "itc";
  font-size: 30px;
  line-height: 1.67;
  letter-spacing: 0.6px;
  text-align: left;
}
.l-header__nav-sp__main a:link, .l-header__nav-sp__main a:visited, .l-header__nav-sp__main a:hover, .l-header__nav-sp__main a:active {
  color: #FFF;
}
.l-header__nav-sp__sub {
  margin-bottom: 6.4102564103vw;
}
.l-header__nav-sp__sub a {
  font-size: 2.5641025641vw;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: 0.1538461538vw;
  text-align: left;
}
.l-header__nav-sp__sub a:link, .l-header__nav-sp__sub a:visited, .l-header__nav-sp__sub a:hover, .l-header__nav-sp__sub a:active {
  color: #FFF;
}
.l-header__nav-sp__contact {
  position: relative;
}
.l-header__nav-sp__contact:before {
  position: absolute;
  top: -18.4615384615vw;
  right: 0;
  display: block;
  width: 100vw;
  height: 45.641025641vw;
  content: "";
  background: url("../img/burger-dots.png") no-repeat center/cover;
  z-index: -1;
}
.l-header__nav-sp__contact h2 {
  margin-bottom: 2.5641025641vw;
  font-family: "itc";
  font-size: 7.6923076923vw;
  line-height: 1.67;
  letter-spacing: 0.1538461538vw;
  text-align: left;
  color: #FFF;
}
.l-header__nav-sp__contact__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.0256410256vw;
}
.l-header__nav-sp__contact__info img {
  display: block;
  width: 6.4102564103vw;
  margin-right: 2.5641025641vw;
}
.l-header__nav-sp__contact__info p {
  line-height: 1.51;
  text-align: left;
  color: #FFF;
  font-size: 4.1025641026vw;
}
.l-header__nav-sp__contact__info a:link, .l-header__nav-sp__contact__info a:visited, .l-header__nav-sp__contact__info a:hover, .l-header__nav-sp__contact__info a:active {
  color: #FFF;
}
.l-header__nav-sp__contact__btn {
  width: 52.0512820513vw !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  margin-top: 7.6923076923vw !important;
  margin-left: 0 !important;
}
.l-header__nav-sp__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  width: 28.2051282051vw;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 11.5384615385vw;
}
.l-header__nav-sp__sns img {
  width: 6.1538461538vw;
  height: auto;
}

.inner {
  width: 76.6666666667vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px), print {
  .inner {
    width: 100%;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}

.l-content {
  padding: 50px 20px;
}
.l-content__inner {
  width: 720px;
  margin: 0 auto;
}
@media screen and (max-width: 768px), print {
  .l-content__inner {
    width: 100%;
  }
}
.l-content h2 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 1.44px;
  text-align: left;
  color: #3071B9;
  position: relative;
  padding-bottom: 4px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px), print {
  .l-content h2 {
    font-size: 20px;
    letter-spacing: 1.2px;
  }
}
.l-content h2 span {
  padding-right: 2px;
  font-family: "itc";
  font-size: 35px;
  line-height: 1.2;
  letter-spacing: 0.7px;
  text-align: left;
  display: inline-block;
  margin-right: 20px;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  top: 3px;
}
@media screen and (max-width: 768px), print {
  .l-content h2 span {
    font-size: 30px;
    letter-spacing: 0.6px;
  }
}
.l-content h2:before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 168px;
  height: 5px;
  content: "";
  background-image: -webkit-gradient(linear, left top, right top, color-stop(-32%, #00A0D2), color-stop(102%, #3071B9));
  background-image: linear-gradient(to right, #00A0D2 -32%, #3071B9 102%);
  -webkit-transform: skew(-10deg);
          transform: skew(-10deg);
}
.l-content h2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  content: "";
  background-image: -webkit-gradient(linear, left top, right top, color-stop(-32%, #00A0D2), color-stop(102%, #3071B9));
  background-image: linear-gradient(to right, #00A0D2 -32%, #3071B9 102%);
}
@media screen and (max-width: 768px), print {
  .l-content h2:after {
    width: calc(100% + 20px);
  }
}
.l-content h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.28;
  letter-spacing: 1.08px;
  text-align: left;
  color: #3071B9;
  margin-bottom: 5px;
}
.l-content p {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #484848;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px), print {
  .l-content p {
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.72px;
  }
}
.l-content ul {
  margin-bottom: 25px;
}
.l-content ul li {
  padding-left: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #484848;
  margin-top: 5px;
  position: relative;
}
@media screen and (max-width: 768px), print {
  .l-content ul li {
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.72px;
  }
}
.l-content ul li:first-child {
  margin-top: 0;
}
.l-content ul li:before {
  position: absolute;
  top: 7.5px;
  left: 0;
  display: inline-block;
  width: 10px;
  height: 10px;
  content: "";
  background-color: #3071B9;
  margin-right: 10px;
}
@media screen and (max-width: 768px), print {
  .l-content ul li:before {
    top: 6px;
  }
}
.l-content ul li + p {
  margin-top: 5px;
}
.l-content ol {
  counter-reset: li;
  margin-bottom: 25px;
}
.l-content ol li {
  position: relative;
  padding-left: 30px;
  list-style: none;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #484848;
  margin-top: 7px;
}
@media screen and (max-width: 768px), print {
  .l-content ol li {
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.72px;
  }
}
.l-content ol li + p {
  margin-top: 5px;
}
.l-content ol li:first-child {
  margin-top: 0;
}
.l-content ol li:before {
  position: absolute;
  top: 5px;
  left: 0;
  /*要素の連番（カウンタ）の値を進める*/
  counter-increment: li;
  /*自動連番を付ける関数*/
  content: "0" counter(li);
  font-family: "itc";
  width: 25px;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: 0.36px;
  text-align: left;
  display: inline-block;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px), print {
  .l-content ol li:before {
    top: 4px;
  }
}
.l-content__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-content__info p {
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.l-content__thumb {
  text-align: center;
  padding-bottom: 30px;
}
.l-content__thumb img {
  width: 500px;
}
.l-content .box {
  margin-bottom: 35px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(5%, #3071B9), color-stop(20%, #00A0D2), color-stop(40%, #3071B9), to(#3071B9));
  background-image: linear-gradient(to right, #3071B9 5%, #00A0D2 20%, #3071B9 40%, #3071B9);
}
.l-content .box__head {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.28;
  letter-spacing: 1.08px;
  height: 40px;
  text-align: left;
  color: #FFF;
  padding: 0 17px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px), print {
  .l-content .box__head {
    font-size: 14px;
    letter-spacing: 0.84px;
  }
}
.l-content .box__body {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #484848;
  background: #FFF;
  padding: 17px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  position: relative;
  bottom: 1px;
  left: 1px;
}
@media screen and (max-width: 768px), print {
  .l-content .box__body {
    padding: 15px;
    font-size: 12px;
    line-height: 1.75;
    letter-spacing: 0.72px;
  }
}
.l-content table {
  background-image: -webkit-gradient(linear, left top, right top, color-stop(5%, #3071B9), color-stop(20%, #00A0D2), color-stop(40%, #3071B9), to(#3071B9));
  background-image: linear-gradient(to right, #3071B9 5%, #00A0D2 20%, #3071B9 40%, #3071B9);
  width: 100%;
  margin-bottom: 35px;
}
.l-content table th, .l-content table td {
  padding: 4px 10px 4px 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.14;
  letter-spacing: 0.84px;
  color: #484848;
  border: 1px solid #3071B9;
}
@media screen and (max-width: 768px), print {
  .l-content table th, .l-content table td {
    padding: 4px 10px;
    font-size: 12px;
    letter-spacing: 0.5px;
  }
}
.l-content table th {
  background-color: rgba(255, 255, 255, 0.85);
  width: 200px;
  text-align: left;
}
@media screen and (max-width: 768px), print {
  .l-content table th {
    width: 100px;
  }
}
.l-content table td {
  background-color: #FFF;
}
.l-content .c-bloglink {
  margin-bottom: 50px;
}
.l-content .p-form__input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__input-group {
    margin-bottom: 20px;
    display: block;
  }
}
.l-content .p-form__input-group-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__input-group-meta {
    display: block;
  }
}
.l-content .p-form__input-group-meta .p-form__input-group {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 350px;
          flex: 0 0 350px;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__input-group-meta .p-form__input-group {
    width: 100%;
  }
}
.l-content .p-form__label {
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #FFF;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px;
  height: 35px;
  background-image: linear-gradient(105deg, #3071B9 -14%, #00A0D2 11%, #3071B9 45%, #3071B9 147%);
  margin-right: 10px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__label {
    font-size: 3.0769230769vw;
    letter-spacing: 0.1846153846vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 26.9230769231vw;
            flex: 0 0 26.9230769231vw;
    height: 6.4102564103vw;
    margin-right: 1.2820512821vw;
    width: 100%;
    margin-bottom: 1.2820512821vw;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 2.5641vw;
  }
}
.l-content .p-form .wpcf7-form-control-wrap {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.l-content .p-form__input, .l-content .p-form__input--textarea {
  padding: 0 15px;
  height: 35px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.84px;
  text-align: left;
  color: #4C4948;
  border: solid 1px #3071B9;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 100%;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__input, .l-content .p-form__input--textarea {
    padding: 0 2.5641025641vw;
    height: 6.4102564103vw;
    font-size: 3.0769230769vw;
    letter-spacing: 0.1846153846vw;
  }
}
.l-content .p-form__input:focus, .l-content .p-form__input--textarea:focus {
  outline: none;
  border: solid 1px #3071B9;
}
.l-content .p-form__input--textarea {
  height: 250px;
  padding: 5px 15px;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__input--textarea {
    height: 38.4615384615vw;
    padding: 1.2820512821vw 2.5641025641vw;
  }
}
.l-content .p-form__radio {
  margin-top: 10px;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__radio {
    margin-top: 1.0256410256vw;
  }
}
.l-content .p-form__radio .wpcf7-list-item {
  margin-left: 0;
  display: block;
  margin-top: 10px;
}
.l-content .p-form__radio .wpcf7-list-item.first {
  margin-top: 0;
}
.l-content .p-form__radio .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-content .p-form__radio .wpcf7-list-item span {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.84px;
  text-align: left;
  color: #4C4948;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__radio .wpcf7-list-item span {
    font-size: 3.0769230769vw;
    letter-spacing: 0.1846153846vw;
    padding-left: 0.7692307692vw;
  }
}
.l-content .p-form__checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 10px;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__checkbox {
    margin-top: 1.0256410256vw;
  }
}
.l-content .p-form__checkbox:first-child {
  margin-top: 0;
}
.l-content .p-form__checkbox label {
  padding-left: 10px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.84px;
  text-align: left;
  color: #4C4948;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__checkbox label {
    font-size: 3.0769230769vw;
    letter-spacing: 0.1846153846vw;
    padding-left: 0.7692307692vw;
  }
}
.l-content .p-form__checkbox label a:link, .l-content .p-form__checkbox label a:visited, .l-content .p-form__checkbox label a:hover, .l-content .p-form__checkbox label a:active {
  color: #3071B9;
}
.l-content .p-form__checkbox {
  margin-top: 5px !important;
}
@media screen and (max-width: 768px), print {
  .l-content .p-form__checkbox {
    margin-top: 0.7692307692vw !important;
  }
}
.l-content .p-form__button {
  padding: 50px 0;
}
.l-content .p-form__button button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.l-content .p-form__button button[disabled] {
  cursor: default;
}

.l-pagehead {
  position: relative;
  height: 33.3333333333vw;
}
@media screen and (max-width: 768px), print {
  .l-pagehead {
    height: 51.2820512821vw;
  }
}
.l-pagehead__deco {
  position: absolute;
  width: 37.5vw;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px), print {
  .l-pagehead__deco {
    width: 76.9230769231vw;
  }
}
.l-pagehead__container {
  height: 100%;
  background: url("../img/aboutus_bg.png") no-repeat center/cover;
}
@media screen and (max-width: 768px), print {
  .l-pagehead__container {
    background: url("../img/aboutus_bg_sp.png") no-repeat center/cover;
  }
}
.l-pagehead__inner {
  width: 71.6666666667vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px), print {
  .l-pagehead__inner {
    width: 100%;
    padding-left: 5.1282051282vw;
  }
}
.l-pagehead__eng-ttl {
  padding-top: 12.4166666667vw;
  margin-bottom: 0.5vw;
  font-size: 8.3333333333vw;
  line-height: 1;
  letter-spacing: 0.1666666667vw;
  text-align: left;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-family: "itc";
  padding-right: 0.8333333333vw;
}
@media screen and (max-width: 768px), print {
  .l-pagehead__eng-ttl {
    padding-top: 17.3076923077vw;
    margin-bottom: 1.2820512821vw;
    font-size: 12.8205128205vw;
    letter-spacing: 0.2564102564vw;
  }
}
.l-pagehead h1 {
  font-size: 2.5vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.15vw;
  text-align: left;
  color: #4C4948;
}
@media screen and (max-width: 768px), print {
  .l-pagehead h1 {
    font-size: 4.6153846154vw;
    letter-spacing: 0.2769230769vw;
  }
}

/*
  * object
  */
.c-button, .c-button--medium, .c-button--medium-white-smaller, .c-button--medium-white, .c-button--primary {
  position: relative;
  z-index: 1;
  text-align: center;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
  text-align: center;
}
.c-button:link, .c-button--medium:link, .c-button--medium-white-smaller:link, .c-button--medium-white:link, .c-button--primary:link, .c-button:visited, .c-button--medium:visited, .c-button--medium-white-smaller:visited, .c-button--medium-white:visited, .c-button--primary:visited, .c-button:hover, .c-button--medium:hover, .c-button--medium-white-smaller:hover, .c-button--medium-white:hover, .c-button--primary:hover, .c-button:active, .c-button--medium:active, .c-button--medium-white-smaller:active, .c-button--medium-white:active, .c-button--primary:active {
  color: #FFF;
}
.c-button:before, .c-button--medium:before, .c-button--medium-white-smaller:before, .c-button--medium-white:before, .c-button--primary:before {
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
  content: ""; /*ボックスを作る*/
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  border: 1px solid #FFF;
}

.c-button--primary {
  width: 32.5vw;
  height: 4.1666666667vw;
  -webkit-clip-path: polygon(11% 0%, 102% 0%, 91% 100%, 0% 100%);
          clip-path: polygon(11% 0%, 102% 0%, 91% 100%, 0% 100%);
}
@media screen and (max-width: 768px), print {
  .c-button--primary {
    width: 59.7435897436vw;
    height: 7.6923076923vw;
    letter-spacing: 0.2461538462vw;
    font-size: 4.1025641026vw;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.c-button--primary span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: #FFF;
  z-index: 2;
  letter-spacing: 0.1vw;
  font-size: 1.6666666667vw;
  -webkit-transition: all 0.05s;
  transition: all 0.05s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px), print {
  .c-button--primary span {
    letter-spacing: 0.2461538462vw;
    font-size: 4.1025641026vw;
  }
}
.c-button--primary span:after {
  position: absolute;
  top: 0;
  left: 1.8333333333vw;
  display: block;
  width: 90%;
  height: calc(100% - 2px);
  content: "";
  border: 1px solid #FFF;
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
}
@media screen and (max-width: 768px), print {
  .c-button--primary span:after {
    width: 87%;
    left: 3.0769230769vw;
  }
}
.c-button--primary:link, .c-button--primary:visited, .c-button--primary:hover, .c-button--primary:active {
  color: #FFF;
  opacity: 1;
}
.c-button--primary:before {
  position: absolute;
  display: block;
  width: 51%;
  height: 100%;
  top: 0;
  left: unset;
  right: 100%;
  content: "";
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
  background-color: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px), print {
  .c-button--primary:before {
    content: none;
  }
}
.c-button--primary:after {
  position: absolute;
  display: block;
  width: 51%;
  left: 100%;
  height: 100%;
  top: 0;
  content: "";
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
  background-color: #FFF;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px), print {
  .c-button--primary:after {
    content: none;
  }
}
.c-button--primary:hover:before {
  right: 49%;
}
.c-button--primary:hover:after {
  left: 49%;
}
.c-button--primary:hover span {
  color: #00A0D2;
}

.c-button--medium, .c-button--medium-white-smaller, .c-button--medium-white {
  width: 39.6666666667vw;
  height: 4.1666666667vw;
  letter-spacing: 0.1vw;
  font-size: 1.6666666667vw;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.c-button--medium:before, .c-button--medium-white-smaller:before, .c-button--medium-white:before {
  border-color: #428EC5;
}
@media screen and (max-width: 768px), print {
  .c-button--medium, .c-button--medium-white-smaller, .c-button--medium-white {
    width: 59.7435897436vw;
    height: 7.6923076923vw;
    letter-spacing: 0.2461538462vw;
    font-size: 4.1025641026vw;
  }
}

.c-button--medium2 {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
  text-align: center;
  width: 39.6666666667vw;
  height: 4.1666666667vw;
  -webkit-clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
          clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
  background-image: -webkit-gradient(linear, left top, right top, color-stop(5%, #3071B9), color-stop(20%, #00A0D2), color-stop(40%, #3071B9), to(#3071B9));
  background-image: linear-gradient(to right, #3071B9 5%, #00A0D2 20%, #3071B9 40%, #3071B9);
}
.c-button--medium2 span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #00A0D2;
  z-index: 2;
  letter-spacing: 0.1vw;
  font-size: 1.6666666667vw;
  -webkit-transition: all 0.05s;
  transition: all 0.05s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
@media screen and (max-width: 768px), print {
  .c-button--medium2 span {
    letter-spacing: 0.2461538462vw;
    font-size: 4.1025641026vw;
  }
}
.c-button--medium2:link, .c-button--medium2:visited, .c-button--medium2:hover, .c-button--medium2:active {
  color: #FFF;
  opacity: 1;
}
.c-button--medium2:before {
  position: absolute;
  display: block;
  width: 55%;
  height: calc(100% - 2px);
  top: 1px;
  left: 2px;
  content: "";
  color: #3071B9;
  -webkit-clip-path: polygon(17.5% 0%, 100% 0%, 85% 100%, 0% 100%);
          clip-path: polygon(17.5% 0%, 100% 0%, 85% 100%, 0% 100%);
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.c-button--medium2:after {
  position: absolute;
  display: block;
  width: 55%;
  height: calc(100% - 2px);
  top: 1px;
  right: 2px;
  content: "";
  color: #3071B9;
  -webkit-clip-path: polygon(17.5% 0%, 100% 0%, 82.5% 100%, 0% 100%);
          clip-path: polygon(17.5% 0%, 100% 0%, 82.5% 100%, 0% 100%);
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.c-button--medium2:hover:before {
  left: -100%;
}
.c-button--medium2:hover:after {
  right: -100%;
}
.c-button--medium2:hover span {
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .c-button--medium2 {
    width: 59.7435897436vw;
    height: 7.6923076923vw;
  }
}

.c-button--medium3 {
  position: relative;
  z-index: 1;
  text-align: center;
  margin-bottom: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 500;
  text-align: center;
  width: 39.6666666667vw;
  height: 4.1666666667vw;
  -webkit-clip-path: polygon(9% 0%, 100% 0%, 91% 100%, 0% 100%);
          clip-path: polygon(9% 0%, 100% 0%, 91% 100%, 0% 100%);
}
@media screen and (max-width: 768px), print {
  .c-button--medium3 {
    width: 59.7435897436vw;
    height: 7.6923076923vw;
    overflow: hidden;
    -webkit-clip-path: none;
            clip-path: none;
  }
}
.c-button--medium3 span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  color: #FFF;
  z-index: 2;
  letter-spacing: 0.1vw;
  font-size: 1.6666666667vw;
  -webkit-transition: all 0.05s;
  transition: all 0.05s;
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px), print {
  .c-button--medium3 span {
    letter-spacing: 0.2461538462vw;
    font-size: 4.1025641026vw;
  }
}
.c-button--medium3 span:after {
  position: absolute;
  top: 0;
  left: 1.8333333333vw;
  display: block;
  width: 90%;
  height: calc(100% - 2px);
  content: "";
  border: 1px solid #FFF;
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
}
@media screen and (max-width: 768px), print {
  .c-button--medium3 span:after {
    width: 87%;
    left: 3.0769230769vw;
  }
}
.c-button--medium3:link, .c-button--medium3:visited, .c-button--medium3:hover, .c-button--medium3:active {
  color: #FFF;
  opacity: 1;
}
.c-button--medium3:before {
  position: absolute;
  display: block;
  width: 51%;
  height: 100%;
  top: 0;
  right: 100%;
  content: "";
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px), print {
  .c-button--medium3:before {
    content: none;
  }
}
.c-button--medium3:after {
  position: absolute;
  display: block;
  width: 51%;
  left: 100%;
  height: 100%;
  top: 0;
  content: "";
  -webkit-transform: skewX(-40deg);
          transform: skewX(-40deg);
  background-color: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px), print {
  .c-button--medium3:after {
    content: none;
  }
}
.c-button--medium3:hover:before {
  right: 49%;
}
.c-button--medium3:hover:after {
  left: 49%;
}
.c-button--medium3:hover span {
  color: #00A0D2;
}

.c-button--more {
  width: 32.0833333333vw;
  height: 3.3333333333vw;
  font-size: 1.3333333333vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08vw;
  text-align: center;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(5%, #3071B9), color-stop(20%, #00A0D2), color-stop(40%, #3071B9), to(#3071B9));
  background-image: linear-gradient(to right, #3071B9 5%, #00A0D2 20%, #3071B9 40%, #3071B9 100%);
  position: relative;
  display: block;
}
@media screen and (max-width: 768px), print {
  .c-button--more {
    width: 44.8717948718vw;
    height: 6.4102564103vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0.2vw;
  }
}
.c-button--more:link, .c-button--more:visited, .c-button--more:hover, .c-button--more:active {
  color: #00A0D2;
  opacity: 1;
}
.c-button--more span {
  position: absolute;
  width: 100%;
  height: calc(100% - 2px);
  top: 1px;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  z-index: 1;
  -webkit-transition: color 0.5s;
  transition: color 0.5s;
}
.c-button--more span:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 50%;
  height: 100%;
  content: "";
  background-color: #FFF;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: -1;
}
.c-button--more span:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 50%;
  height: 100%;
  content: "";
  background-color: #FFF;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  z-index: -1;
}
.c-button--more:hover span {
  color: #FFF;
}
.c-button--more:hover span:before {
  left: -100%;
}
.c-button--more:hover span:after {
  right: -100%;
}

.c-button--medium-white {
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
}
.c-button--medium-white:link, .c-button--medium-white:visited, .c-button--medium-white:hover, .c-button--medium-white:active {
  color: #FFF;
}
.c-button--medium-white:before {
  border-color: #FFF;
}

.c-button--medium-white-smaller {
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  width: 32.5vw;
}
@media screen and (max-width: 768px), print {
  .c-button--medium-white-smaller {
    width: 59.7435897436vw;
  }
}
.c-button--medium-white-smaller:link, .c-button--medium-white-smaller:visited, .c-button--medium-white-smaller:hover, .c-button--medium-white-smaller:active {
  color: #FFF;
}
.c-button--medium-white-smaller:before {
  border-color: #FFF;
}

.c-mvv, .c-mvv--ver2 {
  margin-top: 5vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .c-mvv, .c-mvv--ver2 {
    margin-top: 8.7179487179vw;
    display: block;
  }
}
.c-mvv:first-child, .c-mvv--ver2:first-child {
  margin-top: 0;
}
.c-mvv__ttl, .c-mvv--ver2 .c-mvv__ttl {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14vw;
          flex: 0 0 14vw;
  font-family: "itc";
  font-size: 2.9166666667vw;
  line-height: 1;
  letter-spacing: 0.3791666667vw;
  color: #FFF;
  border-bottom: solid 0.4166666667vw #FFF;
  text-align: right;
}
@media screen and (max-width: 768px), print {
  .c-mvv__ttl, .c-mvv--ver2 .c-mvv__ttl {
    width: 37.1794871795vw;
    font-size: 6.4102564103vw;
    letter-spacing: 0.8333333333vw;
    border-bottom: solid 1.2820512821vw #FFF;
    text-align: left;
    padding-bottom: 1.0256410256vw;
  }
}
.c-mvv__text {
  padding-left: 2.5vw;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.3333333333vw;
  font-weight: 500;
  line-height: 2.56;
  letter-spacing: 0.08vw;
  text-align: left;
  color: #FFF;
  border-bottom: solid 1px #FFF;
}
@media screen and (max-width: 768px), print {
  .c-mvv__text {
    padding-left: 0;
    font-size: 3.3333333333vw;
    letter-spacing: 0.2vw;
    line-height: 1.62;
    padding: 2.8205128205vw 0 2.8205128205vw;
  }
}

.c-mvv--ver2 {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-top: 3.1666666667vw;
}
@media screen and (max-width: 768px), print {
  .c-mvv--ver2 {
    margin-top: 7.6923076923vw;
  }
}
.c-mvv--ver2 .c-mvv__ttl {
  font-size: 1.3333333333vw;
  font-weight: 500;
  padding-bottom: 0.6666666667vw;
  letter-spacing: 0.08vw;
}
@media screen and (max-width: 768px), print {
  .c-mvv--ver2 .c-mvv__ttl {
    width: 26.4102564103vw;
    font-size: 4.1025641026vw;
    padding-bottom: 0.7692307692vw;
    letter-spacing: 0.2461538462vw;
  }
}

.c-bloglink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.8333333333vw 2.5vw 0.8333333333vw 1.25vw;
  margin-top: 1.25vw;
  position: relative;
}
@media screen and (max-width: 768px), print {
  .c-bloglink {
    padding: 5.1282051282vw 2.5641025641vw 1.5384615385vw;
    margin-top: 2.5641025641vw;
    position: relative;
  }
}
.c-bloglink:hover {
  opacity: 1;
}
.c-bloglink:first-child {
  margin-top: 0;
}
.c-bloglink:before {
  position: absolute;
  top: -1px;
  left: -1px;
  display: block;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  content: "";
  background-image: linear-gradient(86deg, #3071B9 3%, #00A0D2 19%, #3071B9 40%, #3071B9 102%);
  border: none;
  z-index: -2;
  -webkit-clip-path: polygon(0 0, 97% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 97% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 768px), print {
  .c-bloglink:before {
    -webkit-clip-path: polygon(100% 0, 100% 60%, 97% 100%, 0 100%, 0 0);
            clip-path: polygon(100% 0, 100% 60%, 97% 100%, 0 100%, 0 0);
  }
}
.c-bloglink:after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #FFF;
  z-index: -1;
  -webkit-clip-path: polygon(0px 0px, 97% 0%, 99.9% 100%, 0% 100%);
          clip-path: polygon(0px 0px, 97% 0%, 99.9% 100%, 0% 100%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (max-width: 768px), print {
  .c-bloglink:after {
    -webkit-clip-path: polygon(100% 0, 100% 60%, 97% 100%, 0 100%, 0 0);
            clip-path: polygon(100% 0, 100% 60%, 97% 100%, 0 100%, 0 0);
  }
}
.c-bloglink.is-active:after, .c-bloglink:hover:after {
  height: 0;
}
.c-bloglink.is-active .c-bloglink__date, .c-bloglink.is-active .c-bloglink__title, .c-bloglink.is-active .c-bloglink__cat, .c-bloglink:hover .c-bloglink__date, .c-bloglink:hover .c-bloglink__title, .c-bloglink:hover .c-bloglink__cat {
  color: #FFF;
}
.c-bloglink__date {
  font-size: 1.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.07vw;
  text-align: right;
  color: #4C4948;
}
@media screen and (max-width: 768px), print {
  .c-bloglink__date {
    font-size: 2.0512820513vw;
    letter-spacing: 0.1230769231vw;
    text-align: left;
    position: absolute;
    top: 1.2820512821vw;
    left: 2.5641025641vw;
  }
}
.c-bloglink__title {
  font-size: 1.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.07vw;
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: 1em;
  color: #4C4948;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 768px), print {
  .c-bloglink__title {
    font-size: 2.5641025641vw;
    line-height: 1.4;
    letter-spacing: 0.1538461538vw;
  }
}
.c-bloglink__cat {
  font-size: 1.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.07vw;
  text-align: right;
  color: #4C4948;
}
@media screen and (max-width: 768px), print {
  .c-bloglink__cat {
    font-size: 2.0512820513vw;
    letter-spacing: 0.1230769231vw;
    text-align: left;
    position: absolute;
    top: 1.2820512821vw;
    right: 2.5641025641vw;
  }
}

.c-heading, .c-heading--white {
  font-size: 8.3333333333vw;
  line-height: 1.1;
  letter-spacing: 0.1666666667vw;
  text-align: left;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  font-family: "itc";
  padding-left: 2.5vw;
}
@media screen and (max-width: 768px), print {
  .c-heading, .c-heading--white {
    font-size: 15.3846153846vw;
    letter-spacing: 0.3076923077vw;
    padding-left: 0;
  }
}
.c-heading--white {
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  color: #FFF;
}
.c-heading--center {
  display: block;
  padding-left: 0;
  text-align: center;
}

.p-fv {
  position: relative;
}
.p-fv__figure {
  width: 100%;
}
.p-fv__h1 {
  position: absolute;
  font-size: 4.1666666667vw;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.4166666667vw;
  text-align: left;
  color: #FFF;
  top: 20.0833333333vw;
  left: calc(50% - 33vw);
  text-shadow: 0 0 2.5641vw #134A6A;
}
@media screen and (max-width: 768px), print {
  .p-fv__h1 {
    font-size: 10.2564102564vw;
    line-height: 1.38;
    letter-spacing: 1.0256410256vw;
    left: 5.1282051282vw;
    top: 43.3333333333vw;
    text-shadow: 0 0 2.5641025641vw #134A6A;
  }
}
.p-fv__h1 span {
  display: inline-block;
  opacity: 0;
}
.p-fv__h1 span:nth-child(1) {
  -webkit-animation: topCopyAnime 1s ease 0.05s forwards;
          animation: topCopyAnime 1s ease 0.05s forwards;
}
.p-fv__h1 span:nth-child(2) {
  -webkit-animation: topCopyAnime 1s ease 0.1s forwards;
          animation: topCopyAnime 1s ease 0.1s forwards;
}
.p-fv__h1 span:nth-child(3) {
  -webkit-animation: topCopyAnime 1s ease 0.15s forwards;
          animation: topCopyAnime 1s ease 0.15s forwards;
}
.p-fv__h1 span:nth-child(4) {
  -webkit-animation: topCopyAnime 1s ease 0.2s forwards;
          animation: topCopyAnime 1s ease 0.2s forwards;
}
.p-fv__h1 span:nth-child(5) {
  -webkit-animation: topCopyAnime 1s ease 0.25s forwards;
          animation: topCopyAnime 1s ease 0.25s forwards;
}
.p-fv__h1 span:nth-child(6) {
  -webkit-animation: topCopyAnime 1s ease 0.3s forwards;
          animation: topCopyAnime 1s ease 0.3s forwards;
}
.p-fv__h1 span:nth-child(7) {
  -webkit-animation: topCopyAnime 1s ease 0.35s forwards;
          animation: topCopyAnime 1s ease 0.35s forwards;
}
.p-fv__h1 span:nth-child(8) {
  -webkit-animation: topCopyAnime 1s ease 0.4s forwards;
          animation: topCopyAnime 1s ease 0.4s forwards;
}
.p-fv__h1 span:nth-child(9) {
  -webkit-animation: topCopyAnime 1s ease 0.45s forwards;
          animation: topCopyAnime 1s ease 0.45s forwards;
}
.p-fv__h1 span:nth-child(10) {
  -webkit-animation: topCopyAnime 1s ease 0.5s forwards;
          animation: topCopyAnime 1s ease 0.5s forwards;
}
.p-fv__h1 span:nth-child(11) {
  -webkit-animation: topCopyAnime 1s ease 0.55s forwards;
          animation: topCopyAnime 1s ease 0.55s forwards;
}
.p-fv__h1 span:nth-child(12) {
  -webkit-animation: topCopyAnime 1s ease 0.6s forwards;
          animation: topCopyAnime 1s ease 0.6s forwards;
}
.p-fv__h1 span:nth-child(13) {
  -webkit-animation: topCopyAnime 1s ease 0.65s forwards;
          animation: topCopyAnime 1s ease 0.65s forwards;
}
.p-fv__h1 span:nth-child(14) {
  -webkit-animation: topCopyAnime 1s ease 0.7s forwards;
          animation: topCopyAnime 1s ease 0.7s forwards;
}
.p-fv__h1 span:nth-child(15) {
  -webkit-animation: topCopyAnime 1s ease 0.75s forwards;
          animation: topCopyAnime 1s ease 0.75s forwards;
}
.p-fv__h1 span:nth-child(16) {
  -webkit-animation: topCopyAnime 1s ease 0.8s forwards;
          animation: topCopyAnime 1s ease 0.8s forwards;
}
.p-fv__h1 span:nth-child(17) {
  -webkit-animation: topCopyAnime 1s ease 0.85s forwards;
          animation: topCopyAnime 1s ease 0.85s forwards;
}
.p-fv__h1 span:nth-child(18) {
  -webkit-animation: topCopyAnime 1s ease 0.9s forwards;
          animation: topCopyAnime 1s ease 0.9s forwards;
}
.p-fv__h1 span:nth-child(19) {
  -webkit-animation: topCopyAnime 1s ease 0.95s forwards;
          animation: topCopyAnime 1s ease 0.95s forwards;
}
.p-fv__h1 span:nth-child(20) {
  -webkit-animation: topCopyAnime 1s ease 1s forwards;
          animation: topCopyAnime 1s ease 1s forwards;
}
.p-fv__scroll {
  width: 6.3333333333vw;
  height: auto;
  position: absolute;
  right: 17.5833333333vw;
  top: 51.25vw;
  cursor: pointer;
  -webkit-animation: scroll 2.5s infinite;
          animation: scroll 2.5s infinite;
}
@media screen and (max-width: 768px), print {
  .p-fv__scroll {
    width: 19.7435897436vw;
    right: 9.8461538462vw;
    top: 141.0256410256vw;
  }
}

@-webkit-keyframes topCopyAnime {
  from {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes topCopyAnime {
  from {
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
    opacity: 0;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0, 10px);
            transform: translate(0, 10px);
    opacity: 0;
  }
}
.p-aboutus {
  margin-top: -30vw;
  position: relative;
  padding-bottom: 8.75vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus {
    margin-top: -25.641025641vw;
    padding-bottom: 12.8205128205vw;
  }
}
.p-aboutus__content-wrap {
  position: relative;
  margin-top: 1.75vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus__content-wrap {
    margin-top: 2.5641025641vw;
  }
}
.p-aboutus__figure {
  width: 38.3333333333vw;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 768px), print {
  .p-aboutus__figure {
    width: 100vw;
    max-width: unset;
    margin-left: -5.1282051282vw;
  }
}
.p-aboutus__info {
  position: absolute;
  width: 41.6666666667vw;
  top: 3.75vw;
  right: 0;
  padding: 4.1666666667vw 4.5833333333vw 4.1666666667vw 3.75vw;
  background-image: linear-gradient(66deg, #3071B9 -62%, #3071B9 45%, #00A0D2 80%, #3071B9 107%);
}
@media screen and (max-width: 768px), print {
  .p-aboutus__info {
    position: static;
    margin-top: -8.9743589744vw;
    width: 94.8717948718vw;
    margin-left: -5.1282051282vw;
    padding: 8.9743589744vw 10.2564102564vw 8.9743589744vw 5.1282051282vw;
    -webkit-clip-path: polygon(89% 0, 100% 28%, 100% 100%, 0 100%, 0 0);
            clip-path: polygon(89% 0, 100% 28%, 100% 100%, 0 100%, 0 0);
  }
}
.p-aboutus__info:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5.6666666667vw 8.5vw 0;
  border-color: transparent #FFFFFF transparent transparent;
}
.p-aboutus__text {
  font-size: 1.1666666667vw;
  line-height: 1.71;
  letter-spacing: 0.07vw;
  color: #FFF;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus__text {
    font-size: 3.0769230769vw;
    line-height: 2;
    letter-spacing: normal;
    color: #FFF;
    margin-bottom: 6.4102564103vw;
  }
}

.p-business {
  background-image: linear-gradient(13deg, #3071B9 -138%, #3071B9 44%, #00A0D2 105%, #3071B9);
  padding: 4.5833333333vw 0 3.75vw;
}
@media screen and (max-width: 768px), print {
  .p-business {
    background-image: linear-gradient(18deg, #3071B9 -71%, #3071B9 55%, #00A0D2 97%, #3071B9 128%);
    padding: 8.9743589744vw 0 10.2564102564vw;
  }
}
.p-business__card-wrap {
  margin-top: 3.1666666667vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .p-business__card-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 6.1538461538vw;
  }
}
.p-business__card {
  width: 23.3333333333vw;
}
@media screen and (max-width: 768px), print {
  .p-business__card {
    margin-bottom: 7.6923076923vw;
    width: 100%;
  }
  .p-business__card:last-child {
    margin-bottom: 0;
  }
}
.p-business__card img {
  width: 100%;
}
@media screen and (max-width: 768px), print {
  .p-business__card img {
    position: relative;
    width: 94.8717948718vw;
    max-width: unset;
  }
  .p-business__card img.-left {
    left: -5.1282051282vw;
  }
}
.p-business__card__ttl {
  margin-top: 0.5916666667vw;
  font-size: 2.2833333333vw;
  font-weight: bold;
  line-height: 1.43;
  letter-spacing: 0.1375vw;
  text-align: left;
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .p-business__card__ttl {
    margin-top: 3.5897435897vw;
    font-size: 7.0256410256vw;
    letter-spacing: 0.4230769231vw;
  }
}
.p-business__card__desc {
  margin-top: 0.6vw;
  font-size: 1.1666666667vw;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.07vw;
  text-align: left;
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .p-business__card__desc {
    margin-top: 1.8461538462vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0.2153846154vw;
  }
}
.p-business__card__link {
  display: block;
  margin: 2.5vw auto 0;
  width: 19.5833333333vw;
  height: 40px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.96px;
  color: #FFF;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px), print {
  .p-business__card__link {
    margin-top: 3.8461538462vw;
    width: 44.8717948718vw;
    height: 7.1794871795vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0.2vw;
  }
}
.p-business__card__link:hover {
  color: #3071B9;
}
.p-business__card__link:before {
  position: absolute;
  top: 0;
  right: 100%;
  display: block;
  width: 50%;
  height: 100%;
  content: "";
  background-color: #FFF;
  z-index: -1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-business__card__link:hover:before {
  right: 50%;
}
.p-business__card__link:after {
  position: absolute;
  top: 0;
  left: 100%;
  display: block;
  width: 50%;
  height: 100%;
  content: "";
  background-color: #FFF;
  z-index: -1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-business__card__link:hover:after {
  left: 50%;
}

.p-column {
  padding-top: 7.75vw;
  background: url("../img/column_bg.png") no-repeat top -7.5vw center/68.75vw auto;
}
@media screen and (max-width: 768px), print {
  .p-column {
    padding-top: 13.8461538462vw;
    background: url("../img/column_bg.png") no-repeat top -1.6666666667vw center/100% auto;
  }
}
.p-column__cards-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-column__card {
  width: calc(50% - 2.5vw);
  margin-top: 2.0833333333vw;
}
.p-column__card:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 0.9;
}
@media screen and (max-width: 768px), print {
  .p-column__card {
    margin-top: 3.8461538462vw;
  }
}
.p-column__card:nth-child(1), .p-column__card:nth-child(2) {
  margin-top: 0;
}
.p-column__card:nth-child(2n+1) {
  margin-right: 5vw;
}
.p-column__card__figure {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin-bottom: 0.4166666667vw;
  position: relative;
}
@media screen and (max-width: 768px), print {
  .p-column__card__figure {
    margin-bottom: 1.2820512821vw;
  }
}
.p-column__card__figure:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 2.6666666667vw 4.3333333333vw 0;
  border-color: transparent #FFFFFF transparent transparent;
}
@media screen and (max-width: 768px), print {
  .p-column__card__figure:after {
    border-width: 0 5.1282051282vw 7.6923076923vw 0;
  }
}
.p-column__card__figure img {
  width: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-column__card__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 0.5166666667vw;
  border-bottom: 1px solid #00A0D2;
  margin-bottom: 0.4166666667vw;
}
@media screen and (max-width: 768px), print {
  .p-column__card__info {
    padding-bottom: 1.6666666667vw;
  }
}
.p-column__card__date {
  font-size: 1.1666666667vw;
  letter-spacing: 0.07vw;
  text-align: left;
  color: #272727;
}
@media screen and (max-width: 768px), print {
  .p-column__card__date {
    font-size: 2.0512820513vw;
    letter-spacing: 0.1230769231vw;
  }
}
.p-column__card__cat {
  font-size: 1.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.07vw;
  color: #4B4B4B;
}
@media screen and (max-width: 768px), print {
  .p-column__card__cat {
    font-size: 2.0512820513vw;
    letter-spacing: 0.1230769231vw;
  }
}
.p-column__card__desc {
  font-size: 1.1666666667vw;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.07vw;
  text-align: left;
  color: #4C4948;
}
@media screen and (max-width: 768px), print {
  .p-column__card__desc {
    font-size: 2.5641025641vw;
    line-height: 1.4;
    letter-spacing: 0.1538461538vw;
    margin-top: 2.5641025641vw;
  }
}

.p-news {
  padding-top: 5vw;
  padding-bottom: 6.25vw;
  background: url("../img/column_bg.png") no-repeat top 0vw center/68.75vw auto;
}
@media screen and (max-width: 768px), print {
  .p-news {
    padding-top: 15.3846153846vw;
    padding-bottom: 16.6666666667vw;
    background: url("../img/column_bg.png") no-repeat top 0vw center/100% auto;
  }
}

.p-catbox {
  margin-top: 3.3333333333vw;
}
@media screen and (max-width: 768px), print {
  .p-catbox {
    margin-top: 2.5641025641vw;
  }
}
.p-catbox__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-catbox__categories {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 10.8333333333vw;
          flex: 0 0 10.8333333333vw;
  border-right: 1px solid #428EC5;
}
@media screen and (max-width: 768px), print {
  .p-catbox__categories {
    display: none;
  }
}
.p-catbox__categories__ttl {
  font-size: 1.1666666667vw;
  line-height: 1.43;
  letter-spacing: 0.0233333333vw;
  text-align: left;
  background: -webkit-gradient(linear, left top, right top, from(#00A0D2), to(#3071B9));
  background: linear-gradient(to right, #00A0D2, #3071B9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "itc";
  margin-bottom: 2.5833333333vw;
}
.p-catbox__categories__nav li {
  margin-top: 1.25vw;
  width: 8.3333333333vw;
}
.p-catbox__categories__nav li:first-child {
  margin-top: 0;
}
.p-catbox__categories__nav a {
  font-size: 1.1666666667vw;
  font-weight: 500;
  letter-spacing: 0.07vw;
  text-align: left;
  display: block;
  padding: 0.1666666667vw 0.4166666667vw;
}
.p-catbox__categories__nav a:link, .p-catbox__categories__nav a:visited, .p-catbox__categories__nav a:hover, .p-catbox__categories__nav a:active {
  color: #4C4948;
}
.p-catbox__categories__nav a.is-active {
  background-image: linear-gradient(74deg, #3071B9 -48%, #3071B9 60%, #00A0D2 96%, #3071B9 123%);
}
.p-catbox__categories__nav a.is-active:link, .p-catbox__categories__nav a.is-active:visited, .p-catbox__categories__nav a.is-active:hover, .p-catbox__categories__nav a.is-active:active {
  color: #FFF;
}
.p-catbox__main {
  padding-left: 6.25vw;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 768px), print {
  .p-catbox__main {
    padding-left: 0;
  }
}
.p-catbox__btn {
  margin-top: 4.9166666667vw;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px), print {
  .p-catbox__btn {
    margin-top: 7.6923076923vw;
  }
}

.p-instagram {
  padding: 5.8333333333vw 0 5vw;
  background-image: linear-gradient(66deg, #3071B9 -126%, #3071B9 14%, #00A0D2 61%, #3071B9 96%);
}
@media screen and (max-width: 768px), print {
  .p-instagram {
    padding: 10.2564102564vw 0;
  }
}
.p-instagram__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px), print {
  .p-instagram__wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.p-instagram__item {
  width: 16.6666666667vw;
}
@media screen and (max-width: 768px), print {
  .p-instagram__item {
    width: 42.0512820513vw;
    margin-bottom: 5.641025641vw;
  }
}
.p-instagram__item img {
  width: 100%;
}
.p-instagram__btn {
  margin-top: 4.0833333333vw;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px), print {
  .p-instagram__btn {
    margin-top: 2.5641025641vw;
  }
}

.p-contact {
  padding: 5vw 0 4.1666666667vw;
}
@media screen and (max-width: 768px), print {
  .p-contact {
    padding: 7.6923076923vw 0;
  }
}
.p-contact__main {
  padding: 3.3333333333vw 0 4.1666666667vw;
  background: url("../img/contact_bg.png") no-repeat center/89.5833333333vw 31.6666666667vw;
}
@media screen and (max-width: 768px), print {
  .p-contact__main {
    padding: 10vw 0 10.2564102564vw;
    background: url("../img/contact_bg.png") no-repeat center/153vw 71.7948717949vw;
  }
}
.p-contact__info-wrap {
  width: 33.75vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px), print {
  .p-contact__info-wrap {
    width: 74.8717948718vw;
    margin-top: 4.8717948718vw;
  }
}
.p-contact__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1.25vw;
}
@media screen and (max-width: 768px), print {
  .p-contact__info {
    margin-bottom: 1.0256410256vw;
  }
}
.p-contact__info:last-child {
  margin-bottom: 0;
}
.p-contact__info img {
  width: 3.1666666667vw;
  display: block;
  margin-right: 1.25vw;
}
@media screen and (max-width: 768px), print {
  .p-contact__info img {
    width: 6.4102564103vw;
    margin-right: 2.5641025641vw;
  }
}
.p-contact__info p {
  font-size: 2.25vw;
  line-height: 1.33;
  text-align: left;
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .p-contact__info p {
    font-size: 4.6153846154vw;
  }
}
.p-contact__info a:link, .p-contact__info a:visited, .p-contact__info a:hover, .p-contact__info a:active {
  color: #FFF;
}
.p-contact__btn {
  margin-top: 3.125vw;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px), print {
  .p-contact__btn {
    margin-top: 8.9743589744vw;
  }
}

.p-aboutus-main {
  padding-top: 4.25vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-main {
    padding-top: 7.1794871795vw;
  }
}

.p-aboutus-top {
  padding-bottom: 12.6666666667vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top {
    padding-bottom: 82.0512820513vw;
  }
}
.p-aboutus-top__inner {
  width: 76.6666666667vw;
  margin: 0 auto;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__inner {
    width: 100%;
    padding-left: 5.1282051282vw;
    padding-right: 5.1282051282vw;
  }
}
.p-aboutus-top__wrap {
  width: 60vw;
  margin-left: 8.3333333333vw;
  position: relative;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__wrap {
    width: 100%;
    margin-left: 0;
  }
}
.p-aboutus-top__figure {
  width: 25.8333333333vw;
  display: block;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__figure {
    width: 43.5897435897vw;
    position: relative;
    z-index: 2;
  }
}
.p-aboutus-top__info {
  width: 35vw;
  height: 35vw;
  padding: 4.8416666667vw 4vw 1.6666666667vw;
  position: absolute;
  top: 2.5vw;
  right: 0;
  background-image: linear-gradient(56deg, #3071B9 -154%, #3071B9 33%, #00A0D2 95%, #3071B9 142%);
  -webkit-clip-path: polygon(88% 0, 100% 23%, 100% 100%, 0 100%, 0 0);
          clip-path: polygon(88% 0, 100% 23%, 100% 100%, 0 100%, 0 0);
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__info {
    width: 84.6153846154vw;
    height: auto;
    padding: 9.2307692308vw 2.5641025641vw 9.2307692308vw;
    top: 27.4358974359vw;
    z-index: 1;
    -webkit-clip-path: polygon(93% 0, 100% 15.5%, 100% 100%, 0 100%, 0 0);
            clip-path: polygon(93% 0, 100% 15.5%, 100% 100%, 0 100%, 0 0);
  }
}
.p-aboutus-top__info__ttl {
  font-size: 1.8333333333vw;
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.11vw;
  text-align: left;
  color: #FFF;
  margin-bottom: 1.75vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__info__ttl {
    font-size: 4.6153846154vw;
    letter-spacing: 0.2769230769vw;
    text-align: right;
    padding-right: 20.5128205128vw;
    margin-bottom: 4.1025641026vw;
  }
}
.p-aboutus-top__info__text {
  font-size: 1.1666666667vw;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.07vw;
  text-align: left;
  color: #FFF;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-top__info__text {
    font-size: 3.0769230769vw;
    line-height: 1.75;
    letter-spacing: 0.1846153846vw;
  }
}

.p-aboutus-bluecontent {
  margin-left: auto;
  margin-right: 0;
  margin-bottom: 4.1666666667vw;
  width: 88.3333333333vw;
  padding: 4.5833333333vw 11.6666666667vw 0 10.8333333333vw;
  background-image: linear-gradient(50deg, #3071B9 -76%, #3071B9 54%, #00A0D2 97%, #3071B9 130%);
  position: relative;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent {
    margin-bottom: 12.8205128205vw;
    width: 94.8717948718vw;
    padding: 6.4102564103vw 0 0 17.9487179487vw;
  }
}
.p-aboutus-bluecontent:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 13.3333333333vw 0 0 8.3333333333vw;
  border-color: transparent transparent transparent #FFFFFF;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent:after {
    border-width: 15.3846153846vw 0 0 10.2564102564vw;
  }
}
.p-aboutus-bluecontent__h2 {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 6.6666666667vw;
  line-height: 1;
  letter-spacing: 0.8666666667vw;
  text-align: left;
  color: #FFF;
  font-family: "itc";
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: 5.5% 38%;
          transform-origin: 5.5% 38%;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent__h2 {
    font-size: 10.2564102564vw;
    letter-spacing: 1.3333333333vw;
  }
}
.p-aboutus-bluecontent__map {
  padding: 4.1666666667vw 0 4.4166666667vw;
  position: relative;
  left: -10.8333333333vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent__map {
    padding: 10.2564102564vw 0 10.2564102564vw;
    left: -17.9487179487vw;
  }
}
.p-aboutus-bluecontent__map__main {
  width: 76.6666666667vw;
  height: 20.8333333333vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent__map__main {
    width: 89.7435897436vw;
    height: 51.2820512821vw;
  }
}
.p-aboutus-bluecontent__map__main iframe {
  width: 100%;
  height: 100%;
}
.p-aboutus-bluecontent__button-wrap {
  padding-bottom: 4.75vw;
  padding-left: 12.5vw;
}
@media screen and (max-width: 768px), print {
  .p-aboutus-bluecontent__button-wrap {
    padding-bottom: 14.1025641026vw;
    padding-left: 0;
  }
}

.p-values {
  padding-top: 4.8333333333vw;
  padding-bottom: 3.0833333333vw;
}
@media screen and (max-width: 768px), print {
  .p-values {
    padding-top: 11.641025641vw;
    padding-bottom: 9.4871794872vw;
  }
}
.p-values__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px), print {
  .p-values__wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.p-values__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 19.1666666667vw;
          flex: 0 0 19.1666666667vw;
  height: 17.5vw;
  border-right: 1px solid #FFF;
  border-bottom: 1px solid #FFF;
  padding: 0 1.25vw 1.25vw 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-right: 4.1666666667vw;
  margin-bottom: 5.25vw;
}
@media screen and (max-width: 768px), print {
  .p-values__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 59.4871794872vw;
            flex: 0 0 59.4871794872vw;
    height: 56.4102564103vw;
    padding: 0 3.8461538462vw 5.1282051282vw 0;
    margin-right: 0;
    margin-bottom: 5.8974358974vw;
  }
}
.p-values__ttl {
  font-size: 2vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12vw;
  text-align: right;
  color: #FFF;
  width: 100%;
}
@media screen and (max-width: 768px), print {
  .p-values__ttl {
    font-size: 6.1538461538vw;
    letter-spacing: 0.3692307692vw;
  }
}
.p-values__icon {
  display: block;
  margin: 0 auto;
}
.p-values__icon.-one {
  width: 8.6666666667vw;
}
@media screen and (max-width: 768px), print {
  .p-values__icon.-one {
    width: 26.6666666667vw;
  }
}
.p-values__icon.-two {
  width: 6vw;
}
@media screen and (max-width: 768px), print {
  .p-values__icon.-two {
    width: 18.4615384615vw;
  }
}
.p-values__icon.-three {
  width: 7.7083333333vw;
}
@media screen and (max-width: 768px), print {
  .p-values__icon.-three {
    width: 23.7179487179vw;
  }
}
.p-values__icon.-four {
  width: 9.0833333333vw;
}
@media screen and (max-width: 768px), print {
  .p-values__icon.-four {
    width: 27.9487179487vw;
  }
}
.p-values__icon.-five {
  width: 7.5vw;
}
@media screen and (max-width: 768px), print {
  .p-values__icon.-five {
    width: 23.0769230769vw;
  }
}
.p-values__text {
  font-size: 1vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.0083333333vw;
  text-align: left;
  color: #FFF;
  width: 100%;
  white-space: nowrap;
}
@media screen and (max-width: 768px), print {
  .p-values__text {
    font-size: 3.0769230769vw;
    letter-spacing: normal;
    white-space: unset;
  }
}

.u-text--center {
  text-align: center;
}

.u-dblock {
  display: block;
}

.u-margin--0auto {
  margin: 0 auto;
}
.u-margin--left0 {
  margin-left: 0;
}
.u-margin--right0 {
  margin-right: 0;
}