  /*----- Time for Work/Life -----*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  margin: 0;
  padding: 0;
  display: block;
  position: relative; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track::before, .slick-track::after {
    content: '';
    display: table; }
  .slick-track::after {
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  [dir='rtl'] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    border: 1px solid transparent;
    height: auto;
    display: block; }

.slick-arrow.slick-hidden {
  display: none; }

.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 30px; }
  .slick-dots li {
    margin: 0 10px; }
    .slick-dots li.slick-active button {
      background-color: #debc76; }
  .slick-dots button {
    background-color: transparent;
    background-repeat: no-repeat;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    overflow: hidden;
    text-indent: -9999px;
    width: 9px;
    height: 9px;
    border-radius: 50px;
    background-color: #cdcdcd; }
  @media screen and (max-width: 767px) {
    .slick-dots {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      margin-top: 18px; }
      .slick-dots button {
        width: 12px;
        height: 12px; } }

/* ------------------------------------------------
 other common
------------------------------------------------ */
/* ------------------------------------------------
 kv
------------------------------------------------ */
#kv {
  overflow: hidden; }
  #kv > .inner {
    padding-top: 70px;
    padding-bottom: 50px;
    position: relative; }
    #kv > .inner::before {
      content: "";
      background-color: #e0d0c6;
      background: -webkit-gradient(linear, left top, right top, color-stop(57%, #e0d0c6), color-stop(57%, rgba(224, 208, 198, 0.5)), to(rgba(224, 208, 198, 0.5)));
      background: -webkit-linear-gradient(left, #e0d0c6 57%, rgba(224, 208, 198, 0.5) 57%, rgba(224, 208, 198, 0.5) 100%);
      background: -o-linear-gradient(left, #e0d0c6 57%, rgba(224, 208, 198, 0.5) 57%, rgba(224, 208, 198, 0.5) 100%);
      background: linear-gradient(to right, #e0d0c6 57%, rgba(224, 208, 198, 0.5) 57%, rgba(224, 208, 198, 0.5) 100%);
      margin-top: 70px;
      width: 100vw;
      height: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
  #kv .body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    z-index: 1; }
    #kv .body .txt {
      margin-left: 4.54545%;
      padding-top: 6.36364%; }
      #kv .body .txt .title {
        color: #5f5049;
        line-height: 1; }
        #kv .body .txt .title span {
          display: block; }
        #kv .body .txt .title .l {
          font-size: 350%;
          letter-spacing: .2em; }
        #kv .body .txt .title .s {
          font-size: 175%;
          letter-spacing: .1em;
          margin-top: 1.25em; }
      #kv .body .txt .lead {
        font-size: 125%;
        line-height: 1.8;
        margin-top: 2.5em; }
    #kv .body .img {
      margin-top: -4.54545%;
      width: 52.72727%; }
      #kv .body .img img {
        width: 100%; }
  @media screen and (max-width: 1099.98px) {
    #kv > .inner {
      padding-top: 7.72727%;
      padding-bottom: 4.54545%; } }
  @media screen and (max-width: 767.98px) {
    #kv > .inner {
      padding-top: 0;
      padding-bottom: 0; }
      #kv > .inner::before {
        background: -webkit-gradient(linear, left top, right top, color-stop(76%, #e0d0c6), color-stop(76%, rgba(224, 208, 198, 0.5)), to(rgba(224, 208, 198, 0.5)));
        background: -webkit-linear-gradient(left, #e0d0c6 76%, rgba(224, 208, 198, 0.5) 76%, rgba(224, 208, 198, 0.5) 100%);
        background: -o-linear-gradient(left, #e0d0c6 76%, rgba(224, 208, 198, 0.5) 76%, rgba(224, 208, 198, 0.5) 100%);
        background: linear-gradient(to right, #e0d0c6 76%, rgba(224, 208, 198, 0.5) 76%, rgba(224, 208, 198, 0.5) 100%);
        margin-top: 0;
        padding-top: 109.33333%;
        height: 0; }
    #kv .body {
      display: block; }
      #kv .body .txt {
        margin: 0 8%;
        padding-top: 10.66667%; }
        #kv .body .txt .title {
          color: #5f5049;
          line-height: 1; }
          #kv .body .txt .title span {
            display: block; }
          #kv .body .txt .title .l {
            font-size: 8vw; }
          #kv .body .txt .title .s {
            font-size: 4.26667vw;
            margin-top: 1em; }
        #kv .body .txt .lead {
          font-size: 4vw;
          margin-top: 2em; }
      #kv .body .img {
        margin-top: 0;
        margin-left: auto;
        width: 84%; }
        #kv .body .img img {
          width: 100%; }
    #kv .body .title .l {
      text-align: left; }
      #kv .body .title .l .svgicon {
        height: 14.66667vw; }
    #kv .body .title .s {
      font-size: 4.26667vw; }
    #kv .body > .txt .lead {
      font-size: 4vw;
      margin-top: 1.83333em; }
    #kv .body > .txt nav {
      margin-top: 4.7619%; }
      #kv .body > .txt nav li + li {
        margin-top: 3.1746%; }
      #kv .body > .txt nav li a {
        font-size: 4vw;
        padding: 1em 1em 1.25em; }
        #kv .body > .txt nav li a .num img {
          width: 1.2em;
          height: 1.66667em; }
        #kv .body > .txt nav li a::after {
          background-size: contain;
          width: 0.86667em;
          height: 1.2em; }
    #kv .body .img {
      margin-top: 8%; } }

/* ------------------------------------------------
 strage
------------------------------------------------ */
.section.strage {
  margin-top: 120px; }
  .section.strage header .title .en {
    color: #e59700;
    font-size: 287.5%;
    font-weight: 400;
    line-height: 1;
    margin-top: 0.65217em; }
  .section.strage header .title .ja {
    color: #231815;
    font-size: 187.5%;
    line-height: 1.75;
    font-weight: bold;
    margin-top: 0.5em; }
  .section.strage header .lead {
    font-size: 112.5%;
    line-height: 1.8;
    margin-top: 1.66667em; }
  .section.strage header .img {
    margin-top: 2.375em;
    margin-left: auto;
    width: 67%; }
  .section.strage .item .caption {
    line-height: 1.8;
    margin-top: 1em; }
  .section.strage + .strage {
    margin-top: 150px; }
  @media screen and (min-width: 768px) {
    .section.strage .pc_grid {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 42% 7% 51%;
      grid-template-columns: 42% 7% 51%; }
      .section.strage .pc_grid img {
        vertical-align: top; }
      .section.strage .pc_grid header {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1 / 2;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        grid-row: 1 / 2; }
      .section.strage .pc_grid .img1 {
        -ms-grid-column: 3;
        -ms-grid-column-span: 1;
        grid-column: 3 / 4;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1 / 3; }
      .section.strage .pc_grid .img2 {
        -ms-grid-column: 1;
        -ms-grid-column-span: 1;
        grid-column: 1 / 2;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        grid-row: 2 / 3;
        -ms-grid-row-align: end;
        align-self: end; } }
  @media screen and (max-width: 1099.98px) {
    .section.strage {
      margin-top: 10.90909%; }
      .section.strage + .strage {
        margin-top: 13.63636%; } }
  @media screen and (max-width: 767.98px) {
    .section.strage {
      margin-top: 14.66667%; }
      .section.strage + .strage {
        margin-top: 16%; }
      .section.strage header {
        position: relative; }
        .section.strage header .title .label {
          width: 31.34328%;
          display: block; }
        .section.strage header .title .en {
          font-size: 9.33333vw;
          margin-top: 0.64286em; }
        .section.strage header .title .ja {
          font-size: 4.53333vw;
          margin-top: 0.73529em; }
        .section.strage header .lead {
          font-size: 3.73333vw;
          line-height: 1.8; }
        .section.strage header .img {
          margin-top: 26.86567%;
          width: 35.8209%;
          position: absolute;
          right: 0;
          top: 0; }
      .section.strage .item .caption {
        font-size: 3.46667vw; }
      .section.strage .item.img1 {
        margin: 10.44776% -5.97015% 0; }
      .section.strage .item.img2 {
        margin: 11.9403% 2.98507% 0; } }

/* ----------------------------
 #s1
------------------------------*/
@media screen and (min-width: 768px) {
  .strage#s1 .pc_grid {
    -ms-grid-columns: 53% 7% 40%;
    grid-template-columns: 53% 7% 40%; }
    .strage#s1 .pc_grid header {
      -ms-grid-column: 3;
      -ms-grid-column-span: 1;
      grid-column: 3 / 4;
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      grid-row: 1 / 2; }
    .strage#s1 .pc_grid .img1 {
      -ms-grid-column: 1;
      -ms-grid-column-span: 1;
      grid-column: 1 / 2;
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      grid-row: 1 / 2; }
    .strage#s1 .pc_grid .img2 {
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
      grid-column: 1 / 4;
      -ms-grid-row: 2;
      -ms-grid-row-span: 1;
      grid-row: 2 / 3;
      margin-top: 5.5%; } }

/* ----------------------------
 #s3
------------------------------*/
@media screen and (min-width: 768px) {
  .strage#s3 .img2 .img {
    margin-top: 4.7619%;
    margin-left: auto;
    width: 35.71429%; } }

@media screen and (max-width: 767.98px) {
  .strage#s3 {
    position: relative; }
    .strage#s3 .img2 {
      margin-top: -8.8%;
      width: 21.6%;
      position: absolute;
      right: 2.66667%;
      top: 0; }
      .strage#s3 .img2 .img {
        margin-top: 0;
        margin-left: 0;
        width: 100%; } }

/* ------------------------------------------------
 clean.option
------------------------------------------------ */
.section.clean.option .body {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .section.clean.option .body .title {
    font-size: 175%; }
  .section.clean.option .body .txt {
    line-height: 1.8; }
    .section.clean.option .body .txt .heading {
      font-size: 137.5%;
      font-weight: bold;
      line-height: 1; }
    .section.clean.option .body .txt .detail {
      font-size: 112.5%;
      margin-top: .5em; }
      .section.clean.option .body .txt .detail + .heading {
        margin-top: 1em; }

@media screen and (max-width: 767.98px) {
  .section.clean.option .body {
    display: block; }
    .section.clean.option .body .title {
      font-size: 4.53333vw;
      text-align: center; }
    .section.clean.option .body .txt {
      font-size: 3.73333vw; }
      .section.clean.option .body .txt .heading {
        font-size: 3.73333vw;
        margin-top: .75em; }
      .section.clean.option .body .txt .detail {
        font-size: 3.73333vw; }
    .section.clean.option .body .img {
      margin-top: 6%; } }

/* ----------------------------
 washroom
------------------------------*/
.clean#washroom .body .title {
  margin-bottom: 1.1em;
  width: 100%; }

@media screen and (min-width: 768px) {
  .clean#washroom > .inner {
    padding-top: 120px;
    padding-bottom: 70px; }
  .clean#washroom .body {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .clean#washroom .body .txt {
      width: 62.22222%; }
    .clean#washroom .body .img {
      width: 31.11111%; } }

@media screen and (max-width: 1099.98px) {
  .clean#washroom > .inner {
    padding-top: 10.90909%;
    padding-bottom: 6.36364%; } }

@media screen and (max-width: 767.98px) {
  .clean#washroom > .inner {
    padding-top: 13.33333%;
    padding-bottom: 10.66667%; } }

/* ----------------------------
 locker
------------------------------*/
@media screen and (min-width: 768px) {
  .clean#locker > .inner {
    padding-top: 70px; }
  .clean#locker .body .txt {
    width: 44.44444%; }
  .clean#locker .body .img {
    width: 49.77778%; } }

@media screen and (max-width: 1099.98px) {
  .clean#locker > .inner {
    padding-top: 6.36364%; } }

@media screen and (max-width: 767.98px) {
  .clean#locker > .inner {
    padding-top: 9.33333%; } }

/* ------------------------------------------------
 clean.aircon
------------------------------------------------ */
#aircon {
  line-height: 1.8;
  background-color: #f7f6f5; }
  #aircon > .inner {
    padding-top: 70px;
    padding-bottom: 70px; }
  #aircon .body {
    margin: 0 auto; }
    #aircon .body .txt .title {
      font-size: 112.5%;
      margin-bottom: .5em; }
    #aircon .body .txt .note {
      font-size: 75%;
      margin-top: .5em; }
    #aircon .body.s {
      margin-top: 4.54545%; }
      #aircon .body.s + .s {
        border-top: 1px solid #c6c5c4;
        padding-top: 4.54545%; }
  @media screen and (min-width: 768px) {
    #aircon .body.pc_col_2 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    #aircon #aircon_1 {
      text-align: center;
      line-height: 1.8; }
      #aircon #aircon_1 .title {
        font-size: 175%; }
      #aircon #aircon_1 .lead {
        font-size: 112.5%;
        margin-top: 1em; }
      #aircon #aircon_1 .img {
        margin-top: 2em; }
    #aircon #aircon_2 .txt {
      width: 65.55556%; }
    #aircon #aircon_2 .img {
      width: 31.11111%; }
    #aircon #aircon_3 .txt {
      width: 56.22222%; }
    #aircon #aircon_3 .img {
      width: 40%; } }
  @media screen and (max-width: 1099.98px) {
    #aircon > .inner {
      padding-top: 6.36364%;
      padding-bottom: 6.36364%; } }
  @media screen and (max-width: 767.98px) {
    #aircon > .inner {
      padding-top: 9.33333%;
      padding-bottom: 9.33333%; }
    #aircon .body {
      display: block; }
      #aircon .body.s {
        margin-top: 8.95522%; }
        #aircon .body.s + .s {
          padding-top: 8.95522%; }
        #aircon .body.s .img {
          margin: 4.47761% auto 0; }
      #aircon .body .txt .title {
        font-size: 3.73333vw;
        text-align: center; }
      #aircon .body .txt .lead {
        font-size: 3.46667vw; }
      #aircon .body .img {
        margin-top: 7.46269%; }
    #aircon #aircon_1 .title {
      font-size: 4.26667vw;
      margin-left: -1em;
      margin-right: -1em; }
    #aircon #aircon_1 .lead {
      font-size: 3.73333vw; }
    #aircon #aircon_1 .img {
      margin-top: 2em; }
    #aircon #aircon_2 .img {
      width: 65.37313%; }
    #aircon #aircon_3 .img {
      width: 82.08955%; } }

/* ------------------------------------------------
 energy
------------------------------------------------ */
@media screen and (min-width: 768px) {
  .section.energy_kv .body .img {
    margin-bottom: -1.81818%; } }

.section.energy > .inner {
  padding-top: 80px;
  padding-bottom: 80px; }

.section.energy .title {
  font-size: 175%;
  line-height: 1.8; }

.section.energy header .title {
  text-align: center; }

.section.energy header + .body {
  margin-top: 2.72727%; }

.section.energy .body {
  margin: 0 auto; }
  .section.energy .body .txt {
    line-height: 1.8; }
    .section.energy .body .txt .heading {
      font-size: 137.5%;
      font-weight: bold; }
      .section.energy .body .txt .heading + p {
        margin-top: .5em; }
    .section.energy .body .txt .detail {
      font-size: 112.5%; }
  .section.energy .body .link {
    text-align: center;
    margin-top: 2em; }
  .section.energy .body + .body {
    border-top: 1px solid #e5e5e5;
    margin-top: 4.54545%;
    padding-top: 4.54545%; }

@media screen and (min-width: 768px) {
  .section.energy .body.pc_col_2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

@media screen and (max-width: 1099.98px) {
  .section.energy > .inner {
    padding-top: 7.27273%;
    padding-bottom: 7.27273%; } }

@media screen and (max-width: 767.98px) {
  .section.energy > .inner {
    padding-top: 10.66667%;
    padding-bottom: 10.66667%; }
  .section.energy .title {
    font-size: 4.53333vw; }
  .section.energy .body {
    display: block; }
    .section.energy .body .txt {
      font-size: 3.73333vw; }
      .section.energy .body .txt .title {
        text-align: center; }
        .section.energy .body .txt .title + p {
          margin-top: 1em; }
      .section.energy .body .txt .heading {
        font-size: 3.73333vw; }
      .section.energy .body .txt .detail {
        font-size: 3.73333vw; }
      .section.energy .body .txt + .img {
        margin-top: 5.97015%; }
    .section.energy .body + .body {
      margin-top: 8.95522%;
      padding-top: 7.46269%; } }

/* ----------------------------
 energy#s1
------------------------------*/
.energy#s1 > .inner {
  padding-top: 100px; }

@media screen and (min-width: 768px) {
  .energy#s1 .body.pc_col_2 .txt {
    width: 55.55556%; }
  .energy#s1 .body.pc_col_2 .img {
    width: 34.44444%; }
  .energy#s1 .body:nth-of-type(2) {
    text-align: center; }
    .energy#s1 .body:nth-of-type(2) .img {
      margin-top: 1em; } }

@media screen and (max-width: 1099.98px) {
  .energy#s1 > .inner {
    padding-top: 11.11111%; } }

@media screen and (max-width: 767.98px) {
  .energy#s1 > .inner {
    padding-top: 10.66667%; }
  .energy#s1 .body .img {
    margin-left: auto;
    margin-right: auto; }
  .energy#s1 .body.pc_col_2 .img {
    width: 68.65672%; }
  .energy#s1 .body:nth-of-type(2) {
    text-align: center; }
    .energy#s1 .body:nth-of-type(2) .img {
      margin-top: 1em; } }

/* ----------------------------
 energy#s2
------------------------------*/
.energy#s2 {
  background-color: #f7f6f5; }
  .energy#s2 > .inner {
    padding-top: 60px; }
  @media screen and (max-width: 1099.98px) {
    .energy#s2::before {
      padding-top: 5.45455%; }
    .energy#s2 > .inner {
      padding-top: 5.45455%; } }
  @media screen and (max-width: 767.98px) {
    .energy#s2 > .inner {
      padding-top: 9.33333%; }
    .energy#s2 .body:first-of-type {
      margin-top: 1.5em; } }

/* ----------------------------
 energy#s3
------------------------------*/
.energy#s3 > .inner {
  padding-bottom: 0 !important; }

@media screen and (min-width: 768px) {
  .energy#s3 .body.pc_col_2 .txt {
    margin-left: -5.55556%;
    width: 54.44444%; }
    .energy#s3 .body.pc_col_2 .txt .detail {
      margin-top: 1em; }
  .energy#s3 .body.pc_col_2 .img {
    width: 49.77778%;
    width: 46.11111%; } }
