@charset "UTF-8";
/* ==========================================================================
   Foundation
   ========================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Voltaire&display=swap");
/* Reset
   ----------------------------------------------------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/*! change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/*! change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/*! change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

main {
  display: block;
}

/* Base
   ----------------------------------------------------------------- */
html {
  font-size: 62.5%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: -webkit-fill-available;
}

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

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #3E3A34;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  word-break: normal;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  font-weight: 300;
  font-size: 17px;
  font-size: 1.7rem;
}
@media screen and (min-width: 1780px) {
  body {
    font-size: 17px;
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  body {
    font-size: 0.988372093vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  body {
    font-size: 1.1486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  body {
    font-size: 2.0731707317vw;
  }
}
body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
}

a {
  color: #333;
  text-decoration: none;
}
a:hover, a:active, a:focus {
  opacity: 0.8;
  text-decoration: none;
}

/* フルードイメージにします。 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* svgのIEバグ回避 */
img[src$=".svg"] {
  width: 100%;
  height: auto;
}

svg {
  width: 100%;
  height: auto;
}

code,
pre {
  font-family: Consolas, Menlo, Courier, monospace;
}

/* Container
   ----------------------------------------------------------------- */
.l-container {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  overflow: hidden;
  position: relative;
}

/* Header
   ----------------------------------------------------------------- */
/* Footer
   ----------------------------------------------------------------- */
/* Component
   ----------------------------------------------------------------- */
/* btn
-------------------------------------------------------------------------- */
.c-btn {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  width: 55px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  border: none;
  border-color: transparent;
  background-color: transparent;
  outline: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.c-btn--primary {
  color: #fff;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .c-btn--primary {
    border: 0.5333333333vw solid #000;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--primary {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    border: 2px solid #000;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--primary:hover {
    opacity: 1;
    color: #000;
    background: #fff;
  }
}
.c-btn--border {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn--border {
    border: 0.5333333333vw solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--border {
    border: 2px solid #fff;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--border:hover {
    opacity: 1;
    color: #000;
    background: #fff;
  }
}
.c-btn--arrow::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-btn--arrow::after {
    right: 4vw;
    width: 3.2vw;
    height: 3.2vw;
    border-top: 1.0666666667vw solid #000;
    border-right: 1.0666666667vw solid #000;
  }
}
@media screen and (min-width: 768px) {
  .c-btn--arrow::after {
    right: 30px;
    width: 14px;
    height: 14px;
    border-top: 4px solid #000;
    border-right: 4px solid #000;
  }
}
.c-btn--en {
  font-family: "Voltaire", sans-serif;
  font-weight: 700;
}

.c-btn-b {
  position: relative;
  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-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  width: 100%;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  border: none;
  border-color: transparent;
  background-color: transparent;
  outline: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.c-btn-b--primary {
  color: #000;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn-b--primary {
    border: 0.5333333333vw solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-b--primary {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    border: 2px solid #fff;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-b--primary:hover {
    opacity: 1;
    color: #fff;
    background: #000;
  }
}
.c-btn-b--border {
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-btn-b--border {
    border: 0.5333333333vw solid #000;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-b--border {
    border: 2px solid #000;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-b--border:hover {
    opacity: 1;
    color: #fff;
    background: #000;
  }
}
.c-btn-b--arrow::after {
  position: absolute;
  content: "";
  display: block;
  top: 50%;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-btn-b--arrow::after {
    right: 4vw;
    width: 3.2vw;
    height: 3.2vw;
    border-top: 1.0666666667vw solid #000;
    border-right: 1.0666666667vw solid #000;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-b--arrow::after {
    right: 30px;
    width: 14px;
    height: 14px;
    border-top: 4px solid #000;
    border-right: 4px solid #000;
  }
}
.c-btn-b--en {
  font-family: "Voltaire", sans-serif;
  font-weight: 700;
}

.moreBtn__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;
}
.moreBtn__text {
  width: 100%;
  display: block;
  text-align: center;
  margin-top: 40px;
}
.moreBtn__text.color {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .moreBtn__text {
    margin-top: 20px;
  }
}
.moreBtn__btn {
  font-family: "Voltaire", sans-serif;
  font-weight: 500;
  font-size: 47px;
  font-size: 4.7rem;
  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;
  text-decoration: none;
  background: #D7D2C6;
  text-align: center;
  border-radius: 100px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: 490px;
  height: 75px;
  border: 1px solid #D7D2C6;
}
.moreBtn__btn:hover {
  color: #D7D2C6;
  background: #ffffff;
}
@media screen and (max-width: 1779px) {
  .moreBtn__btn {
    font-size: 29px;
    font-size: 3.87vw;
  }
}
@media screen and (max-width: 1023px) {
  .moreBtn__btn {
    font-size: 37px;
    font-size: 4.93vw;
  }
}
@media screen and (max-width: 767px) {
  .moreBtn__btn {
    font-size: 32px;
    font-size: 3.2rem;
    width: 280px;
    height: 50px;
  }
}
.moreBtn__btn .jp {
  font-weight: 300;
  margin-left: 10px;
  margin-top: 12px;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 1779px) {
  .moreBtn__btn .jp {
    font-size: 17px;
    font-size: 2.27vw;
  }
}
@media screen and (max-width: 1023px) {
  .moreBtn__btn .jp {
    font-size: 25px;
    font-size: 3.33vw;
  }
}
@media screen and (max-width: 767px) {
  .moreBtn__btn .jp {
    font-size: 28px;
    font-size: 3.73vw;
  }
}

/*ソースコード用*/
.code {
  position: relative;
  margin-left: 0px;
  padding: 30px 20px 10px;
  border-left: solid 5px #C3ECFA;
  background: #2F3437;
  list-style: none;
  color: #fff;
  font-size: 12px;
  overflow: hidden;
  max-width: 100%;
  white-space: pre-wrap;
}
.code.html:after {
  content: "HTML";
  background: #f2c9b9;
  color: #d6783a;
}
.code.css:after {
  content: "CSS";
  background: #b9cdf2;
  color: #527ac6;
}
.code.js:after {
  content: "JS";
  background: #f2ebb9;
  color: #d4c03d;
}
.code.php:after {
  content: "PHP";
  background: #c5b9f2;
  color: #6950c7;
}
.code.accesstoken:after {
  content: "無期限ACCESSTOKEN";
  background: #4267B2;
  color: #ffffff;
}
.code.css:after, .code.html:after, .code.js:after, .code.php:after, .code.accesstoken:after {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 5px 10px;
  line-height: 1;
  font-size: 0.9em;
}

/*コピー可に*/
pre code {
  user-select: all !important;
  -moz-user-select: all !important;
  -webkit-user-select: all !important;
  -khtml-user-select: all !important;
}

.d_fs.en {
  font-family: "Voltaire", sans-serif;
  font-weight: 500;
}
.d_fs.b_color {
  color: #1A2869;
}
@media screen and (max-width: 767px) {
  .d_fs {
    font-size: 32px;
    font-size: 4.27vw;
  }
}
@media screen and (min-width: 768px) {
  .d_fs {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .s_hfs {
    font-size: 52px;
    font-size: 6.93vw;
  }
}
@media screen and (min-width: 768px) {
  .s_hfs {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 767px) {
  .m_hfs {
    font-size: 50px;
    font-size: 6.67vw;
  }
}
@media screen and (min-width: 768px) {
  .m_hfs {
    font-size: 45px;
    font-size: 4.5rem;
  }
}

@media screen and (max-width: 767px) {
  .c_hfs {
    font-size: 75px;
    font-size: 10vw;
  }
}
@media screen and (min-width: 768px) {
  .c_hfs {
    font-size: 65px;
    font-size: 6.5rem;
  }
}

.l_hfs {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .l_hfs {
    font-size: 85px;
    font-size: 11.33vw;
  }
}
@media screen and (min-width: 768px) {
  .l_hfs {
    font-size: 70px;
    font-size: 7rem;
  }
}

.l_hfs-en {
  font-family: "Voltaire", sans-serif;
}
@media screen and (max-width: 767px) {
  .l_hfs-en {
    font-size: 75px;
    font-size: 10vw;
  }
}
@media screen and (min-width: 768px) {
  .l_hfs-en {
    font-size: 58px;
    font-size: 5.8rem;
  }
}

/* c-hamburger
-------------------------------------------------------------------------- */
.c-hamburger {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  display: block;
  outline: none;
  width: 100%;
  height: 12px;
  margin-bottom: 5px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .c-hamburger {
    height: 0.6976744186vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .c-hamburger {
    height: 0.8108108108vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .c-hamburger {
    height: 1.2890625vw;
  }
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    height: 1.5625vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .c-hamburger {
    margin-bottom: 0.261627907vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .c-hamburger {
    margin-bottom: 0.2702702703vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .c-hamburger {
    margin-bottom: 0.537109375vw;
  }
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    margin-bottom: 0.7161458333vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .c-hamburger {
    height: 20px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 1779px) and (min-width: 1280px) {
  .c-hamburger {
    height: 1.1627906977vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 1279px) and (min-width: 1024px) {
  .c-hamburger {
    height: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .c-hamburger {
    height: 2.1484375vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) and (max-width: 767px) {
  .c-hamburger {
    height: 2.6041666667vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1024px) {
  .c-hamburger {
    height: 12px;
  }
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    height: 20px;
  }
}
@media screen and (max-width: 767px) and (max-width: 1779px) and (min-width: 1280px) {
  .c-hamburger {
    height: 1.1627906977vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1279px) and (min-width: 1024px) {
  .c-hamburger {
    height: 1.3513513514vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1023px) and (min-width: 768px) {
  .c-hamburger {
    height: 2.1484375vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .c-hamburger {
    height: 2.6041666667vw;
  }
}
.c-hamburger span {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: absolute;
  content: "";
  display: block;
  background-color: #fff;
  height: 4px;
  width: 100%;
}
@media screen and (max-width: 1023px) {
  .c-hamburger span {
    height: 3px;
  }
}
.c-hamburger span:nth-of-type(1) {
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-animation: menu-bar01 0.65s forwards;
          animation: menu-bar01 0.65s forwards;
}
.c-hamburger span:nth-of-type(2) {
  opacity: 1;
  top: 50%;
  margin: auto;
}
.c-hamburger span:nth-of-type(3) {
  left: 0;
  right: 0;
  margin: auto;
  top: 100%;
  -webkit-animation: menu-bar02 0.65s forwards;
          animation: menu-bar02 0.65s forwards;
}
.c-hamburger.is-open {
  margin-left: 0;
  -webkit-transform: skewX(0deg);
          transform: skewX(0deg);
}
.c-hamburger.is-open span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 0.65s forwards;
          animation: active-menu-bar01 0.65s forwards;
}
.c-hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
  width: 100%;
}
.c-hamburger.is-open span:nth-of-type(3) {
  -webkit-animation: active-menu-bar02 0.65s forwards;
          animation: active-menu-bar02 0.65s forwards;
  top: 100%;
}

@-webkit-keyframes menu-bar01 {
  0% {
    top: 50%;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
    width: 80%;
    margin: 0 auto;
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    margin-right: 0;
  }
  100% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@keyframes menu-bar01 {
  0% {
    top: 50%;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
    width: 80%;
    margin: 0 auto;
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    margin-right: 0;
  }
  100% {
    top: 0;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes menu-bar02 {
  0% {
    top: 50%;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
    width: 80%;
    margin: 0 auto;
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    margin-left: 0;
  }
  100% {
    top: 100%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    top: 50%;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
    width: 80%;
    margin: 0 auto;
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    margin-left: 0;
  }
  100% {
    top: 100%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
    width: 80%;
    margin: 0 auto;
  }
}
@keyframes active-menu-bar01 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
    width: 80%;
    margin: 0 auto;
  }
}
@-webkit-keyframes active-menu-bar02 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
    width: 80%;
    margin: 0 auto;
  }
}
@keyframes active-menu-bar02 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 50%;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 50%;
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
    width: 80%;
    margin: 0 auto;
  }
}
/* headline
-------------------------------------------------------------------------- */
.c-headline {
  width: 100%;
}
.c-headline__en, .c-headline__jp {
  display: block;
  text-align: center;
}
.c-headline__en {
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-headline__en {
    font-size: 65px;
    font-size: 8.67vw;
  }
}
@media screen and (min-width: 768px) {
  .c-headline__en {
    font-size: 60px;
    font-size: 6rem;
  }
}
.c-headline__en--rev {
  color: #fff;
}
.c-headline__jp {
  font-weight: 300;
  margin-bottom: 15px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-headline__jp {
    margin-top: 1.87vw;
    font-size: 34px;
    font-size: 4.53vw;
  }
}
@media screen and (min-width: 768px) {
  .c-headline__jp {
    margin-top: 8px;
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-headline__text {
  font-size: 14px;
  font-size: 1.4rem;
}
.c-headline--qa .c-headline__en, .c-headline--qa .c-headline__jp {
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .c-headline--qa .c-headline__en {
    font-size: 100px;
    font-size: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .c-headline--qa .c-headline__word {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .c-headline--qa .c-headline__word {
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-headline--information .c-headline__en {
    font-size: 40px;
    font-size: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .c-headline--information .c-headline__jp {
    margin-top: 13px;
  }
}
@media screen and (max-width: 767px) {
  .c-headline__word {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .c-headline__word {
    margin-left: 0.5em;
  }
}

/* inset
-------------------------------------------------------------------------- */
.inset {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}

/* instagram
-------------------------------------------------------------------------- */
.instagram__photoList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.instagram__photoList::before {
  content: "";
  display: block;
  width: 25%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.instagram__photoList::after {
  content: "";
  display: block;
  width: 25%;
}
.instagram__photoItem {
  width: 25%;
  position: relative;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .instagram__photoItem {
    width: 33.33%;
  }
}
@media screen and (max-width: 767px) {
  .instagram__photoItem {
    width: 50%;
  }
}
.instagram__photoItem img {
  width: 100%;
}
.instagram__photoItem img.c-inset {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .instagram__photoItem img {
    height: 43.07vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .instagram__photoItem img {
    height: 31.6vw;
  }
}
@media screen and (min-width: 1024px) {
  .instagram__photoItem img {
    height: 300px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .instagram__photoItem img {
    height: 23.8vw;
  }
}
.instagram__photoItem video {
  width: 100%;
  display: block;
}
.instagram__photoItem video.c-inset {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover";
}
@media screen and (max-width: 767px) {
  .instagram__photoItem video {
    height: 43.07vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .instagram__photoItem video {
    height: 31.6vw;
  }
}
@media screen and (min-width: 1024px) {
  .instagram__photoItem video {
    height: 300px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .instagram__photoItem video {
    height: 23.8vw;
  }
}
.instagram__photoItem video:hover {
  opacity: 0.8;
}
.instagram__photoItem .icon {
  position: absolute;
  top: 8px;
  right: 8px;
  opacity: 0.9;
}
@media screen and (max-width: 767px) {
  .instagram__photoItem .icon {
    top: 2px;
    right: 10px;
  }
}
.instagram__photoItem .icon img {
  width: 28px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .instagram__photoItem .icon img {
    width: 25px;
  }
}

/* logo
-------------------------------------------------------------------------- */
.c-logo a {
  display: block;
}

@media screen and (min-width: 1024px) {
  .first-mg {
    margin: 26.67vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .first-mg {
    margin: 18.67vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .first-mg {
    margin: 26.67vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .top-mg {
    margin: 9.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-mg {
    margin: 18.67vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .top-mg {
    margin: 26.67vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .top-h-mg {
    margin: 5.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-h-mg {
    margin: 11.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .top-h-mg {
    margin: 15.33vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .bottom-mg {
    margin: 0vw 0vw 9.33vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .bottom-mg {
    margin: 0vw 0vw 18.67vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .bottom-mg {
    margin: 0vw 0vw 26.67vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .bottom-h-mg {
    margin: 0vw 0vw 5.33vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .bottom-h-mg {
    margin: 0vw 0vw 11.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .bottom-h-mg {
    margin: 0vw 0vw 15.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .mid-mg {
    margin: 9.33vw 0vw 9.33vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-mg {
    margin: 18.67vw 0vw 18.67vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-mg {
    margin: 26.67vw 0vw 26.67vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .mid-h-mg {
    margin: 5.33vw 0vw 5.33vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-h-mg {
    margin: 11.33vw 0vw 11.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-h-mg {
    margin: 15.33vw 0vw 15.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .last-mg {
    margin: 0vw 0vw 26.67vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .last-mg {
    margin: 0vw 0vw 18.67vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .last-mg {
    margin: 0vw 0vw 26.67vw 0vw;
  }
}

/* modal
-------------------------------------------------------------------------- */
.c-modal {
  width: 100%;
  display: none;
  z-index: 500;
  background-repeat: no-repeat;
  background-attachment: fixed;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  overflow: hidden;
  top: 0;
  min-height: 100vh;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .c-modal {
    height: 100%;
  }
}
.c-modal .relative {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding-bottom: 10vw;
}
@media screen and (max-width: 1023px) {
  .c-modal .relative {
    background-image: url(../image/slider01_tb.jpg);
    background-position: center center;
  }
}
@media screen and (min-width: 1024px) {
  .c-modal .relative {
    background-image: url(../image/slider01.jpg);
    background-position: center 65%;
  }
}
@media screen and (max-width: 767px) {
  .c-modal .relative {
    background-image: url(../image/slider01_sp.jpg);
    background-position: center center;
  }
}
@media screen and (max-width: 1023px) {
  .c-modal .relative {
    padding-bottom: 20vw;
  }
}
@media screen and (max-width: 767px) {
  .c-modal .relative {
    padding-top: 30vw;
    padding-bottom: 50vw;
  }
}
.c-modal .relative:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(3, 153, 67, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.c-modal__contents {
  position: relative;
  z-index: 1000;
  color: #000;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-modal__contents {
    margin: 0 auto;
    padding-top: 190px;
    padding-bottom: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1779px) and (min-width: 1280px) {
  .c-modal__contents {
    padding-top: 9.9418604651vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) and (min-width: 1024px) {
  .c-modal__contents {
    padding-top: 10.2702702703vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .c-modal__contents {
    padding-top: 18.5546875vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-modal__contents {
    padding-top: 24.7395833333vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1779px) and (min-width: 1280px) {
  .c-modal__contents {
    padding-bottom: 1.5697674419vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) and (min-width: 1024px) {
  .c-modal__contents {
    padding-bottom: 1.6216216216vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .c-modal__contents {
    padding-bottom: 3.22265625vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .c-modal__contents {
    padding-bottom: 4.296875vw;
  }
}
@media screen and (min-width: 1024px) {
  .c-modal__contents {
    max-width: 1600px;
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-modal__contents {
    padding: 0vw 5.33vw 0vw 5.33vw;
    overflow: hidden;
  }
}
.c-modal.is-open {
  display: block;
  opacity: 1;
  visibility: visible;
  position: absolute;
  top: 0;
  left: 0;
  min-height: 100%;
  width: 100%;
}
.c-modal__title {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-modal__title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.c-modal__title .en {
  font-family: "Voltaire", sans-serif;
  font-weight: 500;
  margin: 0 10px;
}
@media screen and (max-width: 767px) {
  .c-modal__title .en {
    font-size: 6.5104166667vw;
  }
}
.c-modal__title .jp {
  font-weight: 400;
  margin: 0 10px;
}
@media screen and (max-width: 767px) {
  .c-modal__title .jp {
    font-size: 4.5572916667vw;
  }
}

/* modal
-------------------------------------------------------------------------- 
.c-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    z-index: 500;
    height:0px;

    @include mq(large, max, true) {
        background-image: url(../image/slider01-m_tb.jpg);
        background-position:center bottom;
        background-size:cover;
    }
    @include mq(large) {
        background-image: url(../image/slider01-m.jpg);
        background-position:center center;
        background-size:cover;
    }
    @include mq(medium, max, true) {
        background-image: url(../image/slider01-m_sp.jpg);
        background-position:center bottom;
        background-size:cover;
    }
    .relative{
        position:relative;
        @include mq {
            height:100%;
        }
        @include mq(medium, max, true) {
          padding-top:18vw;
          padding-bottom:30vw;
        }
    }

    &__contents {
        position:relative;
        z-index:100;
        width: 100%;
        padding-top: 170px;
        @include mq(medium, max, true) {
            @include padding_vw(120, 40, 80, 40);
        }
        @include mq {
            @include mq(xxlarge, max, true) {
            padding-top: 200px;
            }
            @include mq(large, max, true) {
            padding-top: 260px;
                padding-bottom: 260px;
                margin-left: auto;
                margin-right: auto;
                padding-left: 20px;
                padding-right: 20px;
            }
        }
        @include mq(large) {
            max-width: 1500px;
            margin: 0 auto;
            padding-left: 40px;
            padding-right: 40px;
        }
    }
    &.is-open {
        display: block;
        opacity: 1;
        visibility: visible;
    }
}
*/
.first-mg {
  margin-top: 190px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .first-mg {
    margin-top: 9.9418604651vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .first-mg {
    margin-top: 10.2702702703vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .first-mg {
    margin-top: 18.5546875vw;
  }
}
@media screen and (max-width: 767px) {
  .first-mg {
    margin-top: 24.7395833333vw;
  }
}

.top-xl-mg {
  margin-top: 200px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-xl-mg {
    margin-top: 10.4651162791vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-xl-mg {
    margin-top: 10.8108108108vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-xl-mg {
    margin-top: 19.53125vw;
  }
}
@media screen and (max-width: 767px) {
  .top-xl-mg {
    margin-top: 26.0416666667vw;
  }
}

.top-l-mg {
  margin-top: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-l-mg {
    margin-top: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-l-mg {
    margin-top: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-l-mg {
    margin-top: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .top-l-mg {
    margin-top: 20.8333333333vw;
  }
}

.top-m-mg {
  margin-top: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-m-mg {
    margin-top: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-m-mg {
    margin-top: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-m-mg {
    margin-top: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .top-m-mg {
    margin-top: 10.7421875vw;
  }
}

.top-s-mg {
  margin-top: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-s-mg {
    margin-top: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-s-mg {
    margin-top: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-s-mg {
    margin-top: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .top-s-mg {
    margin-top: 8.59375vw;
  }
}

.top-ss-mg {
  margin-top: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-ss-mg {
    margin-top: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-ss-mg {
    margin-top: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-ss-mg {
    margin-top: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .top-ss-mg {
    margin-top: 6.4453125vw;
  }
}

.btm-l-mg {
  margin-bottom: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-l-mg {
    margin-bottom: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-l-mg {
    margin-bottom: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-l-mg {
    margin-bottom: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-l-mg {
    margin-bottom: 20.8333333333vw;
  }
}

.btm-m-mg {
  margin-bottom: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-m-mg {
    margin-bottom: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-m-mg {
    margin-bottom: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-m-mg {
    margin-bottom: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-m-mg {
    margin-bottom: 10.7421875vw;
  }
}

.btm-s-mg {
  margin-bottom: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-s-mg {
    margin-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-s-mg {
    margin-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-s-mg {
    margin-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-s-mg {
    margin-bottom: 8.59375vw;
  }
}

.btm-ss-mg {
  margin-bottom: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-ss-mg {
    margin-bottom: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-ss-mg {
    margin-bottom: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-ss-mg {
    margin-bottom: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-ss-mg {
    margin-bottom: 6.4453125vw;
  }
}

.mid-l-mg {
  margin-top: 160px;
  margin-bottom: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-l-mg {
    margin-top: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-l-mg {
    margin-top: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-l-mg {
    margin-top: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-l-mg {
    margin-top: 20.8333333333vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-l-mg {
    margin-bottom: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-l-mg {
    margin-bottom: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-l-mg {
    margin-bottom: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-l-mg {
    margin-bottom: 20.8333333333vw;
  }
}

.mid-m-mg {
  margin-top: 75px;
  margin-bottom: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-m-mg {
    margin-top: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-m-mg {
    margin-top: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-m-mg {
    margin-top: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-m-mg {
    margin-top: 10.7421875vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-m-mg {
    margin-bottom: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-m-mg {
    margin-bottom: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-m-mg {
    margin-bottom: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-m-mg {
    margin-bottom: 10.7421875vw;
  }
}

.mid-s-mg {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-mg {
    margin-top: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-mg {
    margin-top: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-mg {
    margin-top: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-mg {
    margin-top: 8.59375vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-mg {
    margin-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-mg {
    margin-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-mg {
    margin-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-mg {
    margin-bottom: 8.59375vw;
  }
}

.mid-ss-mg {
  margin-top: 45px;
  margin-bottom: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-ss-mg {
    margin-top: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-ss-mg {
    margin-top: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-ss-mg {
    margin-top: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-ss-mg {
    margin-top: 6.4453125vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-ss-mg {
    margin-bottom: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-ss-mg {
    margin-bottom: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-ss-mg {
    margin-bottom: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-ss-mg {
    margin-bottom: 6.4453125vw;
  }
}

.last-mg {
  margin-bottom: 190px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .last-mg {
    margin-bottom: 9.9418604651vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .last-mg {
    margin-bottom: 10.2702702703vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .last-mg {
    margin-bottom: 18.5546875vw;
  }
}
@media screen and (max-width: 767px) {
  .last-mg {
    margin-bottom: 24.7395833333vw;
  }
}

.first-pd {
  padding-top: 190px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .first-pd {
    padding-top: 9.9418604651vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .first-pd {
    padding-top: 10.2702702703vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .first-pd {
    padding-top: 18.5546875vw;
  }
}
@media screen and (max-width: 767px) {
  .first-pd {
    padding-top: 24.7395833333vw;
  }
}

.top-l-pd {
  padding-top: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-l-pd {
    padding-top: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-l-pd {
    padding-top: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-l-pd {
    padding-top: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .top-l-pd {
    padding-top: 20.8333333333vw;
  }
}

.top-m-pd {
  padding-top: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-m-pd {
    padding-top: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-m-pd {
    padding-top: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-m-pd {
    padding-top: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .top-m-pd {
    padding-top: 10.7421875vw;
  }
}

.top-s-pd {
  padding-top: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-s-pd {
    padding-top: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-s-pd {
    padding-top: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-s-pd {
    padding-top: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .top-s-pd {
    padding-top: 8.59375vw;
  }
}

.top-ss-pd {
  padding-top: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .top-ss-pd {
    padding-top: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .top-ss-pd {
    padding-top: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-ss-pd {
    padding-top: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .top-ss-pd {
    padding-top: 6.4453125vw;
  }
}

.btm-l-pd {
  padding-bottom: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-l-pd {
    padding-bottom: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-l-pd {
    padding-bottom: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-l-pd {
    padding-bottom: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-l-pd {
    padding-bottom: 20.8333333333vw;
  }
}

.btm-m-pd {
  padding-bottom: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-m-pd {
    padding-bottom: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-m-pd {
    padding-bottom: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-m-pd {
    padding-bottom: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-m-pd {
    padding-bottom: 10.7421875vw;
  }
}

.btm-s-pd {
  padding-bottom: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-s-pd {
    padding-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-s-pd {
    padding-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-s-pd {
    padding-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-s-pd {
    padding-bottom: 8.59375vw;
  }
}

.btm-ss-pd {
  padding-bottom: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .btm-ss-pd {
    padding-bottom: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .btm-ss-pd {
    padding-bottom: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .btm-ss-pd {
    padding-bottom: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .btm-ss-pd {
    padding-bottom: 6.4453125vw;
  }
}

.mid-l-pd {
  padding-top: 160px;
  padding-bottom: 160px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-l-pd {
    padding-top: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-l-pd {
    padding-top: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-l-pd {
    padding-top: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-l-pd {
    padding-top: 20.8333333333vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-l-pd {
    padding-bottom: 8.3720930233vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-l-pd {
    padding-bottom: 8.6486486486vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-l-pd {
    padding-bottom: 15.625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-l-pd {
    padding-bottom: 20.8333333333vw;
  }
}

.mid-m-pd {
  padding-top: 75px;
  padding-bottom: 75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-m-pd {
    padding-top: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-m-pd {
    padding-top: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-m-pd {
    padding-top: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-m-pd {
    padding-top: 10.7421875vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-m-pd {
    padding-bottom: 3.9244186047vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-m-pd {
    padding-bottom: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-m-pd {
    padding-bottom: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-m-pd {
    padding-bottom: 10.7421875vw;
  }
}

.mid-s-pd {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd {
    padding-top: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd {
    padding-top: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd {
    padding-top: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-pd {
    padding-top: 8.59375vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd {
    padding-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd {
    padding-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd {
    padding-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-pd {
    padding-bottom: 8.59375vw;
  }
}

.mid-s-pd-sp {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd-sp {
    padding-top: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd-sp {
    padding-top: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd-sp {
    padding-top: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-pd-sp {
    padding-top: 8.59375vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd-sp {
    padding-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd-sp {
    padding-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd-sp {
    padding-bottom: 6.4453125vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-pd-sp {
    padding-bottom: 8.59375vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-s-pd-sp {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}
@media screen and (max-width: 767px) and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd-sp {
    padding-top: 3.9244186047vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd-sp {
    padding-top: 4.0540540541vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd-sp {
    padding-top: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .mid-s-pd-sp {
    padding-top: 10.7421875vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1779px) and (min-width: 1280px) {
  .mid-s-pd-sp {
    padding-bottom: 3.9244186047vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1279px) and (min-width: 1024px) {
  .mid-s-pd-sp {
    padding-bottom: 4.0540540541vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 1023px) and (min-width: 768px) {
  .mid-s-pd-sp {
    padding-bottom: 8.056640625vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .mid-s-pd-sp {
    padding-bottom: 10.7421875vw;
  }
}

.mid-ss-pd {
  padding-top: 45px;
  padding-bottom: 45px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-ss-pd {
    padding-top: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-ss-pd {
    padding-top: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-ss-pd {
    padding-top: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-ss-pd {
    padding-top: 6.4453125vw;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .mid-ss-pd {
    padding-bottom: 2.3546511628vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .mid-ss-pd {
    padding-bottom: 2.4324324324vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-ss-pd {
    padding-bottom: 4.833984375vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-ss-pd {
    padding-bottom: 6.4453125vw;
  }
}

.last-pd {
  padding-bottom: 190px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .last-pd {
    padding-bottom: 9.9418604651vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .last-pd {
    padding-bottom: 10.2702702703vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .last-pd {
    padding-bottom: 18.5546875vw;
  }
}
@media screen and (max-width: 767px) {
  .last-pd {
    padding-bottom: 24.7395833333vw;
  }
}

/* outset
-------------------------------------------------------------------------- */
.outset {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

@media screen and (min-width: 1024px) {
  .first-pd {
    padding: 25.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .first-pd {
    padding: 20vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .first-pd {
    padding: 25.33vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .top-pd {
    padding: 8vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-pd {
    padding: 17.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .top-pd {
    padding: 25.33vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .top-h-pd {
    padding: 6.67vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .top-h-pd {
    padding: 11.33vw 0vw 0vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .top-h-pd {
    padding: 15.33vw 0vw 0vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .bottom-pd {
    padding: 0vw 0vw 8vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .bottom-pd {
    padding: 0vw 0vw 17.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .bottom-pd {
    padding: 0vw 0vw 25.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .bottom-h-pd {
    padding: 0vw 0vw 6.67vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .bottom-h-pd {
    padding: 0vw 0vw 11.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .bottom-h-pd {
    padding: 0vw 0vw 15.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .bottom-hh-pd {
    padding: 0vw 0vw 4.67vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .bottom-hh-pd {
    padding: 0vw 0vw 8vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .bottom-hh-pd {
    padding: 0vw 0vw 12vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .title-bt {
    padding: 0vw 0vw 2vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .title-bt {
    padding: 0vw 0vw 3.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .title-bt {
    padding: 0vw 0vw 3.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .mid-pd {
    padding: 8vw 0vw 8vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-pd {
    padding: 17.33vw 0vw 17.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-pd {
    padding: 25.33vw 0vw 25.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .mid-h-pd {
    padding: 6.67vw 0vw 6.67vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .mid-h-pd {
    padding: 11.33vw 0vw 11.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .mid-h-pd {
    padding: 15.33vw 0vw 15.33vw 0vw;
  }
}

@media screen and (min-width: 1024px) {
  .last-pd {
    padding: 0vw 0vw 25.33vw 0vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .last-pd {
    padding: 0vw 0vw 20vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .last-pd {
    padding: 0vw 0vw 25.33vw 0vw;
  }
}

/* p-pager
   ----------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .p-pager__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .p-pager__wrap.bottom {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-pager__wrap.center {
    -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;
  }
  .p-pager__wrap.center .p-pager__numList {
    padding: 0vw 0vw 1.33vw 0vw;
  }
}
@media screen and (max-width: 767px) {
  .p-pager__wrap .p-pager__numList {
    padding: 0vw 0vw 4vw 0vw;
  }
}
.p-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-pager__btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 5px;
}
@media screen and (max-width: 767px) {
  .p-pager__btnArea {
    margin: 0;
  }
}
.p-pager__btn {
  font-weight: bold;
  text-decoration: none;
  cursor: pointer;
  background: #000;
  font-family: "Voltaire", sans-serif;
  font-weight: 900;
  color: #fff;
  font-size: 20px;
  text-decoration: none;
  min-width: 90px;
  color: #fff;
  background: #9ECA0D;
}
@media screen and (max-width: 767px) {
  .p-pager__btn {
    width: 100%;
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) {
  .p-pager__btn {
    min-width: 60px;
  }
}
@media screen and (max-width: 767px) {
  .p-pager__btn {
    min-width: 50px;
  }
}
.p-pager__numArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-pager__btn, .p-pager__num {
  font-size: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 1%;
  text-align: center;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-pager__btn, .p-pager__num {
    font-size: 18px;
  }
}
.p-pager__btn, .p-pager__num a, .p-pager__num.now {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  border-radius: 100vw;
  padding: 5px 0;
}
@media screen and (max-width: 767px) {
  .p-pager__btn, .p-pager__num a, .p-pager__num.now {
    font-size: 18px;
    padding: 2px 0;
  }
}
.p-pager__num {
  font-weight: 400;
  width: 45px;
  color: #9ECA0D;
  font-family: "Voltaire", sans-serif;
}
@media screen and (max-width: 1023px) {
  .p-pager__num {
    width: 45px;
  }
}
@media screen and (max-width: 767px) {
  .p-pager__num {
    width: 40px;
  }
}
.p-pager__num.now {
  color: #fff;
  background: #9ECA0D;
}
.p-pager__num a {
  width: 100%;
  text-align: center;
  text-decoration: none;
  color: #3C3C3C;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #595757;
}
.p-pager__dotte {
  color: #595757;
  font-weight: bold;
  width: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .p-pager__dotte {
    width: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-pager__dotte {
    width: 15px;
  }
}

@media screen and (max-width: 767px) {
  .p-pager-num {
    font-size: 20px;
    font-size: 2rem;
  }
  .p-pager-num a {
    width: 100%;
    margin: 0 1px;
    letter-spacing: 0.05em;
    text-decoration: none;
  }
  .p-pager-num.now {
    padding: 0 10px;
  }
}
/* c-rangeSlider
-------------------------------------------------------------------------- */
.c-rangeSlider {
  width: 100%;
  margin: 0;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* WebKit・Blink向け 溝のスタイル */
  /* WebKit・Blink向け つまみのスタイル */
  /* WebKit・Blink向け focus時のスタイル */
  /* Firefox向け 溝のスタイル */
  /* Firefox向け つまみのスタイル */
  /* Edge・IE向け 溝のスタイル */
  /* Edge・IE向け 溝の色（つまみより左側） */
  /* Edge・IE向け 溝の色（つまみより右側） */
  /* Edge・IE向け つまみのスタイル */
  /* Edge・IE向け focus時の色（つまみより左側） */
  /* Edge・IE向け focus時の色（つまみより右側） */
  /* Edge・IE向け ポップアップを非表示に */
}
.c-rangeSlider:focus {
  outline: none;
}
.c-rangeSlider::-webkit-slider-runnable-track {
  width: 100%;
  background-color: #000;
  -webkit-appearance: none;
          appearance: none;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-webkit-slider-runnable-track {
    height: 1.3333333333vw;
    border-radius: 1.6vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-webkit-slider-runnable-track {
    height: 5px;
    border-radius: 6px;
  }
}
.c-rangeSlider::-webkit-slider-thumb {
  position: relative;
  display: block;
  cursor: pointer;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
  background-color: #fff;
  -webkit-appearance: none;
          appearance: none;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-webkit-slider-thumb {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-top: -2.1333333333vw !important;
    border: 0.5333333333vw solid rgba(0, 0, 0, 0.5);
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8px !important;
    border: 2px solid rgba(0, 0, 0, 0.5);
  }
}
.c-rangeSlider:active::-webkit-slider-thumb {
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider:active::-webkit-slider-thumb {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider:active::-webkit-slider-thumb {
    width: 25px;
    height: 25px;
  }
}
.c-rangeSlider:focus::-webkit-slider-runnable-track {
  background: #000;
}
.c-rangeSlider::-moz-range-track {
  width: 100%;
  background-color: #000;
  -moz-appearance: none;
       appearance: none;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-moz-range-track {
    height: 1.3333333333vw;
    border-radius: 1.6vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-moz-range-track {
    height: 5px;
    border-radius: 6px;
  }
}
.c-rangeSlider::-moz-range-thumb {
  position: relative;
  display: block;
  cursor: pointer;
  -moz-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
  background-color: #fff;
  -moz-appearance: none;
       appearance: none;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-moz-range-thumb {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-top: -2.1333333333vw !important;
    border: 0.5333333333vw solid rgba(0, 0, 0, 0.5);
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    margin-top: -8px !important;
    border: 2px solid rgba(0, 0, 0, 0.5);
  }
}
.c-rangeSlider:active::-moz-range-thumb {
  -moz-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider:active::-moz-range-thumb {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider:active::-moz-range-thumb {
    width: 25px;
    height: 25px;
  }
}
.c-rangeSlider::-ms-track {
  width: 100%;
  cursor: pointer;
  color: transparent;
  border-width: 16px 0;
  border-color: transparent;
  background: transparent;
  animate: 0.2s;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-ms-track {
    height: 1.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-ms-track {
    height: 5px;
  }
}
.c-rangeSlider::-ms-fill-lower {
  background: #000;
}
.c-rangeSlider::-ms-fill-upper {
  background: rgb(25.5, 25.5, 25.5);
}
.c-rangeSlider::-ms-thumb {
  width: 20px;
  height: 20px;
  cursor: pointer;
  -ms-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
  background-color: #fff;
  appearance: none;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider::-ms-thumb {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    border: 0.5333333333vw solid rgba(0, 0, 0, 0.5);
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider::-ms-thumb {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(0, 0, 0, 0.5);
  }
}
.c-rangeSlider:active::-ms-thumb {
  -ms-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (max-width: 767px) {
  .c-rangeSlider:active::-ms-thumb {
    width: 6.6666666667vw;
    height: 6.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .c-rangeSlider:active::-ms-thumb {
    width: 25px;
    height: 25px;
  }
}
.c-rangeSlider:focus::-ms-fill-lower {
  background: #000;
}
.c-rangeSlider:focus::-ms-fill-upper {
  background: #0089ef;
}
.c-rangeSlider::-ms-tooltip {
  display: none;
}

/* 何故か上の margin-top 指定が Edge に効いてしまうので、Edge向けに設定をリセット */
@supports (-ms-ime-align: auto) {
  .c-rangeSlider::-webkit-slider-thumb {
    margin-top: 0 !important;
  }
}
/* c-table
-------------------------------------------------------------------------- */
.c-table {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 10;
}
.c-table .bold {
  font-weight: 400;
}
@media screen and (max-width: 1023px) {
  .c-table {
    background: #fff;
  }
}
.c-table tr {
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .c-table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.c-table tr:nth-child(odd) {
  background: #EDFCEF;
}
.c-table tr:nth-child(even) {
  background: #FFFFFF;
}
.c-table th {
  padding: 20px 20px 20px 65px;
  text-align: left;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .c-table th {
    width: 30%;
  }
}
@media screen and (max-width: 767px) {
  .c-table th {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    position: relative;
    overflow: hidden;
    padding: 12px 20px 0px 20px;
  }
}
.c-table td {
  padding: 20px 20px;
  line-height: 1.8;
  min-width: 200px;
}
@media screen and (max-width: 767px) {
  .c-table td {
    padding: 12px 20px;
  }
}
.c-table td .block {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-table td .block:last-child {
    margin-top: 0.7em;
  }
}
.c-table th,
.c-table td {
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c-table th,
  .c-table td {
    display: block;
    width: 100%;
  }
}

/* tableTopics
-------------------------------------------------------------------------- */
.info-table__date {
  width: 210px;
  text-align: right !important;
  padding: 17px;
  vertical-align: middle;
  padding-right: 0px !important;
}
@media screen and (max-width: 767px) {
  .info-table__date {
    text-align: left !important;
    margin-left: 10px;
  }
}
.info-table__date span {
  margin-left: 10px;
  display: inline-block;
  width: 60px;
  text-align: center;
}
.info-table__date span.new {
  font-size: 14px;
  background: red;
  color: #fff;
}
.info-table__text {
  width: 800px;
}
@media screen and (max-width: 767px) {
  .info-table__text {
    text-align: left !important;
    padding: 0 10px !important;
  }
}
.info-table__btn a {
  width: 160px;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .info-table__btn a {
    display: inline-block;
    height: 32px;
  }
}
.info-table__btn .c-btn--arrow::after {
  right: 10px;
}
/* tel
-------------------------------------------------------------------------- */
.c-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Voltaire", sans-serif;
  font-weight: 700;
  letter-spacing: normal;
}
@media screen and (max-width: 767px) {
  .c-tel {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .c-tel__icon {
    width: 9.3333333333vw;
    margin: 0vw 1.33vw 0vw 0vw;
  }
}
@media screen and (min-width: 768px) {
  .c-tel__icon {
    margin-right: 7px;
  }
}
.c-tel__number {
  color: #5a2f00;
}
@media screen and (max-width: 767px) {
  .c-tel__number {
    font-size: 68px;
    font-size: 9.07vw;
  }
}
@media screen and (min-width: 768px) {
  .c-tel__number {
    font-size: 40px;
    font-size: 4rem;
  }
}
.c-tel__number--white {
  color: #fff;
}

/* title
-------------------------------------------------------------------------- */
.c-title {
  text-align: center;
}
.c-title__jp, .c-title__en {
  display: block;
}
.c-title__jp {
  font-weight: normal;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-title__jp {
    font-size: 40px;
    font-size: 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .c-title__jp {
    margin-bottom: 6px;
    font-size: 30px;
    font-size: 3rem;
  }
}
.c-title__en {
  color: #000;
  font-family: "Voltaire", sans-serif;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-size: 80px;
    font-size: 10.67vw;
  }
}
@media screen and (min-width: 768px) {
  .c-title__en {
    font-size: 60px;
    font-size: 6rem;
  }
}

/* utility
   ----------------------------------------------------------------- */
a[href^="tel:"] {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    display: inline-block;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc_tb {
    display: none !important;
  }
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
  .pc_sp {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .tb {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .tb {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .tb_sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/* ==========================================================================
   page 下層ページ共通部分
   ========================================================================== */
/* p-page
-------------------------------------------------------------------------- */
.p-page__btn.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-page__titleWrap {
  position: relative;
}
.p-page__titleWrap.center .p-page__title {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-page__titleWrap.left .p-page__title {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-page__title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-page__title .maxleft {
  position: relative;
}
.p-page__title .maxleft .morebtn {
  position: absolute;
  bottom: 10px;
  margin: auto;
  left: 100%;
  margin-left: 25px;
  padding-top: 3px;
  padding-left: 7px;
  padding-bottom: 3px;
  line-height: 1;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  display: block;
  white-space: nowrap;
  width: 150px;
  font-size: 17px;
  font-weight: 500;
  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;
  font-family: "Voltaire", sans-serif;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__title .maxleft .morebtn {
    margin-left: 1.3081395349vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__title .maxleft .morebtn {
    margin-left: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__title .maxleft .morebtn {
    margin-left: 2.9296875vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__title .maxleft .morebtn {
    margin-left: 6.5104166667vw;
  }
}
.p-page__title .maxleft .morebtn span {
  color: #1729AC;
}
@media screen and (max-width: 1023px) {
  .p-page__title .maxleft .morebtn {
    display: none;
  }
}
.p-page__title .en {
  font-weight: 400;
  font-family: "Voltaire", sans-serif;
  color: #3E3A39;
  line-height: 1;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-page__title .en {
    font-size: 11.71875vw;
  }
}
@media screen and (min-width: 1780px) {
  .p-page__title .en {
    font-size: 60px;
    font-size: 6rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__title .en {
    font-size: 3.488372093vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__title .en {
    font-size: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__title .en {
    font-size: 7.3170731707vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page__title .en {
    white-space: nowrap;
  }
}
.p-page__title .en.color {
  color: #fff;
}
.p-page__title .textArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5px;
}
.p-page__title .textArea:before {
  content: "";
  display: block;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 30px;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#039943), color-stop(35%, #C4D600), color-stop(75%, #048FCC), to(#003884));
  background: linear-gradient(left, #039943 0%, #C4D600 35%, #048FCC 75%, #003884 100%);
}
@media screen and (max-width: 767px) {
  .p-page__title .textArea:before {
    margin-right: 15px;
  }
}
.p-page__title .jp {
  font-size: 17px;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.4;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1780px) {
  .p-page__title .jp {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__title .jp {
    font-size: 1.1627906977vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__title .jp {
    font-size: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__title .jp {
    font-size: 2.4390243902vw;
  }
}
.p-page__title .jp.color {
  color: #fff;
}
@media screen and (max-width: 1023px) {
  .p-page__title {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-page__title.center {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .p-page__title.left {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-page__title_bg {
  position: absolute;
  top: 0;
  left: -25%;
  bottom: 0;
  margin: auto;
  height: calc(100% + 20px);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-page__title_bg {
    height: calc(100% + 10px);
  }
}
.p-page__title_bg img {
  width: auto !important;
  height: 100%;
}
.p-page__subPageTitle {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-page__subPageTitle .en {
  font-weight: 400;
  font-family: "Voltaire", sans-serif;
  color: #3E3A39;
  line-height: 1;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-page__subPageTitle .en {
    font-size: 11.71875vw;
  }
}
@media screen and (min-width: 1780px) {
  .p-page__subPageTitle .en {
    font-size: 60px;
    font-size: 6rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__subPageTitle .en {
    font-size: 3.488372093vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__subPageTitle .en {
    font-size: 4.0540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__subPageTitle .en {
    font-size: 7.3170731707vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page__subPageTitle .en {
    white-space: nowrap;
  }
}
.p-page__subPageTitle .en.color {
  color: #fff;
}
.p-page__subPageTitle .textArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5px;
}
.p-page__subPageTitle .textArea:before {
  content: "";
  display: block;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 30px;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#039943), color-stop(35%, #C4D600), color-stop(75%, #048FCC), to(#003884));
  background: linear-gradient(left, #039943 0%, #C4D600 35%, #048FCC 75%, #003884 100%);
}
@media screen and (max-width: 767px) {
  .p-page__subPageTitle .textArea:before {
    margin-right: 15px;
  }
}
.p-page__subPageTitle .jp {
  font-size: 17px;
  font-weight: 500;
  white-space: nowrap;
  line-height: 1.4;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 1780px) {
  .p-page__subPageTitle .jp {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__subPageTitle .jp {
    font-size: 1.1627906977vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__subPageTitle .jp {
    font-size: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__subPageTitle .jp {
    font-size: 2.4390243902vw;
  }
}
.p-page__subPageTitle .jp.color {
  color: #fff;
}
@media screen and (max-width: 1023px) {
  .p-page__subPageTitle {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-page__subPageTitle.center {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .p-page__subPageTitle.left {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-page__disc {
  color: #3E3A39;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-page__disc {
    font-size: 6.559375vw;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
@media screen and (min-width: 1780px) {
  .p-page__disc {
    font-size: 30px;
    font-size: 3rem;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__disc {
    font-size: 1.7441860465vw;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__disc {
    font-size: 2.027027027vw;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__disc {
    font-size: 3.6585365854vw;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
@media screen and (min-width: 1024px) {
  .p-page__disc {
   text-align: center;
  }
  .p-page__disc2 {
   border-bottom:  1px solid #3E3A39;
   margin-bottom: 30px;
   padding-bottom: 30px;
   text-align: left;
 }
}
.p-page__discBtmText {
  width: 100%;
  padding-bottom: 15px;
  border-bottom: 1px solid #9D9D9D;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__discBtmText {
    padding-bottom: 0.7848837209vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__discBtmText {
    padding-bottom: 0.8108108108vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__discBtmText {
    padding-bottom: 1.611328125vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__discBtmText {
    padding-bottom: 2.1484375vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page__inner {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-page__inner {
    padding-right: 5.33vw;
    padding-left: 5.33vw;
  }
}
.p-page__block {
  margin-top: 135px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__block {
    margin-top: 7.0639534884vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__block {
    margin-top: 7.2972972973vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__block {
    margin-top: 13.18359375vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__block {
    margin-top: 17.578125vw;
  }
}
.p-page__block.harf {
  margin-top: 65.75px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__block.harf {
    margin-top: 3.4404069767vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__block.harf {
    margin-top: 3.5540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__block.harf {
    margin-top: 7.0629882813vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__block.harf {
    margin-top: 9.4173177083vw;
  }
}
.p-page__backWrap {
  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;
}
.p-page__backBtn {
  padding-top: 3px;
  padding-left: 7px;
  padding-bottom: 3px;
  line-height: 1;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  display: block;
  white-space: nowrap;
  width: 100%;
  max-width: 300px;
  font-size: 18px;
  font-weight: 500;
  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;
  font-family: "Voltaire", sans-serif;
}
@media screen and (min-width: 1780px) {
  .p-page__backBtn {
    font-size: 23px;
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__backBtn {
    font-size: 1.3372093023vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__backBtn {
    font-size: 1.5540540541vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__backBtn {
    font-size: 2.8048780488vw;
  }
}
.p-page__backBtn span {
  color: #1729AC;
  margin-left: 25px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__backBtn span {
    margin-left: 1.3081395349vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__backBtn span {
    margin-left: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__backBtn span {
    margin-left: 2.9296875vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__backBtn span {
    margin-left: 6.5104166667vw;
  }
}
.p-page__name {
  font-weight: 300;
  line-height: 1;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 30px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__name {
    margin-bottom: 1.5697674419vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__name {
    margin-bottom: 1.6216216216vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__name {
    margin-bottom: 3.515625vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__name {
    margin-bottom: 7.8125vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-page__name .jp {
    font-size: 5.5104166667vw;
  }
}
@media screen and (min-width: 1780px) {
  .p-page__name .jp {
    font-size: 25px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__name .jp {
    font-size: 1.4534883721vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__name .jp {
    font-size: 1.6891891892vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__name .jp {
    font-size: 3.0487804878vw;
  }
}
.p-page__name .en {
  font-family: "Voltaire", sans-serif;
  line-height: 1;
  margin-top: 10px;
  font-weight: 500;
  font-size: 20px;
  color: #039943;
}
@media screen and (min-width: 1780px) {
  .p-page__name .en {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__name .en {
    font-size: 1.1627906977vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__name .en {
    font-size: 1.3513513514vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__name .en {
    font-size: 2.4390243902vw;
  }
}
@media screen and (min-width: 768px) {
  .p-page__name .en {
    margin-left: 25px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__name .en {
    margin-left: 1.3081395349vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__name .en {
    margin-left: 1.3513513514vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) and (min-width: 768px) {
  .p-page__name .en {
    margin-left: 2.9296875vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .p-page__name .en {
    margin-left: 6.5104166667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__name .en {
    margin-top: 8.5px;
  }
}
.p-page__moreWrap {
  position: relative;
}
.p-page__moreBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-family: "Voltaire", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1780px) {
  .p-page__moreBtn {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__moreBtn {
    font-size: 1.7441860465vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__moreBtn {
    font-size: 2.027027027vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__moreBtn {
    font-size: 3.6585365854vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__moreBtn {
    font-size: 5.859375vw;
  }
}
@media screen and (min-width: 1024px) {
  .p-page__moreBtn {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 1023px) {
  .p-page__moreBtn {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-page__moreBtn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.p-page__moreBtn img {
  width: 35px;
  margin-left: 10px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__moreBtn img {
    width: 2.0348837209vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__moreBtn img {
    width: 2.3648648649vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__moreBtn img {
    width: 3.759765625vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__moreBtn img {
    width: 4.5572916667vw;
  }
}
.p-page__allviewWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-page__allviewBtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-weight: 500;
  border-radius: 100vw;
  border: 1px solid #9ECA0D;
  line-height: 1;
  padding: 2px 40px 5px;
}
@media screen and (min-width: 1780px) {
  .p-page__allviewBtn {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__allviewBtn {
    font-size: 1.7441860465vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__allviewBtn {
    font-size: 2.027027027vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__allviewBtn {
    font-size: 3.6585365854vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__allviewBtn {
    font-size: 5.859375vw;
  }
}
.p-page__textWrap {
  position: relative;
}
.p-page__textWrap .text {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1023px) {
  .p-page__textWrap {
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__textWrap {
    padding-bottom: 3.1395348837vw;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__textWrap {
    padding-bottom: 3.2432432432vw;
  }
}
@media screen and (max-width: 1023px) and (max-width: 1023px) and (min-width: 768px) {
  .p-page__textWrap {
    padding-bottom: 7.03125vw;
  }
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
  .p-page__textWrap {
    padding-bottom: 15.625vw;
  }
}
.p-page__bglogo {
  position: absolute;
  bottom: -30%;
  right: 0;
  opacity: 0.3;
  z-index: 0;
  width: 360px;
}
@media screen and (max-width: 1779px) and (min-width: 1280px) {
  .p-page__bglogo {
    width: 20.9302325581vw;
  }
}
@media screen and (max-width: 1279px) and (min-width: 1024px) {
  .p-page__bglogo {
    width: 24.3243243243vw;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .p-page__bglogo {
    width: 38.671875vw;
  }
}
@media screen and (max-width: 767px) {
  .p-page__bglogo {
    width: 46.875vw;
  }
}
@media screen and (max-width: 1023px) {
  .p-page__bglogo {
    bottom: -50%;
    right: -5%;
  }
}
@media screen and (max-width: 767px) {
  .p-page__bglogo {
    bottom: -15%;
    right: -10%;
  }
}

/* p-indexBlock
   ----------------------------------------------------------------- */
.p-indexBlock {
  display: block;
  width: 100%;
}
.p-indexBlock.color-bg {
  background: #FBFAF8;
}
.p-indexBlock.access {
  position: relative;
}
.p-indexBlock.access:before, .p-indexBlock.access:after {
  content: "";
  position: absolute;
  height: 23vw;
  width: 23vw;
  z-index: -20;
}
@media screen and (max-width: 1023px) {
  .p-indexBlock.access:before, .p-indexBlock.access:after {
    height: 40vw;
    width: 40vw;
  }
}
@media screen and (max-width: 767px) {
  .p-indexBlock.access:before, .p-indexBlock.access:after {
    height: 60vw;
    width: 50%;
  }
}
.p-indexBlock.access:before {
  top: -20px;
  right: 0;
  background: #F4F4F4;
}
.p-indexBlock.access:after {
  bottom: 0;
  left: 0;
  background: #EBEEF6;
}
.p-indexBlock__inner.relative {
  position: relative;
}
.p-indexBlock__inner.center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-indexBlock__inner {
    padding-left: 5.33vw;
    padding-right: 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .p-indexBlock__inner {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-indexBlock__inner1300 {
    padding: 0vw 5.33vw 0vw 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .p-indexBlock__inner1300 {
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-indexBlock__inner1400 {
    padding: 0vw 5.33vw 0vw 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .p-indexBlock__inner1400 {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-indexBlock__inner1500 {
    padding: 0vw 5.33vw 0vw 5.33vw;
  }
}
@media screen and (min-width: 768px) {
  .p-indexBlock__inner1500 {
    max-width: 1540px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-indexBlock__btn {
    margin-top: 8vw;
    width: 69.3333333333vw;
    height: 12vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-indexBlock__btn {
    width: 300px;
    height: 60px;
    margin-top: 52px;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
    font-size: 2rem;
  }
}

.grecaptcha-badge {
  bottom: 50px !important;
  -webkit-transition: all 0.3s ease 0s !important;
  transition: all 0.3s ease 0s !important;
  z-index: 10000 !important;
}

@media screen and (max-width: 767px) {
  .grecaptcha-badge {
    bottom: 10vw !important;
  }
}
.grecaptcha-badge.scroll {
  bottom: 120px !important;
  -webkit-transition: all 0.3s ease 0s !important;
  transition: all 0.3s ease 0s !important;
}

@media screen and (max-width: 767px) {
  .grecaptcha-badge.scroll {
    bottom: 27vw !important;
  }
}