html {
  box-sizing: border-box;
  font-size: 62.5%;
}

@media screen and (min-width: 821px) and (max-width: 1536px) {
  html {
      font-size: 0.65vw;
  }
}

@media screen and (max-width: 820px) {
  html {
      font-size: 1.3vw;
  }
}

.lp_style * {
  box-sizing: border-box;
}

.lp_style {
  -webkit-text-size-adjust: 100%;
  font-size: 100%;
  line-height: 1;
  letter-spacing: .1em;
  list-style: none;
  font-feature-settings: "palt";
  overflow: hidden;
  color: #343434;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

.lp_style button {
  background: transparent;
  padding: 0;
  margin: 0;
}

.lp_style ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lp_style a {
  text-decoration: none;
}

.sp_only {
  display: none !important;
}

@media screen and (min-width:641px),
print {
  .pc_only {
    display: block !important;
  }
}

@media screen and (max-width:640px),print {
  .pc_only {
    display: none !important;
  }

  .sp_only {
    display: block !important;
  }
}


.inner {
  width: 120rem;
  margin: 0 auto;
  text-align: center;
}

@media screen and (max-width:820px),print {
  .inner {
    width: 100%;
    padding: 0 2rem;
    margin: 0 auto;
    overflow: hidden;
  }
}

.top-layer {
  position: relative;
  z-index: 1;
}

.TextBlock {
  display: inline-block;
}

.Maker {
  font-weight: 500;
  background: linear-gradient(transparent 70%, #fff7b3 70%);
}

.Point-Background {
  position: absolute;
  z-index: 0;
  width: 100%;
  height: 67rem;
  top: 0;
  left: 0;
}

@media screen and (max-width:820px),print {
  .Point-Background {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 51.7rem;
  }
}

.Content:nth-of-type(even) .Point-Background{
  background: rgb(255,206,206);
  background: linear-gradient( 180deg, rgb(255,206,206) 0%, rgba(255,206,206,0) 100%);
}

.Content:nth-of-type(odd) .Point-Background{
  background: rgb(217,201,241);
  background: linear-gradient( 180deg, rgb(217,201,241) 0%, rgb(255,255,255) 100%);
}

/*-------------------------------------  
  Mainvisual
-------------------------------------*/
.Mainvisual {
  text-align: center;
}

.Mainvisual img {
  max-width: 100%;
  height: auto;
}

/*-------------------------------------  
  Introduction
-------------------------------------*/
.Introduction {
  padding: 10rem 0 13.5rem;
}

@media screen and (max-width:820px),print {
  .Introduction {
    padding: 6.5rem 0 ;
  }
}

.Introduction_txt {
  margin-bottom: 8.5rem;
  font-size: 2.8rem;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width:820px),print {
  .Introduction_txt {
    margin-bottom: 5rem;
    line-height: 2;
    font-size: 2.2rem;
  }
}


.Introduction_txt .TextBlock {
  display: block;
  font-weight: 500;
}

.Introduction_txt-big {
  font-size: 142.85%;
  font-weight: 500;
}

/*-------------------------------------  
  Introduction
-------------------------------------*/
.Introduction-inner {
  width: 108rem;
  margin: 0 auto;
}

@media screen and (max-width:820px),print {
  .Introduction-inner {
    width: 100%;
    margin: 0 auto;
  }
}

.about_denier {
  border: 2px solid #755acd;
  border-radius: 40px;
  padding: 2.4rem 10rem 5rem;
  margin: 0 auto 7rem;
}

@media screen and (max-width:820px),print {
  .about_denier {
    border: 2px solid #755acd;
    border-radius: 40px;
    padding: 2.4rem 5.5rem 6.8rem;
    margin: 0 auto 6rem;
  }
}

.about_denier_ttl {
  margin-bottom: 2rem;
  font-size: 3.2rem;
  letter-spacing: .01em;
  color: #755acd;
  text-align: center;
  font-weight: bold;
}

@media screen and (max-width:820px),print {
  .about_denier_ttl {
    margin-bottom: 2.4rem;
  }
}

.about_denier_ttl::before {
  content: "";
  display: block;
  margin: 0 auto .4rem;
  width: 3.5rem;
  height: 5rem;
  background: url(./../img/about_icon.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.about_denier_ttl .big {
  font-size: 140%;
  font-weight: bold;
}

.about_denier_txt {
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: .05em;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width:820px),print {
  .about_denier_txt {
    font-size: 2rem;
    line-height: 2;
  }
}

.about_denier_txt .TextBlock {
  display: block;
  font-weight: 500;
}

.about_denier_txt .big {
  font-size: 140%;
  font-weight: 500;
}

/*-------------------------------------  
  PageNav
-------------------------------------*/
.PageNav {
  text-align: center;
  max-width: 120rem;
  margin: 0 auto;
}
@media screen and (max-width:820px) {
  .PageNav {
    padding: 0 2rem;
  }
}
.PageNavList {
  font-size: 0;
  letter-spacing: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.PageNavListItem {
  overflow: hidden;
  display: inline-block;
  width: calc((100% / 5) - 1.5rem);
  height: 15rem;
  font-size: 2.4rem;
  letter-spacing: .05em;
  background: #755acd;
  border-radius: 4rem;
  font-weight: 500;
  transition: all .4s ease;
}

@media screen and (max-width:820px),print {
  .PageNavListItem {
    overflow: hidden;
    display: inline-block;
    width: 34rem;
    height: 19rem;
    font-size: 3.2rem;
    border-radius: 4rem;
    background:-webkit-linear-gradient( 0deg, rgb(132,89,201) 1%, rgb(211,96,163) 60%, rgb(237,133,136) 100%) ;
  }
}

.PageNavListItem:hover {
  background:-webkit-linear-gradient( 0deg, rgb(132,89,201) 1%, rgb(211,96,163) 60%, rgb(237,133,136) 100%) ;
}


@media screen and (max-width:820px),print {

  .PageNavListItem:nth-of-type(n+4) {
    margin-top: 0;
  }

  .PageNavListItem:nth-of-type(n+3) {
    margin-top: 2.4rem;
  }

}

.PageNavListItem a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.6875;
}

/*-------------------------------------  
  Content
-------------------------------------*/
.Content {
  position: relative;
  padding: 15rem 0 12.8rem;
}

@media screen and (max-width:820px),print {
  .Content {
    position: relative;
    padding: 10rem 0 13rem;
  }
}

.Point-Number {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
}

.Content_ttl {
  line-height: 13.5rem;
  height: 13.5rem;
  font-size: 5rem;
  text-align: center;
  color: #fff;
  background: url(./../img/content_ttl-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  font-weight: bold;
  letter-spacing: .05em;
  border-radius: 3rem;
  overflow: hidden;
}

@media screen and (max-width:820px),print {
  .Content_ttl {
    line-height: 10rem;
    height: 10rem;
    font-size: 5rem;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    color: #fff;
    border-radius: 0;
    overflow: hidden;
    border-radius: 3rem;
  }
}

.Content_ttl-strong {
  font-size: 130%;
  font-weight: bold;
}

.Content_Introduction-outer {
  margin: 7rem auto 8rem;
}

@media screen and (max-width:820px),print {
  .Content_Introduction-outer {
    margin: 5rem auto 4rem;
  }
}

.Content_Introduction {
  font-size: 2.6rem;
  letter-spacing: .05em;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width:820px),print {
  .Content_Introduction {
    font-size: 2rem;
    line-height: 2;
    text-align: center;
  }
}

.Content_Introduction .TextBlock {
  display: block;
  font-weight: 500;
}

/* ----------------------------------------
  Point01 
----------------------------------------*/
.content_img {
  text-align: center;
}

.denier_table_img {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  margin-bottom: 7rem;
}

@media screen and (max-width:820px),print {
  .denier_table_img {
    gap: 3rem;
  }
  .denier_table_img li img {
    height: 55rem;
    width: auto;
  }
}

@media screen and (max-width:820px),print {
  .denier_table_img {
    text-align: center;
    margin-bottom: 6.4rem;
  }
}

#translucency .denier_table_img {
  margin: 0 auto 4rem;
}

#translucency .denier_table_img li:nth-of-type(n+2) {
  margin-left: 3rem;
}

@media screen and (max-width:820px) {
  #translucency .denier_table_img li:nth-of-type(n+2) {
    margin-left: 0;
  }
}

@media screen and (max-width:820px) {
  #translucency .denier_table_img li {
    width: 20rem;
  }
}

.denier_table_img img {
  display: block;
  margin: 0 auto;
}

@media screen and (max-width:820px),print {
  .denier_table_img img {
    width: 100%;
  }
}

.denier_table_txt-outer {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4rem;
  width: 87rem;
  height: 14.6rem;
  background: #ffdbdc;
  padding: 4rem ;
  margin: 0 auto;
}

@media screen and (max-width:820px),print {
  .denier_table_txt-outer {
    position: relative;
    width: 100%;
    height: 14.6rem;
    background: #ffdbdc;
    padding: 4rem ;
    margin: 0 auto;
  }
}

.denier_table_txt-outer::before {
  content: "";
  position: absolute;
  width: 5.2rem;
  height: 3.3rem;
  background: url(./../img/denier_table_triangle.png);
  background-repeat: no-repeat;
  background-size: cover;
  left: 50%;
  top: -1.2rem;
  transform: translateX(-50%);
}

.denier_table_txt {
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: .05em;
  text-align: center;
  
}

@media screen and (max-width:820px),print {
  .denier_table_txt {
    font-size: 2rem;
  }
}

.denier_table_txt .TextBlock {
  display: inline-block;
}

.temperature_section {
  text-align: center;
}

.section_head {
  position: relative;
  width: 120rem;
  margin-bottom: 3.2rem;
}

@media screen and (max-width:820px),print {
  .section_head {
    position: relative;
    width: 100%;
    margin-bottom: 3.2rem;
  }
}

.section_head::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 2rem;
  left: 16.5rem;
  width: calc(100% - 16.5rem);
  height: .2rem;
  background: #755acd;
}

.section_head-box {
  width: 16.5rem;
  text-align: left;
}

.section_head-txt {
  display: block;
  margin-bottom: 1.2rem;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: .05em;
  color: #755acd;
}

.section_head-temperature {
  display: block;
  font-size: 4rem;
  line-height: 1;
  font-weight: 500;
  letter-spacing: .05em;
  color: #755acd;
}

.section_txt {
  margin-bottom: 5rem;
  font-size: 2.2rem;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width:820px),print {
  .section_txt {
    margin-bottom: 4.2rem;
    font-size: 2rem;
    text-align: center;
  }
}

.section_txt .TextBlock {
  display: block;
}

.product_column02:not(:last-of-type) {
  margin-bottom: 5rem;
}

.product_column02 .product:nth-of-type(odd) {
  margin: 0 1rem 0 0;
}
.product_column02 .product:nth-of-type(even) {
  margin: 0 0 0 1rem;
}

@media screen and (max-width:820px),print {
  .product_column02 .product:nth-of-type(odd) {
    margin: 0 0 0 0;
  }
  .product_column02 .product:nth-of-type(even) {
    margin: 0 0 0 0;
  }
}

.temperature_section:not(:last-of-type) {
  margin-bottom: 5.4rem;
}

#Useful-Contents-tights .product {
  display: inline-block;
  vertical-align: top;
}

.product_column01 .product {
  max-width: 42.5rem;
}

.product_column02 .product {
  max-width: 42.5rem;
}

.product_column05 {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

@media screen and (max-width:820px),print {
  .product_column05 {
    flex-wrap: wrap;
    justify-content: center;
  }
  .product_column05::after {
    content: "";
    display: inline-block;
    width: calc((100% / 2) - 3rem);
  }
}

.product_column05 .product {
  max-width: 17.5rem;
  width: calc(100% / 5 - (1.5rem));
}

@media screen and (max-width:820px),print {
  .product_column05 .product {
    max-width: 42rem;
    width: 27.5rem;
  }
}

.product_column05 .product:nth-of-type(n+2) {
  margin-left: 3rem;
}

@media screen and (max-width:820px),print {
  .product_column05 .product:nth-of-type(n+2) {
    margin-left: 0;
  }
}


@media screen and (max-width:820px),print {
  .product_column02 .product {
    max-width: 42rem;
  }
}

.product_column02 .product_info {
  display: inline-block;
  vertical-align: middle;
  margin-left: 1rem;
}

@media screen and (max-width:820px),print {
  .product_column02 .product_info {
    margin: 5rem 0 0 ;
  }
}

.product_info .product_info_txt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 14rem;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: .05em;
  color: #333333;
  background: #ffdbdc;
  border-radius: 2rem;
}

@media screen and (max-width:820px),print {
  .product_info .product_info_txt {
    width: 100%;
    height: 30rem;
    font-size: 2.4rem;
  }
}

.product_column03 .product {
  max-width: 36.2rem;
}

@media screen and (max-width:820px),print {
  .product_column03 .product {
    max-width: 42rem;
  }
  .product_column03 .product:not(:first-of-type) {
    margin: 6rem auto 0;
  }
}

#Useful-Contents-tights .product .product_image {
  margin-bottom: 3rem;
}

#Useful-Contents-tights .product .product_image img {
  display: block;
  width: 100%;
  height: auto;
}

#Useful-Contents-tights .product .product_cta a{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  font-size: 2rem;
  letter-spacing: .05em;
  width: 26.2rem;
  height: 6.2rem;
  border: 2px solid #343434;
  border-radius: 3rem;
  transition: all .3s ease;
}

#Useful-Contents-tights .product .product_cta:hover a {
  background: #343434;
  color: #fff;
}

.brand {
  margin-bottom: 0;
}

.brand:not(:last-of-type) {
  margin-bottom: 8.7rem;
}

.brand_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 2.5rem;
}

.brand_ttl img {
  flex: none;
}

@media screen and (max-width:820px),print {
  .brand_ttl img {
    flex: none;
    height: 11.8rem;
    width: auto;
  }
}

.brand_ttl::before ,
.brand_ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #755acd;
}

.brand_ttl::before {
  margin-right: 2.5rem;
}
.brand_ttl::after {
  margin-left: 2.5rem;
}

.brand_txt {
  font-size: 2.2rem;
  line-height: 2;
  letter-spacing: .05em;
  text-align: center;
}

.brand_txt .TextBlock {
  display: block;
}

#Useful-Contents-tights .brand_item.product_column01 .product,
#Useful-Contents-tights .brand_item.product_column02 .product,
#Useful-Contents-tights .brand_item.product_column03 .product,
#Useful-Contents-tights .brand_item.product_column04 .product{
  max-width: 27.5rem;
}

@media screen and (max-width:820px),print {
  #Useful-Contents-tights .brand_item.product_column01 .product,
  #Useful-Contents-tights .brand_item.product_column02 .product,
  #Useful-Contents-tights .brand_item.product_column03 .product,
  #Useful-Contents-tights .brand_item.product_column04 .product{
    max-width: 42rem;
  }

  #Useful-Contents-tights .brand_item.product_column04 .product_cta a,
  #Useful-Contents-tights .brand_item .product_cta a{
    max-width: 26.2rem;
  } 

}

#Useful-Contents-tights .brand_item.product_column03 .product:not(:first-of-type) {
  margin-left: 3.6rem;
}

#Useful-Contents-tights .brand_item.product_column04 .product:not(:first-of-type) {
  margin-left: 3rem;
}

@media screen and (max-width:820px),print {
  #Useful-Contents-tights .brand_item.product_column04 .product:not(:first-of-type) {
    margin-left: 0;
  }


}

#Useful-Contents-tights .brand_item.product_column06 .product {
  max-width: 17.6rem; 
  width: calc((100% / 6) - 3rem );
}

@media screen and (max-width:820px),print {
  #Useful-Contents-tights .brand_item.product_column06 .product {
    max-width: 17.6rem; 
    width: 100%;
  }
  #Useful-Contents-tights .brand_item.product_column06 .product:nth-of-type(n+4) {
    margin-top: 5rem;
  }

}


#Useful-Contents-tights .brand_item.product_column06 .product:not(:first-of-type) {
  margin-left: 3rem;
}

#Useful-Contents-tights .brand_item {
  font-size: 0;
  margin: 5rem auto;
}

#Useful-Contents-tights .brand_item .product_cta a {
  width: 100%;
}

#Useful-Contents-tights .category_cta a{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  font-size: 2rem;
  letter-spacing: .05em;
  width: 50.2rem;
  height: 6.2rem;
  border: 2px solid #343434;
  border-radius: 3rem;
  transition: all .3s ease;
}

#Useful-Contents-tights .category_cta:hover a {
  background: #343434;
  color: #fff;
}

@media screen and (max-width:820px),print {
  #thick-tights .product_column02 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  
  #Useful-Contents-tights #thick-tights .product_column02 .product:not(:first-of-type) {
    margin: 0;
  }
}

#thick-tights .product_column02 {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.product_column02 .product {
  width: 42rem;
}
@media screen and (max-width:820px),print {
  #Useful-Contents-tights .product_column02,
  #Useful-Contents-tights .product_column04,
  #Useful-Contents-tights .product_column05 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }

  .product_column02 .product,
  .product_column04 .product,
  .product_column05 .product{
    max-width: inherit;
    width: 100%;
  }
  .product_column05 .product_image {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
}

.product_cta:nth-of-type(n+2) {
  margin-top: 1em;
}


#thick-tights .product:nth-of-type(n+3) {
  margin-top: 3rem;
}



#brand .product_cta {
  width: 18rem;
  margin: 0 auto;
}

@media screen and (max-width:820px),print {
  #brand .product_cta {
    width: 100%;
    margin: 0 auto;
  }
}


.denier_table .product_cta {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3rem auto 0;
  font-size: 2rem;
  letter-spacing: .05em;
  width: 100%;
  height: 6.2rem;
  border: 2px solid #343434;
  border-radius: 3rem;
  transition: all .3s ease;
}

.denier_table .product_cta:hover a {
  background: #343434;
  color: #fff;
}
