@charset "UTF-8";
/*2021-0315追加*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,700;1,800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Slabo+27px&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@100;200;300;400;500;600&display=swap');
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media (min-width:576px) {
  .container {
    max-width: 540px
  }
}

@media (min-width:768px) {
  .container {
    max-width: 720px
  }
}

@media (min-width:992px) {
  .container {
    max-width: 960px
  }
}

@media (min-width:1200px) {
  .container {
    max-width: 1140px
  }
}

.container-fluid, .container-lg, .container-md, .container-sm, .container-xl {
  max-width: 1600px;
  width: 90%;
  padding-right: 0;
  padding-left: 0;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width:768px) {
  .container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
  }
}

.container-fluid02 {
  max-width: 1240px;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid-80 {
  width: 80%;
  padding-right: 0;
  padding-left: 0;
  margin-right: 10%;
  margin-left: 10%;
}

@media (max-width:768px).container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

}

@media (min-width:576px) {
  .container, .container-sm {
    max-width: 540px
  }
}

@media (min-width:768px) {
  .container, .container-md, .container-sm {
    max-width: 720px
  }
}

@media (min-width:992px) {
  .container, .container-lg, .container-md, .container-sm {
    max-width: 960px
  }
}

@media (min-width:1200px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1140px
  }
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px
}

.no-gutters {
  margin-right: 0;
  margin-left: 0
}

.no-gutters>.col, .no-gutters>[class*=col-] {
  padding-right: 0;
  padding-left: 0
}

.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  min-width: 0;
  max-width: 100%
}

.row-cols-1>* {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%
}

.row-cols-2>* {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%
}

.row-cols-3>* {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.row-cols-4>* {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%
}

.row-cols-5>* {
  -ms-flex: 0 0 20%;
  flex: 0 0 20%;
  max-width: 20%
}

.row-cols-6>* {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-auto {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: 100%
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%
}

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%
}

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%
}

.order-first {
  -ms-flex-order: -1;
  order: -1
}

.order-last {
  -ms-flex-order: 13;
  order: 13
}

.order-0 {
  -ms-flex-order: 0;
  order: 0
}

.order-1 {
  -ms-flex-order: 1;
  order: 1
}

.order-2 {
  -ms-flex-order: 2;
  order: 2
}

.order-3 {
  -ms-flex-order: 3;
  order: 3
}

.order-4 {
  -ms-flex-order: 4;
  order: 4
}

.order-5 {
  -ms-flex-order: 5;
  order: 5
}

.order-6 {
  -ms-flex-order: 6;
  order: 6
}

.order-7 {
  -ms-flex-order: 7;
  order: 7
}

.order-8 {
  -ms-flex-order: 8;
  order: 8
}

.order-9 {
  -ms-flex-order: 9;
  order: 9
}

.order-10 {
  -ms-flex-order: 10;
  order: 10
}

.order-11 {
  -ms-flex-order: 11;
  order: 11
}

.order-12 {
  -ms-flex-order: 12;
  order: 12
}

.offset-1 {
  margin-left: 8.333333%
}

.offset-2 {
  margin-left: 16.666667%
}

.offset-3 {
  margin-left: 25%
}

.offset-4 {
  margin-left: 33.333333%
}

.offset-5 {
  margin-left: 41.666667%
}

.offset-6 {
  margin-left: 50%
}

.offset-7 {
  margin-left: 58.333333%
}

.offset-8 {
  margin-left: 66.666667%
}

.offset-9 {
  margin-left: 75%
}

.offset-10 {
  margin-left: 83.333333%
}

.offset-11 {
  margin-left: 91.666667%
}

@media (min-width:576px) {
  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-sm-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-sm-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-sm-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-sm-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-sm-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-sm-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-sm-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-sm-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-sm-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-sm-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-sm-0 {
    margin-left: 0
  }
  .offset-sm-1 {
    margin-left: 8.333333%
  }
  .offset-sm-2 {
    margin-left: 16.666667%
  }
  .offset-sm-3 {
    margin-left: 25%
  }
  .offset-sm-4 {
    margin-left: 33.333333%
  }
  .offset-sm-5 {
    margin-left: 41.666667%
  }
  .offset-sm-6 {
    margin-left: 50%
  }
  .offset-sm-7 {
    margin-left: 58.333333%
  }
  .offset-sm-8 {
    margin-left: 66.666667%
  }
  .offset-sm-9 {
    margin-left: 75%
  }
  .offset-sm-10 {
    margin-left: 83.333333%
  }
  .offset-sm-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:768px) {
  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-md-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-md-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-md-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-md-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-md-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-md-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-md-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-md-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-md-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-md-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-md-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-md-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-md-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-md-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-md-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-md-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-md-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-md-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-md-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-md-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-md-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-md-0 {
    margin-left: 0
  }
  .offset-md-1 {
    margin-left: 8.333333%
  }
  .offset-md-2 {
    margin-left: 16.666667%
  }
  .offset-md-3 {
    margin-left: 25%
  }
  .offset-md-4 {
    margin-left: 33.333333%
  }
  .offset-md-5 {
    margin-left: 41.666667%
  }
  .offset-md-6 {
    margin-left: 50%
  }
  .offset-md-7 {
    margin-left: 58.333333%
  }
  .offset-md-8 {
    margin-left: 66.666667%
  }
  .offset-md-9 {
    margin-left: 75%
  }
  .offset-md-10 {
    margin-left: 83.333333%
  }
  .offset-md-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:992px) {
  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-lg-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-lg-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-lg-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-lg-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-lg-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-lg-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-lg-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-lg-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-lg-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-lg-0 {
    margin-left: 0
  }
  .offset-lg-1 {
    margin-left: 8.333333%
  }
  .offset-lg-2 {
    margin-left: 16.666667%
  }
  .offset-lg-3 {
    margin-left: 25%
  }
  .offset-lg-4 {
    margin-left: 33.333333%
  }
  .offset-lg-5 {
    margin-left: 41.666667%
  }
  .offset-lg-6 {
    margin-left: 50%
  }
  .offset-lg-7 {
    margin-left: 58.333333%
  }
  .offset-lg-8 {
    margin-left: 66.666667%
  }
  .offset-lg-9 {
    margin-left: 75%
  }
  .offset-lg-10 {
    margin-left: 83.333333%
  }
  .offset-lg-11 {
    margin-left: 91.666667%
  }
}

@media (min-width:1200px) {
  .col-xl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-xl-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-xl-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-xl-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-xl-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-xl-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-xl-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xl-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-xl-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-xl-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xl-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-xl-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-xl-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-xl-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-xl-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-xl-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-xl-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-xl-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-xl-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-xl-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-xl-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-xl-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-xl-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-xl-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-xl-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-xl-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-xl-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-xl-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-xl-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-xl-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-xl-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-xl-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-xl-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-xl-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-xl-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-xl-0 {
    margin-left: 0
  }
  .offset-xl-1 {
    margin-left: 8.333333%
  }
  .offset-xl-2 {
    margin-left: 16.666667%
  }
  .offset-xl-3 {
    margin-left: 25%
  }
  .offset-xl-4 {
    margin-left: 33.333333%
  }
  .offset-xl-5 {
    margin-left: 41.666667%
  }
  .offset-xl-6 {
    margin-left: 50%
  }
  .offset-xl-7 {
    margin-left: 58.333333%
  }
  .offset-xl-8 {
    margin-left: 66.666667%
  }
  .offset-xl-9 {
    margin-left: 75%
  }
  .offset-xl-10 {
    margin-left: 83.333333%
  }
  .offset-xl-11 {
    margin-left: 91.666667%
  }
}

@media (max-width:576px) {
  .col-xs {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-xs-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-xs-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-xs-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-xs-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-xs-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-xs-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xs-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-xs-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-xs-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xs-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-xs-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-xs-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-xs-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-xs-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-xs-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-xs-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-xs-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-xs-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-xs-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-xs-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-xs-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-xs-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-xs-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-xs-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-xs-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-xs-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-xs-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-xs-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-xs-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-xs-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-xs-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-xs-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-xs-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-xs-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-xs-0 {
    margin-left: 0
  }
  .offset-xs-1 {
    margin-left: 8.333333%
  }
  .offset-xs-2 {
    margin-left: 16.666667%
  }
  .offset-xs-3 {
    margin-left: 25%
  }
  .offset-xs-4 {
    margin-left: 33.333333%
  }
  .offset-xs-5 {
    margin-left: 41.666667%
  }
  .offset-xs-6 {
    margin-left: 50%
  }
  .offset-xs-7 {
    margin-left: 58.333333%
  }
  .offset-xs-8 {
    margin-left: 66.666667%
  }
  .offset-xs-9 {
    margin-left: 75%
  }
  .offset-xs-10 {
    margin-left: 83.333333%
  }
  .offset-xs-11 {
    margin-left: 91.666667%
  }
}

@media (max-width:576px) {
  .col-xs {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 100%
  }
  .row-cols-xs-1>* {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .row-cols-xs-2>* {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .row-cols-xs-3>* {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .row-cols-xs-4>* {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .row-cols-xs-5>* {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%
  }
  .row-cols-xs-6>* {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xs-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: 100%
  }
  .col-xs-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
  }
  .col-xs-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
  }
  .col-xs-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
  }
  .col-xs-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
  }
  .col-xs-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
  }
  .col-xs-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
  }
  .col-xs-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
  }
  .col-xs-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
  }
  .col-xs-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
  }
  .col-xs-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
  }
  .col-xs-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
  }
  .col-xs-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
  }
  .order-xs-first {
    -ms-flex-order: -1;
    order: -1
  }
  .order-xs-last {
    -ms-flex-order: 13;
    order: 13
  }
  .order-xs-0 {
    -ms-flex-order: 0;
    order: 0
  }
  .order-xs-1 {
    -ms-flex-order: 1;
    order: 1
  }
  .order-xs-2 {
    -ms-flex-order: 2;
    order: 2
  }
  .order-xs-3 {
    -ms-flex-order: 3;
    order: 3
  }
  .order-xs-4 {
    -ms-flex-order: 4;
    order: 4
  }
  .order-xs-5 {
    -ms-flex-order: 5;
    order: 5
  }
  .order-xs-6 {
    -ms-flex-order: 6;
    order: 6
  }
  .order-xs-7 {
    -ms-flex-order: 7;
    order: 7
  }
  .order-xs-8 {
    -ms-flex-order: 8;
    order: 8
  }
  .order-xs-9 {
    -ms-flex-order: 9;
    order: 9
  }
  .order-xs-10 {
    -ms-flex-order: 10;
    order: 10
  }
  .order-xs-11 {
    -ms-flex-order: 11;
    order: 11
  }
  .order-xs-12 {
    -ms-flex-order: 12;
    order: 12
  }
  .offset-xs-0 {
    margin-left: 0
  }
  .offset-xs-1 {
    margin-left: 8.333333%
  }
  .offset-xs-2 {
    margin-left: 16.666667%
  }
  .offset-xs-3 {
    margin-left: 25%
  }
  .offset-xs-4 {
    margin-left: 33.333333%
  }
  .offset-xs-5 {
    margin-left: 41.666667%
  }
  .offset-xs-6 {
    margin-left: 50%
  }
  .offset-xs-7 {
    margin-left: 58.333333%
  }
  .offset-xs-8 {
    margin-left: 66.666667%
  }
  .offset-xs-9 {
    margin-left: 75%
  }
  .offset-xs-10 {
    margin-left: 83.333333%
  }
  .offset-xs-11 {
    margin-left: 91.666667%
  }
}

@media (max-width:576px) {
  .order-xs-1 {
    -ms-flex-order: 1;
    order: 1;
  }
  .order-xs-2 {
    -ms-flex-order: 2;
    order: 2;
  }
}

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

#common-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 90;
  height: 80px;
  background: #232734;
  color: #fff;
}

#common-header h1 a img {
  transition: all .5s ease;
  width: 150px;
}

#common-header h1, #nav-torigger, .header-item .btn-default {
  top: 20px;
}

.header-item .item01-2103 {
  display: block;
  position: absolute;
  right: 300px;
  z-index: 100;
  transition: all .5s ease;
}

.header-item .item02-2103 {
  display: block;
  position: absolute;
  right: 118px;
  z-index: 100;
  transition: all .5s ease;
}

@media (max-width:1200px) {
  .header-item .item01-2103 {
    right: 250px;
  }
  .header-item .item02-2103 {
    right: 90px;
  }
}

@media (max-width:1000px) {
  .header-item .item01-2103 {
    right: 220px;
  }
  .header-item .item02-2103 {
    right: 80px;
  }
}

@media (max-width:768px) {
  .header-item .item01-2103 {
    display: none;
  }
  .header-item .item02-2103 {
    display: none;
  }
}

/*header munu*/

.menu-top-2103 {
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 2.4rem;
  color: #1e1e1e;
  line-height: 1.2;
}

.menu-top-2103 a {
  color: #1e1e1e;
}

.menu-box-2103 a {
  font-size: 24px;
  font-size: 2.4rem;
  color: #1e1e1e;
  line-height: 1.2;
}

.menu-box-2103 span {
  margin-top: 8px;
  margin-bottom: 30px;
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
}

.co-mt {
  margin-top: 5em;
}

.co-mb {
  margin-bottom: 5em;
}

.co-pt {
  padding-top: 5em;
}

.co-pb {
  padding-bottom: 5em;
}

@media (max-width: 768px) {
  .co-mt {
    margin-top: 3em;
  }
  .co-mb {
    margin-bottom: 3em;
  }
  .co-pt {
    padding-top: 3em;
  }
  .co-pb {
    padding-bottom: 3em;
  }
}

.sp-2103 {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width:768px) {
  .sp-2103 {
    padding-top: 10px;
    padding-bottom: 20px;
  }
}

.row-2103 {
  margin-top: 10px;
  margin-bottom: 70px;
}

@media (max-width:768px) {
  .row-2103 {
    margin-top: 10px;
    margin-bottom: 20px;
  }
}

.inner-2103 {
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  max-width: 100%;
  height: 100%;
}

.mv-index .inner-2103 {
  padding-left: 40px;
  width: 100%;
  position: relative;
  z-index: 1
}

.title-box-2103 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.title-2103 {
  width: 750px;
}

@media (max-width: 768px) {
  .title-2103 {
    width: 500px;
  }
}

/*TOPアニメーション*/

.top-anime_start-2103 img {
  animation-name: anime_start;
  animation-duration: 4s;
  filter: brightness(0) invert(1);
  -webkit-clip-path: polygon(0% 0%, 10% 0%, 10% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 10% 0%, 10% 100%, 0% 100%);
}

.anime00-2103 img {
  animation-name: anime_00;
  animation-duration: 3s;
  filter: brightness(0) invert(1);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/*.anime01-2103{
    animation-name: anime01;
    animation-duration: 4s;
    filter: brightness(0) invert(1);
}*/

.anime02-2103 {
  animation-name: anime02;
  animation-duration: 3s;
}

.anime02-2103 img {
  filter: brightness(1) invert(0)!important;
  animation-name: anime02;
  animation-duration: 3s;
}

.anime03-2103 {
  animation-name: anime03;
  animation-duration: 2s;
  opacity: 0;
}

.anime03-2103 img {
  filter: brightness(1) invert(0);
}

@keyframes anime_start {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes anime_00 {
  0% {
    -webkit-clip-path: polygon(0% 0%, 10% 0%, 10% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 10% 0%, 10% 100%, 0% 100%);
  }
  50% {}
  100% {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}

@keyframes anime01 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes anime02 {
  0% {
    filter: brightness(0) invert(1);
  }
  100% {
    filter: brightness(1) invert(0);
  }
}

@keyframes anime03 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.title-box02-2103 {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 500px;
  height: 40%;
}

.top-anime-txt {
  color: #fff;
  font-size: 100px;
  font-family: Oswald, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: 3px;
  animation-name: slidelast;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  /*これで値を保持*/
  opacity: 0;
  /* ここを追加 */
  text-align: left;
  margin-bottom: 20px;
}

@media (max-width: 1200px) {
  .title-box02-2103 {
    width: 460px;
    height: 300px;
  }
  .top-anime-txt {
    font-size: 90px;
  }
}

@media (max-width: 840px) {
  .title-box02-2103 {
    width: 400px;
    height: 300px;
  }
  .top-anime-txt {
    font-size: 80px;
  }
}

@media (max-width: 640px) {
  .title-box02-2103 {
    width: 300px;
    height: 200px;
  }
  .top-anime-txt {
    font-size: 60px;
  }
}

@media (max-width: 500px) {
  .title-box02-2103 {
    width: 280px;
    height: 200px;
  }
  .top-anime-txt {
    font-size: 55px;
  }
}

@media (max-width: 400px) {
  .title-box02-2103 {
    width: 65%;
    height: 200px;
  }
  .top-anime-txt {
    font-size: 50px;
  }
}

@media (max-width: 380px) {
  .title-box02-2103 {
    width: 60%;
    height: 200px;
  }
  .top-anime-txt {
    font-size: 40px;
  }
}

@keyframes slidelast {
  0% {
    opacity: 0;
    transform: translateX(60px);
    letter-spacing: 25px;
  }
  100% {
    opacity: 1;
    letter-spacing: 3px;
    transform: translateX(0px);
  }
}

.top-anime02_start-2103 p:nth-child(1) {
  animation-delay: 17s;
}

.top-anime02_start-2103 p:nth-child(2) {
  animation-delay: 18s;
}

.top-anime02_start-2103 p:nth-child(3) {
  animation-delay: 19s;
}

.top-anime02_start-2103 p:nth-child(4) {
  animation-delay: 20s;
}

/*news*/

.newsbox-2103 {
  position: absolute;
  right: 2%;
  top: 80%;
  z-index: 10;
  color: #fff;
  background-color: #232734;
  padding: 30px 15px;
}

.news-2103 {
  font-family: 'Montserrat' sans-serif!important;
  font-weight: 700;
  letter-spacing: 5px;
  font-size: 20px;
}

@media (max-width: 768px) {
  .news-2103 {
    padding-bottom: 0.5em;
    font-size: 15px;
    margin: 10px;
  }
  .newsbox-2103 {
    right: 0;
    left: 50%;
    top: 80%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    width: 80%;
  }
}

@media (max-width: 640px) {
  .news-2103 {
    padding-bottom: 0.5em;
    font-size: 15px;
    margin: 10px;
  }
  .newsbox-2103 {
    right: 0;
    left: 50%;
    top: 75%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    width: 90%;
  }
}

.news-pc-2103 {
  display: block;
}

@media (max-width: 640px) {
  .news-pc-2103 {
    display: none;
  }
}

@media (max-width: 600px) {
  .newsbox-2103 {
    right: 0;
    left: 50%;
    top: 75%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    width: 90%;
  }
}

.news-sp-2103 {
  display: none;
}

@media (max-width: 640px) {
  .news-sp-2103 {
    display: block;
  }
}

.topnews-box-2103 {
  color: #fff!important;
}

.topnews-content-2103 {
  font-family: 'Montserrat' sans-serif;
  font-size: 15px;
  color: #fff!important;
  letter-spacing: 1px;
  margin: 0 10px;
  padding-left: 7.3em;
  text-indent: -7.3em;
}

@media (max-width: 768px) {
  .topnews-content-2103 {
    font-size: 11px;
    color: #fff;
  }
}

@media (max-width: 640px) {
  .topnews-content-2103 {
    font-size: 16px;
    margin-bottom: 5px;
    padding-left: 0em;
    text-indent: 0em;
  }
}

.topnews-sepa-2103 {
  padding-left: 20px;
  padding-right: 10px;
  color: #fff!important;
}

.top-news-title-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size: 15px;
  line-height: 200%;
  color: #fff!important;
}

.top-news-title-2103 span {
  font-size: 14px;
  line-height: 130%;
}

.top-news-title-2103 a {
  color: #fff!important;
}

.top-news-title-2103 br {
  display: none;
}

@media (max-width: 640px) {
  .top-news-title-2103 {
    padding-top: 0px;
  }
  .top-news-title-2103 br {
    display: block;
    margin-top: 10px;
  }
}

.arrow-2103 {
  position: relative;
  display: inline-block;
  padding-right: 100px;
}

.arrow-2103::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 15px;
  right: 20px;
  margin-top: -4px;
}

@media (max-width: 640px) {
  .arrow-2103 {
    position: relative;
    display: inline-block;
    padding-right: 30px;
  }
  .arrow-2103::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 40px;
    right: 0px;
    margin-top: -4px;
  }
}

/*top_mv*/

.video-box-2021 {
  background-color: #232734;
}

.video-box-2103 {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

#mv-top-video-2103 {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100vh;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#mv-top-video02-2103 {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100vh;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#mv-top-video_sp-2103 {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: auto;
  min-height: 100vh;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#mv-top-video02_sp-2103 {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: auto;
  min-height: 100vh;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media (max-width:600px) {
  #mv-top-video_sp-2103 {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 85vh;
    height: 85vh;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  #mv-top-video02_sp-2103 {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 85vh;
    height: 85vh;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

#mv-video-2103 {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  top: 0;
}

#mv-video-2103:after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
}

#mv-video-2021 {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  top: 0;
}

#mv-video-2021:after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width:600px) {
  #mv-video-2021 {
    position: absolute;
    overflow: hidden;
    width: 100%;
    height: 85vh;
    top: 0;
    background-color: #232734;
  }
}

/* CONCEPT ページ topmovie*/

.concept-top-2021 {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  top: 0;
  z-index: 0;
}

.concept-top-2021 video {
  min-width: 80%;
  min-height: 100vh;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.concept-topmv-2021:after {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, .5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.zindex-2103 {
  z-index: 5;
}

#concept-movie-2021 {
  width: 80%;
  margin: auto;
}

#concept-moviesp-2021 {
  width: 100%;
  margin: auto;
}

.remodal {
  background-color: transparent!important;
  max-width: initial!important;
  padding: 35px 0!important;
}

.remodal-close-2021 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  width: 50px;
}

.remodal-close-2021 {
  height: 35px;
  padding: 0;
  -webkit-transition: color .2s;
  transition: color .2s;
  color: #95979c;
  background: 0 0;
  overflow: visible;
  margin: 0;
  cursor: pointer;
  text-decoration: none;
  outline: 0;
  border: 0;
}

.remodal-close-2021:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif!important;
  font-size: 35px;
  line-height: 35px;
  content: "\00d7";
  text-align: center;
}

.remodal-close-2021, .remodal-close-2021:before {
  position: absolute;
  top: 0;
  right: -39.5%;
  display: block;
  width: 100%;
}

@media (max-width:640px) {
  .remodal-close-2021, .remodal-close-2021:before {
    position: absolute;
    top: 0;
    right: -48%;
    display: block;
    width: 100%;
  }
}

/*top*/

.top-main-txt-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 19px;
  font-size: 1.9rem;
  font-weight: 100;
  letter-spacing: 2px;
  line-height: 200%;
  margin: 5px 0;
}

.top-main-txt02-2103 {
  margin-bottom: 50px;
}

.top-main-title-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 50px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 20px;
  margin-bottom: 30px;
}

.top-main-title-2103 br {
  display: none;
}

.top-main-concept-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 40px;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 100vh;
  height: 40px;
  width: 150px;
  text-align: center;
  transition: .5s;
  margin-top: 35px;
}

.top-main-concept-2103 a {
  display: block;
  color: #fff;
}

.top-main-concept-2103:hover {
  background: #fff;
}

.top-main-concept-2103 a:hover {
  color: #232734
}

.top-newimg-2103 {
  margin: 0 auto;
  text-align: center;
}

.top-newimg-2103 img {
  max-width: 500px;
}

@media (max-width:992px) {
  .top-newimg-2103 {
    margin: 40px auto 0;
    text-align: center;
  }
  .top-newimg-2103 img {
    max-width: 400px;
  }
}

@media (max-width:786px) {
  .top-newimg-2103 img {
    max-width: 300px;
  }
}

.sp99-none {
  display: block;
}

@media (max-width:992px) {
  .sp99-none {
    display: none;
  }
}

.pc99-none {
  display: none;
}

@media (max-width:992px) {
  .pc99-none {
    display: block;
  }
}

@media (max-width: 835px) {
  .top-main-txt-2103 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px!important;
    font-weight: 100;
    letter-spacing: 2px;
    line-height: 300%;
    margin: 5px 0;
  }
}

@media (max-width: 768px) {
  .top-main-txt-2103 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px!important;
    font-weight: 100;
    letter-spacing: 2px;
    line-height: 300%;
    margin: 5px 0;
  }
  .top-main-concept-2103 {
    margin-top: 20px;
  }
}

@media (max-width: 640px) {
  .top-main-txt-2103 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px!important;
    font-weight: 100;
    letter-spacing: 2px;
    line-height: 300%;
    margin: 5px 0;
  }
  .top-main-title-2103 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 40px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 200%;
    margin-top: 20px;
    margin-bottom: 30px;
  }
  .top-main-title-2103 br {
    display: block;
  }
}

/*top-main*/

.sp-span-none {
  display: inline;
}

@media (max-width:768px) {
  .sp-span-none {
    display: none;
  }
}

.pc--span-none {
  display: none;
}

@media (max-width:768px) {
  .pc-span-none {
    display: block;
  }
}

.content-2103 {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (max-width: 835px) {
  .content-2103 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media (max-width: 768px) {
  .content-2103 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media (max-width: 640px) {
  .content-2103 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.top-title-box-2103 {
  border-top: 1px solid #fff;
  padding-top: 25px;
  padding-bottom: 50px;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.top-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 23px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 30px;
  padding-left: 7.5em;
  text-indent: -7.5em;
}

.top-title01-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 23px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 30px;
  padding-left: 4.9em;
  text-indent: -4.9em;
}

.top-title02-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 23px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 30px;
  padding-left: 6.8em;
  text-indent: -6.8em;
  max-width: 85%;
}

.top-title03-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 23px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 30px;
  padding-left: 7.5em;
  text-indent: -7.5em;
  max-width: 95%;
}

.top-sub-title-2103 {
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 13px!important;
  font-weight: 300;
  letter-spacing: 1px;
  line-height: 30px;
  color: #bbb;
  margin-left: 20px;
  margin-bottom: 0;
}

.top-sub-title-2103 br {
  display: none;
}

@media (max-width: 1200px) {
  .top-sub-title-2103 br {
    display: block;
  }
}

@media (max-width: 768px) {
  .top-sub-title-2103 {
    margin-left: 0;
    margin-bottom: 0;
    width: 80%;
  }
}

.cats_link-2103 {
  position: absolute;
  bottom: 60px;
  right: 0;
}

.cats_link-2103 a {
  color: #fff;
  font-size: 20px;
}

/*top-scene*/

/*
.top-scenesImg {
    max-width:1000px;
    max-height:600px;
    margin:0 auto;
    display: flex;
    justify-content: center;
    align-items: top;
    overflow:hidden;
    padding-bottom:0;
}
.top-scenesImg img {
		height:auto;
    max-width:250%;
}
@media (max-width: 1200px) {
.top-scenesImg {
    max-width:2000px;
    max-height:450px;
}	
}
@media (max-width: 840px) {
.top-scenesImg {
    max-width:2000px;
    max-height:400px;

 
}	
}
@media (max-width: 768px) {
.top-scenesImg {
    max-width:2000px;
    max-height:350px;

}	
}
@media (max-width: 640px) {
.top-scenesImg img {
    height:auto;
    max-width:250%;
    max-height:initial;
}	
}*/

.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;'
}

.top-scenesImg-01 {
  position: relative;
  overflow: hidden;
  /*　画像が枠からはみ出た部分はトリミング（非表示）する　*/
  margin: 0 auto;
}

.top-scenesImg-01 img {
  display: block;
  height: 700px;
  width: 100;
  object-fit: cover;
  transition: 0s!important;
}

@media (max-width: 1600px) {
  .top-scenesImg-01 img {
    display: block;
    height: 600px;
    object-fit: cover;
  }
}

@media (max-width: 1500px) {
  .top-scenesImg-01 img {
    display: block;
    height: 500px;
    object-fit: cover;
  }
}

@media (max-width: 1200px) {
  .top-scenesImg-01 img {
    display: block;
    height: 400px;
    object-fit: cover;
  }
}

@media (max-width: 992px) {
  .top-scenesImg-01 img {
    display: block;
    height: 350px;
    object-fit: cover;
  }
}

@media (max-width: 839px) {
  .top-scenesImg-01 img {
    display: block;
    height: 300px;
    object-fit: cover;
  }
}

@media (max-width: 768px) {
  .top-scenesImg-01 img {
    display: block;
    height: 250px;
    object-fit: cover;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .top-scenesImg-01 img {
    display: block;
    height: 500px;
    object-fit: cover;
    width: 100%;
  }
}

.text-block-2103 {
  margin-top: 15px;
  margin-bottom: 20px;
  text-align: left;
  direction: ltr;
}

@media (max-width: 639px) {
  .text-block-2103 {
    padding: 0 15px;
  }
}

.top-scenes-title {
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  font-size: 20px;
  font-weight: 100;
  color: #fff;
  line-height: 200%;
}

.top-scenes-title a {
  color: #fff;
  margin: 0 auto;
}

.top-scenes-catul-2103 {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.top-scenes-catul-2103 li {
  color: #848484;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 100;
  margin-right: 10px;
}

.top-projects-title {
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 18px;
  color: #fff;
  line-height: 200%;
}

.top-projects-title a {
  text-align: left;
  color: #fff;
  margin: 0 auto;
}

.top-cap-2103 {
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 13px;
  font-weight: 100;
  color: #848484;
  line-height: 200%;
  margin-bottom: 0px;
}

.top-cap-2103-wh {
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 13px;
  font-weight: 500;
  color: #164C6C;
  line-height: 200%;
  margin-bottom: 5px;
}

@media (max-width:768px) {
  .top-cap-2103-wh {
    font-size: 13px;
    font-size: 1.3rem!important;
  }   
}


.top-com-2103 {
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 13px;
  font-weight: 100;
  line-height: 200%;
  color: #848484;
}

/*TOP PRODUCTS*/

.top-pickupimg-2021 {
  position: relative;
  width: 100%;
}

.top-pickup-2021 {
  position: absolute;
  top: 5%;
  left: 2%;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 2px;
  font-family: 'Montserrat', sans-serif;
  z-index: 5;
  color: #fff;
}

/*
.top-pickup-bg-2021{
	position:absolute;
	top:0;
	left:0;
	border-left: 50px solid #DB0012;
  border-bottom: 50px solid transparent;
	z-index:3;
}*/

.top-pickup-bg-2021 {
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 5;
}

.top-pickup-bg-2021 img {
  width: 100%!important;
  height: auto!important;
}

.top-product-loop-wrapper-2103 {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}

.product-info-box-2103 {
  margin-bottom: 60px;
  width: 13%;
  color: #fff;
}

.product-top-cat-box .product-thumb a .top_term_name-2103 {
  padding-left: 15px;
  padding-right: 15px;
  word-break: break-word;
  color: #fff;
  display: block;
  text-align: center;
  width: 100%;
  /* font-size: 30px; */
  font-size: 2rem;
  line-height: 150%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
}

@media (max-width: 840px) {
  .top-product-loop-wrapper-2103 {
    padding-right: 2%;
    padding-left: 2%;
    justify-content: normal;
  }
  .product-info-box-2103 {
    margin-right: 2%;
    width: 23%;
    color: #fff;
  }
}

@media (max-width: 640px) {
  .top-product-loop-wrapper-2103 {
    padding-right: 4%;
    padding-left: 10%;
  }
  .product-info-box-2103 {
    width: 42%;
    margin-right: 2%;
    margin-left: 2%;
  }
}

/* FLOW*/

.top-flowbox-2103 {
  border: 1px solid #fff;
  padding: 30px 40px;
  color: #fff!important;
  transition: .3s;
  margin-bottom: 100px
}

.top-flowbox-2103:hover {
  background-color: rgba(255, 255, 255, 0.2);
}

.top-flowleft-2103 {
  padding-left: 8%;
}

@media (max-width: 1500px) {
  .top-flowleft-2103 {
    padding-left: 3%;
  }
}

@media (max-width: 1200px) {
  .top-flowleft-2103 {
    padding-left: 0;
  }
}

.top-flowcenter-2103 {
  align-items: center;
}

.top-flow-title-2103 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 40px!important;
  font-weight: 300;
  letter-spacing: 3px;
  line-height: 150%;
  margin-bottom: 20px;
}

.top-flow-txt-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  margin-bottom: 20px;
  max-width: 350px;
  color: #bbb;
}

.top-view-2103 {
  font-family: 'Montserrat', sans-serif;
  width: 200px;
}

@media (max-width: 835px) {
  .top-flow-title-2103 {
    font-size: 30px!important;
    margin-bottom: 20px;
  }
  .top-flow-txt-2103 {
    font-size: 12px;
    margin-bottom: 20px;
  }
}

@media (max-width: 768px) {
  .top-flow-title-2103 {
    margin-bottom: 15px;
  }
  .top-flow-txt-2103 {
    margin-bottom: 15px;
    max-width: initial;
  }
  .top-view-2103 {
    margin-top: 20px;
    max-width: 400px;
  }
}

@media (max-width: 640px) {
  .top-flow-title-2103 {
    font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 35px!important;
    margin-bottom: 10px;
  }
  .top-flow-txt-2103 {
    margin-bottom: 10px;
  }
  .top-view-2103 {
    margin-top: 20px;
    width: 200px;
    margin-left: auto;
    margin-right: auto;
  }
}

/*wood office */

.index-offece h2 {
  position: relative;
  z-index: 10;
  font-size: 58px;
  font-weight: 100;
  letter-spacing: 2px;
}

.index-offece h2 span {
  font-size: 33px;
  letter-spacing: 2px;
  font-weight: 100;
}

.index-offece .up p {
  position: relative;
  z-index: 10;
  display: block;
}

.index-offece .up a {
  position: relative;
  z-index: 10;
  display: block;
}

.link-2103 {
  position: relative;
  z-index: 1;
}

.link-2103 a {
  display: block;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* 必要であればリンク要素の重なりのベース順序指定 */
}

.link02-2103 {
  position: relative;
  z-index: 1;
}

.link02-2103 a {
  display: block;
  color: #fff;
  position: absolute;
  padding-top: 100px;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 20;
  /* 必要であればリンク要素の重なりのベース順序指定 */
}

.link-right-2103 {
  position: relative;
  left: 53%;
}

.btn-2103 {
  display: block;
  max-width: 200px!important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
}

.wood-title-2103 {
  font-family: 'Noto Serif', serif;
  font-size: 50px!important;
  font-weight: 300;
  letter-spacing: 2px;
  color: #fff;
}

@media (max-width:768px) {
  .link02-2103 a {
    padding-top: 45px;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media (max-width:992px) {
  .link-right-2103 {
    position: relative;
    left: 0%;
  }
}

@media (max-width:768px) {
  .index-offece h2 {
    font-size: 40px;
  }
  .index-offece h2 span {
    font-size: 20px;
  }
}

@media (max-width:640px) {
  .index-offece h2 {
    font-size: 30px;
  }
  .index-offece h2 span {
    font-size: 20px;
  }
  .index-offece .up p {
    display: none;
  }
  .btn-2103 {
    display: none!important;
  }
}

@media (max-width:500px) {
  .index-offece h2 {
    font-size: 25px;
  }
  .index-offece h2 span {
    font-size: 15px;
  }
  .index-offece .up p {
    display: none;
  }
  .btn-2103 {
    display: none!important;
  }
}

.of-title-2103 {
  position: absolute;
  top: 0px;
  left: 0px;
  color: #fff;
}

.of-txt-2103 {
  position: absolute;
  top: 100px;
  left: 0;
  color: #fff;
}

.top-txt-rightbox-2103 {
  -ms-flex: 0 0 55%;
  flex: 0 0 55%;
  max-width: 55%
}

.top-txt-2103 {
  font-family: Montserrat, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  margin-bottom: 20px;
}

@media (max-width:992px) {
  .top-txt-rightbox-2103 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: initial;
  }
}

@media (max-width:768px) {
  .top-txt-2103 {
    font-size: 10px;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 150%;
    margin-bottom: 10px;
  }
}

/* OFFICE CONTACT*/

#oc-box {
  position: relative;
  z-index: 10;
  background-color: #fff;
}

.oc-box-left2103 {
  height: 500px;
  position: relative;
  padding-top: 5em;
  padding-bottom: 50px;
  padding-left: 30px;
  transition: .5s;
  z-index: 10;
}

.oc-box-left2103:hover {
  background-color: #DBDCDE;
}

@media (max-width:768px) {
  .oc-box-left2103 {
    height: 300px;
    position: relative;
    padding-left: 0px;
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media (max-width:640px) {
  .oc-box-left2103 {
    height: 300px;
    padding-top: 6em;
  }
}

.oc-box-right2103 {
  height: 500px;
  position: relative;
  padding-top: 5em;
  padding-bottom: 50px;
  padding-right: 30px;
  transition: .5s;
  z-index: 10;
}

.oc-box-right2103:hover {
  background-color: #DBDCDE;
}

@media (max-width:768px) {
  .oc-box-right2103 {
    height: 300px;
    position: relative;
    padding-right: 0px;
    margin-right: 15px;
    margin-left: 15px;
  }
}

@media (max-width:640px) {
  .oc-box-right2103 {
    height: 300px;
    padding-top: 6em;
  }
}

.oc-box-line-2103 {
  border-top: none;
  border-left: 0px;
}

.oc-box-line-2103:before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0%;
  display: inline-block;
  width: 1px;
  /*下線の幅*/
  height: 480px;
  /*下線の太さ*/
  background-color: #000;
  /*下線の色*/
}

.oc-boxinner-2103 {
  text-align: center;
  color: #232734;
}

.oc-boxinner-right-2103 {
  padding-right: 15px;
}

.oc-boxinner-left-2103 {
  padding-left: 15px;
}

.oc-boxinner-right-2103 {
  text-align: center;
  color: #232734;
  transition: .5s;
}

.oc-title-2103 {
  font-family: 'Noto Serif', serif;
  font-size: 45px;
  font-weight: 300;
  letter-spacing: 2px;
  color: #232734;
  line-height: 100%;
}

.oc-boxinner-2103 h2:after {
  content: '';
  width: 70px;
  height: 1px;
  position: absolute;
  top: 120%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #232734;
}

@media (max-width:1200px) {
  .oc-boxinner-2103 h2:after {
    top: 125%;
  }
}

@media (max-width:1100px) {
  .oc-boxinner-2103 h2:after {
    top: 125%;
  }
}

@media (max-width:1000px) {
  .oc-boxinner-2103 h2:after {
    top: 120%;
  }
}

@media (max-width:900px) {
  .oc-boxinner-2103 h2:after {
    top: 123%;
  }
}

@media (max-width:768px) {
  .oc-boxinner-right-2103 {
    padding-right: 0px;
  }
  .oc-boxinner-left-2103 {
    padding-left: 0px;
  }
  .oc-box2103 {
    height: 300px;
    position: relative;
    padding-top: 5em;
    padding-bottom: 2em;
    margin: 0;
  }
  .oc-boxinner-2103 h2:after {
    width: 0px;
  }
}

.oc-txt-01-2103 {
  font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", HiraMinProN-W6, "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  color: #232734;
}

.oc-txt-02-2103 {
  font-family: Montserrat, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  text-align: center;
  margin-top: 50px;
}

@media (max-width:768px) {
  .oc-box-line-2103 {
    border-left: none;
    border-top: 1px solid #232734;
    padding-top: 30px;
  }
  .oc-box-line-2103:before {
    width: 0px;
    height: 0px;
  }
  .oc-title-2103 {
    font-size: 35px;
  }
  .oc-txt-01-2103 {
    font-size: 16px;
  }
  .oc-txt-02-2103 {
    font-size: 13px;
    margin-top: 20px;
  }
}

@media (max-width:640px) {
  .oc-title-2103 {
    font-size: 25px;
  }
}

@media (max-width:500px) {
  .oc-txt-01-2103 {
    font-size: 15px;
  }
}

.oc-btn-default-2103 {
  padding: 14px 15px;
  display: inline-block;
  font-size: 14px;
  border: 1px solid #232734;
  color: #232734;
  min-width: 160px;
  text-align: center;
  transition: all .5s ease;
  margin-top: 50px;
}

.oc-btn-default-2103:hover {
  background: #232734;
  color: #fff;
}

.oc-btn-default-2103.btn-big {
  padding: 30px 20px;
  width: 320px;
  max-width: 100%;
  font-size: 14px;
}

.oc-btn-default-2103.btn-big:hover {
  background: #232734;
  color: #fff;
}

@media (max-width:768px) {
  .oc-btn-default-2103 {
    min-width: 120px;
    margin-top: 20px;
  }
  .oc-btn-default-2103.btn-big {
    padding: 20px 10px;
    width: 220px;
    font-size: 11px;
  }
}

/* Footer*/

.footer-nav-2103 {
  margin-left: auto!important;
  width: 60%!important;
}

.footer-logo-2103 {
  width: 150px!important;
}

@media (max-width:640px) {
  .footer-logo-2103 {
    width: 250px!important;
    margin: 0 auto 12%;
  }
}

.footer-nav-2103 .footer-nav-list {
  padding-right: 20px
}

.footer-nav-2103 .footer-nav-list:nth-of-type(1) {
  width: 10%
}

.footer-nav-2103 .footer-nav-list:nth-of-type(2) {
  width: 30%
}

.footer-nav-2103 .footer-nav-list:nth-of-type(3) {
  width: 20%
}

.footer-nav-2103 .footer-nav-list:nth-of-type(4) {
  width: 20%
}

.footer-nav-2103 .footer-nav-list:nth-of-type(5) {
  width: 20%
}

/* CONCEPT ページ*/

/* CONCEPT ページ コンテンツ*/

#con-main-2103 {
  text-align: left;
}

.con-main-img01-2103 {
  margin-top: 20px;
  margin-bottom: 50px;
}

.con-main-img01-2103 img {
  max-width: 350px;
}

.con-main-img02-2103 {
  margin-top: 80px;
  margin-bottom: 20px;
}

.con-main-img02-2103 img {
  max-width: 250px;
}

.con-main-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 75px!important;
  font-weight: 900!important;
  letter-spacing: 2px;
  line-height: 125%;
  color: #8C99A7;
  word-break: break-all;
}

.con-second-title-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 34px!important;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 20px;
  word-break: break-all;
}

.con-second-title-2103 br {
  display: none;
}

.con-main-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 20px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 300%;
  margin-top: 0px;
  margin-bottom: 0px;
}

.con-main-txt02-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16 px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 250%;
  margin-top: 30px;
  margin-bottom: 30px;
  color: #bbb;
}

@media (max-width:835px) {
  .con-second-title-2103 {
    font-size: 30px!important;
  }
  .con-main-txt-2103 {
    font-size: 20px!important;
  }
}

@media (max-width:768px) {
  #con-main-2103 {
    text-align: left;
  }
  .con-main-img01-2103 {
    margin-top: 20px;
    margin-bottom: 30px;
  }
  .con-main-img01-2103 img {
    max-width: 300px;
  }
  .con-main-img02-2103 {
    margin-top: 40px;
    margin-bottom: 80px;
  }
  .con-main-img02-2103 img {
    max-width: 200px;
  }
  .con-main-title-2103 {
    font-size: 40px!important;
    letter-spacing: 2px;
    line-height: 120%;
  }
  .con-second-title-2103 {
    font-size: 20px!important;
    line-height: 150%;
    margin-top: 20px;
  }
  .con-second-title-2103 br {
    display: block;
  }
  .con-main-txt-2103 {
    font-size: 16px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 220%;
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .con-main-txt02-2103 {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 16 px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 200%;
    margin-top: 30px;
    margin-bottom: 30px;
    color: #bbb;
  }
}

.col-tb-2103 {
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width:768px) {
  .col-tb-2103 {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

@media (max-width:576px) {
  .col-tb-2103 {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}

.text-center {
  text-align: center!important;
}

.m-lr-auto-2103 {
  margin: 0 auto;
}

.con-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 50px!important;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 120%;
  color: #ccc;
  word-break: break-all;
}

.con-title-2103 span {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 20px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
}

.con-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 30px;
  margin-bottom: 0px;
  color: #bbb;
  text-align: left;
}

.con-more-2103 {
  border-bottom: 1px solid #fff;
  padding-bottom: 5px;
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #fff;
  margin-top: 30px;
  width: 230px;
}

.con-more-2103 span {
  font-weight: 300;
  font-size: 14px;
  color: #fff;
}

.con-more02-2103 {
  border-bottom: 1px solid #fff;
  padding-bottom: 5px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #fff;
  margin-top: 30px;
  width: 210px;
}

.con-more02-2103 span {
  font-weight: 300;
  font-size: 14px;
  color: #fff;
}

@media (max-width:768px) {
  .con-title-2103 {
    font-size: 35px!important;
    font-weight: 600;
    letter-spacing: 2px;
    line-height: 125%;
    opacity: 0.5;
  }
  .con-title-2103 span {
    font-size: 15px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 150%;
    opacity: 0.8;
  }
  .con-txt-2103 {
    font-size: 12px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 200%;
    margin-top: 5px;
    margin-bottom: 10px;
    text-align: left;
  }
}

#con-safety-2103 {
  text-align: center;
}

.safe-main-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 75px!important;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 130%;
  color: #EF7843;
  position: relative;
  z-index: 15;
}

.safe-second-title-2103 {
  font-size: 34px!important;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 20px;
  color: #bbb;
  position: relative;
  z-index: 15;
}

.safe-txt-2103 {
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 250%;
  margin-top: 30px;
  margin-bottom: 0px;
  text-align: center;
  color: #bbb;
  position: relative;
  z-index: 15;
}

.safe-txt-2103 br {
  display: block;
}

@media (max-width:835px) {
  .safe-second-title-2103 {
    font-size: 30px!important;
  }
  .safe-txt-2103 {
    font-size: 20px!important;
  }
}

@media (max-width:768px) {
  .safe-main-title-2103 {
    font-size: 40px!important;
    letter-spacing: 2px;
    line-height: 120%;
  }
  .safe-second-title-2103 {
    font-size: 20px!important;
    line-height: 150%;
    margin-top: 20px;
    text-align: left;
  }
  .safe-txt-2103 {
    font-size: 14px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 200%;
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: left;
  }
  .safe-txt-2103 br {
    display: none;
  }
}

.safe-block-2103 {
  margin-bottom: 100px;
  position: relative;
  z-index: 20;
}

.bg-base2021 {
  background: #232734;
  color: #fff;
  position: relative;
  z-index: 20;
}

.bg-base2021-01 {
  background: #232734;
  color: #fff;
  position: relative;
  z-index: 0;
}

.bg-base2021-02 {
  background: #232734;
  color: #fff;
  position: relative;
  z-index: 10;
}

.safe-tec-cover2021 {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 6;
  background: #232734;
  width: 100%;
  height: 20%;
}

.safe-tec-z2021 {
  position: relative;
  z-index: 10;
}

.safe-zbox-2103 {
  position: relative;
  z-index: 15;
}

/*safe PCデザイン*/

.safe-bg01-2103 {
  background: url(../img/concept/11c2p-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 100%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
  margin-bottom: 200px;
}

/*
.safe-bg01-2103:after{
    content:"";
    width: 100%;
    height: 100%;
	background:#232734;
    position: fixed;
	top:80%;
	left:0;
	bottom:0;
	z-index:8;
}*/

.safe-bg01-sp-2103 {
  background: url(../img/concept/10c_sp-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 460%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
  margin-top: 100px;
  margin-bottom: 50px;
}

/*
.safe-bg01-sp-2103:after{
    content:"";
    width: 100%;
    height: 100%;
	background:#232734;
    position: fixed;
	top:80%;
	left:0;
	bottom:0;
	z-index:8;
}*/

.safe-box01-2103 {
  width: 100%;
  position: absolute;
  top: 2%;
}

.safe-box02-2103 {
  margin-top: 33%;
  width: 100%;
  position: absolute;
  top: 0;
}

.safe-box03-2103 {
  margin-top: 70%;
  width: 100%;
  position: absolute;
  top: 0px;
}

.bgflex-2103 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  /*中央揃え*/
}

@media (max-width:786px) {
  .bgflex-2103 {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
}

@media (max-width:786px) {
  .bgflex-2103 {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
}

@media (max-width:576px) {
  .bgflex-2103 {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }
}

.safe-bgmr-2103 {
  margin-top: 13%;
}

.safe-bg01-title-2103 {
  font-family: 'Prompt', sans-serif;
  font-size: 65px;
  font-size: 6.5rem;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  margin-bottom: 0px;
  opacity: 0.5;
  color: #fff;
  position: relative;
  z-index: 10;
}

.safe-bg01-sub-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 300;
  letter-spacing: 2px;
  margin-left: 15px;
  margin-bottom: 0px;
  color: #EF7843;
  position: relative;
  z-index: 10;
}

.safe-bg01-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  margin-bottom: 0px;
  color: #bbb;
  position: relative;
  z-index: 10;
}

.bg01-txt-2103 {
  margin-top: 20px;
}

.sate-Lbox-2103 {
  padding-right: 20px;
}

.sate-Rbox-2103 {
  padding-left: 20px;
}

.safe-01num-2103 {
  margin-left: 0;
}

.safe-01num-2103 img {
  width: 50px;
  max-width: 40px;
}

.safe-02num-2103 {
  margin-left: 0;
}

.safe-02num-2103 img {
  width: 80px;
}

.safe-03num-2103 {
  margin-left: 0;
}

.safe-03num-2103 img {
  width: 90px;
}

.safe-img01-2103 {
  margin-left: 20px;
  margin-top: -30px;
  margin-bottom: 30px;
}

.safe-img01-2103 img {
  max-width: 200px;
}

.safe-img02-2103 {
  margin-left: 0px;
  margin-right: 20px;
  margin-top: -10px;
}

.safe-img02-2103 img {
  max-width: 350px;
}

.safe-img03-2103 {
  margin-left: 20px;
  margin-top: 70px;
}

.safe-img03-2103 img {
  max-width: 100%;
}

@media (max-width:992px) {
  .safe-box01-2103 {
    width: 100%;
    position: absolute;
    top: 0%;
  }
  .safe-img01-2103 {
    margin-left: 20px;
    margin-top: -40px;
    margin-bottom: 40px;
  }
  .safe-01num-2103 img {
    min-width: 45px;
  }
  .safe-02num-2103 img {
    min-width: 55px;
  }
  .safe-03num-2103 img {
    min-width: 55px;
  }
}

@media (max-width:840px) {
  .safe-box01-2103 {
    width: 100%;
    position: absolute;
    top: 1%;
  }
  .bg01-txt-2103 {
    margin-top: 10px;
  }
  .safe-01num-2103 img {
    min-width: 40px;
  }
  .safe-02num-2103 img {
    min-width: 50px;
  }
  .safe-03num-2103 img {
    min-width: 50px;
  }
}

@media (max-width:768px) {
  .safe-01num-2103 img {
    width: 55px;
  }
  .safe-02num-2103 img {
    width: 60px;
  }
  .safe-03num-2103 img {
    width: 60px;
  }
}

@media (max-width:576px) {
  .safe-01num-2103 img {
    min-width: 45px;
  }
  .safe-02num-2103 img {
    min-width: 50px;
  }
  .safe-03num-2103 img {
    min-width: 50px;
  }
}

/*safe SPデザイン*/

.safe-box01sp-2103 {
  margin-top: 18%;
  width: 100%;
  position: absolute;
  top: 0;
}

.safe-box02sp-2103 {
  margin-top: 170%;
  width: 100%;
  position: absolute;
  top: 0;
}

.safe-box03sp-2103 {
  margin-top: 320%;
  width: 100%;
  position: absolute;
  top: 0px;
}

.safe-spbox-2103 {
  padding-right: 30px;
  padding-left: 30px;
}

.safe-bg01sp-sub-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: 2px;
  margin-left: 15px;
  max-width: 500px;
  color: #EF7843;
  text-align: left;
}

.safe-bg01sp-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  color: #bbb;
}

.safe-img01sp-2103 {
  margin-left: 0px;
  margin-top: 50px;
}

.safe-img01sp-2103 img {
  max-width: 50%;
}

.safe-img02sp-2103 {
  margin-top: 50px;
}

.safe-img02sp-2103 img {
  max-width: 70%;
}

.safe-img03sp-2103 {
  margin-left: 0px;
  margin-top: 70px;
}

.safe-img03sp-2103 img {
  max-width: 70%;
}

@media (max-width:576px) {
  .safe-box01sp-2103 {
    margin-top: 15%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box02sp-2103 {
    margin-top: 170%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box03sp-2103 {
    margin-top: 320%;
    width: 100%;
    position: absolute;
    top: 0px;
  }
  .safe-bg01sp-sub-2103 {
    font-size: 20px;
    margin-top: 15px;
    margin-bottom: 15px;
    max-width: 370px;
  }
  .safe-bg01sp-txt-2103 {
    font-size: 14px;
  }
  .safe-img01sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .safe-img01sp-2103 img {
    max-width: 50%;
  }
  .safe-img02sp-2103 {
    margin-top: 20px;
  }
  .safe-img02sp-2103 img {
    max-width: 60%;
  }
  .safe-img03sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .safe-img03sp-2103 img {
    max-width: 70%;
  }
}

@media (max-width:390px) {
  .safe-box01sp-2103 {
    margin-top: 10%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box02sp-2103 {
    margin-top: 170%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box03sp-2103 {
    margin-top: 320%;
    width: 100%;
    position: absolute;
    top: 0px;
  }
  .safe-bg01sp-sub-2103 {
    font-size: 18px;
    margin-top: 15px;
    margin-bottom: 15px;
    margin-left: 10px;
    max-width: 370px;
  }
  .safe-bg01sp-txt-2103 {
    font-size: 13px;
    line-height: 175%;
  }
  .safe-img01sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .safe-img01sp-2103 img {
    max-width: 40%;
  }
  .safe-img02sp-2103 {
    margin-top: 20px;
  }
  .safe-img02sp-2103 img {
    max-width: 40%;
  }
  .safe-img03sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .safe-img03sp-2103 img {
    max-width: 50%;
  }
}

@media (max-width:360px) {
  .safe-box01sp-2103 {
    margin-top: 10%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box02sp-2103 {
    margin-top: 160%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .safe-box03sp-2103 {
    margin-top: 320%;
    width: 100%;
    position: absolute;
    top: 0px;
  }
  .safe-bg01sp-sub-2103 {
    font-size: 16px;
  }
  .safe-bg01sp-txt-2103 {
    font-size: 13px;
    line-height: 150%;
  }
}

#con-tec-2103 {
  text-align: center;
}

.con-tec-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 75px!important;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 130%;
  color: #588F45;
  text-align: center;
}

.tec-bg-2103 {
  background: url(../img/concept/01tec-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 100%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
}

.tec-bg-sp-2103 {
  background: url(../img/concept/01tecsp-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 300%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
}

@media (max-width:768px) {
  .con-tec-title-2103 {
    font-family: 'Montserrat', sans-serif;
    font-size: 40px!important;
    font-weight: 900;
    letter-spacing: 2px;
    line-height: 120%;
  }
}

/*TEC PCデザイン*/

.tec-bg01-2103 {
  background: url(../img/concept/12c-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 80%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
  margin-bottom: 50px;
}

/*
.tec-bg01-2103:after{
    content:"";
    width: 100%;
    height: 100%;
	background:#232734;
    position: fixed;
	top:80%;
	left:0;
	bottom:0;
	z-index:8;
}*/

.tec-bg01-sp-2103 {
  background: url(../img/concept/11c_sp-2103.svg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: 285%;
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
  position: relative;
}

/*
.tec-bg01-sp-2103:after{
    content:"";
    width: 100%;
    height: 100%;
	background:#232734;
    position: fixed;
	top:80%;
	left:0;
	bottom:0;
	z-index:8;
}*/

.tecbgflex-2103 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  /*中央揃え*/
}

@media (max-width:768px) {
  .tecbgflex-2103 {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
  }
}

@media (max-width:768px) {
  .tecbgflex-2103 {
    margin-bottom: 20px;
  }
}

@media (max-width:576px) {
  .tecbgflex-2103 {
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10px;
  }
}

.tec-bg01-title-2103 {
  font-family: 'Prompt', sans-serif;
  font-size: 6.5rem;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 150%;
  margin-bottom: 0px;
  opacity: 0.5;
  color: #fff;
  position: relative;
  z-index: 15;
}

.tec-bg01-sub-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 300;
  letter-spacing: 2px;
  margin-left: 15px;
  margin-bottom: 0px;
  color: #588F45;
  position: relative;
  z-index: 15;
}

.tec-bg01-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  color: #bbb;
  position: relative;
  z-index: 15;
}

.tec-box01-2103 {
  margin-top: 6%;
  width: 100%;
  position: absolute;
  top: 0px;
}

.tec-box02-2103 {
  margin-top: 43%;
  width: 100%;
  position: absolute;
  top: 0;
}

.tec-bgmr-2103 {
  margin-top: 13%;
}

.tec-img01-2103 {
  margin-left: 20px;
  margin-top: 0px;
}

.tec-img01-2103 img {
  max-width: 80%;
}

.tec-img02-2103 {
  margin-left: 30px;
  margin-right: 20px;
  margin-top: 20px;
}

.tec-img02-2103 img {
  max-width: 100%;
}

@media (max-width:992px) {
  .tec-box01-2103 {
    margin-top: 4%;
    width: 100%;
    position: absolute;
    top: 0px;
  }
  .tec-box02-2103 {
    margin-top: 41%;
    width: 100%;
    position: absolute;
    top: 0;
  }
}

@media (max-width:840px) {
  .tec-box01-2103 {
    margin-top: 2%;
    width: 100%;
    position: absolute;
    top: 0px;
  }
  .tec-box02-2103 {
    margin-top: 39%;
    width: 100%;
    position: absolute;
    top: 0;
  }
}

/*TEC SPデザイン*/

.tec-box01sp-2103 {
  margin-top: 20%;
  width: 100%;
  position: absolute;
  top: 0px;
}

.tec-box02sp-2103 {
  margin-top: 155%;
  width: 100%;
  position: absolute;
  top: 0;
}

.tec-spbox-2103 {
  padding-right: 30px;
  padding-left: 30px;
}

.tec-bg01sp-sub-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: 2px;
  margin-left: 10px;
  color: #588F45;
  text-align: left;
}

.tec-bg01sp-txt-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 2px;
  line-height: 200%;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  color: #bbb;
}

.tec-img01sp-2103 {
  margin-top: 50px;
}

.tec-img01sp-2103 img {
  max-width: 80%;
}

.tec-img02sp-2103 {
  margin-top: 50px;
}

.tec-img02sp-2103 img {
  max-width: 70%;
}

@media (max-width:576px) {
  .tec-bg01-sp-2103 {
    background: url(../img/concept/11c_sp-2103.svg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: 270%;
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
    position: relative;
  }
  .tec-box01sp-2103 {
    margin-top: 20%;
  }
  .tec-box02sp-2103 {
    margin-top: 145%;
  }
  .tec-spbox-2103 {
    padding-right: 40px;
    padding-left: 40px;
  }
  .tec-bg01sp-sub-2103 {
    font-size: 22px;
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .tec-bg01sp-txt-2103 {
    font-size: 16px;
    max-width: 370px;
    margin-right: auto;
    margin-left: auto;
    color: #bbb;
  }
  .tec-img01sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .tec-img01sp-2103 img {
    max-width: 80%;
  }
  .tec-img02sp-2103 {
    margin-top: 20px;
  }
  .tec-img02sp-2103 img {
    max-width: 60%;
  }
}

@media (max-width:480px) {
  .tec-bg01-sp-2103 {
    background: url(../img/concept/11c_sp-2103.svg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: 270%;
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
    position: relative;
  }
  .tec-box01sp-2103 {
    margin-top: 10%;
  }
  .tec-box02sp-2103 {
    margin-top: 130%;
  }
  .tec-spbox-2103 {
    padding-right: 40px;
    padding-left: 40px;
  }
  .tec-bg01sp-sub-2103 {
    font-size: 21px;
    margin-top: 15px;
    margin-bottom: 10px;
    max-width: 370px;
  }
  .tec-bg01sp-txt-2103 {
    font-size: 15px;
    max-width: 370px;
    margin-right: auto;
    margin-left: auto;
    color: #bbb;
  }
  .tec-img01sp-2103 {
    margin-left: 0px;
    margin-top: 20px;
  }
  .tec-img01sp-2103 img {
    max-width: 70%;
  }
  .tec-img02sp-2103 {
    margin-top: 20px;
  }
  .tec-img02sp-2103 img {
    max-width: 50%;
  }
}

@media (max-width:428px) {
  .tec-bg01-sp-2103 {
    background: url(../img/concept/11c_sp-2103.svg) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: 288%;
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
    position: relative;
  }
  .tec-box01sp-2103 {
    margin-top: 7%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .tec-box02sp-2103 {
    margin-top: 140%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .tec-spbox-2103 {
    padding-right: 40px;
    padding-left: 40px;
  }
  .tec-bg01sp-sub-2103 {
    font-size: 18px;
  }
  .tec-bg01sp-txt-2103 {
    font-size: 13px;
    line-height: 175%;
  }
  .tec-img01sp-2103 {
    margin-left: 0px;
    margin-top: 10px;
  }
  .tec-img01sp-2103 img {
    max-width: 80%;
  }
  .tec-img02sp-2103 {
    margin-top: 10px;
  }
  .tec-img02sp-2103 img {
    max-width: 60%;
  }
}

@media (max-width:360px) {
  .tec-box01sp-2103 {
    margin-top: 5%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .tec-box02sp-2103 {
    margin-top: 135%;
    width: 100%;
    position: absolute;
    top: 0;
  }
  .tec-spbox-2103 {
    padding-right: 40px;
    padding-left: 40px;
  }
  .tec-bg01sp-sub-2103 {
    font-size: 16px;
  }
  .tec-bg01sp-txt-2103 {
    font-size: 13px;
    line-height: 150%;
  }
  .tec-img01sp-2103 {
    margin-left: 0px;
    margin-top: 10px;
  }
  .tec-img01sp-2103 img {
    max-width: 70%;
  }
  .tec-img02sp-2103 {
    margin-top: 10px;
  }
  .tec-img02sp-2103 img {
    max-width: 50%;
  }
}

/*---------------*/

/*sceneページ*/

/*---------------*/

.single-scenes .arrow-box-blue{
  margin: 0;
  padding-bottom: 100px;
}

.co-scenes-2103 {
  padding-bottom: 3em;
  font-size: 30px!important;
}

.co-scenes-menu-2103 {
  padding-top: 60px;
  padding-bottom: 100px;
}

.scenesNav {
  padding-top: 36px;
  padding-bottom: 40px;
  margin-bottom: 31px;
  text-align: center;
  position: relative;
}

.scenesNav li {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  overflow: hidden;
}

.scenesNav li a {
  padding: 5px 10px;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  border: thin solid #fff;
  border-radius: 5px;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
}

.scenesNav li a.active {
  background: #fff;
  color: #164C6C;
  border-radius: 5px;
}

.cat-item.current-cat a {
  background: #fff;
  color: #164C6C;
}

.scenesColmImg {
  max-width: 2000px;
  max-height: 2000px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding-bottom: 0;
}

.scenesColmImg img {
  position: static;
  top: 0%;
  left: 0%;
  transform: translate(0%, 0%);
  height: auto;
  max-width: 250%;
  /* 横向き16:9の画像が表示エリア一杯になるように指定 */
  max-height: initial;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.5s;
}

.scenesColmImg img:hover {
  transform: scale(1.05, 1.05);
}

.scenesColmImg-01 {
  position: relative;
  overflow: hidden;
  /*　画像が枠からはみ出た部分はトリミング（非表示）する　*/
  margin: 0 auto;
}

.scenesColmImg-01 img {
  display: block;
  height: 25vw;
  object-fit: cover;
  width: 100%;
  transition: 0.5s;
}



@media (max-width: 992px) {
  .scenesColmImg-01 img {
    height: 60vw;
  }
}

@media (max-width: 768px) {
  .scenesColmImg-01 img {
    display: block;
    height: 60vw;
    object-fit: none;
    width: 100%;
    transition: 0.5s;
  }
}

@media (max-width: 640px) {
  .scenesNav li {
    margin: 10px 0;
  }
}

.scenesTitle {
  text-align: left;
  color: #fff;
  font-family: 'Montserrat', sans-serif!important;
  font-size: 16px;
  font-weight: 200!important;
  margin-top: 10px;
  letter-spacing: 1px;
}

@media (max-width:992px) {
  .co-scenes-2103 {
    padding-bottom: 2em;
  }
}

@media (max-width:768px) {
  .co-scenes-2103 {
    font-size: 25px!important;
    padding-bottom: 1em;
  }
  .co-scenes-menu-2103 {
    padding-top: 30px;
    padding-bottom: 50px;
  }
  .scenesColmImg {
    margin: 0 auto;
    position: relative;
    display: block;
    overflow: hidden;
    padding-bottom: 140%;
    /* 幅に対する縦のサイズ */
  }
  .scenesColmImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    max-width: 224%;
    /* 横向き16:9の画像が表示エリア一杯になるように指定 */
    max-height: initial;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.5s;
  }
  .scenesColmImg img:hover {
    transform: none;
    transform: translate(-50%, -50%);
  }
  .scenesTitle {
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 15px;
  }
}

/*----------------------------*/

/*sceneページ　投稿ページ*/

/*----------------------------*/

.singleSceneHeader {
  padding-top: 150px;
  padding-bottom: 150px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 15px;
  padding-left: 15px;
  width: 100%;
}

#singlescenesMain {
  padding-top: 50px;
  padding-bottom: 50px;
}

.singleSceneTitle {
  color: #164C6C;
  z-index: 1;
  margin-top: 40%;
}

.singeScenecats {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.singeScenecats li {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 200%;
  color: #164C6C;
  opacity: 0.5;
  margin-right: 15px;
}

.singeScenecats a {
  color: #164C6C;
}

.singeSceneCap {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
	font-size: 1.6rem;
  color: #164C6C;
  line-height: 300%;
  letter-spacing: 1px;
  opacity: 0.7;
  hyphens: manual;
}

.singleSceneTitle h1 {
  margin-top: 15px;
  margin-bottom: 30px;
  font-size: 60px;
	 font-size: 6.0rem;
  font-weight: 600;
  letter-spacing: 2px;
  font-family: 'century-gothic', serif;
  position: relative;
  z-index: 1;
  word-wrap: break-word;
  hyphens: auto!important;
}

@media (max-width:1200px) {
  .singleSceneTitle {
    margin-top: 20%;
  }
  .singleSceneTitle h1 {
	  font-size: 60px;
	 /*font-size: 6.0rem;*/
  }
}

@media (max-width:992px) {
  .singleSceneTitle {
    margin-top: 15%;
  }
  .singleSceneTitle h1 {
	  font-size: 55px;
	  /*font-size: 5.5rem;*/
  }
}

@media (max-width:768px) {
  .singleSceneHeader {
    padding-top: 150px;
    padding-bottom: 50px;
  }
  .singleSceneTitle {
    margin-top: 50px;
  }
  .singeSceneSub {
    font-size: 12px;
  }
  .singeSceneCap {
	 font-size: 1.5rem;
    font-size: 15px;
  }
  .singleSceneTitle h1 {
    margin-top: 15px;
    margin-bottom: 30px;
    font-size: 50px;
	 font-size: 5.0rem;
  }
}

.singleScenerow {
  padding-top: 10px;
  padding-bottom: 10px;
}

.singleScenebox01 {
  margin: 0 auto;
}

.singleScenebox01 img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
}

.singleSceneText01 {
  margin-right: auto;
  margin-left: auto;
  margin-top: 30px;
  padding-right: 30px;
  padding-left: 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  /*font-size: 1.6rem;*/
  color: #164C6C;
  line-height: 250%;
  max-width: 380px;
}

.singleScenebox02-left {
  margin-top: 0px;
  margin-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.singleScenebox02-right {
  margin-top: 0px;
  margin-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

.singleScenebox02-left img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: center;
}

.singleScenebox02-right img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  text-align: left;
}

.singleSceneText02 {
  margin-top: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 11px;
  color: #164C6C;
  line-height: 200%;
  text-align: left;
}

.single-box {
  padding-bottom: 20px;
}

.single-pick-box {
  padding-bottom: 80px;
}

.single-title-box-2103 {
  border-top: 1px solid #164C6C;
  margin-top: 200px;
  padding-bottom: 50px;
  padding-top: 10px;
}

@media (max-width:992px) {
  .singleScenebox02-right img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: left;
  }
}

@media (max-width:768px) {
  .singleSceneText01 {
    margin-right: auto;
    margin-left: auto;
    margin-top: 15px;
    margin-bottom: 30px;
    padding-right: 0px;
    padding-left: 0px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
    font-size: 1.5rem;  
    color: #164C6C;
    line-height: 200%;
    max-width: initial;
  }
  .singleScenebox02 {
    margin-top: 10px;
    margin-bottom: 20px;
  }
  .single-box {
    padding-bottom: 20px;
  }
  .single-title-box-2103 {
    margin-top: 50px;
    padding-bottom: 30px;
  }
  .singleScenebox02-right img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: left;
  }
}

/*---------------------*/

/*--アニメーション--*/

/*------------------*/

.zoomin {
  -webkit-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  opacity: 0;
  transform: scale(1.2);
}

.zoomin.active {
  opacity: 1;
  transform: scale(1);
}

/*--------------*/

/*-上からスライド-*/

/*-------------*/

.topin {
  -webkit-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  opacity: 0;
  transform: translateY(-40px);
}

.topin.is-active {
  opacity: 1;
  transform: translateY(0);
}

/*--------------*/

/*-下からスライド-*/

/*-------------*/

.fadein {
  -webkit-transition: all 0.5s ease-out;
  -o-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  opacity: 0;
  transform: translateY(40px);
}

.fadein.is-active {
  opacity: 1;
  transform: translateY(0);
}

/*--------------*/

/*-左からスライド-*/

/*-------------*/

.leftin {
  -webkit-transition: all .8s ease-out;
  -o-transition: all .8s ease-out;
  transition: all .8s ease-out;
  opacity: 0;
  transform: translateX(-50px);
}

.leftin.is-active {
  opacity: 1;
  transform: translateX(0);
}

.is-active .leftin:nth-child(2) {
  transition-delay: .8s;
}

.is-active .leftin:nth-child(3) {
  transition-delay: 1.6s;
}

.is-active .leftin:nth-child(4) {
  transition-delay: 2.4s;
}

/*--------------*/

/*-右からスライド-*/

/*-------------*/

.rightin {
  -webkit-transition: all .8s ease-out;
  -o-transition: all .8s ease-out;
  transition: all .8s ease-out;
  opacity: 0;
  transform: translateX(50px);
}

.rightin.is-active {
  opacity: 1;
  transform: translateX(0);
}

.is-active .rightin:nth-child(2) {
  transition-delay: .4s;
}

.is-active .rightin:nth-child(3) {
  transition-delay: .8s;
}

.is-active .rightin:nth-child(4) {
  transition-delay: 1.2s;
}

.u-fade-type-left {
  transform: translateX( -50px);
  opacity: 0;
}

.is-active .u-fade-type-left {
  transition: .8s;
  transform: translateX(0);
  opacity: 1;
}

.is-active .u-fade-type-left:nth-child(2) {
  transition-delay: .1s;
}

.is-active .u-fade-type-left:nth-child(3) {
  transition-delay: .2s;
}

.is-active .u-fade-type-left:nth-child(4) {
  transition-delay: 3s;
}

.is-active .u-fade-type-left:nth-child(5) {
  transition-delay: 4s;
}

.is-active .u-fade-type-left:nth-child(6) {
  transition-delay: .5s;
}

.is-active .u-fade-type-left:nth-child(7) {
  transition-delay: .6s;
}

.is-active .u-fade-type-left:nth-child(8) {
  transition-delay: .7s;
}

.is-active .u-fade-type-left:nth-child(9) {
  transition-delay: .8s;
}

.u-fade-type-right {
  transform: translateX(50px);
  opacity: 0;
}

.is-active .u-fade-type-right {
  transition: .8s;
  transform: translateX(0);
  opacity: 1;
}

.is-active .u-fade-type-right:nth-child(2) {
  transition-delay: .4s;
}

.is-active .u-fade-type-right:nth-child(3) {
  transition-delay: .8s;
}

.is-active .u-fade-type-right:nth-child(4) {
  transition-delay: 1.2s;
}

.is-active .u-fade-type-right:nth-child(5) {
  transition-delay: 1.6s;
}

.is-active .u-fade-type-right:nth-child(6) {
  transition-delay: 2s;
}

.is-active .u-fade-type-right:nth-child(7) {
  transition-delay: 2.4s;
}

.is-active .u-fade-type-right:nth-child(8) {
  transition-delay: 2.8s;
}

.is-active .u-fade-type-right:nth-child(9) {
  transition-delay: 3.2s;
}

.is-active .u-fade-type-right:nth-child(10) {
  transition-delay: 3.4s;
}

.is-active .u-fade-type-right:nth-child(11) {
  transition-delay: 4s;
}

.is-active .u-fade-type-right:nth-child(12) {
  transition-delay: 4.4s;
}

.is-active .u-fade-type-right:nth-child(13) {
  transition-delay: 4.8s;
}

.is-active .u-fade-type-right:nth-child(14) {
  transition-delay: 5.2s;
}

.u-fade-type-right02 {
  transform: translateX(50px);
  opacity: 0;
}

.is-active .u-fade-type-right02 {
  transition: .8s;
  transform: translateX(0);
  opacity: 1;
}

.is-active .u-fade-type-right02:nth-child(2) {
  transition-delay: .2s;
}

.is-active .u-fade-type-right02:nth-child(3) {
  transition-delay: .4s;
}

.is-active .u-fade-type-right02:nth-child(4) {
  transition-delay: .6s;
}

.is-active .u-fade-type-right02:nth-child(5) {
  transition-delay: .8s;
}

.is-active .u-fade-type-right02:nth-child(6) {
  transition-delay: 1s;
}

.is-active .u-fade-type-right02:nth-child(7) {
  transition-delay: 1.2s;
}

.is-active .u-fade-type-right02:nth-child(8) {
  transition-delay: 1.4s;
}

.is-active .u-fade-type-right02:nth-child(9) {
  transition-delay: 1.6s;
}

.is-active .u-fade-type-right02:nth-child(10) {
  transition-delay: 1.8s;
}

.is-active .u-fade-type-right02:nth-child(11) {
  transition-delay: 2s;
}

.is-active .u-fade-type-right02:nth-child(12) {
  transition-delay: 2.2s;
}

.is-active .u-fade-type-right02:nth-child(13) {
  transition-delay: 2.4s;
}

.is-active .u-fade-type-right02:nth-child(14) {
  transition-delay: 2.6s;
}

/*--------------------------*/

/*--画像アニメーション--*/

/*------------------------*/

.box-2103 {
  width: 100%;
  height: auto;
  margin: 0 0 2% 0;
  overflow: hidden;
}

.box-2103 .boxInner-left-2103 {
  width: inherit;
  height: inherit;
  line-height: auto;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  background-color: #fff;
  opacity: 0;
}

/*-------------------------------*/

/*--画像アニメーション left--*/

/*-----------------------------*/

@keyframes play-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes maskOut-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}

.isPlay-left {
  animation-name: play-left;
  animation-duration: .8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  opacity: 1 !important;
}

.isPlay-left:before {
  animation-name: maskOut-left;
  animation-duration: .8s;
  animation-delay: .8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #ccc;
}

/*--------------------------------*/

/*--画像アニメーション right--*/

/*-------------------------------*/

.box-2103 .boxInner-right-2103 {
  width: 50vw;
  height: inherit;
  line-height: auto;
  font-size: 1.5em;
  text-align: center;
  color: #555;
  background-color: #fff;
  opacity: 0;
}

@keyframes play-right {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes maskOut-right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.isPlay-right {
  animation-name: play-right;
  animation-duration: .8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
  opacity: 1 !important;
}

.isPlay-right:before {
  animation-name: maskOut-right;
  animation-duration: .8s;
  animation-delay: .8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #ccc;
}

/*-----------------------------*/

/* --Swiperカスタマイズ-- */

/*---------------------------*/

/*swiper-01*/

.swiper01 {
  /* margin-top:30px!important; */
  margin-bottom: 30px!important;
  max-width: 1600px;
}

@media (min-width:1601px) {
  .swiper01 {
    max-width: 1700px;
  }
}

@media (max-width:640px) {
  .swiper01 {
    margin-top: -10px!important;
    padding: 0 40px!important;
  }
}

.swiper01-blur {
  margin-top: 30px!important;
  margin-bottom: 30px!important;
}

.swiper01 .swiper-slide-active img {
  filter: blur(0px)!important;
  transition: .3s;
}

.swiper01 .swiper-slide img {
  filter: blur(8px);
  transition: .3s;
}

.swiper01 .swiper-slide-visible img {
  filter: blur(5px);
  transition: .3s;
}

.swiper01 .swiper-slide-next img {
  filter: blur(0px);
  transition: .3s;
}

.swiper01 .swiper-slide-prev img {
  filter: blur(0px);
  transition: .3s;
}

@media (max-width:639px) {
  .swiper01 .swiper-slide-active img {
    filter: blur(0px);
    transition: .3s;
  }
  .swiper01 .swiper-slide-next img {
    filter: blur(5px);
    transition: .3s;
  }
  .swiper01 .swiper-slide-prev img {
    filter: blur(5px);
    transition: .3s;
  }
}

/*

.swiper01-check{
	margin-top:30px!important;
	margin-bottom:30px!important;
}

.swiper01-check .swiper-slide-active img{
	filter: blur(0px)!important;
	transition:.3s;
}
.swiper01-check .swiper-slide-visible img{
	filter: blur(8px);
	transition:.3s;
}
.swiper01-check .swiper-slide-next img{
	filter: blur(0);
	transition:.3s;
}
.swiper01-check .swiper-slide-prev img{
	filter: blur(0px);
	transition:.3s;
}
@media (max-width:639px){
	.swiper01-check .swiper-slide-active{
	filter: blur(0px);
	transition:.3s;
}
	.swiper01-check .swiper-slide-next img{
	filter: blur(8px);
	transition:.3s;
}
	.swiper01-check .swiper-slide-prev img{
	filter: blur(8px);
	transition:.3s;
}
}


.swiper01-check7{
	margin-top:30px!important;
	margin-bottom:30px!important;
}

.swiper01-check7 .swiper-slide-active img{
	filter: blur(0px)!important;
	transition:.3s;
}
.swiper01-check7 .swiper-slide-visible img{
	filter: blur(8px);
	transition:.3s;
}
.swiper01-check7 .swiper-slide-next img{
	filter: blur(0);
	transition:.3s;
}
.swiper01-check7 .swiper-slide-prev img{
	filter: blur(0px);
	transition:.3s;
}
@media (max-width:639px){
	.swiper01-check7 .swiper-slide-active{
	filter: blur(0px);
	transition:.3s;
}
	.swiper01-check7 .swiper-slide-next img{
	filter: blur(8px);
	transition:.3s;
}
	.swiper01-check7 .swiper-slide-prev img{
	filter: blur(8px);
	transition:.3s;
}
}
*/

/* 前・次スライドボタンの縦位置調整（スライドの高さの中央に合わせる） */

.swiper-button-prev, .swiper-button-next {
  position: absolute;
  top: 0;
  /* ☆★ページネーション・スクロールバー（50px）を除く縦位置の中央（＝スライドの高さの中央）に一旦配置 */
  margin-top: -22px;
  /* ★ボタンの高さ（44px）の半分のネガティブマージンで上に少しずらす */
}

.swiper01 .swiper-button-next {
  position: absolute;
  top: -65px!important;
  right: 6%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper01 .swiper-button-prev {
  position: absolute;
  top: -65px!important;
  left: 89.5%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper01 .swiper-pagination {
  top: 7%!important;
  right: 3%!important;
  white-space: nowrap;
}

.swiper01 .swiper-button-next:after, .swiper01 .swiper-button-prev:after {
  font-size: 14px!important;
}

@media (max-width:1600px) {
  .swiper01 .swiper-button-next {
    /* top: -14%!important; */
    right: 8%!important;
  }
  .swiper01 .swiper-button-prev {
    /* top: -14%!important; */
    right: 11.2%!important;
    left: auto!important;
  }
}

@media (max-width:1257px) {
  .swiper01 .swiper-button-next {
    /* top: -19.5%!important; */
    right: 8%!important;
  }
  .swiper01 .swiper-button-prev {
    /* top: -19.5%!important; */
    right: 11%!important;
  }
}

@media (max-width:992px) {
  .swiper01 .swiper-button-next {
    /* top: -19%!important; */
    right: 10%!important;
  }
  .swiper01 .swiper-button-prev {
    /* top: -19%!important; */
    right: 14%!important;
  }
}

@media (max-width:768px) {
  .swiper01 .swiper-button-next {
    /* top: -28%!important; */
    right: 7%!important;
  }
  .swiper01 .swiper-button-prev {
    /* top: -28%!important; */
    right: 13%!important;
  }
}

@media (max-width:640px) {
  .swiper01 .swiper-button-next {
    top: 40%!important;
    right: 1%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper01 .swiper-button-prev {
    top: 40%!important;
    left: 1%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper01 .swiper-button-next:after, .swiper01 .swiper-button-prev:after {
    font-size: 25px!important;
  }
}

/*
@media (max-width:470px){
.swiper01 .swiper-button-next{
	  right:10%!important;
}
.swiper01 .swiper-button-prev {
	 left:75%!important;
}		
}
/*@media (max-width:398px){
.swiper01 .swiper-button-next{
     top: -26%!important;
	  right:10%!important;
}
.swiper01 .swiper-button-prev {
    top: -26%!important;
	 left:72%!important;
}	
}
@media (max-width:366px){
.swiper01 .swiper-button-next{
     top: -24%!important;
	  right:10%!important;
}
.swiper01 .swiper-button-prev {
    top: -24%!important;
	 left:72%!important;
}	
}*/

.swiper01 .swiper-pagination span {
  margin-left: 5px;
}

.swiper01 .swiper-pagination-bullet {
  background: #ddd;
  !important/* 色：緑 */
  opacity: 0.9;
  /* 半透明（デフォルトでは0.2） */
}

/*
.swiper01 .swiper-slide .post__thumb--img {
  margin: 0 0 15px;
}
.swiper01 .swiper-slide .post__thumb--img a {
  padding-top: 62.5%;
  width: 100%;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width:639px){
.swiper01 .swiper-slide .post__thumb--img {
  margin: 0 0 15px;
}
.swiper01 .swiper-slide .post__thumb--img a {
  padding-top: 82.5%;
  width: 100%;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}	
}*/

/*swiper-02*/

.swiper02 {
  margin-top: 0px!important;
  margin-bottom: 30px!important;
  max-width: 1600px;
}

@media (min-width:1601px) {
  .swiper02 {
    max-width: 1700px;
  }
}

@media (max-width:768px) {
  .swiper02 {
    padding: 0 15px!important;
  }
}

@media (max-width:640px) {
  .swiper02 {
    padding: 0 40px!important;
  }
}

.swiper-container {
  overflow: visible!important;
}

/* .swiper02_2103 {
	margin-right:5%;
} */

/* @media (max-width:840px){
	.swiper02_2103 {
	margin-right:5%;
}
} */

@media (max-width:768px) {
  .swiper02_2103 {
    margin-right: 0;
  }
}

.swiper-cover2021 {
  position: relative;
}

/* .swiper-cover2021::after{
		content:"";
		position:absolute;
		top:0;
		right:-100%;
		background: #232734;
		width: 100%;
    height: 600px;
		z-index:5;
		overflow:hidden;
} */

.swiper02-img a img {
  object-fit: cover!important;
  width: 100%!important;
  min-height: 300px;
  max-height: 300px!important;
}

@media (max-width:839px) {
  .swiper02-img a img {
    object-fit: cover!important;
    width: 100%!important;
    max-height: 300px!important;
  }
}

.swiper02 .swiper-button-next {
  position: absolute;
  top: -65px!important;
  left: 89.5%!important;
  right: auto!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper02 .swiper-button-prev {
  position: absolute;
  top: -65px!important;
  right: 6%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper02 .swiper-pagination {
  top: -12%!important;
  right: -3%!important;
  white-space: nowrap;
}

.swiper02 .swiper-button-next:after, .swiper02 .swiper-button-prev:after {
  font-size: 14px!important;
}

@media (max-width:1600px) {
  .swiper02 .swiper-button-next {
    /* top: -14%!important; */
    right: 11.2%!important;
  }
  .swiper02 .swiper-button-prev {
    /* top: -14%!important; */
    right: 8%!important;
  }
}

@media (max-width:1257px) {
  .swiper02 .swiper-button-next {
    /* top: -19.5%!important; */
    right: 11%!important;
  }
  .swiper02 .swiper-button-prev {
    /* top: -19.5%!important; */
    right: 8%!important;
  }
}

@media (max-width:992px) {
  .swiper02 .swiper-button-next {
    /* top: -19%!important; */
    right: 14%!important;
  }
  .swiper02 .swiper-button-prev {
    /* top: -19%!important; */
    right: 10%!important;
  }
}

@media (max-width:768px) {
  .swiper02 .swiper-button-next {
    /* top: -28%!important; */
    right: 13%!important;
  }
  .swiper02 .swiper-button-prev {
    /* top: -28%!important; */
    right: 7%!important;
  }
}

@media (max-width:640px) {
  .swiper02 .swiper-button-next {
    top: 35%!important;
    right: 93%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper02 .swiper-button-prev {
    top: 35%!important;
    right: 1%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper02 .swiper-button-next:after, .swiper02 .swiper-button-prev:after {
    font-size: 25px!important;
  }
}

/*
@media (max-width:582px){
.swiper02 .swiper-button-next{
    top: -27%!important;
	  right:15%!important;
}
.swiper02 .swiper-button-prev {
    top: -27%!important;
	 right:8%!important;
}	
}
@media (max-width:483px){
.swiper02 .swiper-button-next{
    top: -27%!important;
	  right:16%!important;
}
.swiper02 .swiper-button-prev {
    top: -27%!important;
	 right:9%!important;
}	
}
@media (max-width:428px){
.swiper02 .swiper-button-next{
    top: -34%!important;
	  right:17%!important;
}
.swiper02 .swiper-button-prev {
    top: -34%!important;
	 right:10%!important;
}	
}
@media (max-width:404px){
.swiper02 .swiper-button-next{
    top: -33%!important;
	  right:17%!important;
}
.swiper02 .swiper-button-prev {
    top: -33%!important;
	 right:10%!important;
}	
}
@media (max-width:364px){
.swiper02 .swiper-button-next{
    top: -32%!important;
	  right:20%!important;
}
.swiper02 .swiper-button-prev {
    top: -32%!important;
	 right:10%!important;
}	
}
@media (max-width:357px){
.swiper02 .swiper-button-next{
    top: -30%!important;
	  right:20%!important;
}
.swiper02 .swiper-button-prev {
    top: -30%!important;
	 right:10%!important;
}	
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size:14px!important; 
}
.swiper02 .swiper-pagination-bullet {
	background: #ddd; !important/* 色：緑 */

opacity: 0.9;
/* 半透明（デフォルトでは0.2） */

}

.swiper02 .swiper-pagination span {
  margin-left: -4px;
}

/*swiper-02 check*/

.swiper02-check {
  margin-top: 0px!important;
  margin-bottom: 30px!important;
  max-width: 1600px;
}

@media (min-width:1601px) {
  .swiper02-check {
    max-width: 1700px;
  }
}

@media (max-width:768px) {
  .swiper02-check {
    padding: 0 15px!important;
  }
}

@media (max-width:640px) {
  .swiper02-check {
    padding: 0 40px!important;
  }
}

.swiper-container {
  overflow: visible!important;
}

.swiper02-check_2103 {
  margin-right: 5%;
}

@media (max-width:840px) {
  .swiper02-check_2103 {
    margin-right: 5%;
  }
}

@media (max-width:768px) {
  .swiper02-check_2103 {
    margin-right: 0;
  }
}

.swiper02-check-img a img {
  object-fit: cover!important;
  width: 100%!important;
  min-height: 300px;
  max-height: 300px!important;
}

@media (max-width:839px) {
  .swiper02-check-img a img {
    object-fit: cover!important;
    width: 100%!important;
    max-height: 300px!important;
  }
}

.swiper02-check .swiper-button-next {
  position: absolute;
  top: -14%!important;
  right: 6%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper02-check .swiper-button-prev {
  position: absolute;
  top: -14%!important;
  right: 3%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 10px 27px!important;
  -webkit-background-size: 10px 27px!important;
  background-size: 10px 27px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper02-check .swiper-pagination {
  top: -12%!important;
  right: -3%!important;
  white-space: nowrap;
}

.swiper02-check .swiper-button-next:after, .swiper02-check .swiper-button-prev:after {
  font-size: 14px!important;
}

@media (max-width:1500px) {
  .swiper02-check .swiper-button-next {
    top: -14%!important;
    right: 6%!important;
  }
  .swiper02-check .swiper-button-prev {
    top: -14%!important;
    right: 3%!important;
  }
}

@media (max-width:1235px) {
  .swiper02-check .swiper-button-next {
    top: -19%!important;
    right: 6%!important;
  }
  .swiper02-check .swiper-button-prev {
    top: -19%!important;
    right: 3%!important;
  }
}

@media (max-width:992px) {
  .swiper02-check .swiper-button-next {
    top: -19%!important;
    right: 9%!important;
  }
  .swiper02-check .swiper-button-prev {
    top: -19%!important;
    right: 5%!important;
  }
}

@media (max-width:839px) {
  .swiper02-check .swiper-button-next {
    top: -21%!important;
    right: 7%!important;
  }
  .swiper02-check .swiper-button-prev {
    top: -21%!important;
    right: 3%!important;
  }
}

@media (max-width:768px) {
  .swiper02-check .swiper-button-next {
    top: -28%!important;
    right: 13%!important;
  }
  .swiper02-check .swiper-button-prev {
    top: -28%!important;
    right: 7%!important;
  }
}

@media (max-width:640px) {
  .swiper02-check .swiper-button-next {
    top: 35%!important;
    right: 93%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper02-check .swiper-button-prev {
    top: 35%!important;
    right: 1%!important;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
  }
  .swiper02-check .swiper-button-next:after, .swiper02-check .swiper-button-prev:after {
    font-size: 25px!important;
  }
}

/*
@media (max-width:582px){
.swiper02-check .swiper-button-next{
    top: -27%!important;
	  right:15%!important;
}
.swiper02-check .swiper-button-prev {
    top: -27%!important;
	 right:8%!important;
}	
}
@media (max-width:483px){
.swiper02-check .swiper-button-next{
    top: -27%!important;
	  right:16%!important;
}
.swiper02-check .swiper-button-prev {
    top: -27%!important;
	 right:9%!important;
}	
}
@media (max-width:428px){
.swiper02-check .swiper-button-next{
    top: -34%!important;
	  right:17%!important;
}
.swiper02-check .swiper-button-prev {
    top: -34%!important;
	 right:10%!important;
}	
}
@media (max-width:404px){
.swiper02-check .swiper-button-next{
    top: -33%!important;
	  right:17%!important;
}
.swiper02-check .swiper-button-prev {
    top: -33%!important;
	 right:10%!important;
}	
}
@media (max-width:364px){
.swiper02-check .swiper-button-next{
    top: -32%!important;
	  right:20%!important;
}
.swiper02-check .swiper-button-prev {
    top: -32%!important;
	 right:10%!important;
}	
}
@media (max-width:357px){
.swiper02-check .swiper-button-next{
    top: -30%!important;
	  right:20%!important;
}
.swiper02-check .swiper-button-prev {
    top: -30%!important;
	 right:10%!important;
}	
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size:14px!important; 
}
.swiper02-check .swiper-pagination-bullet {
	background: #ddd; !important/* 色：緑 */

opacity: 0.9;
/* 半透明（デフォルトでは0.2） */

}

.swiper02-check .swiper-pagination span {
  margin-left: -4px;
}

/*swiper-03*/

.swiper03 {
  margin-top: 0px!important;
  margin-bottom: 30px!important;
  max-width: 1600px;
  margin-right: 5%!important;
  margin-left: 5%!important;
}

.swiper03 .swiper-slide {
  opacity: 0;
  transition: all .5s;
}

.swiper03 .swiper-slide img {
  overflow: hidden;
}

.swiper03 .swiper-slide-active {
  opacity: 1!important;
}

.swiper03 .swiper-slide-next {
  opacity: 1!important;
}

.swiper03 .swiper-slide-prev {
  opacity: 1!important;
}

.swiper03 .swiper-button-next {
  position: absolute;
  right: -6%!important;
  top: 40%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 15px 32px!important;
  -webkit-background-size: 15px 32px!important;
  background-size: 15px 32px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper03 .swiper-button-prev {
  position: absolute;
  top: 40%!important;
  left: -6%!important;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  -moz-background-size: 15px 32px!important;
  -webkit-background-size: 15px 32px!important;
  background-size: 15px 32px!important;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper03 .swiper-button-next:after, .swiper03 .swiper-button-prev:after {
  font-size: 30px!important;
}

@media (max-width:840px) {
  .swiper03 .swiper-button-next {
    position: absolute;
    right: -6%!important;
    top: 35%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
  .swiper03 .swiper-button-prev {
    position: absolute;
    top: 35%!important;
    left: -6%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
}

@media (max-width:640px) {
  .swiper03 .swiper-button-next {
    position: absolute;
    right: -8%!important;
    top: 40%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
  .swiper03 .swiper-button-prev {
    position: absolute;
    top: 40%!important;
    left: -8%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
  .swiper03 .swiper-button-next:after, .swiper03 .swiper-button-prev:after {
    font-size: 25px!important;
  }
}

@media (max-width:480px) {
  .swiper03 .swiper-button-next {
    position: absolute;
    right: -9.5%!important;
    top: 40%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
  .swiper03 .swiper-button-prev {
    position: absolute;
    top: 40%!important;
    left: -9.5%!important;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    -moz-background-size: 15px 32px!important;
    -webkit-background-size: 15px 32px!important;
    background-size: 15px 32px!important;
    background-position: center;
    background-repeat: no-repeat;
  }
  .swiper03 .swiper-button-next:after, .swiper03 .swiper-button-prev:after {
    font-size: 25px!important;
  }
}

/*---------------*/

/*-flowページ-*/

/*---------------*/

/*top*/
.flow-top-2103 h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 75px!important;
  font-weight: 900!important;
  letter-spacing: 2px;
  line-height: 200%;
  color: #fff;
  text-align: center;
}

.flow-main-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 75px!important;
  font-weight: 900!important;
  letter-spacing: 2px;
  line-height: 200%;
  color: #8C99A7;
}

.flow-second-title-2103 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 34px!important;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 20px;
}

.flow-second-title-2103 br {
  display: none;
}

.flow-main-txt-2103 {
  padding-top: 5em;
  padding-bottom: 2em;
}

.flow-main-txt-2103 h3 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 300;
  text-align: center;
  letter-spacing: 2px;
  line-height: 300%;
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (max-width:835px) {
  .flow-second-title-2103 {
    font-size: 30px!important;
  }
  .flow-main-txt-2103 h3 {
    font-size: 20px!important;
  }
}

@media (max-width:768px) {
  .flow-top-2103 h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 40px!important;
    font-weight: 900!important;
    letter-spacing: 2px;
    line-height: 150%;
    color: #8C99A7;
  }
  .flow-main-title-2103 {
    font-size: 30px!important;
    letter-spacing: 2px;
    line-height: 200%;
  }
  .flow-second-title-2103 br {
    display: block;
  }
  .flow-main-txt-2103 {
    padding-top: 3em;
    padding-bottom: 2em;
  }
  .flow-main-txt-2103 h3 {
    font-size: 15px!important;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 270%;
    text-align: left;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

/*design flow*/

#desiflow02-2103 {
  padding-right: 30px;
  padding-left: 30px;
}

#desiflow04-2103 {
  padding-bottom: 80px;
}

.flow-tab-none {
  display: block;
}

@media (max-width:840px) {
  .flow-tab-none {
    display: none;
  }
}

.flow-tab-block {
  display: none;
}

@media (max-width:840px) {
  .flow-tab-block {
    display: block;
  }
}

.flow-sp-none {
  display: block;
}

@media (max-width:640px) {
  .flow-sp-none {
    display: none;
  }
}

.flow-pc-none {
  display: none;
}

@media (max-width:640px) {
  .flow-pc-none {
    display: block;
  }
}

.flow-top-img-2103 {}

.flow-under-img-2103 {}

.flow-margin-2103 {
  margin-right: -30px;
}

@media (max-width:840px) {
  .flow-margin-2103 {
    margin-right: 0px;
  }
}

.flow-box-2103 {
  display: flex;
  justify-content: center;
  /*左右中央揃え*/
  align-items: center;
  /*上下中央揃え*/
}

.flow-txtbox-2103 {
  margin-left: 60px;
}

.flow-txtbox01-2103 {
  max-width: 280px;
  margin: 0 auto;
}

.flow-txtbox02-2103 {
  align-items: center;
  /*上下中央揃え*/
}

.flow-01img-2013 {
  max-width: 190px;
  margin: 0 auto;
}

.flow-02img-2013 {
  max-width: 160px;
  margin: 0 auto;
}

.flow-03img-2013 {
  max-width: 190px;
  margin: 0 auto;
}

.flow-04img-2103 {
  max-width: 450px;
  margin-left: auto;
  text-align: center;
}

.flow-05img-2103 {
  max-width: 450px;
  margin-right: auto;
  text-align: center;
}

.flow-title-2103 {
  font-family: 'Montserrat', sans-serif;
  font-size: 35px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 200%;
  color: #fff;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 80px;
}

.flow-row-2103 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.flow-col-2103 {
  padding-right: 20px;
  padding-left: 20px;
}

.flow-sub-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 26px;
  font-weight: 300;
  text-align: center;
  letter-spacing: 2px;
  line-height: 300%;
  margin-top: 50px;
  margin-bottom: 50px;
}

.flow-txt-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-align: left;
  letter-spacing: 2px;
  line-height: 300%;
  margin-top: 30px;
  margin-bottom: 30px;
  opacity: 0.7;
}

.flow-sptxt-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 20px;
  font-weight: 300;
  text-align: left;
  letter-spacing: 2px;
  margin-bottom: 0;
}

.flow-rowbox01-2103 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.flow-rowbox02-2103 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.flow-card-2103 {
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 20px 20px 20px 25px;
  margin-top: 30px;
  margin-bottom: 30px;
  height: 600px;
}

.flow-card-img01-2103 {
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  left: 0;
  bottom: 50px;
}

.flow-card-img02-2103 {
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  left: 0;
  bottom: 50px;
}

.flow-card-img03-2103 {
  margin-right: auto;
  margin-left: auto;
  position: absolute;
  width: 90%;
  left: 5%;
  bottom: 50px;
}

.flow-cardtitle-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  font-weight: 500;
  text-align: left;
  letter-spacing: 2px;
  line-height: 200%;
  margin-top: 0px;
  margin-bottom: 0px;
}

.flow-cardtxt-2103 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 300;
  text-align: left;
  letter-spacing: 2px;
  line-height: 300%;
  margin-top: 10px;
  margin-bottom: 30px;
  opacity: 0.7;
}

@media (max-width:992px) {
  .flow-card-2103 {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    height: 650px;
  }
}

@media (max-width:885px) {
  .flow-card-2103 {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    height: 700px;
  }
}

@media (max-width:825px) {
  .flow-card-2103 {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    height: 750px;
  }
}

@media (max-width:768px) {
  #desiflow02-2103 {
    padding-right: 0px;
    padding-left: 0px;
  }
  .flow-box-2103 {
    display: flex;
    justify-content: center;
    align-items: center;
    /*上下中央揃え*/
  }
  .flow-txtbox-2103 {
    margin-left: 20px;
  }
  .flow-txtbox01-2103 {
    max-width: initial;
  }
  .flow-01img-2013 {
    max-width: 100px;
  }
  .flow-02img-2013 {
    max-width: 100px;
  }
  .flow-03img-2013 {
    max-width: 100px;
  }
  .flow-04img-2103 {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .flow-05img-2103 {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .flow-row-2103 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .flow-sub-2103 {
    font-size: 14px;
    text-align: left;
    line-height: 200%;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 30px;
    padding-left: 30px;
  }
  .flow-txt-2103 {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 10px;
    line-height: 200%;
  }
  .flow-rowbox01-2103 {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .flow-rowbox02-2103 {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .flow-card-2103 {
    border: 0px;
    border-top: 1px dashed #fff;
    border-radius: 0;
    padding: 60px 0px 20px 0px;
    margin-top: 30px;
    margin-bottom: 30px;
    height: auto;
  }
  .flow-cardtitle-2103 {
    padding: 0 10px;
  }
  .flow-cardtxt-2103 {
    padding: 0 10px;
  }
  .flow-card-img01-2103 {
    margin-right: auto;
    margin-left: auto;
    position: static;
    width: 100%;
  }
  .flow-card-img02-2103 {
    margin-right: auto;
    margin-left: auto;
    position: static;
  }
  .flow-card-img03-2103 {
    margin-right: auto;
    margin-left: auto;
    position: static;
    width: 120%;
    margin-top: -60px;
  }
}

@media (max-width:640px) {
  .flow-box-2103 {
    display: flex;
    justify-content: flex-start;
    align-items: start;
    /*上下中央揃え*/
  }
}

.flow-line-2103 {
  position: relative;
  margin-bottom: 150px;
}

.flow-line-2103::after {
  position: absolute;
  content: "";
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  left: 50%;
  width: 2px;
  height: 80px;
  background-color: #fff;
  z-index: 5;
}

/*footer*/

.footer-2021 {
  position: relative;
  z-index: 30;
}

/*check用*/

.bg-check2021 {
  background: url(https://place2-5.oliverinc.co.jp/wp/wp-content/uploads/2021/05/1920_880_a.jpg) center center;
  background-size: cover;
  width: 100%;
  min-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

@media (max-width:768px) {
  .bg-check2021 {
    background: url(https://place2-5.oliverinc.co.jp/wp/wp-content/uploads/2021/05/880_880_a.jpg)center center;
    background-size: cover;
  }
}