@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,900);
@import url("https://fonts.googleapis.com/css2?family=Gilda+Display&family=Marcellus&family=Noto+Sans+JP:wght@100..900&display=swap");
@font-face {
  font-family: 'oswaldregular';
  src: url("font/oswald-regular-webfont.eot");
  src: url("font/oswald-regular-webfont.eot?#iefix") format("embedded-opentype"), url("font/oswald-regular-webfont.woff") format("woff"), url("font/oswald-regular-webfont.ttf") format("truetype"), url("font/oswald-regular-webfont.svg#oswaldregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'oswaldlight';
  src: url("font/oswald-light-webfont.eot");
  src: url("font/oswald-light-webfont.eot?#iefix") format("embedded-opentype"), url("font/oswald-light-webfont.woff") format("woff"), url("font/oswald-light-webfont.ttf") format("truetype"), url("font/oswald-light-webfont.svg#oswaldregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'oswaldlight';
  src: url("font/oswald-light-webfont.eot");
  src: url("font/oswald-light-webfont.eot?#iefix") format("embedded-opentype"), url("font/oswald-light-webfont.woff") format("woff"), url("font/oswald-light-webfont.ttf") format("truetype"), url("font/oswald-light-webfont.svg#oswaldregular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'NotoSansJP-Bold';
  src: url("../font/NotoSansJP-Bold.eot");
  src: url("../font/NotoSansJP-Bold.eot?iefix") format("eot"), url("../font/NotoSansJP-Bold.woff") format("woff"); }

@font-face {
  font-family: 'NotoSansJP-Medium';
  src: url("../font/NotoSansJP-Medium.eot");
  src: url("../font/NotoSansJP-Medium.eot?iefix") format("eot"), url("../font/NotoSansJP-Medium.woff") format("woff"); }

@font-face {
  font-family: 'NotoSansJP-Regular';
  src: url("../font/NotoSansJP-Regular.eot");
  src: url("../font/NotoSansJP-Regular.eot?iefix") format("eot"), url("../font/NotoSansJP-Regular.woff") format("woff"); }

@font-face {
  font-family: 'NotoSansJP-DemiLight';
  src: url("../font/NotoSansJP-DemiLight.eot");
  src: url("../font/NotoSansJP-DemiLight.eot?iefix") format("eot"), url("../font/NotoSansJP-DemiLight.woff") format("woff"); }

@font-face {
  font-family: 'NotoSansJP-Light';
  src: url("../font/NotoSansJP-Light.eot");
  src: url("../font/NotoSansJP-Light.eot?iefix") format("eot"), url("../font/NotoSansJP-Light.woff") format("woff"); }

@font-face {
  font-family: 'NotoSansJP-Thin-Windows';
  src: url("../font/NotoSansJP-Thin-Windows.eot");
  src: url("../font/NotoSansJP-Thin-Windows.eot?iefix") format("eot"), url("../font/NotoSansJP-Thin-Windows.woff") format("woff"); }

/* 変数
-----------------------------------------------------------------*/
body, div, p, form, input, textarea, select, option, button, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, address, button, figure, figcaption {
  font-style: normal;
  line-height: 1;
  padding: 0;
  margin: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

/* PC / SP 表示分け
-----------------------------------------------------------------*/
@media only screen and (min-width: 861px) {
  .dn-pc {
    display: none !important; } }

@media only screen and (max-width: 861px) {
  .dn-sp {
    display: none !important; } }

body .container {
  max-width: inherit;
  padding: 0 !important; }
  @media only screen and (max-width: 861px) {
    body .container {
      padding: 0 !important; } }

@media only screen and (min-width: 861px) {
  body .breadcrumbs {
    padding: 12px 0 12px 20px; } }

@media only screen and (max-width: 861px) {
  body .breadcrumbs {
    margin-top: 0; } }

@media only screen and (max-width: 861px) {
  body .classic_style .isPc {
    display: block !important; } }

/* コンテンツ
-----------------------------------------------------------------*/
.classic_style {
  width: auto; }

article.contents {
  margin: 0 auto;
  color: #333 !important; }
  article.contents a {
    color: #333;
    text-decoration: none; }

.fontColor {
  color: #3A6274; }

/*-----------------
/* 追従ナビ
------------------*/
.fixNav_list {
  font-family: "Marcellus", serif;
  opacity: 0;
  visibility: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #3A6274;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 23.5px 0;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 998;
  gap: 77px;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  @media only screen and (max-width: 861px) {
    .fixNav_list {
      gap: 35px;
      padding: 13.5px 0; } }

.fixNav_list.is-visible {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.fixNav_listNode {
  position: relative;
  -webkit-transition: all .5s;
  transition: all .5s; }
  .fixNav_listNode:hover {
    opacity: .7; }

.fixNav_text {
  color: #fff !important;
  position: relative;
  font-size: 15px;
  letter-spacing: .1em;
  -webkit-transition: .3s ease;
  transition: .3s ease; }
  @media only screen and (max-width: 861px) {
    .fixNav_text {
      font-size: 11px; } }

.mainVisual {
  position: relative;
  background-color: #97C0D2; }
  @media only screen and (min-width: 861px) {
    .mainVisual {
      padding: 41px 0; } }
  .mainVisual img {
    width: 100%;
    height: auto; }

.mainVisual_logo {
  z-index: 1; }
  @media only screen and (min-width: 861px) {
    .mainVisual_logo {
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 35%; } }
  @media only screen and (max-width: 861px) {
    .mainVisual_logo {
      position: relative;
      top: 60px;
      margin-top: -60px; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .mainVisual_logo {
      top: 120px;
      margin-top: -120px; } }

.mainVisual_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; }
  .mainVisual_list img {
    width: 100%;
    height: auto; }
  @media only screen and (min-width: 861px) {
    .mainVisual_list {
      width: 70%;
      margin-left: auto; } }
  @media only screen and (max-width: 861px) {
    .mainVisual_list {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr); } }

@media only screen and (min-width: 861px) {
  .mainVisual_listNode {
    width: 33.33333333333333%;
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s; }
    .mainVisual_listNode:hover {
      opacity: 0.9; } }

.read {
  width: 800px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 24px;
  margin: 80px auto 0; }
  @media only screen and (max-width: 861px) {
    .read {
      width: 100%;
      margin-top: 39px;
      padding: 0 20px; } }

.read_text {
  width: 100%;
  color: #3a6274;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.80;
  text-align: center;
  margin: 0; }

.read_source {
  color: #3a6274;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .08em;
  text-align: center;
  margin: 0; }

.link {
  width: 620px;
  margin: 120px auto 0; }
  @media only screen and (max-width: 861px) {
    .link {
      width: 100%;
      padding: 0 20px;
      margin-top: 104px; } }

.link_inner {
  width: 100%;
  display: -ms-grid;
  display: grid;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 40px; }
  @media only screen and (min-width: 861px) {
    .link_inner {
      -ms-grid-columns: (179px)[3];
      grid-template-columns: repeat(3, 179px); } }
  @media only screen and (max-width: 861px) {
    .link_inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 24px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }

.link_card {
  width: 179px;
  position: relative; }
  @media only screen and (max-width: 861px) {
    .link_card {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      gap: 16px; } }
  @media only screen and (min-width: 861px) {
    .link_card:after {
      -webkit-transition: ease 0.3s;
      transition: ease 0.3s;
      position: absolute;
      content: '';
      background-image: url(../assets/images/classy_2604/nav_line.svg);
      width: 100%;
      height: 1px;
      background-size: 100% 1px;
      bottom: 0;
      left: 0;
      background-repeat: no-repeat; }
    .link_card:before {
      -webkit-transition: ease 0.3s;
      transition: ease 0.3s;
      position: absolute;
      content: '';
      border-bottom: 1px solid #3a6274;
      border-right: 1px solid #3a6274;
      width: 8px;
      height: 8px;
      bottom: -5px;
      z-index: 1;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(45deg);
      -ms-transform: translateX(-50%) rotate(45deg);
      transform: translateX(-50%) rotate(45deg); }
    .link_card:hover:before {
      bottom: -8px; }
    .link_card:hover .link_cardImageArea {
      opacity: 0.7; } }

@media only screen and (min-width: 861px) {
  .link_cardImageArea {
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s; } }

@media only screen and (max-width: 861px) {
  .link_cardImageArea {
    -webkit-box-flex: 107;
    -ms-flex: 107 1 0%;
    flex: 107 1 0%;
    min-width: 0;
    aspect-ratio: 107 / 124; } }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .link_cardImageArea {
    aspect-ratio: initial;
    -webkit-box-flex: 150;
    -ms-flex: 150 1 0%;
    flex: 150 1 0%; } }

.link_cardImage {
  width: 100%;
  height: auto; }

.link_cardContent {
  position: relative;
  background: #fff; }
  @media only screen and (min-width: 861px) {
    .link_cardContent {
      height: 115px; } }
  @media only screen and (max-width: 861px) {
    .link_cardContent {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      -webkit-box-flex: 212;
      -ms-flex: 212 1 0%;
      flex: 212 1 0%;
      min-width: 0;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; }
      .link_cardContent:after {
        -webkit-transition: ease 0.3s;
        transition: ease 0.3s;
        position: absolute;
        content: '';
        background-image: url(../assets/images/classy_2604/nav_line.svg);
        width: 100%;
        height: 1px;
        background-size: cover;
        bottom: 6px;
        left: 0;
        background-repeat: no-repeat; } }
    @media only screen and (max-width: 861px) and (max-width: 861px) {
      .link_cardContent:after {
        background-image: url(../assets/images/classy_2604/nav_line-sp.svg);
        bottom: 7px; } }
  @media only screen and (max-width: 861px) {
      .link_cardContent:before {
        -webkit-transition: ease 0.3s;
        transition: ease 0.3s;
        position: absolute;
        content: '';
        border-bottom: 1px solid #3a6274;
        border-right: 1px solid #3a6274;
        width: 8px;
        height: 8px;
        bottom: 2px;
        z-index: 1;
        left: 50%;
        -webkit-transform: translateX(-50%) rotate(45deg);
        -ms-transform: translateX(-50%) rotate(45deg);
        transform: translateX(-50%) rotate(45deg); } }
    @media only screen and (max-width: 861px) and (max-width: 861px) {
      .link_cardContent:before {
        width: 10px;
        height: 10px; } }

.link_cardBadge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media only screen and (min-width: 861px) {
    .link_cardBadge {
      width: 137px;
      height: 137px;
      background-color: #fff;
      border-radius: 50%;
      margin: 0 auto;
      position: absolute;
      top: -20px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); } }

.link_cardBadgeLabel {
  color: #3a6274;
  font-family: "Gilda Display", serif;
  font-size: 8px;
  font-weight: 400;
  letter-spacing: .20em; }
  @media only screen and (max-width: 861px) {
    .link_cardBadgeLabel {
      font-size: 10px; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .link_cardBadgeLabel {
      font-size: 15px; } }

.link_cardBadgeNumber {
  color: #3a6274;
  font-family: "Gilda Display", serif;
  font-size: 36px;
  font-weight: 400;
  letter-spacing: -0.05em;
  line-height: 1; }
  @media only screen and (min-width: 861px) {
    .link_cardBadgeNumber {
      margin-top: 5px; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .link_cardBadgeNumber {
      font-size: 42px; } }

.link_cardTitle {
  color: #3a6274;
  font-family: "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.50;
  text-align: center;
  margin-top: 8px; }
  @media only screen and (min-width: 861px) {
    .link_cardTitle {
      white-space: nowrap; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .link_cardTitle {
      margin-top: 15px;
      font-size: 20px; } }

/*-----------------
/* セクション
------------------*/
@media only screen and (min-width: 861px) {
  .topic {
    padding-top: 150px; } }

@media only screen and (max-width: 861px) {
  .topic {
    padding-top: 85px; } }

@media only screen and (min-width: 861px) {
  .topic_container {
    width: 1000px;
    margin: 0 auto; } }

.topic_header {
  text-align: center; }
  @media only screen and (max-width: 861px) {
    .topic_header {
      padding: 0 20px; } }

@media only screen and (max-width: 861px) {
  .topic_header_number {
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    height: 70px !important;
    margin: 0 auto; }
    .topic_header_number img {
      width: 100% !important;
      height: 100% !important; } }

.topic_header_subTitle {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: 400;
  margin-top: 32px;
  letter-spacing: .06em;
  border-bottom: 1px solid #A0A0A0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 32px auto 0;
  padding-bottom: 12px; }
  @media only screen and (max-width: 861px) {
    .topic_header_subTitle {
      margin-top: 26px;
      font-size: 18px;
      padding-bottom: 8px; } }

.topic_header_mainTitle {
  color: #3A6274;
  text-align: center;
  margin-top: 16px; }

.topic_header_mainTitle_text {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .06em;
  border-bottom: 1px solid #A0A0A0;
  display: inline-block;
  padding-bottom: 10px;
  line-height: 1.4; }
  @media only screen and (min-width: 861px) {
    .topic_header_mainTitle_text {
      font-size: 45px; } }
  @media only screen and (max-width: 861px) {
    .topic_header_mainTitle_text {
      padding-bottom: 5px;
      font-size: 30px;
      margin-bottom: 10px; } }

.topic_header_description {
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: .06em; }
  @media only screen and (max-width: 861px) {
    .topic_header_description {
      margin-top: 22px;
      letter-spacing: .12em; } }

.topic_button-wrapper {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: ease .5s;
  transition: ease .5s;
  height: 80px; }
  @media only screen and (min-width: 861px) {
    .topic_button-wrapper {
      width: 475px;
      margin: 64px auto 0; }
      .topic_button-wrapper:hover {
        opacity: .7; } }
  @media only screen and (max-width: 861px) {
    .topic_button-wrapper {
      margin: 32px 20px 0; } }

.topic_button_arrow {
  -webkit-transition: ease .3s;
  transition: ease .3s;
  width: 80px;
  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;
  border-left: 1px solid #fff;
  height: 80px; }

.topic_button {
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  width: 100%;
  background-color: #3A6274;
  color: #fff !important;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: .12em;
  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; }

.topic_button_text {
  color: #fff !important;
  display: block;
  margin: 0 auto;
  text-align: center; }
  @media only screen and (min-width: 861px) {
    .topic_button_text {
      width: 394px; } }
  @media only screen and (max-width: 861px) {
    .topic_button_text {
      text-align: left;
      line-height: 1.5; } }

.topic_button_text_this {
  display: block; }

.item {
  position: relative;
  background-color: #E5EFF4; }
  @media only screen and (min-width: 861px) {
    .item {
      margin-top: 120px;
      padding: 120px 0 64px; } }
  @media only screen and (max-width: 861px) {
    .item {
      margin-top: 63px;
      padding: 48px 0; } }

.item_catch {
  position: relative;
  color: #3A6274;
  font-weight: 500; }
  @media only screen and (min-width: 861px) {
    .item_catch {
      font-size: 110px; } }
  @media only screen and (max-width: 861px) {
    .item_catch {
      font-size: 60px; } }

@media only screen and (min-width: 861px) {
  .item_container {
    width: 1000px;
    margin: 0 auto; }
    .item_container + .topic_button-wrapper {
      margin-top: 110px; } }

.item_header {
  position: relative;
  text-align: center;
  z-index: 1; }
  @media only screen and (max-width: 861px) {
    .item_header {
      padding: 0 20px; } }

.item_content {
  position: relative; }
  @media only screen and (min-width: 861px) {
    .item_content {
      width: 1000px;
      margin: -35px auto 0; } }
  @media only screen and (max-width: 861px) {
    .item_content {
      margin-top: -35px; } }

@media only screen and (min-width: 861px) {
  .item_contentInner {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    gap: 45px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }

.item_gallery {
  overflow: hidden; }
  @media only screen and (min-width: 861px) {
    .item_gallery {
      width: 520px; } }

.item_gallery_picture {
  display: block; }
  @media only screen and (min-width: 861px) {
    .item_gallery_picture {
      width: 520px; } }

.item_gallery_image {
  width: 100% !important;
  height: auto !important; }

@media only screen and (min-width: 861px) {
  .item_info {
    width: 410px; } }

@media only screen and (max-width: 861px) {
  .item_info {
    padding: 0 20px;
    margin-top: 83px; } }

.item_info_catch span {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .08em;
  font-size: 22px;
  padding-bottom: 8px;
  border-bottom: 1px solid transparent; }
  @media only screen and (max-width: 861px) {
    .item_info_catch span {
      font-size: 16px; } }
  .item_info_catch span + span {
    margin-top: 9px; }

@-webkit-keyframes topic01-title-line {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

@keyframes topic01-title-line {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0); }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); } }

.item_info_description {
  margin-top: 32px;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  letter-spacing: .1em; }
  @media only screen and (max-width: 861px) {
    .item_info_description {
      margin-top: 24px;
      letter-spacing: .12em; } }

.slick-arrow {
  position: absolute;
  height: 85px !important;
  width: 43px !important;
  z-index: 1; }
  @media only screen and (max-width: 861px) {
    .slick-arrow {
      height: 57px !important;
      width: 26px !important; } }
  .slick-arrow:before {
    display: none; }

.slick-prev {
  right: inherit; }
  @media only screen and (min-width: 861px) {
    .slick-prev {
      left: -130px !important; } }
  @media only screen and (max-width: 861px) {
    .slick-prev {
      left: -10px !important; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .slick-prev {
      left: -10px !important; } }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent_product .slick-prev {
      left: 10px !important; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .topic01_sheerContent_product .slick-prev {
      left: 10px !important; } }

.slick-next {
  left: initial; }
  @media only screen and (min-width: 861px) {
    .slick-next {
      right: -130px !important; } }
  @media only screen and (max-width: 861px) {
    .slick-next {
      right: -10px !important; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .slick-next {
      right: -10px !important; } }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent_product .slick-next {
      right: 10px !important; } }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .topic01_sheerContent_product .slick-next {
      right: 10px !important; } }

.slick-arrow img {
  width: 100%;
  height: auto; }

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

.slick-dotted.slick-slider {
  margin-bottom: 0 !important; }

.slick-slide {
  height: auto !important; }

.js-sliderList.slick-slider {
  position: relative; }

@media only screen and (min-width: 861px) {
  .js-sliderList.slick-slider .slick-arrow {
    top: 280px; } }

@media only screen and (max-width: 861px) {
  .js-sliderList.slick-slider .slick-arrow {
    top: 35svh; } }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .js-sliderList.slick-slider .slick-arrow {
    top: 54svh; } }

.js-sliderList.slick-slider .slick-list {
  overflow: hidden !important; }

.js-sliderList.slick-slider .slick-slide {
  overflow: hidden; }

@media only screen and (min-width: 861px) {
  #topic03 .topic01_sheerContent_product .slick-dots {
    bottom: -20px !important; }
  #topic03 .topic01_sheerContent .slick-dots {
    bottom: -35px !important; } }

@media only screen and (min-width: 861px) {
  #topic02 .topic01_sheerContent .slick-dots {
    bottom: 80px !important; } }

@media only screen and (min-width: 861px) {
  .slick-dots {
    bottom: 5px !important;
    left: -5px !important;
    width: initial !important; } }

@media only screen and (max-width: 861px) {
  .slick-dots {
    bottom: 12px !important;
    left: 50%;
    -webkit-transform: translateX(-50%) !important;
    -ms-transform: translateX(-50%) !important;
    transform: translateX(-50%) !important;
    top: auto !important; } }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .slick-dots {
    bottom: 12px !important;
    top: auto !important; } }

.slick-dots li {
  margin: 0 5px !important;
  height: 20px;
  width: initial !important; }

.slick-dots button {
  width: 8px !important;
  height: 8px !important;
  padding: 0 !important;
  background: #3A6274 !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  opacity: .3 !important; }
  .slick-dots button::before {
    display: none;
    content: ""; }

.topic01_variationItemImage .slick-dots {
  position: absolute !important;
  bottom: 12px !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%) !important;
  -ms-transform: translateX(-50%) !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  z-index: 2; }
  @media only screen and (max-width: 861px) {
    .topic01_variationItemImage .slick-dots {
      bottom: -35px !important; } }

.topic01_sheerImage .slick-dots {
  position: absolute !important;
  bottom: 12px !important;
  left: 50% !important;
  -webkit-transform: translateX(-50%) !important;
  -ms-transform: translateX(-50%) !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  z-index: 2; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerImage .slick-dots {
      bottom: -35px !important; } }

.slick-dots .slick-active button {
  opacity: 1 !important; }

/* 商品リスト
--------------------*/
.creditList_wrap {
  position: relative; }
  @media only screen and (min-width: 861px) {
    .creditList_wrap {
      margin-top: 32px; } }
  @media only screen and (max-width: 861px) {
    .creditList_wrap {
      margin-top: 24px; } }

.c-section_itemList_node {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-bottom: 1px solid #A0A0A0; }
  @media only screen and (max-width: 861px) {
    .c-section_itemList_node {
      padding: 16px 0; } }
  @media only screen and (min-width: 861px) {
    .c-section_itemList_node {
      padding: 24px 0; } }
  @media only screen and (max-width: 861px) {
    .c-section_itemList_node + .c-section_itemList_node {
      padding: 16px 0; } }
  @media only screen and (min-width: 861px) {
    .c-section_itemList_node + .c-section_itemList_node {
      padding: 24px 0; } }
  .c-section_itemList_node:last-child {
    border-bottom: none; }

.itemPrice {
  display: block;
  letter-spacing: .1em; }
  @media only screen and (max-width: 861px) {
    .itemPrice {
      font-size: 12px; } }
  @media only screen and (min-width: 861px) {
    .itemPrice {
      font-size: 14px; } }

.itemArrival {
  display: block;
  letter-spacing: .1em;
  font-size: 12px; }
  @media only screen and (max-width: 861px) {
    .itemArrival {
      margin-top: 5px; } }
  @media only screen and (min-width: 861px) {
    .itemArrival {
      margin-top: 10px; } }

.caution {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .1em;
  font-size: 12px; }
  @media only screen and (max-width: 861px) {
    .caution {
      padding-top: 16px; } }
  @media only screen and (min-width: 861px) {
    .caution {
      padding-top: 24px; } }

.c-section_itemList_name {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 1.4; }
  @media only screen and (max-width: 861px) {
    .c-section_itemList_name {
      line-height: 1.3;
      font-size: 12px; } }

.itemPrice {
  display: block;
  margin-top: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: .1em; }
  @media only screen and (max-width: 861px) {
    .itemPrice {
      margin-top: 8px;
      font-size: 12px; } }

/* spクリックメニュー
--------------------*/
@media only screen and (max-width: 861px) {
  .contents .c-section_itemList {
    display: none; }
  .contents .creditList_wrapBtn {
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    text-align: left;
    margin-top: 24px;
    padding-left: 24px;
    color: #fff;
    background-color: #8FA8B4;
    line-height: 60px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: .12em; }
    .contents .creditList_wrapBtn .icon {
      display: inline-block;
      position: absolute;
      width: 11px;
      height: 11px;
      top: 50%;
      right: 24px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
      .contents .creditList_wrapBtn .icon .plus, .contents .creditList_wrapBtn .icon .minus {
        display: inline-block;
        position: absolute;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 1px;
        background-color: #fff; }
    .contents .creditList_wrapBtn .plus {
      top: 50%;
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      transform: rotate(0deg); }
    .contents .creditList_wrapBtn .minus {
      top: 50%;
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      transform: rotate(90deg); }
    .contents .creditList_wrapBtn.is-open {
      background: #8FA8B4; }
      .contents .creditList_wrapBtn.is-open .plus {
        background-color: #fff; }
      .contents .creditList_wrapBtn.is-open .minus {
        display: none; }
  .contents .c-section_itemList_node {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .contents .c-section_itemList_name {
    font-size: 12px;
    letter-spacing: .1em;
    line-height: 1.6; } }

.detailButton {
  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: 107px;
  height: 32px;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: .1em;
  font-size: 12px;
  color: #fff !important;
  text-decoration: none;
  background-color: #3A6274;
  -webkit-transition: ease .5s;
  transition: ease .5s;
  cursor: pointer; }
  @media only screen and (max-width: 861px) {
    .detailButton:hover {
      background-color: #CBCBCB; } }
  @media only screen and (max-width: 861px) {
    .detailButton {
      width: 100px;
      height: 33px; } }

/*-----------------
/* フッター
------------------*/
.footerSection {
  background: #fff; }
  @media only screen and (max-width: 861px) {
    .footerSection {
      padding: 64px 20px 32px;
      position: relative;
      z-index: 100; } }
  @media only screen and (min-width: 861px) {
    .footerSection {
      padding: 80px 0 48px; } }

.onlineButtonInner {
  color: #fff !important; }
  @media only screen and (max-width: 861px) {
    .onlineButtonInner {
      font-size: 14px;
      letter-spacing: .12em;
      line-height: 1.6; } }
  @media only screen and (min-width: 861px) {
    .onlineButtonInner {
      -webkit-transition: all .5s;
      transition: all .5s;
      letter-spacing: .04em;
      font-size: 18px;
      margin-left: 50px; } }

.onlineButton {
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  position: relative;
  display: block;
  font-weight: bold;
  background: #3C3C3C; }
  @media only screen and (max-width: 861px) {
    .onlineButton {
      font-size: 14px;
      letter-spacing: .04em;
      padding: 17px 0 17px 34px;
      line-height: 1.6; } }
  @media only screen and (min-width: 861px) {
    .onlineButton {
      -webkit-transition: ease .5s;
      transition: ease .5s;
      max-width: 580px;
      margin: 0 auto;
      padding: 41px 0;
      -webkit-transition: ease .3s;
      transition: ease .3s; }
      .onlineButton:hover {
        opacity: .7; } }
  .onlineButton:after {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    right: 53px;
    width: 9px;
    height: 9px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    margin-top: -4.5px; }
    @media only screen and (max-width: 861px) {
      .onlineButton:after {
        right: 32px; } }

.shopButton {
  display: block; }
  @media only screen and (max-width: 861px) {
    .shopButton {
      margin-top: 24px; } }
  @media only screen and (min-width: 861px) {
    .shopButton {
      width: 580px;
      margin: 50px auto 0;
      -webkit-transition: ease .5s;
      transition: ease .5s; }
      .shopButton:hover {
        opacity: .7; } }
  .shopButton img {
    width: 100%;
    height: auto !important; }

.footer {
  margin-top: 0px; }

.fadeInTrigger {
  opacity: 0;
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity .8s, -webkit-transform .8s;
  transition: opacity .8s, -webkit-transform .8s;
  transition: opacity .8s, transform .8s;
  transition: opacity .8s, transform .8s, -webkit-transform .8s; }
  .fadeInTrigger.is-inview {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); }

.mvText_footer {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: .04em; }
  @media only screen and (max-width: 861px) {
    .mvText_footer {
      margin-top: 32px; } }
  @media only screen and (min-width: 861px) {
    .mvText_footer {
      text-align: center;
      margin-top: 47px; } }

.slick-dotted.slick-slider {
  margin-bottom: 0 !important; }

/* ========================================
  TOPIC01 Section
======================================== */
.topicSection {
  position: relative; }
  .topicSection::after {
    content: "";
    position: absolute;
    top: -65px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 800px;
    height: 800px;
    background-color: #E5EFF4;
    border-radius: 50%;
    z-index: 1; }
    @media only screen and (max-width: 861px) {
      .topicSection::after {
        top: -50px;
        width: 100%;
        height: 420px;
        overflow: hidden; } }
  .topicSection.topic01 {
    background-color: #E5EFF4;
    padding-bottom: 220px; }
    @media only screen and (max-width: 861px) {
      .topicSection.topic01 {
        padding-bottom: 150px;
        margin-top: 130px; } }
    @media only screen and (min-width: 861px) {
      .topicSection.topic01 {
        margin-top: 195px; } }
  .topicSection.topic02 {
    background-color: #fff;
    padding-bottom: 220px; }
    .topicSection.topic02::after {
      background-color: #fff; }
    @media only screen and (max-width: 861px) {
      .topicSection.topic02 {
        padding-bottom: 130px; } }
  .topicSection.topic03 {
    background-color: #E5EFF4;
    padding-bottom: 120px; }
    @media only screen and (max-width: 861px) {
      .topicSection.topic03 {
        padding-bottom: 64px; } }

.topic01_inner {
  width: 1000px;
  margin: 0 auto;
  z-index: 2;
  position: relative;
  padding: 60px 0 0; }
  @media only screen and (max-width: 861px) {
    .topic01_inner {
      width: 100%;
      padding: 0; } }
  @media only screen and (min-width: 861px) {
    .topic02 .topic01_inner,
    .topic03 .topic01_inner {
      padding-top: 60px; } }

/* Topic Header
---------------------------------------- */
.topic01_header {
  text-align: center; }

.topic01_subTitle {
  position: relative; }
  @media only screen and (max-width: 861px) {
    .topic01_subTitle {
      margin-top: -10px;
      padding-top: 10px; } }

.topic01_subTitleNumber {
  margin-top: -15px; }
  @media only screen and (max-width: 861px) {
    .topic02 .topic01_subTitleNumber {
      margin-top: -40px; }
    .topic03 .topic01_subTitleNumber {
      margin-top: -35px; } }
  @media only screen and (min-width: 861px) {
    .topic02 .topic01_subTitleNumber {
      margin-top: -45px; }
    .topic03 .topic01_subTitleNumber {
      margin-top: -50px; } }

.topic01_subTitleNumberLabel {
  color: #3a6274;
  font-size: 12px;
  font-family: 'Gilda Display', serif;
  letter-spacing: .20em;
  text-align: center; }

.topic01_subTitleNumberValue {
  color: #3a6274;
  font-size: 50px;
  font-family: 'Gilda Display', serif;
  letter-spacing: -0.05em;
  line-height: 1; }

.topic01_title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 14px;
  padding-bottom: 16px; }
  @media only screen and (max-width: 861px) {
    .topic01_title {
      margin: 5px auto 0;
      text-align: center;
      padding-bottom: 4px; }
      #topic01 .topic01_title span + span {
        padding-right: 4px; } }
  @media only screen and (min-width: 861px) {
    .topic01_title {
      margin: 10px auto 0; }
      #topic03 .topic01_title {
        margin: 15px auto 0; } }
  @media only screen and (min-width: 861px) {
    .topic01_title.is-line::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #3a6274;
      -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
      transform-origin: left center;
      -webkit-animation: topic01-title-line .7s ease-in-out forwards;
      animation: topic01-title-line .7s ease-in-out forwards; } }

@media only screen and (max-width: 861px) {
  .topic02 .topic01_title.is-line::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #3a6274;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-animation: topic01-title-line .7s ease-in-out forwards;
    animation: topic01-title-line .7s ease-in-out forwards; }
  .topic01_title.is-line span {
    position: relative;
    display: inline-block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto; }
    .topic01_title.is-line span::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #3a6274;
      -webkit-transform: scaleX(0);
      -ms-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
      transform-origin: left center;
      -webkit-animation: topic01-title-line .7s ease-in-out forwards;
      animation: topic01-title-line .7s ease-in-out forwards; } }

.topic01_titleText {
  position: relative;
  color: #3a6274;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1; }
  @media only screen and (max-width: 861px) {
    .topic01_titleText {
      gap: 3px;
      font-size: 28px;
      line-height: 1.5;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -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; } }
  .topic01 .topic01_titleText:after {
    content: "®︎";
    position: absolute;
    right: -1px;
    top: 6px;
    font-size: 20px;
    color: #3a6274;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1; }
    @media only screen and (max-width: 861px) {
      .topic01 .topic01_titleText:after {
        top: 55px;
        right: -2px; } }
  @media only screen and (min-width: 861px) {
    .topic01_titleText {
      white-space: nowrap; } }
  .topic02 .topic01_titleText:after {
    content: "®︎";
    position: absolute;
    top: 6px;
    right: 0;
    color: #3a6274;
    font-size: 22px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1; }
    @media only screen and (max-width: 861px) {
      .topic02 .topic01_titleText:after {
        right: -5px; } }

.topic01_titleBrand {
  color: #3a6274;
  font-size: 45px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1; }
  @media only screen and (max-width: 861px) {
    .topic01_titleBrand {
      font-size: 28px; } }

.topic01_lead {
  color: #3a6274;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.8;
  margin-top: 32px; }
  @media only screen and (max-width: 861px) {
    .topic01_lead {
      margin-top: 24px;
      letter-spacing: .12em;
      padding: 0 20px; } }

/* Product List
---------------------------------------- */
.topic01_productList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 120px;
  margin-top: 120px; }
  @media only screen and (max-width: 861px) {
    .topic01_productList {
      gap: 64px;
      margin-top: 64px; } }

@media only screen and (max-width: 861px) {
  .topic01_productItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px; } }

@media only screen and (min-width: 861px) {
  .topic01_productItem {
    gap: 56px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    -ms-grid-columns: 520px 1fr;
    grid-template-columns: 520px 1fr;
    display: -ms-grid;
    display: grid;
    width: 1000px;
    margin: 0 auto; } }

@media only screen and (min-width: 861px) {
  .topic01_productItem-reverse {
    -ms-grid-columns: 1fr 520px;
    grid-template-columns: 1fr 520px; }
    .topic01_productItem-reverse .topic01_productImage {
      -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
      order: 2; }
    .topic01_productItem-reverse .topic01_productContent {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; } }

.topic01_productImage img {
  width: 100%;
  height: auto; }

@media only screen and (max-width: 861px) {
  .topic01_productContent {
    padding: 0 25px; } }

@media only screen and (min-width: 861px) {
  .topic01_productContent {
    width: 425px; } }

.topic01_productCatch {
  position: relative;
  padding: 40px 0; }
  .topic01_productCatch:after, .topic01_productCatch:before {
    position: absolute;
    content: '';
    width: 43px;
    height: 31px;
    background-repeat: no-repeat; }
  .topic01_productCatch:before {
    background-image: url(../assets/images/classy_2604/catch_deco_bottom.svg);
    bottom: 0;
    left: 0; }
  .topic01_productCatch:after {
    background-image: url(../assets/images/classy_2604/catch_deco_top.svg);
    top: 0;
    right: 0; }

.topic01_productCatchText {
  text-align: center;
  color: #3a6274;
  font-size: 21px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.50; }
  @media only screen and (max-width: 861px) {
    .topic01_productCatchText {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: .12em; } }

.topic01_productDescription {
  text-align: center;
  margin-top: 50px;
  color: #3a6274;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em;
  line-height: 1.80; }
  @media only screen and (max-width: 861px) {
    .topic01_productDescription {
      text-align: left;
      margin-top: 24px;
      font-size: 14px;
      letter-spacing: .12em; } }

.topic01_productCredits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 68px; }
  @media only screen and (max-width: 861px) {
    .topic01_productCredits {
      margin-top: 16px; } }

.topic01_productCredit {
  padding: 16px 0 24px;
  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; }
  @media only screen and (max-width: 861px) {
    .topic01_productCredit {
      padding: 24px 0 16px;
      border-bottom: 1px solid #8fa8b4; } }
  @media only screen and (min-width: 861px) {
    .topic01_productCredit + .topic01_productCredit {
      border-top: 1px solid #8fa8b4; }
    .topic01_productCredit:first-child {
      border-top: none; } }

.topic01_productCreditInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media only screen and (min-width: 861px) {
    .topic01_productCreditInfo {
      gap: 8px; } }

.topic01_productCreditName {
  color: #3a6274;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em; }
  @media only screen and (max-width: 861px) {
    .topic01_productCreditName {
      font-size: 12px;
      line-height: 1.6; } }

.topic01_productCreditPrice {
  color: #3a6274;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em; }
  @media only screen and (max-width: 861px) {
    .topic01_productCreditPrice {
      font-size: 12px;
      margin-top: 6px; } }

.topic01_productCreditNotice {
  color: #3a6274;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em; }
  @media only screen and (max-width: 861px) {
    .topic01_productCreditNotice {
      margin-top: 10px; } }

.topic01_productCreditButton {
  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;
  background-color: #3a6274;
  color: #fff !important;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: .10em;
  width: 107px;
  height: 32px;
  text-decoration: none; }
  @media only screen and (max-width: 861px) {
    .topic01_productCreditButton {
      width: 100px;
      height: 33px; } }
  @media only screen and (min-width: 861px) {
    .topic01_productCreditButton {
      cursor: pointer;
      -webkit-transition: background-color 0.3s;
      transition: background-color 0.3s; }
      .topic01_productCreditButton.notLink {
        cursor: initial; }
      .topic01_productCreditButton:hover {
        background-color: #CBCBCB; } }
  .topic01_productCreditButton span {
    display: inline-block; }

@media only screen and (min-width: 861px) {
  .topic01_productCreditButton.notLink:hover {
    background-color: #3a6274; }
  .topic01_productCredit:hover .topic01_productCreditButton.notLink {
    background-color: #3a6274; } }

/* Button
---------------------------------------- */
.topic01_button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 80px;
  margin: 80px auto 0;
  background-color: #3a6274;
  border-radius: 8px;
  text-decoration: none;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s; }
  @media only screen and (max-width: 861px) {
    .topic01_button {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      height: 74px;
      margin: 40px 20px 0;
      padding: 0 24px; } }
  @media only screen and (min-width: 861px) {
    .topic01_button {
      width: 492px;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      gap: 24px; }
      .topic01_button:hover {
        background-color: #CBCBCB; }
        .topic01_button:hover .topic01_buttonIcon {
          -webkit-transform: translateX(5px);
          -ms-transform: translateX(5px);
          transform: translateX(5px); } }
  .topic01_button + .topic01_button {
    margin-top: 32px; }
    @media only screen and (max-width: 861px) {
      .topic01_button + .topic01_button {
        margin-top: 24px; } }

.topic01_buttonText {
  color: #fff;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: .12em; }
  @media only screen and (max-width: 861px) {
    .topic01_buttonText {
      font-size: 14px;
      line-height: 1.6; } }

.topic01_buttonIcon {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }

/* Sheer Jacket Section
---------------------------------------- */
.topic01_sheerSection {
  margin-top: 160px; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerSection {
      margin-top: 64px;
      padding: 0 20px; } }

.topic01_sheerTitle {
  position: relative;
  color: #3a6274;
  font-size: 32px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .06em;
  text-align: center;
  padding-bottom: 24px;
  line-height: 1.5; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerTitle {
      font-size: 24px;
      padding-bottom: 16px; } }

.topic01_sheerTitle.is-line::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #3a6274;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-animation: topic01-title-line .7s ease-in-out forwards;
  animation: topic01-title-line .7s ease-in-out forwards; }

.topic01_sheerContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      gap: 24px; } }
  @media only screen and (min-width: 861px) {
    .topic01_sheerContent {
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: start;
      -ms-flex-align: start;
      align-items: start;
      width: 894px;
      margin: 32px auto 0; }
      .topic01_sheerContent .js-sliderList .topic01_sheerInfo {
        margin-right: 10px; }
      .topic01_sheerContent.js-sliderList .topic01_sheerInfo {
        margin-right: 10px; } }
  .topic02 .topic01_sheerContent {
    display: block !important; }
  @media only screen and (min-width: 861px) {
    .topic01_sheerContent.topic01_sheerContent_product {
      margin: 120px auto 0 !important;
      width: 894px !important; } }

@media only screen and (max-width: 861px) {
  .topic01_sheerContent.slick-slider {
    display: block !important;
    gap: 0 !important;
    -webkit-box-orient: unset !important;
    -webkit-box-direction: unset !important;
    -ms-flex-direction: unset !important;
    flex-direction: unset !important; } }

.topic01_sheerContent.slick-slider .slick-list {
  overflow: hidden !important; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent.slick-slider .slick-list {
      width: 100%; } }

@media only screen and (max-width: 861px) {
  .topic01_sheerContent.slick-slider .slick-slide {
    min-width: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

.topic01_sheerContent_product {
  margin-top: 120px; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent_product {
      margin-top: 40px; } }

@media only screen and (max-width: 861px) {
  .topic01_sheerInfo {
    padding: 0 5px; } }

@media only screen and (min-width: 861px) {
  .topic01_sheerInfo {
    width: 425px; } }

.topic01_sheerContent_inner {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start; }
  @media only screen and (min-width: 861px) {
    .topic01_sheerContent_inner {
      width: 894px !important;
      margin: 0 auto; } }
  @media only screen and (max-width: 861px) {
    .topic01_sheerContent_inner {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
      .topic01_sheerContent_product .topic01_sheerContent_inner {
        padding: 0 20px; } }

@media only screen and (max-width: 861px) {
  #topic03 .topic01_sheerContent_product .topic01_sheerContent_inner {
    padding: 0 !important; }
  #topic03 .topic01_sheerContent_product .topic01_sheerImage {
    margin-top: 0 !important; } }

.topic01_sheerImage {
  position: relative;
  width: 427px !important; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerImage {
      width: 100% !important;
      margin-top: 24px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  .topic01_sheerImage img {
    width: 100%;
    height: auto; }

.topic01_sheerText {
  width: 425px; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerText {
      width: 100% !important; }
      .topic01_sheerContent_product .topic01_sheerText {
        margin-top: 48px; } }

.topic01_sheerCatch {
  text-align: center;
  position: relative;
  padding: 40px 50px; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerCatch {
      padding: 40px 0; } }
  .topic01_sheerCatch:after, .topic01_sheerCatch:before {
    position: absolute;
    content: '';
    width: 43px;
    height: 31px;
    background-repeat: no-repeat;
    background-size: 43px 31px; }
  .topic01_sheerCatch:before {
    background-image: url(../assets/images/classy_2604/catch_deco_bottom.svg);
    bottom: 0;
    left: 0; }
  .topic01_sheerCatch:after {
    background-image: url(../assets/images/classy_2604/catch_deco_top.svg);
    top: 0;
    right: 0; }

.topic01_sheerCatchText {
  color: #3a6274;
  font-size: 21px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.50; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerCatchText {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: .12em; } }

.topic01_sheerDescription {
  text-align: center;
  margin-top: 24px;
  color: #3a6274;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em;
  line-height: 1.80; }
  @media only screen and (max-width: 861px) {
    .topic01_sheerDescription {
      text-align: left;
      font-size: 14px;
      letter-spacing: .12em; } }

/* Variation Section
---------------------------------------- */
.topic01_variation {
  margin-top: 160px; }
  @media only screen and (max-width: 861px) {
    .topic01_variation {
      margin-top: 64px;
      padding: 0 20px; } }
  @media only screen and (min-width: 861px) {
    .topic01_variation {
      width: 1000px;
      margin: 160px auto 0; } }

.topic01_variationTitle {
  position: relative;
  color: #3a6274;
  font-size: 50px;
  font-family: 'Gilda Display', serif;
  font-weight: 400;
  letter-spacing: .06em;
  text-align: center;
  padding-bottom: 24px; }
  @media only screen and (max-width: 861px) {
    .topic01_variationTitle {
      font-size: 30px;
      letter-spacing: .08em;
      padding-bottom: 16px; } }

.topic01_variationTitle.is-line::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #3a6274;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-animation: topic01-title-line .7s ease-in-out forwards;
  animation: topic01-title-line .7s ease-in-out forwards; }

.topic01_variationSlider {
  margin-top: 24px; }
  @media only screen and (max-width: 861px) {
    .topic01_variationSlider {
      width: 100% !important;
      margin-top: 24px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; } }
  @media only screen and (min-width: 861px) {
    .topic01_variationSlider {
      width: 894px !important;
      display: -webkit-box !important;
      display: -ms-flexbox !important;
      display: flex !important;
      margin: 32px auto 0 !important;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; } }

@media only screen and (max-width: 861px) {
  .topic01_variationSlider.slick-slider {
    display: block !important;
    gap: 0 !important;
    -webkit-box-orient: unset !important;
    -webkit-box-direction: unset !important;
    -ms-flex-direction: unset !important;
    flex-direction: unset !important; } }

.topic01_variationSlider.slick-slider .slick-list {
  overflow: hidden !important; }
  @media only screen and (max-width: 861px) {
    .topic01_variationSlider.slick-slider .slick-list {
      width: 100%; } }

@media only screen and (max-width: 861px) {
  .topic01_variationSlider.slick-slider .slick-slide {
    min-width: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

@media only screen and (min-width: 861px) {
  .topic01_variationItem {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    scroll-snap-align: start;
    width: 894px !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; } }

@media only screen and (min-width: 861px) {
  .topic01_variationItemImage {
    width: 427px !important; } }

@media only screen and (max-width: 861px) {
  .topic01_variationItemImage {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; } }

.topic01_variationItemImage img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block; }

@media only screen and (max-width: 861px) {
  .topic01_variationItemContent {
    margin-top: 40px;
    padding: 0 5px; }
    .topic02 .topic01_variationItemContent {
      margin-top: 24px; } }

@media only screen and (min-width: 861px) {
  .topic01_variationItemContent {
    width: 427px; }
    #topic01 .topic01_variationItemContent {
      margin-right: 10px; } }

.topic01_variationItemCatch {
  position: relative;
  padding: 40px 0; }
  @media only screen and (max-width: 861px) {
    .topic01_variationItemCatch {
      padding: 40px 0; } }
  .topic01_variationItemCatch:after, .topic01_variationItemCatch:before {
    position: absolute;
    content: '';
    width: 43px;
    height: 31px;
    background-repeat: no-repeat; }
  .topic01_variationItemCatch:before {
    background-image: url(../assets/images/classy_2604/catch_deco_bottom.svg);
    bottom: 0;
    left: 0; }
  .topic01_variationItemCatch:after {
    background-image: url(../assets/images/classy_2604/catch_deco_top.svg);
    top: 0;
    right: 0; }

.topic01_variationItemCatchText {
  text-align: center;
  color: #3a6274;
  font-size: 21px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.50; }
  @media only screen and (max-width: 861px) {
    .topic01_variationItemCatchText {
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: .12em; } }

.topic01_variationItemDescription {
  text-align: center;
  margin-top: 24px;
  color: #3a6274;
  font-size: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em;
  line-height: 1.80; }
  @media only screen and (max-width: 861px) {
    .topic01_variationItemDescription {
      text-align: left;
      margin-top: 24px;
      font-size: 14px;
      letter-spacing: .12em; } }

.topic01_variationItemCredits {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }

.topic01_variationItemCredit {
  padding: 12px 0; }

.topic01_variationItemCredit-divider {
  border-top: 1px dashed #8fa8b4; }

.topic01_variationItemCreditInfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 4px; }

.topic01_variationItemCreditName {
  color: #3a6274;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em; }

.topic01_variationItemCreditPrice {
  color: #3a6274;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em; }

.topic01_variationItemCreditNotice {
  color: #3a6274;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: .10em;
  width: 100%;
  margin-top: 8px; }

.topic01_variationItemCreditButton {
  display: inline-block;
  background-color: #3a6274;
  color: #fff;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: .10em;
  padding: 8px 12px;
  text-decoration: none;
  margin-top: 8px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .topic01_variationItemCreditButton:hover {
    opacity: 0.7; }
  .topic01_variationItemCreditButton span {
    display: inline-block; }

.topic01_variationPagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 24px;
  margin-top: 32px; }

.topic01_variationPaginationDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #3a6274;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  .topic01_variationPaginationDot.is-active {
    opacity: 1; }

@media only screen and (max-width: 861px) {
  .mt24 {
    margin-top: 24px; } }

@media only screen and (max-width: 861px) {
  .mt48 {
    margin-top: 48px; } }

/* slick-dots layering (dots above credits) */
.topic01_sheerImage .slick-dots {
  z-index: 20; }

.topic01_sheerImage {
  z-index: 2; }

.topic01_variationItemImage {
  z-index: 2; }

.topic01_productCredits {
  position: relative;
  z-index: 1; }
