@charset "UTF-8";
@-webkit-keyframes swiper-preloader-spin {
to {
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
@keyframes swiper-preloader-spin {
to {
-webkit-transform:rotate(360deg);
transform:rotate(360deg)
}
}
@font-face {
  font-family: "UniqloProLight";
  src: url(/jp/ja/contents/sustainability/cmn/font/UniqloProLight.woff) format("woff")
}
@font-face {
  font-family: "UniqloProRegular";
  src: url(/jp/ja/contents/sustainability/cmn/font/UniqloProRegular.woff) format("woff")
}
@font-face {
  font-family: "UniqloProBold";
  src: url(/jp/ja/contents/sustainability/cmn/font/UniqloProBold.woff) format("woff")
}
.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1
}
.swiper-container-no-flexbox .swiper-slide {
  float: left
}
.swiper-container-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}
.swiper-slide, .swiper-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}
.swiper-wrapper {
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: content-box;
  box-sizing: content-box
}
.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}
.swiper-container-multirow>.swiper-wrapper {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.swiper-container-free-mode>.swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto
}
.swiper-slide {
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.swiper-invisible-blank-slide {
  visibility: hidden
}
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto
}
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform
}
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px
}
.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d
}
.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}
.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0,0,0,.5)), to(transparent));
  background-image: linear-gradient(to left, rgba(0,0,0,.5), transparent)
}
.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,.5)), to(transparent));
  background-image: linear-gradient(to right, rgba(0,0,0,.5), transparent)
}
.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,.5)), to(transparent));
  background-image: linear-gradient(to top, rgba(0,0,0,.5), transparent)
}
.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,.5)), to(transparent));
  background-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent)
}
.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal>.swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y
}
.swiper-container-wp8-vertical, .swiper-container-wp8-vertical>.swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x
}
.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat
}
.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto
}
.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}
.swiper-button-next.swiper-button-white, .swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}
.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}
.swiper-button-next.swiper-button-black, .swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}
.swiper-button-lock {
  display: none
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%
}
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(.33);
  transform: scale(.33);
  position: relative
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active, .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  transform: scale(1)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(.66);
  transform: scale(.66)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(.33);
  transform: scale(.33)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(.66);
  transform: scale(.66)
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(.33);
  transform: scale(.33)
}
.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2
}
button.swiper-pagination-bullet {
  border: 0;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff
}
.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0)
}
.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block
}
.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px
}
.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px
}
.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap
}
.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform
}
.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform
}
.swiper-pagination-progressbar {
  background: rgba(0,0,0,.25);
  position: absolute
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  transform-origin: left top
}
.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  transform-origin: right top
}
.swiper-container-horizontal>.swiper-pagination-progressbar, .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0
}
.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical>.swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0
}
.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill, .swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff
}
.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255,255,255,.25)
}
.swiper-pagination-black .swiper-pagination-bullet-active, .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000
}
.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0,0,0,.25)
}
.swiper-pagination-lock {
  display: none
}
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0,0,0,.1)
}
.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%
}
.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0,0,0,.5);
  border-radius: 10px;
  left: 0;
  top: 0
}
.swiper-scrollbar-cursor-drag {
  cursor: move
}
.swiper-scrollbar-lock {
  display: none
}
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center
}
.swiper-zoom-container>canvas, .swiper-zoom-container>img, .swiper-zoom-container>svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}
.swiper-slide-zoomed {
  cursor: move
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite
}
.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat
}
.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out
}
.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity
}
.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none
}
.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}
.swiper-container-cube, .swiper-container-flip {
  overflow: visible
}
.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}
.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none
}
.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0
}
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}
.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next+.swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible
}
.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0
}
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none
}
.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}
.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}
.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px
}
.layerTop, .layerTop * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0
}
.layerTop {
  -webkit-tap-highlight-color: transparent;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-family: UniqloProLight, -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', meiryo, sans-serif;
  letter-spacing: .08em;
}
.layerTop * {
  vertical-align: top;
  list-style: none
}
.layerTop a {
  text-decoration: none;
  color: #1b1b1b;
  font-weight: 700
}
.layerTop .feature #featureSlider .item a, .layerTop .main {
  position: relative;
  display: block
}
.layerTop .feature #featureSlider .item a:hover, 
.bnr:hover{
  opacity: 0.7;
}
.bnr_area{
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
  justify-content: space-between;
}
.bnr_area a img{
  margin: 0 0 30px;
}
.layerTop .main #mainSlide {
  position: relative;
  overflow: hidden
}
.layerTop .main #mainSlide:hover{
  opacity: 0.7;
}
.layerTop .main .mainCopy{
  position: relative;
  margin: auto;
  display: block;
  margin-top: 38px;
  z-index: 1;
  text-align: center;
  color: #379e49;
  font-weight: 700;
  font-size: 20px;
  line-height: 2.4;
}
.layerTop .main .mainCopy p:nth-child(2) {
  font-weight: normal;
  font-size: 18px;
}

.layerTop .mainCopyTitle{
  margin-bottom: 36px;
}

.layerTop .mainCopyTitle span{
  font-size: 60px;
  letter-spacing: 6px;
  line-height: 1.2;
  /*border-bottom: solid 3px #379e49;*/
}
.layerTop .category ul li, .layerTop .category ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.layerTop .category ul li a {
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.layerTop .category ul li a span {
  text-align: center
}
.layerTop .category ul li a span:nth-child(1) {
  display: block
}
.layerTop .category ul li a span:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative
}
.layerTop .category ul li a span:nth-child(2):after {
  content: '';
  display: block;
  background: #fc0000;
  position: absolute;
  left: 50%;
  bottom: -1px;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}
.layerTop .update dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start
}
.layerTop .update dl dt {
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.layerTop .update dl dt:after {
  content: '：'
}
.layerTop .update dl dd {
  overflow: hidden
}
.layerTop .update dl dd a {
  font-weight: 400;
  text-decoration: underline
}
.layerTop .update dl dd a .summary {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block
}
.layerTop .update dl dd a .explain {
  -ms-flex-negative: 1;
  flex-shrink: 1;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%
}
.layerTop .feature {
  z-index: 1
}
.layerTop .feature .sectionTitle {
  z-index: 2
}
.layerTop .feature #featureSlider {
  position: relative;
  z-index: 1
}

.layerTop .feature #featureSlider .item a .dotsFrame img {
  -webkit-transition: opacity .2s linear;
  transition: opacity .2s linear;
  width: 100%
}
.layerTop .feature #featureSlider .item a .eyecatch {
  position: absolute
}
.layerTop .feature #featureSlider .item a .text, .layerTop .feature #featureSlider .pager {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.layerTop .feature #featureSlider .item a .text {
  text-align: center;
  font-size: 13px;
  position: relative
}
.layerTop .feature #featureSlider .item a .text:after {
  content: '';
  display: block;
  background: #fc0000;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0)
}
.layerTop .feature #featureSlider .arrows {
  position: absolute;
  z-index: 5
}
.layerTop .feature #featureSlider .arrows>div {
  outline: 0;
  background: url(../img/common/slide_arrow.png) no-repeat center center
}
.layerTop .feature #featureSlider .arrows .next {
  -webkit-transform: scale(-1);
  transform: scale(-1)
}
.layerTop .feature #featureSlider .pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.layerTop .feature #featureSlider .pager span {
  display: block;
  background: #dadada;
  opacity: 1
}
.layerTop .feature #featureSlider .pager span.swiper-pagination-bullet-active {
  background: #1b1b1b
}
.layerTop .feature #featureSlider .coverRight {
  pointer-events: none;
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  min-width: 1250px
}
.layerTop .feature #featureSlider .coverRight .cover {
  width: 84px;
  height: 100%;
  background: rgba(255,255,255,.8);
  position: absolute;
  right: 0;
  top: 0
}
.layerTop .archive ul li a, .layerTop .archive ul li>div, .layerTop .feature #featureSlider .item a .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.layerTop .archive ul li a .dotsFrame, .layerTop .archive ul li>div .dotsFrame {
  -ms-flex-negative: 0;
  flex-shrink: 0
}
.layerTop .archive ul li a .dotsFrame img, .layerTop .archive ul li>div .dotsFrame img {
  -webkit-transition: .2s linear;
  transition: .2s linear;
  width: 100%
}
.layerTop .archive ul li a .text, .layerTop .archive ul li>div .text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex:0 1 auto;
}
.layerTop .archive ul li a .text p.lead, .layerTop .archive ul li>div .text p.lead {
  font-weight: 400
}
.layerTop .archive ul li a .text p.link, .layerTop .archive ul li>div .text p.link {
  -ms-flex-item-align: end;
  align-self: flex-end;
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap
}
.layerTop .archive ul li a .text p.link:after, .layerTop .archive ul li>div .text p.link:after {
  content: '';
  display: block;
  height: 2px;
  background: #fc0000
}
#topIntro {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  z-index: 2;
  background: #fff
}
#topIntro .logo, #topIntro .title {
  position: absolute;
  top: 50%;
  left: 50%;
  visibility: hidden;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}
#topIntro, #topIntro .title img {
  width: 100%
}
#topIntro .introFrame {
  position: absolute;
  overflow: visible;
  visibility: hidden
}
#topIntro .introFrame rect {
  fill: transparent
}
#topIntro .introFrame rect.dash {
  stroke: #fc0000;
  fill: transparent
}
#topIntro .introFrame rect.mask {
  stroke: #dadada;
  stroke-width: 3px;
  -webkit-transition: fill;
  transition: fill
}
#topIntro #introCopy {
  position: absolute;
  visibility: hidden;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}
#topIntro #introCopy path.dash {
  stroke: #fc0000;
  fill: #dadada
}
#topIntro #introCopy path.mask {
  fill: transparent;
  stroke: #dadada;
  stroke-width: 10px;
  -webkit-transition: fill;
  transition: fill
}
.kv_txtbox{
   text-align: center;
   /*position: absolute;*/
   top: 0;
   padding: 45px 26px;
   z-index: 1;
   background-image: url(/jp/ja/contents/sustainability/img/bg_title_white.png);
   background-repeat: repeat;
   width: 100%;
}
.kv_txt{
    font-size: 30px;
    font-weight: bold;
    color: #379e49;
    margin-top: 25px;
}


@media (min-width:768px) {
  .sp {
    display: none!important
  }
  .layerTop {
    font-size: 16px;
    line-height: 24px;
  }
  .layerTop .main {
    width: 1240px;
    padding: 0;
    margin: 0 0 50px -140px;
  }
  .layerTop .main #mainSlide {
    width: 1240px;
    height: 600px
  }
  #topIntro #introCopy path.dash, #topIntro .introFrame rect.dash, .layerTop .main #mainCopy path {
    stroke-width: 2px;
    stroke-dasharray: 3 2
  }
  .layerTop .category ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .layerTop .category ul li {
    width: 180px;
    margin: 0 40px;
  }
  .layerTop .category ul li a {
    height: 210px
  }
  .layerTop .category ul li a span:nth-child(2) {
    height: 80px;
    font-size: 18px;
    line-height: 26px
  }
  .layerTop .category ul li a span:nth-child(2):after {
    height: 2px;
    width: 40px
  }
  .layerTop .update dl {
    font-size: 16px;
    margin-top: 1em
  }
  .layerTop .update dl dt {
    margin-right: 4px
  }
  .layerTop .update dl dt:after {
    margin-left: 4px
  }
  .layerTop .archive ul, .layerTop .update dl dd a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
  .layerTop .update dl dd a {
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear
  }
  .layerTop .archive ul li a:hover .dotsFrame img, .layerTop .feature #featureSlider .item a:hover .dotsFrame img, .layerTop .update dl dd a:hover {
    opacity: .7
  }
  .layerTop .update dl dd a .summary {
    margin-right: 10px
  }
  .layerTop .feature #featureSlider {
    width: 980px;
    overflow: hidden;
    padding: 0 17.5px;
    margin-left: -10px;
  }
  .layerTop .feature #featureSlider:before {
    right: 407px;
    height: calc(100% + 20px)
  }
  .featureSlider-wrapper{
    width: 960px;
    overflow: hidden;
  }
  .layerTop .feature #featureSlider .swiper-wrapper {
    width: 420px
  }
  .layerTop .feature #featureSlider .item {
    width: 320px;
    padding-right: 18.5px;
    padding-left: 18.5px;
  }
  .layerTop .feature #featureSlider .item a img{
    width: 100%;
    height: auto;
  }
  .layerTop .feature #featureSlider .item a .eyecatch {
    left: -12px;
    top: -17px
  }
  .layerTop .feature #featureSlider .item a .eyecatch#eyecatch1 img {
    width: 151px;
    height: 109px
  }
  .layerTop .feature #featureSlider .item a .eyecatch#eyecatch2 img {
    width: 205px;
    height: 103px
  }
  .layerTop .feature #featureSlider .item a .text {
    height: 56px
  }
  .layerTop .feature #featureSlider .item a .text:after {
    width: 40px;
    height: 2px
  }
  .layerTop .feature #featureSlider .arrows {
    left: 0;
    top: 120px;
    width: 980px;
  }
  .layerTop .feature #featureSlider .arrows>div {
    position: absolute;
    height: 50px;
    width: 14px;
    background-size: 14px 50px;
    cursor: pointer
  }
  .layerTop .feature #featureSlider .arrows .next {
    right: 0;
  }
  .layerTop .feature #featureSlider .pager {
    width: 945px;
    margin-top: 16px
  }
  .layerTop .feature #featureSlider .pager span {
    width: 12px;
    height: 12px
  }
  .layerTop .archive ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .layerTop .archive ul li {
    width: 50%;
    margin-bottom: 30px
  }
  .layerTop .archive ul li a .dotsFrame, .layerTop .archive ul li>div .dotsFrame {
    width: 180px;
    height: 180px
  }
  .layerTop .archive ul li a .text, .layerTop .archive ul li>div .text {
    padding: 0 20px;
    width: 360px
  }
  .layerTop .archive ul li a .text h3, .layerTop .archive ul li>div .text h3 {
    font-size: 18px
  }
  .layerTop .archive ul li a .text p.lead, .layerTop .archive ul li>div .text p.lead {
    margin-top: 10px
  }
  .layerTop .archive ul li a .text p.link:after, .layerTop .archive ul li>div .text p.link:after {
    width: 40px;
    margin-left: 25px
  }
  #topIntro {
    min-width: 1370px
  }
  #topIntro .logo {
    width: 320px;
    height: 320px
  }
  #topIntro .title {
    width: 621px;
    height: 308px
  }
  #topIntro .introFrame {
    left: 50%;
    top: 64px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)
  }
}

@media (max-width:767px) {
  .pc {
    display: none!important
  }
  .layerTop {
    font-size: 3.8vw;
    line-height: 4.8vw
  }
  .layerTop .main {
    width: 100vw;
    left: 50%;
    margin-left: -50vw;
  }
  .layerTop .main #mainSlide {
    width: 100vw;
    /*height: 85.33333vw*/
  }
  .layerTop .main #mainSlide img {
    width: 100%;
    /*position: absolute;
    height: 85.33333vw;
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0)*/
  }
  .layerTop .main #mainCopy {
    width: 86.93333vw;
    height: 27.33333vw;
    bottom: 0;
    left: 50%;
    margin: 0 0 0 -43.46667vw
  }
  .layerTop .main .mainCopy{
    /* width: 90%; */
    margin-top: 0;
    font-size: 9px;
  }
  .layerTop .main .mainCopy .mainCopyTitle{
    margin-top: 18px;
    margin-bottom: 13px;
    line-height: 1.5;
  }
  .layerTop .main .mainCopy .mainCopyTitle span{
    font-size: 20px;
    letter-spacing: 2px;
    /*border-bottom: 2px solid #379e49;*/
  }
  .layerTop .main .mainCopy p:nth-child(2) {
    font-weight: normal;
    font-size: 11px;
    padding: 0 1rem;
    word-break: break-word;
    line-height: 1.5;
  }

  #topIntro #introCopy path.dash, #topIntro .introFrame rect.dash, .layerTop .main #mainCopy path {
    stroke-width: 2px;
    stroke-dasharray: 3 2
  }
  .layerTop .category ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%
  }
  .layerTop .category ul li {
    width: 32%;
    margin: 0 0 1.33333vw
  }
  .layerTop .category ul li a {
    height: 30vw
  }
  .layerTop .category ul li a span:nth-child(1) {
    font-size: 2.13333vw;
    line-height: 1
  }
  .layerTop .category ul li a span:nth-child(2) {
    height: 10.66667vw;
    font-size: 2.66667vw;
    line-height: 4.26667vw
  }
  .layerTop .category ul li a span:nth-child(2):after {
    height: 1px;
    width: 5.33333vw
  }
  .layerTop .update dl {
    font-size: 3.8vw;
    margin-top: 1em
  }
  .layerTop .update dl dt {
    margin-right: .53333vw
  }
  .layerTop .update dl dt:after {
    margin-left: .53333vw
  }
  .layerTop .update dl dd a .explain {
    display: none
  }
  .layerTop .feature #featureSlider, .layerTop .feature #featureSlider .swiper-wrapper {
    width: 220vw;
    margin-left: 5vw;
  }
  .layerTop .feature #featureSlider:before {
    right: 71.6vw;
    height: calc(100% + 3.2vw)
  }
  .layerTop .feature #featureSlider .item {
    width: 69.33333vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .layerTop .feature #featureSlider .item img{
    width: 100%;
    height: auto;
  }
  .layerTop .feature #featureSlider .item a .eyecatch {
    left: -2.13333vw;
    top: -3.2vw
  }
  .layerTop .feature #featureSlider .item a .eyecatch#eyecatch1 img {
    width: 26.93333vw;
    height: 19.2vw
  }
  .layerTop .feature #featureSlider .item a .eyecatch#eyecatch2 img {
    width: 36.8vw;
    height: 18.26667vw
  }
  .layerTop .feature #featureSlider .item a .text {
    height: 11.46667vw
  }
  .layerTop .feature #featureSlider .item a .text:after {
    width: 5.33333vw;
    height: .26667vw
  }
  .layerTop .feature #featureSlider .arrows {
      top: 0;
      width: 100vw;
      margin-left: -8vw;
  }
  .layerTop .feature #featureSlider .arrows>div {
      background: url(../img/common/slide_arrow.png) no-repeat right center;
  }
  .layerTop .feature #featureSlider .arrows>div {
    height: 65vw;
    width: 14vw;
    background-size: 2.5vw 8.9vw
  }
  .layerTop .feature #featureSlider .arrows .prev {
    position: absolute;
    left: 0;
  }
  .layerTop .feature #featureSlider .arrows .next {
    position: absolute;
    right: 0;
  }
  .layerTop .feature #featureSlider .pager {
    width: 84vw;
    margin-top: 8vw
  }
  .layerTop .feature #featureSlider .pager span {
    width: 2.4vw;
    height: 2.4vw
  }
  .layerTop .feature #featureSlider .coverRight {
    display: none
  }
  .layerTop .archive ul li {
    margin-bottom: 8vw
  }
  .layerTop .archive ul li a, .layerTop .archive ul li>div {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .layerTop .archive ul li a .dotsFrame, .layerTop .archive ul li>div .dotsFrame {
    width: 38vw;
    height: 38vw
  }
  .layerTop .archive ul li a .dotsFrame svg rect, .layerTop .archive ul li>div .dotsFrame svg rect{
    stroke: #dadada;
  }
  .layerTop .archive ul li a .text, .layerTop .archive ul li>div .text {
    width: 52vw
  }
  .layerTop .archive ul li a .text h3, .layerTop .archive ul li>div .text h3 {
    font-size: 3.8vw
  }
  .layerTop .archive ul li a .text p.lead, .layerTop .archive ul li>div .text p.lead {
    font-size: 3.8vw;
    margin-top: .53333vw;
    margin-bottom: .53333vw
  }
  .layerTop .archive ul li a .text p.link:after, .layerTop .archive ul li>div .text p.link:after {
    font-size: 3.2vw;
    width: 5.33333vw;
    margin-left: 2.66667vw
  }
  #topIntro .logo {
    width: 42.66667vw;
    height: 42.66667vw
  }
  #topIntro .title {
    width: 82.8vw;
    height: 41.06667vw
  }
  #topIntro .introFrame {
    width: 100vw;
    height: 85.33333vw;
    top: 13.33333vw;
    left: 0
  }
  #topIntro #introCopy {
    width: 86.93333vw;
    height: 27.33333vw
  }
  .sp_bnr{
      text-align: center;
  }
  .sp_bnr_img{
      width: 90%;
  }
  .kv_txtbox{
      text-align: center;
      /*position: absolute;*/
      top: 0;
      padding: 16px 0 14px;
      z-index: 1;
      background-image: url(/jp/ja/contents/sustainability/img/bg_title_white.png);
      background-repeat: repeat;
      width: 100%;
  }
  .kv_txtbox img, .kv_txtbox .kv_txt{
      width: 95%;
  }
  .kv_txt{
      font-size: 9px;
      font-weight: bold;
      color: #379e49;
      margin-top: 4px;
  }
  .bnr_area .bnr.w50{
    width: calc(100% / 3);
  }
  .bnr_area a{
    margin: 0 -5px;
  }

  .bnr_area a{
    margin: 0 -2px 12px;
  }

  .bnr_area a img{
    margin: 0;
    padding: 0 2px;
    width: 100%;
  }
}


@media (max-width: 767px) {
  .layerTop .archive ul li a .text p.link, .layerTop .archive ul li>div .text p.link {
    font-size: 11px;
    letter-spacing: 0;
  }
}
