@charset "UTF-8";

:root {
  --colorTextBody: #000000;
  --colorTextLink: #353637;
  --colorImageBg: 240, 240, 240;
  --colorImageFilter: 240, 240, 240, .35;

  --colorBody: #fff;
  --colorBodyDim: #eae4e8;
  --colorBorder: rgba(0, 0, 0, 0.1);
  --colorArrow: #666666;

  --colorFooter: #898a8c;
  --colorHeader: rgba(0,0,0,0.2);
  --colorTextHeader: #fff;
  --colorNavigation: #fff;
  --colorTextNavigation: #505153;
  --colorTextFooter: #fff;

  --colorBtn: #505153;
  --colorAccent: #d1a5b6;

  --colorBorderGreen:#b5f3e0;
  --colorBgGreen:#EEF7F2;
  --colorTextAccent: var(--colorAccent);

  --colorSokukari:#749ea2;
  --colorKabeuchi:#bdad70;
  --colorYorozu:#977d9b;

  --radiusGrid: 3px;

  --bgGrid: rgba(255, 255, 255, 0.75);

  --gutterPage: 2rem;
  --gutterPageMinus: -2rem;
  --gutterGrid: 1rem;
  --gutterGridMinus: -1rem;

  --pageWidth: 1280px;
  --wrapperWidth: 100%;

  --window-h: calc(var(--vh)*100);
}

@media only screen and (min-width:768px) {
  :root {
    --gutterPage: 4rem;
    --gutterPageMinus: -4rem;
    --gutterGrid: 1.2rem;
    --gutterGridMinus: -1.2rem;
  }
}

/*================ Global | Normalize ================*/
*,input,:before,:after { -o-box-sizing: border-box; -ms-box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; }
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary { display: block; }
audio,canvas,progress,video { display: inline-block; vertical-align: baseline; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td,figure,main { margin: 0; padding: 0; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset,img { border: 0; }
address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var { font: inherit; }
del,ins { text-decoration: none; }
li { list-style: none; }
caption,th { text-align: left; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: inherit; }
q:before,q:after { content: ""; }
abbr,acronym { border: 0; font-variant: normal; }
sup { vertical-align: baseline; }
sub { vertical-align: baseline; }
a:hover { text-decoration: inherit; }
button { border: 0; margin: 0; padding: 0; background: transparent; cursor: pointer; font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; text-align: inherit; text-transform: inherit; outline: none; }
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button { height: auto; }
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }



/*============================================================================
██╗      █████╗ ██╗ ██████╗ ██╗   ██╗████████╗
██║     ██╔══██╗██║██╔═══██╗██║   ██║╚══██╔══╝
██║     ███████║██║██║   ██║██║   ██║   ██║   
██║     ██╔══██║██║██║   ██║██║   ██║   ██║   
███████╗██║  ██║██║╚██████╔╝╚██████╔╝   ██║   
╚══════╝╚═╝  ╚═╝╚═╝ ╚═════╝  ╚═════╝    ╚═╝   
==============================================================================*/
.clearfix:after {
  content: '';
  display: table;
  clear: both;
}

.grid:after {
  content: "";
  display: table;
  clear: both;
}

.grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  margin-left: var(--gutterGridMinus);
  margin-bottom: var(--gutterGridMinus);
}

.grid--align-bottom {
  align-items: flex-end !important;
}

.grid--align-center {
  align-items: center !important;
}

.grid--align-top {
  align-items: flex-start !important;
}

.grid--justify-center {
  justify-content: center !important;
}

.grid--justify-flex-start {
  justify-content: flex-start !important;
}

.grid--justify-flex-end {
  justify-content: flex-end !important;
}

.grid--justify-space-between {
  justify-content: space-between !important;
}

.grid--nowrap {
  flex-wrap: nowrap
}

.grid--reverse {
  flex-direction: row-reverse
}

@media only screen and (max-width:768px) {
  .grid,
  .js-grid {
    margin-left: var(--gutterGridMinus);
    margin-bottom: var(--gutterGridMinus);
  }
}

.grid__item {
  flex-basis: 100%;
  flex-grow: 1;
  flex-shrink: 1;
  max-width: 100%;
  padding-left: var(--gutterGrid);
  padding-bottom: var(--gutterGrid);
  width: 100%;
  min-height: 1px
}

@media only screen and (max-width:768px) {
  .grid__item {
    padding-left: var(--gutterGrid);
    padding-bottom: var(--gutterGrid);
  }
}
.grid--small {
  margin-left: -0.8rem;
  margin-bottom: -0.8rem;
}

.grid--small .grid__item {
  padding-left: 0.8rem;
  padding-bottom: 0.8rem;
}

.grid--no-gutters {
  margin-left: 0;
  margin-bottom: 0;
}

.grid--no-gutters>.grid__item {
  padding-left: 0;
  padding-bottom: 0;
}

.grid--one-gutters {
  margin-left: 1px;
  margin-bottom: 1px;
}

.grid--one-gutters>.grid__item {
  padding-left: 1px;
  padding-bottom: 1px;
}

.grid--small-gutters {
  margin-left: -0.8rem;
  margin-bottom: -0.8rem;
}

.grid--small-gutters>.grid__item {
  padding-left: 0.8rem;
  padding-bottom: 0.8rem;
}

.grid--large-gutters {
  margin-left: -2.5rem;
  margin-bottom: -2.5rem;
}

.grid--large-gutters>.grid__item {
  padding-left: 2.5rem;
  padding-bottom: 2.5rem;
}

@media only screen and (max-width:768px) {
  .grid--large-gutters {
    margin-left: -2rem;
    margin-bottom: -2rem;
  }

  .grid--large-gutters>.grid__item {
    padding-left: 2rem;
    padding-bottom: 2rem;
  }
}

.grid--xlarge-gutters {
  margin-left: -4rem;
  margin-bottom: -4rem;
}

.grid--xlarge-gutters>.grid__item {
  padding-left: 4rem;
  padding-bottom: 4rem;
}

@media only screen and (max-width:768px) {
  .grid--xlarge-gutters {
    margin-left: -3rem;
    margin-bottom: -3rem;
  }

  .grid--xlarge-gutters>.grid__item {
    padding-left: 3rem;
    padding-bottom: 3rem;
  }
}


.grid--flush-bottom {
  margin-bottom: var(--gutterGridMinus);
  overflow: auto
}

.grid--flush-bottom>.grid__item {
  margin-bottom: var(--gutterGrid);
}

.grid--center {
  text-align: center
}

.grid--center .grid__item {
  float: none;
  display: inline-block;
  vertical-align: top;
  text-align: left
}

html[dir=rtl] .grid--center .grid__item {
  text-align: right
}

.grid--full {
  margin-left: 0
}

.grid--full>.grid__item {
  padding-left: 0;
}

@media only screen and (min-width:769px) {
  .grid--table-large {
    display: table;
    width: 100%;
    table-layout: fixed
  }

  .grid--table-large>.grid__item {
    display: table-cell;
    vertical-align: middle;
    float: none;
  }
}

@media only screen and (max-width:768px) {
  .small--grid--flush {
    margin-left: -2px
  }

  .page-width .small--grid--flush {
    margin-left: -2px;
  }

  .small--grid--flush>.grid__item {
    padding-left: 2px;
  }
}
.one-whole { flex-basis: 100%; max-width: 100%; width: 100%; }
.one-half { flex-basis: 50%; max-width: 50%; width: 50%; }
.one-third { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
.two-thirds { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
.one-quarter { flex-basis: 25%; max-width: 25%; width: 25%; }
.two-quarters { flex-basis: 50%; max-width: 50%; width: 50%; }
.three-quarters { flex-basis: 75%; max-width: 75%; width: 75%; }
.one-fifth { flex-basis: 20%; max-width: 20%; width: 20%; }
.two-fifths { flex-basis: 40%; max-width: 40%; width: 40%; }
.three-fifths { flex-basis: 60%; max-width: 60%; width: 60%; }
.four-fifths { flex-basis: 80%; max-width: 80%; width: 80%; }
.one-sixth { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
.two-sixths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
.three-sixths { flex-basis: 50%; max-width: 50%; width: 50%; }
.four-sixths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
.five-sixths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
.one-eighth { flex-basis: 12.5%; max-width: 12.5%; width: 12.5%; }
.two-eighths { flex-basis: 25%; max-width: 25%; width: 25%; }
.three-eighths { flex-basis: 37.5%; max-width: 37.5%; width: 37.5%; }
.four-eighths { flex-basis: 50%; max-width: 50%; width: 50%; }
.five-eighths { flex-basis: 62.5%; max-width: 62.5%; width: 62.5%; }
.six-eighths { flex-basis: 75%; max-width: 75%; width: 75%; }
.seven-eighths { flex-basis: 87.5%; max-width: 87.5%; width: 87.5%; }
.one-tenth { flex-basis: 10%; max-width: 10%; width: 10%; }
.two-tenths { flex-basis: 20%; max-width: 20%; width: 20%; }
.three-tenths { flex-basis: 30%; max-width: 30%; width: 30%; }
.four-tenths { flex-basis: 40%; max-width: 40%; width: 40%; }
.five-tenths { flex-basis: 50%; max-width: 50%; width: 50%; }
.six-tenths { flex-basis: 60%; max-width: 60%; width: 60%; }
.seven-tenths { flex-basis: 70%; max-width: 70%; width: 70%; }
.eight-tenths { flex-basis: 80%; max-width: 80%; width: 80%; }
.nine-tenths { flex-basis: 90%; max-width: 90%; width: 90%; }
.one-twelfth { flex-basis: 8.33333%; max-width: 8.33333%; width: 8.33333%; }
.two-twelfths { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
.three-twelfths { flex-basis: 25%; max-width: 25%; width: 25%; }
.four-twelfths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
.five-twelfths { flex-basis: 41.66667%; max-width: 41.66667%; width: 41.66667%; }
.six-twelfths { flex-basis: 50%; max-width: 50%; width: 50%; }
.seven-twelfths { flex-basis: 58.33333%; max-width: 58.33333%; width: 58.33333%; }
.eight-twelfths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
.nine-twelfths { flex-basis: 75%; max-width: 75%; width: 75%; }
.ten-twelfths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
.eleven-twelfths { flex-basis: 91.66667%; max-width: 91.66667%; width: 91.66667%; }
@media only screen and (max-width:768px) {
  .small--one-whole { flex-basis: 100%; max-width: 100%; width: 100%; }
  .small--one-half { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--one-third { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .small--two-thirds { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .small--one-quarter { flex-basis: 25%; max-width: 25%; width: 25%; }
  .small--two-quarters { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--three-quarters { flex-basis: 75%; max-width: 75%; width: 75%; }
  .small--one-fifth { flex-basis: 20%; max-width: 20%; width: 20%; }
  .small--two-fifths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .small--three-fifths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .small--four-fifths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .small--one-sixth { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .small--two-sixths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .small--three-sixths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--four-sixths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .small--five-sixths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .small--one-eighth { flex-basis: 12.5%; max-width: 12.5%; width: 12.5%; }
  .small--two-eighths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .small--three-eighths { flex-basis: 37.5%; max-width: 37.5%; width: 37.5%; }
  .small--four-eighths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--five-eighths { flex-basis: 62.5%; max-width: 62.5%; width: 62.5%; }
  .small--six-eighths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .small--seven-eighths { flex-basis: 87.5%; max-width: 87.5%; width: 87.5%; }
  .small--one-tenth { flex-basis: 10%; max-width: 10%; width: 10%; }
  .small--two-tenths { flex-basis: 20%; max-width: 20%; width: 20%; }
  .small--three-tenths { flex-basis: 30%; max-width: 30%; width: 30%; }
  .small--four-tenths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .small--five-tenths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--six-tenths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .small--seven-tenths { flex-basis: 70%; max-width: 70%; width: 70%; }
  .small--eight-tenths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .small--nine-tenths { flex-basis: 90%; max-width: 90%; width: 90%; }
  .small--one-twelfth { flex-basis: 8.33333%; max-width: 8.33333%; width: 8.33333%; }
  .small--two-twelfths { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .small--three-twelfths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .small--four-twelfths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .small--five-twelfths { flex-basis: 41.66667%; max-width: 41.66667%; width: 41.66667%; }
  .small--six-twelfths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .small--seven-twelfths { flex-basis: 58.33333%; max-width: 58.33333%; width: 58.33333%; }
  .small--eight-twelfths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .small--nine-twelfths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .small--ten-twelfths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .small--eleven-twelfths { flex-basis: 91.66667%; max-width: 91.66667%; width: 91.66667%; }
}
@media only screen and (min-width:769px) {
  .medium-up--one-whole { flex-basis: 100%; max-width: 100%; width: 100%; }
  .medium-up--one-half { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--one-third { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .medium-up--two-thirds { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .medium-up--one-quarter { flex-basis: 25%; max-width: 25%; width: 25%; }
  .medium-up--two-quarters { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--three-quarters { flex-basis: 75%; max-width: 75%; width: 75%; }
  .medium-up--one-fifth { flex-basis: 20%; max-width: 20%; width: 20%; }
  .medium-up--two-fifths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .medium-up--three-fifths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .medium-up--four-fifths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .medium-up--one-sixth { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .medium-up--two-sixths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .medium-up--three-sixths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--four-sixths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .medium-up--five-sixths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .medium-up--one-eighth { flex-basis: 12.5%; max-width: 12.5%; width: 12.5%; }
  .medium-up--two-eighths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .medium-up--three-eighths { flex-basis: 37.5%; max-width: 37.5%; width: 37.5%; }
  .medium-up--four-eighths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--five-eighths { flex-basis: 62.5%; max-width: 62.5%; width: 62.5%; }
  .medium-up--six-eighths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .medium-up--seven-eighths { flex-basis: 87.5%; max-width: 87.5%; width: 87.5%; }
  .medium-up--one-tenth { flex-basis: 10%; max-width: 10%; width: 10%; }
  .medium-up--two-tenths { flex-basis: 20%; max-width: 20%; width: 20%; }
  .medium-up--three-tenths { flex-basis: 30%; max-width: 30%; width: 30%; }
  .medium-up--four-tenths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .medium-up--five-tenths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--six-tenths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .medium-up--seven-tenths { flex-basis: 70%; max-width: 70%; width: 70%; }
  .medium-up--eight-tenths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .medium-up--nine-tenths { flex-basis: 90%; max-width: 90%; width: 90%; }
  .medium-up--one-twelfth { flex-basis: 8.33333%; max-width: 8.33333%; width: 8.33333%; }
  .medium-up--two-twelfths { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .medium-up--three-twelfths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .medium-up--four-twelfths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .medium-up--five-twelfths { flex-basis: 41.66667%; max-width: 41.66667%; width: 41.66667%; }
  .medium-up--six-twelfths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .medium-up--seven-twelfths { flex-basis: 58.33333%; max-width: 58.33333%; width: 58.33333%; }
  .medium-up--eight-twelfths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .medium-up--nine-twelfths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .medium-up--ten-twelfths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .medium-up--eleven-twelfths { flex-basis: 91.66667%; max-width: 91.66667%; width: 91.66667%; }
}
@media only screen and (min-width:1025px) {
  .large-up--one-whole { flex-basis: 100%; max-width: 100%; width: 100%; }
  .large-up--one-half { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--one-third { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .large-up--two-thirds { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .large-up--one-quarter { flex-basis: 25%; max-width: 25%; width: 25%; }
  .large-up--two-quarters { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--three-quarters { flex-basis: 75%; max-width: 75%; width: 75%; }
  .large-up--one-fifth { flex-basis: 20%; max-width: 20%; width: 20%; }
  .large-up--two-fifths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .large-up--three-fifths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .large-up--four-fifths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .large-up--one-sixth { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .large-up--two-sixths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .large-up--three-sixths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--four-sixths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .large-up--five-sixths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .large-up--one-eighth { flex-basis: 12.5%; max-width: 12.5%; width: 12.5%; }
  .large-up--two-eighths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .large-up--three-eighths { flex-basis: 37.5%; max-width: 37.5%; width: 37.5%; }
  .large-up--four-eighths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--five-eighths { flex-basis: 62.5%; max-width: 62.5%; width: 62.5%; }
  .large-up--six-eighths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .large-up--seven-eighths { flex-basis: 87.5%; max-width: 87.5%; width: 87.5%; }
  .large-up--one-tenth { flex-basis: 10%; max-width: 10%; width: 10%; }
  .large-up--two-tenths { flex-basis: 20%; max-width: 20%; width: 20%; }
  .large-up--three-tenths { flex-basis: 30%; max-width: 30%; width: 30%; }
  .large-up--four-tenths { flex-basis: 40%; max-width: 40%; width: 40%; }
  .large-up--five-tenths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--six-tenths { flex-basis: 60%; max-width: 60%; width: 60%; }
  .large-up--seven-tenths { flex-basis: 70%; max-width: 70%; width: 70%; }
  .large-up--eight-tenths { flex-basis: 80%; max-width: 80%; width: 80%; }
  .large-up--nine-tenths { flex-basis: 90%; max-width: 90%; width: 90%; }
  .large-up--one-twelfth { flex-basis: 8.33333%; max-width: 8.33333%; width: 8.33333%; }
  .large-up--two-twelfths { flex-basis: 16.66667%; max-width: 16.66667%; width: 16.66667%; }
  .large-up--three-twelfths { flex-basis: 25%; max-width: 25%; width: 25%; }
  .large-up--four-twelfths { flex-basis: 33.33333%; max-width: 33.33333%; width: 33.33333%; }
  .large-up--five-twelfths { flex-basis: 41.66667%; max-width: 41.66667%; width: 41.66667%; }
  .large-up--six-twelfths { flex-basis: 50%; max-width: 50%; width: 50%; }
  .large-up--seven-twelfths { flex-basis: 58.33333%; max-width: 58.33333%; width: 58.33333%; }
  .large-up--eight-twelfths { flex-basis: 66.66667%; max-width: 66.66667%; width: 66.66667%; }
  .large-up--nine-twelfths { flex-basis: 75%; max-width: 75%; width: 75%; }
  .large-up--ten-twelfths { flex-basis: 83.33333%; max-width: 83.33333%; width: 83.33333%; }
  .large-up--eleven-twelfths { flex-basis: 91.66667%; max-width: 91.66667%; width: 91.66667%; }
}
@media only screen and (min-width:769px) {
  .medium-up--push-one-half { left: 50%; }
  .medium-up--push-one-third { left: 33.33333%; }
  .medium-up--push-two-thirds { left: 66.66667%; }
  .medium-up--push-one-quarter { left: 25%; }
  .medium-up--push-two-quarters { left: 50%; }
  .medium-up--push-three-quarters { left: 75%; }
  .medium-up--push-one-fifth { left: 20%; }
  .medium-up--push-two-fifths { left: 40%; }
  .medium-up--push-three-fifths { left: 60%; }
  .medium-up--push-four-fifths { left: 80%; }
  .medium-up--push-one-sixth { left: 16.66667%; }
  .medium-up--push-two-sixths { left: 33.33333%; }
  .medium-up--push-three-sixths { left: 50%; }
  .medium-up--push-four-sixths { left: 66.66667%; }
  .medium-up--push-five-sixths { left: 83.33333%; }
  .medium-up--push-one-eighth { left: 12.5%; }
  .medium-up--push-two-eighths { left: 25%; }
  .medium-up--push-three-eighths { left: 37.5%; }
  .medium-up--push-four-eighths { left: 50%; }
  .medium-up--push-five-eighths { left: 62.5%; }
  .medium-up--push-six-eighths { left: 75%; }
  .medium-up--push-seven-eighths { left: 87.5%; }
  .medium-up--push-one-tenth { left: 10%; }
  .medium-up--push-two-tenths { left: 20%; }
  .medium-up--push-three-tenths { left: 30%; }
  .medium-up--push-four-tenths { left: 40%; }
  .medium-up--push-five-tenths { left: 50%; }
  .medium-up--push-six-tenths { left: 60%; }
  .medium-up--push-seven-tenths { left: 70%; }
  .medium-up--push-eight-tenths { left: 80%; }
  .medium-up--push-nine-tenths { left: 90%; }
  .medium-up--push-one-twelfth { left: 8.33333%; }
  .medium-up--push-two-twelfths { left: 16.66667%; }
  .medium-up--push-three-twelfths { left: 25%; }
  .medium-up--push-four-twelfths { left: 33.33333%; }
  .medium-up--push-five-twelfths { left: 41.66667%; }
  .medium-up--push-six-twelfths { left: 50%; }
  .medium-up--push-seven-twelfths { left: 58.33333%; }
  .medium-up--push-eight-twelfths { left: 66.66667%; }
  .medium-up--push-nine-twelfths { left: 75%; }
  .medium-up--push-ten-twelfths { left: 83.33333%; }
  .medium-up--push-eleven-twelfths { left: 91.66667%; }
}
@media only screen and (min-width:1025px) {
  .large-up--push-one-half { left: 50%; }
  .large-up--push-one-third { left: 33.33333%; }
  .large-up--push-two-thirds { left: 66.66667%; }
  .large-up--push-one-quarter { left: 25%; }
  .large-up--push-two-quarters { left: 50%; }
  .large-up--push-three-quarters { left: 75%; }
  .large-up--push-one-fifth { left: 20%; }
  .large-up--push-two-fifths { left: 40%; }
  .large-up--push-three-fifths { left: 60%; }
  .large-up--push-four-fifths { left: 80%; }
  .large-up--push-one-sixth { left: 16.66667%; }
  .large-up--push-two-sixths { left: 33.33333%; }
  .large-up--push-three-sixths { left: 50%; }
  .large-up--push-four-sixths { left: 66.66667%; }
  .large-up--push-five-sixths { left: 83.33333%; }
  .large-up--push-one-eighth { left: 12.5%; }
  .large-up--push-two-eighths { left: 25%; }
  .large-up--push-three-eighths { left: 37.5%; }
  .large-up--push-four-eighths { left: 50%; }
  .large-up--push-five-eighths { left: 62.5%; }
  .large-up--push-six-eighths { left: 75%; }
  .large-up--push-seven-eighths { left: 87.5%; }
  .large-up--push-one-tenth { left: 10%; }
  .large-up--push-two-tenths { left: 20%; }
  .large-up--push-three-tenths { left: 30%; }
  .large-up--push-four-tenths { left: 40%; }
  .large-up--push-five-tenths { left: 50%; }
  .large-up--push-six-tenths { left: 60%; }
  .large-up--push-seven-tenths { left: 70%; }
  .large-up--push-eight-tenths { left: 80%; }
  .large-up--push-nine-tenths { left: 90%; }
  .large-up--push-one-twelfth { left: 8.33333%; }
  .large-up--push-two-twelfths { left: 16.66667%; }
  .large-up--push-three-twelfths { left: 25%; }
  .large-up--push-four-twelfths { left: 33.33333%; }
  .large-up--push-five-twelfths { left: 41.66667%; }
  .large-up--push-six-twelfths { left: 50%; }
  .large-up--push-seven-twelfths { left: 58.33333%; }
  .large-up--push-eight-twelfths { left: 66.66667%; }
  .large-up--push-nine-twelfths { left: 75%; }
  .large-up--push-ten-twelfths { left: 83.33333%; }
  .large-up--push-eleven-twelfths { left: 91.66667%; }
}
.show { display: block !important; }
.hide { display: none !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }
@media only screen and (max-width:768px) {
  .small--show { display: block !important; }
  .small--hide { display: none !important; }
  .small--text-left { text-align: left !important; }
  .small--text-right { text-align: right !important; }
  .small--text-center { text-align: center !important; }
}
@media only screen and (max-width:1024px) {
  .medium-down--show { display: block !important; }
  .medium-down--hide { display: none !important; }
  .medium-down--text-left { text-align: left !important; }
  .medium-down--text-right { text-align: right !important; }
  .medium-down--text-center { text-align: center !important; }
}
@media only screen and (min-width:769px) {
  .medium-up--show { display: block !important; }
  .medium-up--hide { display: none !important; }
  .medium-up--text-left { text-align: left !important; }
  .medium-up--text-right { text-align: right !important; }
  .medium-up--text-center { text-align: center !important; }
}
@media only screen and (min-width:1025px) {
  .large-up--show { display: block !important; }
  .large-up--hide { display: none !important; }
  .large-up--text-left { text-align: left !important; }
  .large-up--text-right { text-align: right !important; }
  .large-up--text-center { text-align: center !important; }
}
@media only screen and (min-width:1280px) {
  .widescreen-up--show { display: block !important; }
  .widescreen-up--hide { display: none !important; }
}
@media only screen and (max-width:1279px) {
  .widescreen-down--hide { display: none !important; }
}
@media only screen and (max-width:768px) {
  .overflow-wrapper {
    padding-bottom: 1px;
    overflow: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch
  }
  .grid-overflow-wrapper {
    padding-bottom: 1px;
    overflow: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch
  }
  .section-inner .grid-overflow-wrapper {
    margin:0 var(--gutterPageMinus);
  }
  .grid-overflow-wrapper .grid {
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap !important;
    padding: 1px 0 0;
  }
  .grid-overflow-wrapper .grid__item {
    width: 200px;
    flex: 0 0 200px;
    display: inline-block;
    float: none;
    white-space: normal;
  }
  .grid-overflow-wrapper .grid__item--large {
    width: calc(100vw - 40px);
    flex: 0 0 calc(100vw - 40px);
  }
  .grid-overflow-wrapper .grid__item:first-child {
    margin-left: var(--gutterPage);
  }
  .grid-overflow-wrapper .grid:after {
    content: "";
    width: var(--gutterPage);
    flex: 0 0 var(--gutterPage);
    display: inline-block;
    float: none;
    white-space: normal;
  }
  .grid-overflow-wrapper .grid__item--view-all {
    align-self: center;
  }
  .grid-overflow-wrapper .grid-product__price,
  .grid-overflow-wrapper .grid__item {
    font-size: 0.75rem;
  }
}
@media only screen and (min-width:769px) {
  .grid-overflow-wrapper--full {
    padding-bottom: 1px;
    overflow: hidden;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }
  .grid-overflow-wrapper--full .grid {
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap !important;
    padding: 1px 0 0;
  }
  .grid-overflow-wrapper--full .grid__item {
    display: inline-block;
    float: none;
    white-space: normal;
  }
  .grid-overflow-wrapper--full .grid__item.medium-up--one-quarter {
    width: 25vw;
    flex: 0 0 25vw;
  }
  .grid-overflow-wrapper--full .grid__item.medium-up--one-fifth {
    width: 20vw;
    flex: 0 0 20vw;
  }
  .grid-overflow-wrapper--md {
    padding-bottom: 1px;
    overflow: hidden;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch
  }
  .grid-overflow-wrapper--md .grid {
    white-space: nowrap;
    display: flex;
    flex-wrap: nowrap !important;
    padding: 1px 0 0;
  }
  .grid-overflow-wrapper--md .grid__item {
    width: 250px;
    flex: 0 0 250px;
    display: inline-block;
    float: none;
    white-space: normal;
  }
  .grid-overflow-wrapper--md .grid__item:first-child {
    margin-left: var(--gutterPage);
  }
  .grid-overflow-wrapper--md .grid:after {
    content: "";
    width: var(--gutterPage);
    flex: 0 0 var(--gutterPage);
    display: inline-block;
    float: none;
    white-space: normal;
  }
}
@media only screen and (min-width: 1024px) {
  .grid-overflow-wrapper--md .grid__item {
    width: calc(50vw - 30px);
    flex: 0 0 calc(50vw - 30px);
  }
  .grid-overflow-wrapper--md .grid__item:first-child {
    margin-left: 40px;
  }

  .grid-overflow-wrapper--md .grid:after {
    width: 40px;
    flex: 0 0 40px;
  }
}
@media only screen and (min-width: 1280px) {
  .grid-overflow-wrapper--md .grid__item {
    width: calc(47.5vw - 30px);
    flex: 0 0 calc(47.5vw - 30px);
  }

  .grid-overflow-wrapper--md .grid__item:first-child {
    margin-left: 5vw;
  }

  .grid-overflow-wrapper--md .grid:after {
    width: 5vw;
    flex: 0 0 5vw;
  }
}
@media only screen and (min-width: 1600px) {
  .grid-overflow-wrapper--md .grid__item {
    width: 700px;
    flex: 0 0 700px;
  }
  .grid-overflow-wrapper--md .grid__item:first-child {
    margin-left: calc(50vw - 720px);
  }

  .grid-overflow-wrapper--md .grid:after {
    width: calc(50vw - 720px);
    flex: 0 0 calc(50vw - 720px);
  }
}
.grid-overflow-wrapper--all {
  padding-bottom: 1px;
  overflow: hidden;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch
}
.section-inner .grid-overflow-wrapper--all {
  margin:0 var(--gutterPageMinus);
}
.grid-overflow-wrapper--all .grid {
  white-space: nowrap;
  display: flex;
  flex-wrap: nowrap !important;
  padding: 1px 0 0;
}
.grid-overflow-wrapper--all .grid__item {
  width: 240px;
  flex: 0 0 240px;
  display: inline-block;
  float: none;
  white-space: normal;
}
.grid-overflow-wrapper--all .grid__item.medium-up--one-fifth {
  flex-basis: 150px;
  max-width: 150px;
  width: 150px;
}
.grid-overflow-wrapper--all .grid__item:first-child {
  margin-left: var(--gutterPage);
}
.grid-overflow-wrapper--all .grid:after {
  content: "";
  width: var(--gutterPage);
  flex: 0 0 var(--gutterPage);
  display: inline-block;
  float: none;
  white-space: normal;
}
.grid-overflow-wrapper--all .grid__item--view-all {
  align-self: center;
}
@media only screen and (min-width: 1024px) {
  .grid-overflow-wrapper--all .grid__item {
    width: 300px;
    flex: 0 0 300px;
  }
  .grid-overflow-wrapper--all .grid__item.medium-up--one-fifth {
    flex-basis: 160px;
    max-width: 160px;
    width: 160px;
  }
  .grid-overflow-wrapper--all .grid__item:first-child {
    margin-left: 30px;
  }
  .grid-overflow-wrapper--all .grid:after {
    width: 30px;
    flex: 0 0 30px;
  }
}

.wrapper {
  max-width: var(--wrapperWidth);
  margin: 0 auto;
}

.page-width {
  width: 100vw;
}
@media only screen and (min-width: 769px) {
  .page-width {
    width:70vw;
  }
}
@media only screen and (min-width: 1280px) {
  .page-width {
    max-width:600px;
  }
}
.page-width {
  margin:0 auto;
}
.section-inner {
  position: relative;
  padding: 0 var(--gutterPage);
  margin: 0;
  width:100%;
}
.section-inner__pd {
  position: relative;
  padding: var(--gutterPage);
}

.inner--left {
  padding-left: var(--gutterPage);
}

.inner--right {
  padding-right: var(--gutterPage);
}

.inner--top {
  padding-top: var(--gutterPage);
}

.inner--bottom {
  padding-bottom: var(--gutterPage);
}

.space {
  display: block;
  height: var(--gutterPage);
}

.space.x025 {
  display: block;
  height: calc(var(--gutterPage) / 4);
}

.space.x05 {
  display: block;
  height: calc(var(--gutterPage) / 2);
}

.space.x2 {
  height: calc(var(--gutterPage) * 2);
}



.section {
  margin: 4rem auto;
}

.section--pd {
  padding: 4rem 0;
}

.section--bg {
  position:relative;
  color:#fff;
  background-size:cover;
  background-position:center;
}
.section--bg:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.3);
}

.section-space {
  margin-top: 4rem;
}

hr.section-hr {
  margin: 4rem auto;
  width:100%;
  height:1px;
  border:0;
  background-color:unset;
  background-image: linear-gradient(to right, var(--colorTextBody) 1px, transparent 1px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

@media only screen and (min-width: 1025px) {
  .section {
    margin: 6rem auto;
  }

  .section--pd {
    padding: 6rem 0;
  }

  .section-space {
    margin-top: 6rem;
  }
  hr.section-hr {
    margin: 6rem auto;
  }
}

.mt0 {
  margin-top: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.section-s {
  margin: 30px 0;
}

@media only screen and (min-width: 769px) {
  .section-s {
    margin: 45px 0;
  }
}

@media only screen and (min-width: 1025px) {
  .section-s {
    margin: 60px 0;
  }
}

.bg-Dark {
  background-color: #dcdcdc;
  display: block
}

.bg--green {
  background-color:var(--colorGreen);
}

.bg--orange {
  background-color:var(--colorOrange);
}

.bg-Inv {
  background-color: var(--colorTextBody);
  color: var(--colorBody);
  padding: 1px 0;
  display: block
}

.bg-White {
  position: relative;
  background-color: #ffffff;
}

.bg-White a {
  color: inherit;
}

.bg-Image {
  position: relative;
  background-size: cover;
  background-position: center
}

.bg-Body {
  background-color: var(--colorBody);
}


.io {
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
  opacity: 0;
  -webkit-transition: opacity .6s ease, -webkit-transform .6s ease;
  transition: opacity .6s ease, transform .6s ease;
}

.io.on {
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  opacity: 1;
}

.io-o span.o {
  -webkit-transform: translate(0, 10px);
  transform: translate(0, 10px);
  opacity: 0;
  -webkit-transition: opacity .6s ease, -webkit-transform .6s ease;
  transition: opacity .6s ease, transform .6s ease;
}

.io-o p.o,
.io-o li.o {
  -webkit-transform: translate(0, 20px);
  transform: translate(0, 20px);
  opacity: 0;
  -webkit-transition: opacity .6s ease, -webkit-transform .6s ease;
  transition: opacity .6s ease, transform .6s ease;
}

.io-o span.o:nth-child(1) { transition-delay: 0ms; }
.io-o span.o:nth-child(2) { transition-delay: 30ms; }
.io-o span.o:nth-child(3) { transition-delay: 60ms; }
.io-o span.o:nth-child(4) { transition-delay: 90ms; }
.io-o span.o:nth-child(5) { transition-delay: 120ms; }
.io-o span.o:nth-child(6) { transition-delay: 150ms; }
.io-o span.o:nth-child(7) { transition-delay: 180ms; }
.io-o span.o:nth-child(8) { transition-delay: 210ms; }
.io-o span.o:nth-child(9) { transition-delay: 240ms; }
.io-o span.o:nth-child(10) { transition-delay: 270ms; }
.io-o span.o:nth-child(11) { transition-delay: 300ms; }
.io-o span.o:nth-child(12) { transition-delay: 330ms; }
.io-o span.o:nth-child(13) { transition-delay: 360ms; }
.io-o span.o:nth-child(14) { transition-delay: 390ms; }
.io-o span.o:nth-child(15) { transition-delay: 420ms; }
.io-o span.o:nth-child(16) { transition-delay: 450ms; }
.io-o span.o:nth-child(17) { transition-delay: 480ms; }
.io-o span.o:nth-child(18) { transition-delay: 510ms; }
.io-o span.o:nth-child(19) { transition-delay: 540ms; }
.io-o span.o:nth-child(20) { transition-delay: 570ms; }
.io-o span.o:nth-child(21) { transition-delay: 600ms; }
.io-o span.o:nth-child(22) { transition-delay: 630ms; }
.io-o span.o:nth-child(23) { transition-delay: 660ms; }
.io-o span.o:nth-child(24) { transition-delay: 690ms; }
.io-o span.o:nth-child(25) { transition-delay: 720ms; }
.io-o span.o:nth-child(26) { transition-delay: 750ms; }
.io-o span.o:nth-child(27) { transition-delay: 780ms; }
.io-o span.o:nth-child(28) { transition-delay: 810ms; }
.io-o span.o:nth-child(29) { transition-delay: 840ms; }
.io-o span.o:nth-child(30) { transition-delay: 870ms; }
.io-o p.o:nth-child(1) { transition-delay: 60ms; }
.io-o p.o:nth-child(2) { transition-delay: 120ms; }
.io-o p.o:nth-child(3) { transition-delay: 180ms; }
.io-o p.o:nth-child(4) { transition-delay: 240ms; }
.io-o p.o:nth-child(5) { transition-delay: 300ms; }
.io-o p.o:nth-child(6) { transition-delay: 360ms; }
.io-o p.o:nth-child(7) { transition-delay: 420ms; }
.io-o p.o:nth-child(8) { transition-delay: 480ms; }
.io-o p.o:nth-child(9) { transition-delay: 540ms; }
.io-o p.o:nth-child(10) { transition-delay: 600ms; }
.io-o p.o:nth-child(11) { transition-delay: 660ms; }
.io-o p.o:nth-child(12) { transition-delay: 720ms; }
.io-o p.o:nth-child(13) { transition-delay: 780ms; }
.io-o p.o:nth-child(14) { transition-delay: 840ms; }
.io-o p.o:nth-child(15) { transition-delay: 900ms; }
.io-o p.o:nth-child(16) { transition-delay: 960ms; }
.io-o p.o:nth-child(17) { transition-delay: 1020ms; }
.io-o p.o:nth-child(18) { transition-delay: 1080ms; }
.io-o p.o:nth-child(19) { transition-delay: 1140ms; }
.io-o p.o:nth-child(20) { transition-delay: 1200ms; }
.io-o p.o:nth-child(21) { transition-delay: 1260ms; }
.io-o p.o:nth-child(22) { transition-delay: 1320ms; }
.io-o p.o:nth-child(23) { transition-delay: 1380ms; }
.io-o p.o:nth-child(24) { transition-delay: 1440ms; }
.io-o p.o:nth-child(25) { transition-delay: 1500ms; }
.io-o p.o:nth-child(26) { transition-delay: 1560ms; }
.io-o p.o:nth-child(27) { transition-delay: 1620ms; }
.io-o p.o:nth-child(28) { transition-delay: 1680ms; }
.io-o p.o:nth-child(29) { transition-delay: 1740ms; }
.io-o p.o:nth-child(30) { transition-delay: 1800ms; }
.io-o li.o:nth-child(1) { transition-delay: 60ms; }
.io-o li.o:nth-child(2) { transition-delay: 120ms; }
.io-o li.o:nth-child(3) { transition-delay: 180ms; }
.io-o li.o:nth-child(4) { transition-delay: 240ms; }
.io-o li.o:nth-child(5) { transition-delay: 300ms; }
.io-o li.o:nth-child(6) { transition-delay: 360ms; }
.io-o li.o:nth-child(7) { transition-delay: 420ms; }
.io-o li.o:nth-child(8) { transition-delay: 480ms; }
.io-o li.o:nth-child(9) { transition-delay: 540ms; }
.io-o li.o:nth-child(10) { transition-delay: 600ms; }
.io-o li.o:nth-child(11) { transition-delay: 660ms; }
.io-o li.o:nth-child(12) { transition-delay: 720ms; }
.io-o li.o:nth-child(13) { transition-delay: 780ms; }
.io-o li.o:nth-child(14) { transition-delay: 840ms; }
.io-o li.o:nth-child(15) { transition-delay: 900ms; }
.io-o li.o:nth-child(16) { transition-delay: 960ms; }
.io-o li.o:nth-child(17) { transition-delay: 1020ms; }
.io-o li.o:nth-child(18) { transition-delay: 1080ms; }
.io-o li.o:nth-child(19) { transition-delay: 1140ms; }
.io-o li.o:nth-child(20) { transition-delay: 1200ms; }
.io-o li.o:nth-child(21) { transition-delay: 1260ms; }
.io-o li.o:nth-child(22) { transition-delay: 1320ms; }
.io-o li.o:nth-child(23) { transition-delay: 1380ms; }
.io-o li.o:nth-child(24) { transition-delay: 1440ms; }
.io-o li.o:nth-child(25) { transition-delay: 1500ms; }
.io-o li.o:nth-child(26) { transition-delay: 1560ms; }
.io-o li.o:nth-child(27) { transition-delay: 1620ms; }
.io-o li.o:nth-child(28) { transition-delay: 1680ms; }
.io-o li.o:nth-child(29) { transition-delay: 1740ms; }
.io-o li.o:nth-child(30) { transition-delay: 1800ms; }
.io-o.on .o {
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  opacity: 1;
}

.w-o {
  padding-right: 0.25em;
  overflow: hidden;
}

.w-o:last-child {
  padding-right: 0;
}

.w-o .o {
  overflow: hidden;
}

.js-b-show {
  opacity:0;
}

.js-b-show .w-o .o {
  opacity: 0;
  transform: translate(0%, 30px);
}

.js-w-show .w-o .o {
  opacity: 0;
}

.js-b-show.js-char .w-o .o {
  opacity: 0;
  transform: translate(0%, 100%);
}

.js-words span,
.js-char span {
  display: inline-block;
  vertical-align: top;
}

.js-show {
  opacity: 0;
  transform: translate(0%, 50px);
}

.js-h {
  cursor: pointer;
}
.bg-white {
  background-color:#fff;
}
.bg-Dim {
  background-color:var(--colorBodyDim);
}
.bg-green {
  background-color:var(--colorBgGreen);
}

/*============================================================================
███████╗ ██████╗ ███╗   ██╗████████╗
██╔════╝██╔═══██╗████╗  ██║╚══██╔══╝
█████╗  ██║   ██║██╔██╗ ██║   ██║   
██╔══╝  ██║   ██║██║╚██╗██║   ██║   
██║     ╚██████╔╝██║ ╚████║   ██║   
╚═╝      ╚═════╝ ╚═╝  ╚═══╝   ╚═╝   
==============================================================================*/

[tabindex='-1']:focus {
  outline: none;
}

html:not(.tab-outline) *:focus {
  outline: none;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  height: 1px;
  width: 1px;
}

html {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

html { font-size:2.6667vw }
@media screen and (min-width: 769px) {
  html { font-size:1.3334vw }
}
@media screen and (min-width: 1025px) {
  html { font-size:.8vw }
}
@media screen and (min-width: 1280px) {
  html { font-size:10px }
}

body {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.66;
  -webkit-font-smoothing: antialiased;
  transition: background-color 1s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (min-width: 769px) {
  body { font-size: 1.3rem; }
}
.ff-en {
  font-family: "Uchen", serif;
  font-weight: 400;
  font-style: normal;
  line-height:1.1;
}
p,li,td,th {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.no-scroll {
  overflow: hidden;
}

#xhr {
  position: relative;
  z-index: 1;
}

hr {
  border: none;
  height: 1px;
  width:100%;
  background-color: var(--colorBorder);
  display: block;
  margin: 0.5rem 0;
}

hr.hr--small {
  margin: 1rem 0;
}

hr.hr--medium {
  margin: 2rem 0;
}

hr.hr--large {
  margin: 3rem 0;
}

hr.hr--xlarge {
  margin: 4.5rem 0;
}

strong,
.fw-7,
b {
  font-weight: 700;
}

a {
  color: var(--colorTextLink);
  text-decoration: none;
}

a:hover {
  /*color: var(--colorTextLink);*/
}

a:active {
  /*color: var(--colorTextLink);*/
}

h1, .h1 {
  font-size: 3.6rem;
  line-height: 1.2;
}

h2, .h2 {
  font-size: 2.4rem;
  line-height: 1.3;
}

h2.s, .h2-s {
  font-size: 2.1rem;
}

h3, .h3 {
  font-size: 1.7rem;
  line-height: 1.4;
}

h3.s, .h3-s {
  font-size: 1.6rem;
}

h4, .h4 {
  font-size: 1.4rem;
  line-height: 1.4;
}

h4.s, .h4-s {
  font-size: 1.3rem;
}

h5, .h5 {
  font-size: 1.2rem;
}

p,li {
  font-size: 1.3rem;
}
p.l, .p-l {
  font-size:1.4rem;
}
.fs-m {
  font-size:1.3rem;
  line-height:1.6;
}
.fs-s {
  font-size:1.1rem;
  line-height:1.6;
}
.fs-xs {
  font-size:1rem;
  line-height:1.6;
}
.fs-xl {
  font-size: 4.8rem;
  letter-spacing:.05em;
}
.fs-l {
  font-size: 3.75rem;
}
sup,sub {
  font-size:0.9rem;
}
sup {
  display:inline-block;
  vertical-align:top;
  margin-top:.5em;
}

@media only screen and (min-width: 1025px) {
  h1, .h1 {
    font-size: 4rem;
  }

  h2, .h2 {
    font-size: 3rem;
  }

  h2.s, .h2-s {
    font-size: 2.6rem;
  }

  h3, .h3 {
    font-size: 2.2rem;
  }

  h3.s, .h3-s {
    font-size: 1.8rem;
  }

  h4, .h4 {
    font-size: 1.6rem;
  }

  h4.s, .h4-s {
    font-size: 1.45rem;
  }

  h5, .h5{
    font-size: 1.4rem;
  }

  p,li {
    font-size: 1.5rem;
  }
  p.l, .p-l {
    font-size:1.6rem;
  }
  .fs-m {
    font-size: 1.5rem;
  }
  .fs-xl {
    font-size: 4.8rem;
  }
  .fs-l {
    font-size: 4.0rem;
  }
  .fs-s {
    font-size:1.2rem;
  }
  .fs-xs {
    font-size:1.1rem;
  }
}

.rte h2,
.rte h3 {
  margin: 1.5rem 0;
}
.rte .btn-wrap {
  margin: 1.5rem 0;
}

.rte .ac {
  margin:4rem 0;
}

.rte .ac-image {
  margin:4rem 0;
}

@media only screen and (min-width: 1024px) {
  .rte h2,
  .rte h3 {
    margin:2.5rem 0;
  }
  .rte .btn-wrap {
    margin:2.5rem 0;
  }
}
.rte h4,
.rte p {
  margin: 1.5rem 0;
}

.rte ul.bullets li {
  position: relative;
  padding-left: 2em;
  margin: 0.5rem 0;
}

.rte ul.bullets li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--colorBorder);
}

.rte ol {
  padding-left: 2em;
  margin: 1.5rem 0;
}

.rte ol li {
  list-style-type: decimal;
}

.rte ol li ol li {
  list-style-type: none;
  counter-increment: cnt;
}

.rte ol li ol li p {
  padding: 0 0 0 2em;
  margin: 0;
}

.rte ol li ol li::before {
  content: "(" counter(cnt) ") ";
}

.rte ol li ol li ol li::before {
  content: none;
}

.rte hr {
  background-color: var(--colorBorder);
  border: none;
  width: 100%;
  height: 1px;
  display: block;
  margin: 3rem 0;
}

.rte>*:first-child {
  margin-top: 0;
}

.rte>*:last-child {
  margin-bottom: 0;
}


ol.notes {
  padding-left: 2em;
  margin: 1.5rem 0;
}

ol.notes li {
  position:relative;
  list-style-type: decimal;
}
ol.notes li:before {
  content:"※";
  position: absolute;
  left: -2.2em;
  top:0;
}

ol.notes-inline li {
  display:inline;
}

/*============================================================================
██████╗  █████╗ ██████╗ ████████╗███████╗
██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
██████╔╝███████║██████╔╝   ██║   ███████╗
██╔═══╝ ██╔══██║██╔══██╗   ██║   ╚════██║
██║     ██║  ██║██║  ██║   ██║   ███████║
╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝   ╚═╝   ╚══════╝
==============================================================================*/

.btn-wrap {
  position: relative;
  display: inline-block;
  font-size: 0;
  width:100%;
}

.btn {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 6px 15px 5px;
  background-color: var(--colorBtn);
  color:#fff;
  line-height: 1.4;
  font-size: 1.2rem;
  /*border-radius:3px;*/
  text-align: center;
  overflow:hidden;
  transition:.5s ease;
}
.btn:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  /*background: linear-gradient(0deg, rgba(255,255,255,0.3) 0%, rgba(255,255,255,0) 100%);*/
  background:rgba(255,255,255,0.15);
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform .45s cubic-bezier(.19,1,.22,1)
}
.btn .icon-more {
  position:absolute;
  right:15px;
  top:50%;
  margin-top:-10px;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #fff;
  transition:right .4s ease;
}

.btn--secondary {
  background:#fff;
  box-shadow:0 0 0 1px var(--colorBtn);
  color:var(--colorBtn);
}
.btn--secondary:before {
  background:rgba(100,100,100,0.05);
}
.btn--secondary .icon-more {
  stroke: var(--colorBtn);
}

.btn--icon {
  padding:10px;
  border-radius:100%;
}
.btn--comingsoon {
  border-radius:100%;
  width:40px;
  height:40px;
  background:url(../img/icon-comingsoon.png);
  background-size:cover;
}
a:hover .btn--comingsoon {
  background-color:rgba(0,0,0,0) !important;
}

.btn--clear {
  background-color:rgba(0,0,0,0) !important;
}

.btn > span {
  position: relative;
  display: block;
  z-index: 2;
  padding-bottom: 1px;
  line-height:1.2;
}
.btn > strong {
  position: relative;
  display: block;
  font-size:120%;
  line-height:1.2;
  z-index: 2;
}

.btn span.b {
  font-weight: 700;
}

.btn .icon-blank {
  right: 7px;
  top: 7px;
  width: 10px;
  height: 8px;
}

@media only screen and (min-width: 1024px) {
  .btn {
    padding: 8px 20px 7px;
    font-size: 13px;
  }

  .btn--icon {
    padding:15px;
  }

  .btn .b {
    font-size: 15px;
  }

  a:hover .btn:before,
  a.btn:hover:before {
    transform: scaleY(1);
    transform-origin: center bottom;
    transition: transform .45s .1s cubic-bezier(.19,1,.22,1)
  }
  a:hover .btn,
  a.btn:hover {
    /*box-shadow:0 0 0 1px var(--colorBtn), 0 2px 10px var(--colorBtn);*/
  }
  a:hover .btn .icon-more,
  a.btn:hover .icon-more {
    right:10px;
  }
}

.btn--small {
  border-radius: 30px;
}

.btn--normal {
  min-width:24rem;
  min-height:6rem;
  padding:1rem;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.btn--share {
  border-radius:60px;
  padding-right: 45px;
  --colorBtn:#666;
}
.btn--share .icon-more {
  right:20px !important;
  z-index:2;
}
.btn--share:after {
  content:"";
  position:absolute;
  right:5px;
  top:5px;
  background-color:rgba(0,0,0,0.1);
  width:50px;
  height:50px;
  border-radius:100%;
  transition:.5s ease;
}

.btn .icon-dl,
.btn .icon-morebox {
  position:absolute;
  right:5px;
  width:40px;
  height:50px;
  background-color:#fff;
  border-radius:6px;
}
.btn .icon-dl:after {
  content:"";
  position:absolute;
  left:50%;
  top:70%;
  width:12px;
  height:2px;
  background-color:var(--colorBtn);
  transform:translate(-50%,-50%);
}
.btn .icon-dl .icon-more {
  stroke: var(--colorBtn);
  transform:rotate(90deg);
  right: 10px;
  top:45%;
  transition:.4s ease;
}
.btn .icon-morebox .icon-more {
  stroke: var(--colorBtn);
  right:10px;
}
a:hover .btn .icon-dl .icon-more {
  top:50%;
}



.btn.btn--mini {
  padding: 5px 15px;
}

@media only screen and (min-width: 1024px) {
  .btn.btn--mini {
    padding: 8px 25px;
  }
}

.btn.btn--large {
  padding: 10px 30px;
  font-size: 13px;
}

@media only screen and (min-width: 1024px) {
  .btn.btn--large {
    padding: 15px 45px;
    font-size: 16px;
  }
}

.btn.btn--xlarge {
  padding: 25px;
  width: 100%;
  display:block;
  margin:0 auto;
  border-radius:100px;
  font-size: 18px;
}

@media only screen and (min-width: 1024px) {
  .btn.btn--xlarge {
    padding: 30px;
    max-width: 600px;
    font-size: 24px;
  }
}

.btn--full {
  width: 100%;
  padding: 2rem 0;
  font-size:17px;
  display: block;
}

.btn--full:before {
  border-radius: 0;
}

.btn--wh {
  box-shadow: 0 0 0 1px #fff inset;
}

.btn--wh:before {
  background-color: #fff;
}

.btn--wh span {
  color: #fff;
}

@media only screen and (min-width: 1024px) {
  .btn--wh:hover span {
    color: var(--colorTextLink);
  }
}


.btn--green {
  --colorBtn: var(--colorGreen);
}
.btn--accent {
  --colorBtn: var(--colorAccent);
}
.btn--blue {
  --colorBtn: var(--colorBlue);
}
.btn--yellow {
  --colorBtn: var(--colorYellow);
}
.btn--purple {
  --colorBtn: var(--colorPurple);
}
.btn--sokukari {
  --colorBtn: var(--colorSokukari);
}
.btn--kabeuchi {
  --colorBtn: var(--colorKabeuchi);
}
.btn--yorozu {
  --colorBtn: var(--colorYorozu);
}

.btn--back {
  padding: 10px 30px 10px 60px;
  font-size: 13px;
}

.btn--back .arrow-back {
  position: absolute;
  left: 15px;
  top: 50%;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  overflow: hidden;
}

.btn--back .arrow-back span {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/icon-arrow-back.svg) center no-repeat;
  background-size: contain;
}

@media only screen and (min-width: 1024px) {
  .btn--back {
    padding: 15px 45px 15px 70px;
    font-size: 16px;
  }

  .btn--back:hover .arrow-back span {
    animation: ArrowBack .5s ease;
    background-image: url(../img/icon-arrow-back--pink.svg);
  }
}
.btn--case-dl {
  padding-right:40px;
}

.bnr-case-dl {
  display:block;
  background-color:var(--colorBgGreen);
  border-radius:10px;
  transition:.4s ease;
}
.bnr-case-dl__image {
  padding:1rem;
}
.bnr-case-dl__image img {
  display:block;
  width:100%;
}
.bnr-case-dl .btn {
  border-top-left-radius:0;
  border-top-right-radius:0;
  padding-right: 45px;
}
.bnr-case-dl:hover {
  box-shadow: 0 0 0 1px var(--colorGreen), 0 2px 10px var(--colorGreen);
}
.bnr-case-dl:hover .btn {
  box-shadow:0 0 0 0;
}
.bnr-case-dl-large {
  display:block;
  background-color:var(--colorBgGreen);
  border-radius:16px;
  padding:1rem;
}
.bnr-case-dl-large > * {
  border-radius:12px;
  box-shadow: -4px -4px 5px rgba(255, 255, 255, .4), inset 1px 1px 1px rgba(165, 170, 174, .06), 4px 4px 5px rgba(165, 170, 174, .2);
}
.bnr-case-dl-large__image {
  border-bottom:1px solid #fff;
  box-shadow:0 1px 0 rgba(0,0,0,0.06);
}
.bnr-case-dl-large__text {
  padding:2rem;
}
.bnr-case-dl-large__text h3 {
  margin-bottom:2rem;
}
@media only screen and (min-width: 769px) {
  .bnr-case-dl-large__image {
    border-bottom:0;
    border-right:1px solid #fff;
    box-shadow:1px 0 0 rgba(0,0,0,0.06);
  }
}

.line-btn {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 3px 0 5px;
  line-height: 1.4;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.line-btn:before,
.line-btn:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.line-btn:before {
  background-color: var(--colorTextLink);
  transform: scaleX(1);
  transform-origin: left center;
  transition: transform 0.45s 0.15s cubic-bezier(0.19, 1, 0.22, 1);
}

.line-btn:after {
  background-color: var(--colorTextAccent);
  transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.line-btn > span {
  position: relative;
  display: block;
  z-index: 2;
  color: var(--colorTextLink);
  transition: color 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.line-btn svg {
  position: absolute;
  z-index: 2;
  fill: var(--colorTextLink);
}

.line-btn.line-btn--hasicon {
  padding-right: 14px !important;
}

.line-btn .icon-blank {
  right: 0;
  top: 2px;
  width: 10px;
  height: 8px;
}

@media only screen and (min-width: 1024px) {
  .line-btn {
    font-size: 13px;
  }

  .line-btn:hover > span {
    color: var(--colorTextAccent);
    transition: color 0.45s 0.2s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .line-btn:hover:before {
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
  }

  .line-btn:hover:after {
    transform: scaleX(1);
    transform-origin: left center;
    transition: transform 0.45s 0.15s cubic-bezier(0.19, 1, 0.22, 1);
  }
}

.line-btn.line-btn--wh:before,
.line-btn.line-btn--wh:after {
  background-color: #fff;
}

.line-btn.line-btn--wh span {
  color: #fff;
}

.line-btn.line-btn--wh svg {
  fill: #fff;
}

.line-btn.line-btn--mini {
  font-weight: 400;
  padding: 1px 0 2px;
  letter-spacing: 0;
}

.line-btn.line-btn--mini:before,
.line-btn.line-btn--mini:after {
  height: 1px;
  opacity: .6;
}

@media only screen and (min-width: 1024px) {
  .line-btn.line-btn--mini {
    font-size: 12px;
  }
}

.media {
  height: 0;
  line-height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
  display: block
}
.is-pc .js-parallax .media {
  top: -50%;
}

.io .media .media__image,
.io .media .media__video {
  opacity: 0;
  transform: scale(1.1);
}

.io.on .media .media__image,
.io.on .media .media__video {
  opacity: 1;
  transform: scale(1);
  transition: 1s ease;
}

.media--filter:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(var(--colorImageFilter));
  z-index: 1;
}

.bg--green .media--filter:before {
  background:var(--colorGreen);
}

.media--cover {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  padding-bottom: 0;
}

.media--square {
  padding-bottom: 100%;
}

.media--circle {
  padding-bottom: 100%;
  border-radius:100%;
}
.media--quarter {
  padding-bottom: 25%;
}
.media--third,
.media--banner {
  padding-bottom: 33.3333%;
}
.media--two-fifth {
  padding-bottom: 40%;
}
.media--half {
  padding-bottom: 50%;
}
.media--ogp {
  padding-bottom: 52.5%;
}
.media--rect {
  padding-bottom: 66.6666%;
}

.media--rect2 {
  padding-bottom: 56.25%;
}

.media--portrait {
  padding-bottom: 125%;
}

.media--portrait2 {
  padding-bottom: 133%;
}

.media--mov {
  padding-bottom: 56.25%;
}

.media--mov.media--movport {
  padding-bottom: 150%;
}

@media only screen and (max-width: 767px) {
  .small--media--square {
    padding-bottom: 100%;
  }

  .small--media--banner {
    padding-bottom: 33.3333%;
  }

  .small--media--rect {
    padding-bottom: 66.6666%;
  }

  .small--media--rect2 {
    padding-bottom: 56.25%;
  }

  .small--media--portrait {
    padding-bottom: 125%;
  }

  .small--media--portrait2 {
    padding-bottom: 133%;
  }

  .small--media--mov {
    padding-bottom: 56.25%;
  }

  .small--media--mov.media--movport {
    padding-bottom: 150%;
  }
}

a .media--mov:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 80px;
  height: 80px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.3) url(../img/icon-play.svg);
  background-size: cover;
  pointer-events: none;
  z-index: 2;
  transition: all 1s ease;
}

@media only screen and (min-width: 1024px) {
  a .media--mov:before {
    opacity: 0;
  }

  a:hover .media--mov:before {
    opacity: 1;
    transform: scale(1.1);
  }
}

.media__image,
.media__video,
.media__noscript {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: contain;';
}

.media__image img,
.media__noscript img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit: contain;';
}

.media__image .img__bk-filter {
  filter: brightness(0.85);
}

.media iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.media__video:after {
  /*content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;*/
}

.media__video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.is-ie .media__video video {
  height: auto;
}

.media__video video::-webkit-media-controls {
  /*display: none;*/
}


/*============================================================================
  
==============================================================================*/

.kv {
  position:relative;
  z-index:10;
  box-shadow:0 5px 20px rgba(0,0,0,0.05);
}
.kv--1 {
  z-index:10;
}
.kv--2 {
  z-index:9;
}
.kv--3 {
  z-index:8;
}
.kv--4 {
  z-index:7;
}
.kv__goast {
  height: 100svh;
}
.kv__image {
  position:relative;
  background-size:cover;
  background-position:center;
  height: 100svh;
  margin-top:-100svh;
  overflow: hidden;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 0;
  display:flex;
}
.kv__image:after {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  background-color:rgba(0,0,0,0.16);
  opacity:0;
  transition:2s;
}
.is-loaded .kv__image:after {
  opacity:1;
}
.kv__image .bg {
  width: 100%;
  height:100%;
  background-color:#333;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  padding:10rem 0 0 10rem;
}
@media only screen and (min-width: 1280px) {
  .kv__image .bg {
    padding:10rem;
  }
}
.kv__content {
  position:relative;
  padding: 0;
  z-index:3;
}
.kv__content:after {
  content:"";
  background: linear-gradient(0deg, rgba(0, 0, 0, .6), transparent);
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: calc(100% - 100svh);
  z-index:0;
}
.kv__content-inner {
  position:relative;
  z-index:2;
}
.kv__text {
  position:relative;
  width:100%;
  min-height: 100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:8rem 4rem;
  color:#fff;
}
@media only screen and (max-width: 768px) {
  .kv__text {
    padding:8rem 2rem;
  }
}
.kv__text--home .logo {
  width:75%;
  max-width: 400px;
  margin:0 auto
}
.kv__text-p {
  justify-content:flex-start
}
.kv__text h1 {
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  font-weight: 600;
}
.kv__text p {
  text-align: justify;
  font-size: 2.0rem;
}
@media only screen and (max-width: 768px) {
  .kv__text p {
    font-size: 1.5rem;
  }
}
.kv__scroll {
  position:fixed;
  left:50%;
  top:96%;
  transform:translate(-50%,-50%);
  cursor:pointer;
  width:2.6rem;
  height:2.6rem;
  padding:0.5rem;
  transition:.5s;
}
.kv__scroll svg {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  z-index:2;
}
.kv__scroll svg path {
  fill:none;
  stroke:currentColor;
  stroke-width:7;
}
.kv__scroll:hover {
  color:#fff;
}
.kv__scroll:before {
  content: "";
  color:#fff;
  display: block;
  position: absolute;
  inset: -0.2em;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 0, 0) scale(0.75);
  z-index: -1;
  border: 6px solid;
  -webkit-mask-box-image: url("../img/border-image.svg") 6 fill / 6px;
  mask-border: url("../img/border-image.svg") 6 fill / 6px;
  transition: transform .3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.kv__scroll:hover:before {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
.kv__scroll:after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  transform: scale3d(1, 1, 1);
  transform-origin: bottom center;
  transition: transform .15s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.kv__scroll:hover:after {
  transform: scale3d(0.9, 0, 1);
}
.is-scroll .kv__scroll {
  opacity:0;
  visibility:hidden;
}



.half__image {
  position:relative;
  background-size:cover;
  background-position:center;
  height: 120vw;
  overflow: hidden;
  position: relative;
  top: 0;
  width: 100%;
  display:block;
  z-index: 0;
}
.half__image-title {
  position:absolute;
  left:6%;
  top:5%;
  width:90%;
  color:#fff;
  padding:0;
  text-align:left;
  line-height:1;
}


.half__texts {
  padding:5rem 0 5rem;
}
.half__texts-next {
  padding:0 0 5rem;
}
@media only screen and (max-width: 768px) {
  .half__image--space {
    width:calc(100% - 4rem);
    margin:2rem 2rem 0;
    height: 110vw;
  }
  .half__image--small {
    height:100vw;
  }
  .half__image-title--bottom {
    top:unset;
    bottom:5%;
    text-shadow:rgba(0, 0, 0, 0.2) 0px 0px 5px;
  }
}

@media only screen and (min-width: 769px) {
  .half__image {
    position: sticky;
    height: 100svh;
  }
  .half__texts {
    display:flex;
    align-items:center;
    padding:4rem 0;
  }
  .half__texts-next {
    min-height:50rem;
    display:flex;
    flex-direction:column;
    align-items: flex-start;
    justify-content: space-between;
    padding:0 2rem 4rem;
  }
}
@media only screen and (min-width: 1025px) {
  .half__texts {
    padding:8rem 0;
  }
  .half__texts-next {
    padding:0 4rem 8rem;
  }
}
@media only screen and (min-width: 1280px) {
  .half__texts-next {
    padding:0 0 8vw;
  }
}



.incLogWrap {
  padding:30px 0;
}
.incLogWrap p {
  text-align:center;
  margin-top:20px;
  font-size:12px;
  opacity:.7;
}

.incLogoSlider {
  --incLogoSlider-num: 7;
  --incLogoSlider-duration: 25s;
  --incLogoSlider-wrapper-size: 170px;
  overflow: hidden
}

@media(max-width: 767px) {
  .incLogoSlider {
    margin-top:12px
  }
}

@keyframes incLogoSlider__slide {
  0% {
    transform: translateX(0)
  }

  100% {
    transform: translateX(calc(var(--incLogoSlider-wrapper-size) * var(--incLogoSlider-num) * -1))
  }
}

.incLogoSlider__content {
  width: 100%;
  position: relative
}

.incLogoSlider__row {
  display: flex;
  width: 200%;
  margin-top: 8px;
  animation: incLogoSlider__slide var(--incLogoSlider-duration) linear infinite
}

.incLogoSlider__row:nth-child(even) {
  margin-left: -10%
}

.incLogoSlider__row:first-of-type {
  margin-top: 0
}

.incLogoSlider__row__half {
  flex-basis: 50%;
  display: flex;
  align-items: center
}

.incLogoSlider__item {
  width: var(--incLogoSlider-wrapper-size);
  text-align: center;
  padding:10px;
}

.incLogoSlider__item img {
  width: 100%;
  height: auto;
  display: inline-block
}


.box-text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  /* box-shadow: 0 0 0 1px #ccc; */
  height:100%;
  padding:1rem;
}
.box-text h4 {
  margin: 1rem 0 2rem;
}
.box-text h3 {
  writing-mode: vertical-rl;
  text-orientation: upright;
  min-height: 28rem;
}
.box-text p {
  text-align: center;
  line-height: 1.3;
  margin:0 0 1rem
}
@media only screen and (min-width: 1025px) {
  .box-text h3 {
    min-height: 36rem;
  }
}
.circle-wrap {
  background-color: #f4f4f4;
  padding:4rem 1px 2rem;
}
.circle-wrap--02 {
  background-color: #e1e1e1;
}
.circle-text {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius:100%;
  background-color: #fff;
  width:90%;
  padding:3rem 1rem;
  margin:0 auto;
}
.circle-text strong {
  font-size: 2.0rem;
}
.circle-text span {
  font-size: 1.6rem;
}
.circle-bottom {
    width: 90%;
    margin:2rem auto;
}
@media only screen and (min-width: 1025px) {
  .circle-text {
    height: 300px;
  }
  .circle-bottom {
  }
}

.footer {
  padding-bottom: 8rem;
}

.footer__content {
  position: relative;
  z-index: 2;
  padding: 4rem 0 2rem;
  color: #666;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 1025px) {
  .footer__content {
    height: 100%;
    justify-content: space-between;
  }
  .footer-media {
    padding-left:3rem
  }
}
.footer-contact p {
  margin: 1rem 0;
}
.footer-info {
  margin-top: 3rem;
}
.footer-info .logo {
  width: 120px;
}
.footer-info p {
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 10px;
}