@charset "UTF-8";

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

body * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-size: inherit;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

article,
footer,
header,
section {
  display: block;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none;
}

b {
  font-weight: inherit;
}

b {
  font-weight: bolder;
}

code {
  font-size: 1em;
  font-family: monospace, monospace;
}

img {
  border-style: none;
  vertical-align: top;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 100%;
  line-height: 1.15;
  font-family: sans-serif;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: none;
  border: none;
}

button:focus,
html [type="button"]:focus,
[type="reset"]:focus,
[type="submit"]:focus {
  outline: none;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

li {
  list-style: none;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  position: relative;
  width: 100%;
  min-width: 320px;
  color: #333333;
  font-family:
    游ゴシック体,
    YuGothic,
    游ゴシック,
    Yu Gothic,
    sans-serif;
}

a,
a:visited,
a:active,
a:hover {
  text-decoration: none;
}

select,
input[type="submit"],
input[type="button"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  font: inherit;
  cursor: pointer;
}

select:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
  outline: none;
}

.l-col {
  display: flex;
  flex-direction: column;
}

.l-col-bg {
  position: relative;
}

.l-col-bg img {
  position: sticky;
  top: 0;
  width: 100%;
}

.l-col-main {
  padding-top: 30px;
}

.header {
  padding: 10px 0;
}

.curucuruLogo {
  width: 107px;
  margin: 0 auto;
}

.curucuruLogo a img {
  width: 100%;
}

.pageHead {
  display: flex;
  flex-direction: column;
  padding: 0 20px;
  gap: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  font-family: balboa, sans-serif;
}

.pageHead-sub {
  font-size: 26px;
  font-weight: 400;
  font-family: century-gothic, sans-serif;
}

.pageHead-main {
  font-size: 14px;
  font-weight: 700;
  font-family: century-gothic, sans-serif;
  line-height: 1.8;
  margin: 0 0 20px;
}

.pageCatch {
  padding: 0 20px 30px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
}

.pageDesc {
  font-weight: 700;
  padding: 0 20px;
  margin: 0 0 80px;
}

.pageDesc p {
  font-size: 14px;
  line-height: 2;
}

.pageDesc p + p {
  margin-top: 1em;
}

.sec-banner {
  padding: 19.4666666667vw 2.6666666667vw 8vw;
}

.sec-banner-head {
  margin-bottom: 36px;
  font-size: 23px;
  text-align: center;
}

.sec-banner .curucuruLogo {
  margin-top: 14.4vw;
}

.banner {
  padding: 14px 0;
  border-bottom: 1px solid #ccc;
  padding: 24px 0;
}

.banner a {
  display: flex;
  color: #000;
}

.banner-thumb {
  flex-shrink: 0;
  width: 136px;
}

.banner-thumb img {
  width: 100%;
}

.banner-head {
  margin-top: 2.6666666667vw;
  margin-left: 5.3333333333vw;
  font-size: 3.7333333333vw;
}

.btnBuy {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  height: 6.9333333333vw;
  border: 1px solid #3f3c3c;
  color: #3f3c3c;
  font-size: 3.7333333333vw;
  line-height: 1;
}

.scrolltop {
  z-index: 10;
  position: fixed;
  right: 1em;
  bottom: 1em;
}

.scrolltop a {
  display: block;
  width: 40px;
}

.scrolltop a img {
  width: 100%;
}

.btnBack {
  margin: 40px 30px 0;
}

.btnBack + .btnBack {
  margin: 10px 30px 0;
}

.btnBack a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  border: 1px solid #001220;
  color: #001220;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
  transition: background-color 0.1s ease;
}

.btnBack a:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 7px;
  height: 14px;
  transform: translateY(-50%);
  background-image: url(../images/arrow-right.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
}

.footer {
  padding-bottom: 40px;
}

.footer .curucuruLogo {
  width: 150px;
  margin-top: 30px;
}

.sec {
  padding-top: 80px;
}

.secHead {
  margin: 0 0 20px;
}

.secHead__head {
  width: 100%;
}

.sec-content {
  background: #ebf0f4;
  padding: 30px 0 70px;
}

.sec-content--pink {
  background: #fff1f4;
}

.secDesc {
  padding: 0 23px;
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
  margin: 0 0 20px;
}

.cam {
  margin: 80px auto;
  padding: 0 20px;
}

.point {
  padding: 0 20px;
  margin: 0 0 20px;
}

.itemList {
  padding: 0 23px;
  color: #355558;
}

.itemList li {
  display: flex;
  justify-content: space-between;
}

.itemList li .name {
  font-size: 16px;
}

.itemList li + li {
  margin-top: 18px;
}

.otherLook {
  margin: 80px auto 0;
  padding: 60px 25px;
  background-color: #fee7ee;
}

.otherLook-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.otherLook-head .ja {
  font-size: 18px;
}

.otherLook-head .en {
  font-style: normal;
  font-weight: 700;
  margin: 0 0 10px;
  font-family: century-gothic, sans-serif;
  font-size: 42px;
}

.otherLook-bnr {
  margin-top: 50px;
}

.otherLook-bnr a {
  display: block;
}

.otherLook-bnr a img {
  width: 100%;
}

.otherLook-bnr .cap {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
}

.lookList {
  display: flex;
  align-items: center;
  margin-top: 40px;
}

.lookList + .lookList {
  margin-top: 20px;
}

.lookList-thumb {
  flex-shrink: 0;
  width: 180px;
}

.lookList-thumb img {
  width: 100%;
}

.lookList-body {
  flex: 1;
  padding-left: 26px;
}

.lookList-body ul li .name,
.lookList-body ul li .price {
  font-size: 18px;
}

.lookList-body ul li .btnBuy {
  width: 50px;
  height: 20px;
  margin-top: 14px;
  background-color: #355558;
  color: #fff;
  font-size: 12px;
}

.lookList-body ul li + li {
  margin-top: 40px;
}

.thoughts {
  margin: 60px 0 0;
}

.thoughts span {
  display: block;
}

.thoughts-btn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  background: #667179;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  gap: 0 8px;
  height: 60px;
  justify-content: center;
  line-height: 1.3;
  margin: 0 auto;
  text-align: center;
  width: 90%;
}

.thoughts-btn:after {
  background: url(../../img/common/pencil.png) 50% / cover;
  content: "";
  display: block;
  height: 16px;
  width: 16px;
}

@media screen and (min-width: 768px) {
  .l-col {
    flex-direction: row;
  }

  .l-col-bg {
    flex-shrink: 0;
    width: 50%;
    background-color: #ececec;
  }

  .l-col-main {
    flex-shrink: 0;
    width: 50%;
  }

  article {
    max-width: 375px;
    margin: 0 auto;
  }

  .header {
    z-index: 10;
    position: fixed;
    top: 20px;
    left: 20px;
    padding: 0;
  }

  .curucuruLogo {
    width: 160px;
    display: none;
  }

  .pageHead {
    padding: 0;
  }

  .pageHead-sub {
    font-size: 28px;
  }

  .pageHead-main {
    font-size: 20px;
  }

  .pageCatch {
    padding: 20px 0 30px;
    font-size: 20px;
    width: 375px;
    margin: 0 auto;
  }

  .pageDesc {
    width: 375px;
    margin: 0 auto;
    padding: 0;
  }

  .pageDesc p {
    font-size: 16px;
    line-height: 2;
  }

  .cam {
    width: 375px;
    margin: 40px auto 80px;
    padding: 0;
  }

  .sec-banner {
    padding: 110px 0 60px;
  }

  .sec-banner .curucuruLogo {
    margin-top: 6vw;
  }

  .banner {
    padding: 14px 0;
    transition: opacity 0.2s ease;
  }

  .banner-thumb {
    width: 136px;
  }

  .banner-head {
    margin-top: 1.6vw;
    margin-left: 2vw;
    font-size: 1.6vw;
  }

  .banner:hover {
    opacity: 0.8;
    transition: opacity 0.1s ease;
  }

  .btnBuy {
    height: 24px;
    font-size: 14px;
  }

  .btnBuy:hover {
    background-color: #333;
    color: #fff;
    transition: background-color 0.1s ease;
  }

  .scrolltop a {
    width: 50px;
  }

  .btnBack {
    max-width: 400px;
    margin: 40px auto 0;
  }

  .btnBack + .btnBack {
    margin: 10px auto 0;
  }

  .btnBack a:after {
    right: 18px;
  }

  .btnBack a:hover {
    background-color: #001220;
    color: #fff;
    transition: background-color 0.1s ease;
  }

  .btnBack a:hover:after {
    background-image: url(../images/arrow-right-w.png);
  }

  .footer {
    padding-bottom: 80px;
  }

  .footer .curucuruLogo {
    width: 260px;
    margin-top: 80px;
  }

  .sec {
    width: 375px;
    margin: 0 auto;
  }

  .secHead__point {
    width: 160px;
    margin-right: 32px;
  }

  .secDesc {
    padding: 0 20px;
    font-size: 16px;
  }

  .pageHead {
    width: 375px;
    margin: 0 auto;
  }

  .itemList {
    padding: 0 20px;
  }

  .otherLook {
    width: 375px;
    margin: 90px auto 0;
    padding: 70px 33px;
  }

  .otherLook-head .ja {
    font-size: 20px;
  }

  .otherLook-head .en {
  }

  .otherLook-bnr .cap {
    font-size: 16px;
  }

  .thoughts-btn {
    margin: 0 auto;
    max-width: 375px;
  }
}

@media screen and (min-width: 1000px) {
  .sec-banner .curucuruLogo {
    margin-top: 60px;
  }

  .banner-head {
    margin-top: 16px;
    margin-left: 20px;
    font-size: 16px;
  }
}

.itemSlider {
  margin: 20px 0 60px;
}

.itemSlider__inner {
  padding: 0 5px;
}

.slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  gap: 10px;
}

.slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #474545;
  border: solid 1px #474545;
  text-indent: -200vw;
  cursor: pointer;
}

.slick-prev {
  z-index: 30;
  position: absolute;
  top: 50%;
  left: 0;
  width: 50px;
  height: 50px;
  transform: translateY(-50%) translateX(-50%);
  background-image: url(../images/arrow-prev.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-color: unset;
  text-indent: -200vw;
  cursor: pointer;
}

.slick-next {
  z-index: 30;
  position: absolute;
  top: 50%;
  right: 0;
  width: 50px;
  height: 50px;
  transform: translateY(-50%) translateX(50%);
  background-image: url(../images/arrow-next.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-color: unset;
  text-indent: -200vw;
  cursor: pointer;
}

.slick-dots li.slick-active button {
  background: #60696d;
  border: solid 1px #60696d;
}

@media screen and (max-width: 768px) {
  .slick-next {
    right: 28px;
    width: 50px;
    height: 50px;
  }

  .slick-prev {
    left: 28px;
    width: 50px;
    height: 50px;
  }
}
