#kv {
  overflow: hidden;
  position: relative;
  height: 720px;
}

#kv img {
  width: 100%;
  height: auto;
}

#kv::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 3;
  pointer-events: none;
  left: 0;
  top: 0;
  background: black;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}

#kv .text {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  font-size: 48px;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  color: #fff;
  line-height: 1.4375;
  letter-spacing: 0.1em;
  pointer-events: none;
}

#kv .slider {
  position: relative;
  z-index: 2;
}

#kv .slider div {
  height: 720px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

#kv .slider.slick-dotted.slick-slider {
  margin: 0;
}

#kv .slick-dots {
  bottom: 40px;
}

#kv .slick-dots li button:before {
  font-size: 12px;
  color: #fff;
  opacity: .6;
}

#kv .slick-dots li.slick-active button:before {
  color: #fff;
  opacity: 1;
}

body {
  opacity: 0;
  padding-top: 0;
  -webkit-transition: opacity .3s ease;
  transition: opacity .3s ease;
}

.trans [data-icon="glyph"] {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/glyph_w.png");
}

.trans [data-icon="notice"] {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/icon_notice_w.png");
}

.trans [data-icon="simul"] {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/icon_simul_w.png");
}

.trans [data-icon="cart"] {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/icon_cart_w.png");
}

.trans [data-icon="mypage"] {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/icon_mypage_w.png");
}

.trans .h_fixed {
  background: transparent;
}

.trans .h_fixed [data-submenu],
.trans .h_fixed a {
  color: #fff;
}

.trans .h_logo a {
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/foure_logo_hw.png");
}

.trans .h_toggle span {
  background: #fff;
}

#about .inner {
  padding: 120px 0 286px;
  text-align: center;
}

#about .inner h2 {
  margin-bottom: 80px;
}

#about .inner p {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
}

#about::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/bg-about.png");
  background-repeat: repeat-x;
  background-position: left bottom;
  pointer-events: none;
}

#products .inner {
  padding: 120px 0 0;
}

#products .btn {
  margin: 120px 0;
}

.products {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 1080px;
  margin: 80px auto 0;
}

.products li {
  width: calc(1 / 3 * 100% - 20px * 2 / 3);
}

.products li a {
  display: block;
}

.products li img {
  width: 100%;
  height: auto;
  display: block;
}

.products li div {
  word-break: break-all;
}

.products li .img {
  width: 100%;
  height: 240px;
  overflow: hidden;
}

.products li .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.products li .area {
  margin-top: 24px;
  font-size: 13px;
  line-height: 1.76923;
  letter-spacing: 0.1em;
}

.products li .title {
  font-size: 16px;
  font-weight: bold;
  margin-top: 16px;
  line-height: 1.6875;
  letter-spacing: 0.1em;
}

.products li .price {
  font-size: 18px;
  line-height: 1.33333;
  letter-spacing: 0.1em;
  margin-top: 22px;
}

#organizations {
  width: 1080px;
  margin: 0 auto;
  border-top: thin solid #E1E1E1;
}

#organizations .inner {
  padding: 120px 0;
}

.organizations {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 1080px;
  margin: 60px auto 0;
}

.organizations li {
  width: calc(1 / 3 * 100% - 20px * 2 / 3);
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 20px;
}

.organizations li:nth-child(3n + 1) {
  margin-left: 0;
}

.organizations li:nth-child(3n + 3) {
  margin-right: 0;
}

.organizations li:nth-child(3n + 4):last-child {
  margin-left: 0;
  margin-right: 0;
}

.organizations li:first-child:last-child {
  margin-left: auto;
  margin-right: auto;
}

.organizations li a {
  display: block;
  position: relative;
}

.organizations li a > div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  background-color: rgba(51, 51, 51, 0.3);
  padding: 40px;
  line-height: 1.72222;
  letter-spacing: 0.1em;
  font-size: 18px;
  font-weight: 700;
  pointer-events: none;
}

.organizations li img {
  width: 100%;
  height: auto;
  display: block;
}

.organizations li div {
  word-break: break-all;
}

.organizations li a + div > a {
  font-size: 14px;
  font-weight: 700;
  margin-top: 10px;
  margin-right: 12px;
  line-height: 2.28571;
  letter-spacing: 0.05em;
  padding-right: 20px;
  color: #B1871B;
  text-align: right;
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/glyph_org.png");
  background-repeat: no-repeat;
  background-position: right center;
}

#supporter {
  text-align: center;
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/bg-supporter.png");
  background-repeat: no-repeat;
  background-size: cover;
}

#supporter::before {
  content: '';
  background-color: rgba(51, 51, 51, 0.3);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 0;
}

#supporter .inner {
  color: #fff;
  padding: 120px 0;
  position: relative;
  z-index: 1;
}

#supporter h2 {
  font-size: 28px;
  font-weight: 400;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  margin-bottom: 80px;
  line-height: 1.42857;
  letter-spacing: 0.1em;
}

#supporter p {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.1em;
}

#supporter p + p {
  margin-top: 1.5em;
}

#simulation .inner {
  padding: 120px 0;
  text-align: center;
}

#simulation h2 {
  font-size: 28px;
  font-weight: 400;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: 0.1em;
}

#simulation p {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 48px;
}

#simulation .btn {
  margin-top: 40px;
}

.selects {
  margin: 64px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.selects .select {
  width: 290px;
  height: 48px;
  border: thin solid #707070;
  background: #fff;
  margin: 0 20px;
  text-align: center;
  position: relative;
}

.selects .select span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.selects .select::after {
  content: '';
  display: block;
  width: 15px;
  height: 8px;
  position: absolute;
  z-index: 1;
  right: 16px;
  top: calc(50% - 3px);
  background-image: url("https://img21.shop-pro.jp/PA01459/566/etc/glyph_sel.png");
}

.selects .select select {
  width: 290px;
  height: 48px;
  opacity: 0;
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
}

.result {
  width: 620px;
  padding: 43px 48px;
  margin-top: 64px;
  margin-left: auto;
  margin-right: auto;
  border: 2px solid #B1871B;
  background: #fff;
}

.result > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.result .valid div:first-child {
  text-align: left;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55556;
  letter-spacing: 0.1em;
}

.result .valid div:last-child {
  text-align: right;
  font-size: 27px;
  font-weight: 700;
}

.result .valid div:last-child span {
  font-size: 53px;
  color: #DD4827;
  line-height: 1.50943;
  margin-right: 10px;
}

.result .invalid {
  display: none;
  color: #DD4827;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.notes {
  width: 620px;
  margin: 40px auto 0;
}

.notes li {
  text-indent: -1.25em;
  padding-left: 1.5em;
  text-align: left;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}

.notes li + li {
  margin-top: 12px;
}

.notes li::before {
  content: '¢¨';
  margin-right: .5em;
}

#onestop {
  background: #F6F4F0;
  padding: 76px 0 72px;
}

#onestop .inner {
  width: 750px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#onestop .inner > div {
  width: 480px;
}

#onestop .inner + .inner {
  margin-top: 80px;
}

#onestop .inner h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.16667;
  letter-spacing: 0.1em;
}

#onestop .inner p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}

#onestop .inner p:first-of-type {
  margin-top: 40px;
}

#onestop .inner li,
#onestop .inner p + p {
  font-size: 13px;
  line-height: 1.92308;
  word-break: break-all;
}

#onestop .inner ul {
  margin-top: 40px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.1em;
}

#onestop .inner ul li::before {
  content: '¡ü';
}

#onestop .inner ul li .address {
  margin-left: 1.4em;
}

#onestop .inner ul li .address::before {
  content: '¡ÚÍ¹Á÷Àè¡Û';
  display: block;
}

#onestop .inner ul li span {
  display: block;
  margin-left: 1.4em;
}

#onestop .btn {
  margin-top: 40px;
  display: block;
}

#onestop .btn a {
  width: 240px;
  background: #707070;
}

#onestop .btn a:hover {
  color: #707070;
  background: #fff;
}

#onestop .btn::after {
  width: 240px;
  background: #333;
  left: 4px;
}

@media screen and (min-width: 751px) {
  .products li:nth-child(3n + 2):last-child {
    margin-right: calc(1 / 3 * 100% + 20px * 1 / 3);
  }
  .products li:nth-child(n + 4) {
    margin-top: 48px;
  }
  #onestop .inner ul li span br {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  #kv {
    width: 100vw;
    height: 100vh;
  }
  #kv::before {
    display: none;
  }
  #kv .text {
    padding: 0 10.66667vw;
    line-height: 2;
    font-size: 7.46667vw;
  }
  #kv .slider div {
    height: 100vh;
  }
  #about .inner {
    padding: 14.93333vw 4.26667vw 42.66667vw;
  }
  #about .inner h2 {
    margin-bottom: 12.8vw;
  }
  #about .inner p {
    font-size: 3.73333vw;
    line-height: 2;
    padding: 0 4.26667vw;
  }
  #about::before {
    background-position: 90% bottom;
    background-size: 210vw;
  }
  #products .inner {
    padding-top: 14.93333vw;
  }
  #products .btn {
    margin: 12.8vw 0;
  }
  .products {
    width: 100%;
    margin-top: 8.53333vw;
    padding-left: 4.26667vw;
    padding-right: 4.26667vw;
  }
  .products li {
    width: calc(50% - 3.73333vw / 2);
  }
  .products li .img {
    height: 29.86667vw;
  }
  .products li .area {
    margin-top: 4.26667vw;
    font-size: 3.2vw;
    line-height: 1.66667;
  }
  .products li .title {
    margin-top: 4.26667vw;
    font-size: 3.73333vw;
    line-height: 1.71429;
  }
  .products li .price {
    margin-top: 3.73333vw;
    font-size: 4.8vw;
    line-height: 1.33333;
  }
  .products li:nth-child(n + 3) {
    margin-top: 10.66667vw;
  }
  #organizations {
    width: 100%;
  }
  #organizations .inner {
    padding: 14.93333vw 0;
  }
  .organizations {
    width: 100%;
    padding-left: 4.26667vw;
    padding-right: 4.26667vw;
    margin-top: 8.53333vw;
  }
  .organizations li {
    width: 100%;
    margin: 0;
  }
  .organizations li + li {
    margin-top: 10.66667vw;
  }
  .organizations li a > div {
    font-size: 4.26667vw;
  }
  .organizations li a + div > a {
    font-size: 3.73333vw;
    margin-top: 4.26667vw;
    margin-right: 0;
  }
  #supporter .inner {
    padding: 14.93333vw 4.26667vw;
  }
  #supporter h2 {
    font-size: 5.33333vw;
    line-height: 1.45;
    margin-bottom: 10.66667vw;
  }
  #supporter p {
    font-size: 3.73333vw;
    line-height: 2;
  }
  #simulation .inner {
    padding: 14.93333vw 4.26667vw;
  }
  #simulation h2 {
    font-size: 5.33333vw;
  }
  #simulation p {
    font-size: 3.73333vw;
    line-height: 2;
    margin-top: 10.66667vw;
  }
  #simulation .btn {
    margin-top: 6.4vw;
  }
  .selects {
    margin: 4.26667vw 4.26667vw 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .selects .select {
    width: 100%;
    height: 12.8vw;
    margin: 6.4vw 0 0;
  }
  .result {
    width: 90%;
    padding: 10.66667vw 2.66667vw;
  }
  .result > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .result .valid div:first-child {
    font-size: 4.26667vw;
    line-height: 1.75;
    text-align: center;
  }
  .result .valid div:last-child {
    margin-top: 7.2vw;
  }
  .result .valid div:last-child span {
    font-size: 12.8vw;
    line-height: 1.66667;
  }
  .notes {
    width: 100%;
    margin: 6.4vw 0 0;
    padding: 0 4.26667vw;
  }
  .notes li {
    font-size: 3.46667vw;
  }
  .notes li + li {
    margin-top: 4.26667vw;
  }
  #onestop {
    padding: 10.66667vw 4.26667vw;
  }
  #onestop .inner {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  #onestop .inner > div {
    width: 100%;
  }
  #onestop .inner + .inner {
    margin-top: 10.66667vw;
  }
  #onestop .inner h2 {
    font-size: 4.8vw;
    line-height: 1.55556;
  }
  #onestop .inner p {
    margin-top: 8.53333vw;
    font-size: 3.73333vw;
  }
  #onestop .inner p:first-of-type {
    margin-top: 8.53333vw;
  }
  #onestop .inner li,
  #onestop .inner p + p {
    font-size: 3.46667vw;
  }
  #onestop .inner ul {
    margin-top: 8.53333vw;
    font-size: 3.73333vw;
  }
  #onestop .inner img {
    width: 50.66667vw;
    margin-top: 10.66667vw;
  }
  #onestop .btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 10.66667vw;
    margin-left: 4.26667vw;
    margin-right: 4.26667vw;
  }
  #onestop .btn a {
    width: 100%;
  }
  #onestop .btn::after {
    width: 100%;
  }
}
