@charset "UTF-8";
/* ////////////////////////////////////////////////////////////////////
///// ライブラリCSS ///////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////// */

/* ==================================================
reset
================================================== */
html {
  margin: 0;
  padding: 0;
}
body {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  text-rendering: optimizeLegibility;
  -webkit-overflow-js-btnscrolling: touch;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-resolution: 2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
.imgSetP {
  margin: 0;
  padding: 0;
  font-weight: normal;
  line-height: 1.5;
}
ul,
ol,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}
ol,
li {
  list-style: none;
}
img {
  border: none;
  line-height: 0;
  font-size: 0;
  vertical-align: text-bottom;
  width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
}
figure img,
video {
  width: 100%;
  height: auto;
}
/* ---------- */

a {
  margin: 0;
  padding: 0;
  font-size: inherit;
  background: transparent;
}
th,
td {
  font-style: normal;
  font-weight: normal;
  font-size: inherit;
  empty-cells: show;
}
input,
select {
  vertical-align: middle;
}
input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  /*border:0;*/
}
pre {
  white-space: -moz-pre-wrap;
  /* Mozilla */
  white-space: -pre-wrap;
  /* Opera 4-6 */
  white-space: -o-pre-wrap;
  /* Opera 7 */
  white-space: pre-wrap;
  /* CSS3 */
  word-wrap: break-word;
  /* IE 5.5+ */
}
/* ==================================================
 FONT SETTING
================================================== */
.taCsp {
  text-align: center !important;
}
@media screen and (in-width: 769px) {
  .taCtab {
    text-align: center !important;
  }
}
@media screen and (min-width: 961px) {
  .taC {
    text-align: center !important;
  }
}
/* ==================================================
Selected Text
================================================== */

.---unused::-moz-selection {
  background: #ffffff;
  /* Safari */
  color: #292929;
}
.---unused::selection {
  background: #ffffff;
  /* Safari */
  color: #292929;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
/* ==================================================
link
================================================== */

a {
  cursor: pointer;
  display: inline-block;
  -webkit-transition: 0.8s opacity;
  -o-transition: 0.8s opacity;
  transition: 0.8s opacity;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
ul li a {
  position: relative;
  outline: none;
  text-decoration: none;
}
p a:link {
  text-decoration: underline;
}
p a:visited {
  text-decoration: underline;
}
p a:active {
  text-decoration: underline;
}
ul li a:focus {
  outline: none;
}
.imgObj {
  line-height: 1;
}
/* ==================================================
common
================================================== */

* {
  -webkit-overflow-js-btnscrolling: touch;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body.js-spNavOn {
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  .spno {
    display: none !important;
  }
}
@media screen and (min-width: 901px) {
  .pcno {
    display: none !important;
  }
  .indexno {
    display: none;
    opacity: 0;
  }
}
.hide {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  opacity: 0 !important;
}
.active {
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  opacity: 1;
}

.disblk {
  display: block !important;
}
.disno {
  display: none !important;
}

/* //////////////////////////////////////////////////////////////////// */
.fs90 {
  font-size: max(90%, 4px) !important;
}
.fs80 {
  font-size: max(80%, 4px) !important;
}
.fs70 {
  font-size: max(70%, 4px) !important;
}
.fs60 {
  font-size: max(60%, 4px) !important;
}
.fs50 {
  font-size: max(50%, 4px) !important;
}
.enSerif {
  font-size: 115% !important;
}
.fsItalic {
  font-style: italic;
}
/* ==================================================
LetterSpace
================================================== */
.XXlLs {
  letter-spacing: 0.2em !important;
}
.XlLs {
  letter-spacing: 0.15em !important;
}
.LLs {
  letter-spacing: 0.1em !important;
}
.MLs {
  letter-spacing: 0.05em !important;
}
.SLs {
  letter-spacing: 0em !important;
}
.XsLs {
  letter-spacing: -0.02em !important;
}
/* ==================================================
Line-height
================================================== */
.XXXsLh {
  line-height: 0.9 !important;
}
.XXsLh {
  line-height: 1 !important;
}
.XsLh {
  line-height: 1.1 !important;
}
.SLh {
  line-height: 1.2 !important;
}
.MLh {
  line-height: 1.5 !important;
}
.LLh {
  line-height: 1.7 !important;
}
.XlLh {
  line-height: 2 !important;
}
.XXlLh {
  line-height: 2.5 !important;
}
.XXXlLh {
  line-height: 3 !important;
}
/* ==================================================
margin / padding
================================================== */
.XXXsMgn {
  margin-top: 0.9375vw !important;
}
.XXsMgn {
  margin-top: 1.875vw !important;
}
.XsMgn {
  margin-top: 3.75vw !important;
}
.SMgn {
  margin-top: 5.625vw !important;
}
.MMgn {
  margin-top: 7.5vw !important;
}
.LMgn {
  margin-top: 11.25vw !important;
}
.XlMgn {
  margin-top: 15vw !important;
}
.XXlMgn {
  margin-top: 22.5vw !important;
}
.XXXlMgn {
  margin-top: 30vw !important;
}

.XXXsPdnB {
  padding-bottom: 0.9375vw !important;
}
.XXsPdnB {
  padding-bottom: 1.875vw !important;
}
.XsPdnB {
  padding-bottom: 3.75vw !important;
}
.SPdnB {
  padding-bottom: 5.625vw !important;
}
.MPdnB {
  padding-bottom: 7.5vw !important;
}
.LPdnB {
  padding-bottom: 11.25vw !important;
}
.XlPdnB {
  padding-bottom: 15vw !important;
}
.XXlPdnB {
  padding-bottom: 22.5vw !important;
}
.XXXlPdnB {
  padding-bottom: 30vw !important;
}

.XXXsPdnT {
  padding-top: 0.9375vw !important;
}
.XXsPdnT {
  padding-top: 1.875vw !important;
}
.XsPdnT {
  padding-top: 3.75vw !important;
}
.SPdnT {
  padding-top: 5.625vw !important;
}
.MPdnT {
  padding-top: 7.5vw !important;
}
.LPdnT {
  padding-top: 11.25vw !important;
}
.XlPdnT {
  padding-top: 15vw !important;
}
.XXlPdnT {
  padding-top: 22.5vw !important;
}
.XXXlPdnT {
  padding-top: 30vw !important;
}
@media screen and (min-width: 961px) {
  .XXXsMgn {
    margin-top: min(0.625vw, 8px) !important;
  }
  .XXsMgn {
    margin-top: min(1.25vw, 16px) !important;
  }
  .XsMgn {
    margin-top: min(2.5vw, 32px) !important;
  }
  .SMgn {
    margin-top: min(3.75vw, 48px) !important;
  }
  .MMgn {
    margin-top: min(5vw, 64px) !important;
  }
  .LMgn {
    margin-top: min(7.5vw, 96px) !important;
  }
  .XlMgn {
    margin-top: min(10vw, 128px) !important;
  }
  .XXlMgn {
    margin-top: min(15vw, 192px) !important;
  }
  .XXXlMgn {
    margin-top: min(20vw, 256px) !important;
  }

  .XXXsPdnB {
    padding-bottom: min(0.625vw, 8px) !important;
  }
  .XXsPdnB {
    padding-bottom: min(1.25vw, 16px) !important;
  }
  .XsPdnB {
    padding-bottom: min(2.5vw, 32px) !important;
  }
  .SPdnB {
    padding-bottom: min(3.75vw, 48px) !important;
  }
  .MPdnB {
    padding-bottom: min(5vw, 64px) !important;
  }
  .LPdnB {
    padding-bottom: min(7.5vw, 96px) !important;
  }
  .XlPdnB {
    padding-bottom: min(10vw, 128px) !important;
  }
  .XXlPdnB {
    padding-bottom: min(15vw, 192px) !important;
  }
  .XXXlPdnB {
    padding-bottom: min(20vw, 256px) !important;
  }

  .XXXsPdnT {
    padding-top: min(0.625vw, 8px) !important;
  }
  .XXsPdnT {
    padding-top: min(1.25vw, 16px) !important;
  }
  .XsPdnT {
    padding-top: min(2.5vw, 32px) !important;
  }
  .SPdnT {
    padding-top: min(3.75vw, 48px) !important;
  }
  .MPdnT {
    padding-top: min(5vw, 64px) !important;
  }
  .LPdnT {
    padding-top: min(7.5vw, 96px) !important;
  }
  .XlPdnT {
    padding-top: min(10vw, 128px) !important;
  }
  .XXlPdnT {
    padding-top: min(15vw, 192px) !important;
  }
  .XXXlPdnT {
    padding-top: min(20vw, 256px) !important;
  }
}
.js-twoLine {
  line-height: 4em !important;
  vertical-align: top;
}
