@charset "UTF-8";

:root {
  --color-bg: #e8f1fd;
  --color-point: #4b6aa9;
  --color-font: #585757;
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

.free-area {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  color: var(--color-font);
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 0.05em;
  /* z-index: 0; */
  padding-bottom: 10rem;
  background: var(--color-bg);
}
.free-area img,
.free-area svg {
  display: block;
  opacity: 1;
  width: 100%;
  height: auto;
}
.free-area picture {
  display: block;
}
.free-area a {
  display: block;
  color: inherit;
}
.free-area *:focus {
  outline: none;
}
.free-area a,
.free-area label {
  -webkit-tap-highlight-color: rgba(240, 164, 149, 0.6);
}
.free-area input {
  display: none;
}
.free-area li,
.free-area ol {
  list-style-type: none;
}


  main {
    max-width: 100vw;
  }
  #Wrap {
    width: auto;
  }
  .wrapTop,
.wrapBottom {
    width: 100%;
  }
  .free-area a {
    cursor: pointer;
  }
  .free-area .pcOnly {
    display: block;
  }
  .free-area .spOnly {
    display: none;
  }

.group-detail-area {
    width: 100%;
}
.free-area .main-area {
    width: 110rem;
    margin: 5rem auto 6rem;
    text-align: center;
}

.free-area .main-area h3 {
    color: var(--color-point);
    font-size: 3.8rem;
    font-weight: 800;
    margin: 5rem auto 1.5rem;
}

.free-area .main-area .main-txt {
    font-size: 2rem;
    color: var(--color-point);
    font-weight: 700;
}

.free-area .main-area .sub-txt {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 3rem auto 4rem;
}

.free-area .main-area .day-txt {
    background: var(--color-point);
    display: flex;
    color: #fff;
    width: 60rem;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    padding: 0.6rem 0;

    display: block;
    padding: 1rem 0;
}

.free-area .main-area .day-txt dl {
    display: flex;
    justify-content: center;
    align-items: center;
}

.free-area .main-area .day-txt dt {
    font-size: 1.6rem;
    border: 1px solid;
    border-radius: 5px;
    padding: 0 0.5rem;
    margin-right: 1rem;
}

.free-area .main-area .day-txt dd {
    font-size: 2rem;
}

.free-area .main-area .day-txt dd span {
    font-size: 1.6rem;
}

.free-area .main-area .day-txt p {
    font-size: 1.3rem;
    padding-top: 0.5rem;
}

.free-area .cmpn_blk{
    text-align: center;
    width: 80rem;
    margin: 10rem auto ;
}

.free-area .cmpn_ttl{
    font-size: 6rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 5rem;
    color: var(--color-point);
}

.free-area .cmpn_text{
    font-size: 1.6rem;
}

.free-area .cmpn_text .line{
    display: block;
    width: fit-content;
    margin: 1rem auto;
    padding: 0 1rem;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    color: var(--color-point);
    background: linear-gradient(transparent 70%, #b5caf4 50%);
}

.free-area .cmpn_text .line span{
    font-size: 3rem;
}

.free-area #campaign-area {
    background: radial-gradient(circle, rgba(255, 255, 255, 1), #FCE5DF);
    padding: 6rem 0 8rem;
    text-align: center;
}

.free-area #campaign-area h3 {
    font-size: 3rem;
    color: var(--color-point);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 4rem;
}

.free-area #campaign-area .cont-area {
    background: rgb(255 255 255 / 40%);
    width: 80rem;
    margin: 2rem auto 0;
    padding: 4rem 0 4rem;
}

.free-area #campaign-area .cont-area h4 {
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--color-point);
    position: relative;
    margin-bottom: 2.5rem;
    display: inline-block;
    padding-left: 5rem;
}

.free-area #campaign-area .cont-area h4::before {
    content: '';
    position: absolute;
    left: 0;
}

.free-area #campaign-area .shop-cont h4::before {background: url(https://www.cosmekitchen-webstore.jp/Contents/ImagesPkg/product/list/giovanniBB_24SUMMER/ico_shop.svg) no-repeat;background-size: 100%;width: 4rem;height: 3rem;}


.free-area #campaign-area .cont-area .main-txt {
    font-size: 1.6rem;
    line-height: 1.8;
}

.free-area #campaign-area .cont-area .main-txt span {
    font-size: 2.2rem;
    font-weight: 700;
}

.free-area #campaign-area .shop-cont .main-txt span {
    color: #CE7A3F;
}

.free-area #campaign-area .shop-cont .item-img {
    width: 15rem;
    margin: 0 auto 1.5rem;
}

.free-area #campaign-area .shop-cont .shop-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
}

.free-area #campaign-area .shop-cont .shop-txt dt {
    font-size: 1.5rem;
    border: 1px solid;
    border-radius: 5px;
    padding: 0 1rem;
    margin-right: 1.5rem;
}

.free-area #campaign-area .shop-cont .shop-list .ttl-txt {
    color: var(--color-point);
    position: relative;
    font-size: 1.6rem;
    padding-left: 2rem;
    display: inline-block;
    margin: 1.5rem auto 1rem;
}

.free-area #campaign-area .shop-cont .shop-list .ttl-txt::before {
    content: '';
    position: absolute;
    background: url(https://www.cosmekitchen-webstore.jp/Contents/ImagesPkg/product/list/giovanniBB_24SUMMER/ico_map.svg) no-repeat;
    background-size: 100%;
    width: 1.8rem;
    height: 2rem;
    left: 0;
}

.free-area .btn-white a {
    background: #fff;
    border-radius: 10rem;
    text-align: center;
    box-shadow: 0 0 6px #dddddd;
}

.free-area #campaign-area .shop-cont .shop-list .btn-area {
    display: flex;
    align-items: center;
    justify-content: center;
}

.free-area #campaign-area .shop-cont .shop-list .btn-white a {
    width: 17.5rem;
    height: 5rem;
    position: relative;
    margin: 0 0.5rem;
}

.free-area #campaign-area .shop-cont .shop-list .btn-white img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.free-area #campaign-area .shop-cont .shop-list .btn-white:nth-child(1) img {
    width: 12rem;
}

.free-area #campaign-area .shop-cont .shop-list .btn-white:nth-child(2) img {
    width: 7rem;
}

.free-area #campaign-area .web-cont h4::before {
    background: url(https://www.cosmekitchen-webstore.jp/Contents/ImagesPkg/product/list/giovanniBB_24SUMMER/ico_web.svg) no-repeat;
    background-size: 100%;
    width: 3rem;
    height: 4rem;
    top: -0.5rem;
}

.free-area #campaign-area .web-cont h4 {
    padding-left: 3.5rem;
}

.free-area #campaign-area .web-cont .main-txt span {
    color: #CC9733;
}

.free-area #campaign-area .web-cont .main-txt .medium-txt {
    font-size: 2.5rem;
}

.free-area #campaign-area .web-cont .main-txt .big-txt {
    font-size: 3.6rem;
}

.free-area #campaign-area .web-cont .main-txt {
    line-height: 1.4;
}

.free-area #campaign-area .web-cont .sub-txt {
    font-size: 1.3rem;
    margin: 1rem auto 3rem;
}

.free-area #campaign-area .web-cont .btn-white a {
    width: 36rem;
    height: 6.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.4rem;
    position: relative;
    margin: 0 auto;
}

.free-area #campaign-area .web-cont .btn-white img {
    width: 12rem;
    margin-right: 1rem;
}

.free-area #campaign-area .web-cont .btn-white a::after {
    content: '';
    position: absolute;
    background: url(https://www.cosmekitchen-webstore.jp/Contents/ImagesPkg/product/list/giovanniBB_24SUMMER/ico_arrow.svg) no-repeat;
    background-size: 100%;
    width: 0.8rem;
    height: 1.4rem;
    right: 2rem;
}

.free-area #item-area {
/*    padding: 6rem 0 0;*/
}

.free-area #item-area h3 {
    font-size: 6rem;
    text-align: center;
    color: var(--color-point);
    font-weight: 700;
    margin-bottom: 4rem;
}

.free-area #item-area h3 span {
    display: block;
    font-size: 2.2rem;
}

.free-area #item-area .cont-area {
    width: 80rem;
    margin: 3rem auto 0;
    box-shadow: 0 0 6px #dddddd;
    background-color: #fff;
    padding: 5rem 0;
}

.free-area #item-area .item01 {
    /* width: calc(350 * (100vw / 390)); */
    /* padding: calc(30 * (100vw / 390)) calc(25 * (100vw / 390)); */
}

.free-area #item-area .cont-area h4 {
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 3rem;
}

.free-area #item-area .item01 h4 {
    color: #392F8E;
}

.free-area #item-area .cont-area .item-list {
    display: flex;
    justify-content: center;
}

.free-area #item-area .cont-area .item-list li {
    width: 26rem;
    margin: 0 1.5rem 3rem;
}

.free-area #item-area .cont-area .item-list .item-name {
    font-size: 1.6rem;
    margin: 1rem 0 1rem;
}

.free-area #item-area .cont-area .item-list .item-price {
    font-size: 2rem;
}

.free-area #item-area .cont-area .item-list .item-price span {
    font-size: 1.2rem;
}

.free-area #item-area .cont-area .item-list .fl-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.free-area #item-area .cont-area .item-list .item-link {
    text-decoration: underline;
    font-size: 1.4rem;
}

.free-area #item-area .item01 .item-link {
    color: #392F8E;
}

.free-area .btn-item a {
    width: 40rem;
    height: 7rem;
    margin: 0 auto;
    font-size: 2rem;
    border-radius: 100px;
    color: #fff;
    text-align: center;
    line-height: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.free-area .btn-item a::before {
    content: '';
    background: url(https://www.cosmekitchen-webstore.jp/Contents/ImagesPkg/product/list/giovanniBB_24SUMMER/ico_cart.svg) no-repeat;
    background-size: 100%;
    width: 3rem;
    height: 3rem;
}
.free-area #item-area .item01 .btn-item a {
    background: #392F8E;
}

.free-area #item-area .item02 h4 {
    color: #63bc69;
}

.free-area #item-area .item02 .btn-item a {
    background: #63bc69;
}

.free-area #item-area .item02 .item-link {
    color: #63bc69;
}

/*--------------------------------
PC  Only
--------------------------------*/
@media (min-width: 767px) {
	
}
/*--------------------------------
SP  Only
--------------------------------*/
@media (max-width: 768px) {
.free-area .spOnly {
  display: block;
}
.free-area .pcOnly {
  display: none;
}
.free-area .main-area {
    width: 100%;
    margin: 0 auto;
}

.free-area .main-area h3 {
    font-size: calc(25 * (100vw / 390));
    line-height: 1.4;
    margin: calc(40 * (100vw / 390)) auto calc(10 * (100vw / 390));
}

.free-area .main-area h3 span {
    display: block;
    font-size: calc(35 * (100vw / 390));
}

.free-area .main-area .main-txt {font-size: calc(16 * (100vw / 390));line-height: 1.8;}

.free-area .main-area .sub-txt {
    font-size: calc(14 * (100vw / 390));
    margin: calc(25 * (100vw / 390)) auto calc(40 * (100vw / 390));
}

.free-area .main-area .day-txt {
    width: 100%;
    padding: calc(10 * (100vw / 390))  0;
}

.free-area .main-area .day-txt dt {
    font-size: calc(15 * (100vw / 390));
    line-height: 1;
    padding: calc(5 * (100vw / 390))  calc(8 * (100vw / 390));
}

.free-area .main-area .day-txt dd {
    font-size: calc(18 * (100vw / 390));
    line-height: 1;
}

.free-area .main-area .day-txt dd span {
    font-size: calc(14 * (100vw / 390));
}

.free-area .cmpn_blk{
    width: calc(350*(100vw / 390));
    margin: calc(50*(100vw / 390)) auto ;
}

.free-area .cmpn_ttl{
    font-size: calc(40 * (100vw / 390));
    margin-bottom: calc(25 * (100vw / 390));
}

.free-area .cmpn_text{
    font-size: calc(14 * (100vw / 390));
}

.free-area .cmpn_text .line{
    margin: calc(10 * (100vw / 390)) auto;
    padding: 0 calc(10 * (100vw / 390));
    font-size: calc(20 * (100vw / 390));
}

.free-area .cmpn_text .line span{
    font-size: calc(26 * (100vw / 390));
}

.free-area #campaign-area {padding: calc(40 * (100vw / 390)) 0 calc(50 * (100vw / 390));}

.free-area #campaign-area h3 {
    font-size: calc(20 * (100vw / 390));
    margin-bottom: calc(25 * (100vw / 390));
}

.free-area #campaign-area .cont-area {
    width: calc(350 * (100vw / 390));
    padding: calc(25 * (100vw / 390)) 0;
}

.free-area #campaign-area .cont-area h4 {
    font-size: calc(18 * (100vw / 390));
    padding-left: calc(40 * (100vw / 390));
    margin-bottom: calc(15 * (100vw / 390));
}

.free-area #campaign-area .shop-cont h4::before {
    width: calc(32 * (100vw / 390));
    height: calc(25 * (100vw / 390));
    top: calc(-5 * (100vw / 390));
}

.free-area #campaign-area .cont-area .main-txt {
    font-size: calc(14 * (100vw / 390));
    line-height: 1.6;
}

.free-area #campaign-area .cont-area .main-txt span {
    font-size: calc(18 * (100vw / 390));
    line-height: 1.5;
}

.free-area #campaign-area .shop-cont .item-img {
    width: calc(140 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-txt {
    display: block;
    font-size: calc(14 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-txt dt {
    font-size: calc(13 * (100vw / 390));
    width: calc(80 * (100vw / 390));
    margin: 0 auto calc(10 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-list .ttl-txt {
    font-size: calc(14 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-list .ttl-txt::before {
    width: calc(15 * (100vw / 390));
    height: calc(18 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-list .btn-white a {
    width: calc(145 * (100vw / 390));
    height: calc(50 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-list .btn-white:nth-child(1) img {
    width: calc(110 * (100vw / 390));
}

.free-area #campaign-area .shop-cont .shop-list .btn-white:nth-child(2) img {
    width: calc(62 * (100vw / 390));
}

.free-area #campaign-area .web-cont h4::before {
    width: calc(25 * (100vw / 390));
    height: calc(30 * (100vw / 390));
}

.free-area #campaign-area .web-cont h4 {
    padding-left: calc(32 * (100vw / 390));
}

.free-area #campaign-area .web-cont .main-txt .medium-txt {
    font-size: calc(20 * (100vw / 390));
}

.free-area #campaign-area .web-cont .main-txt .big-txt {
    font-size: calc(28 * (100vw / 390));
}

.free-area #campaign-area .web-cont .sub-txt {
    font-size: calc(11 * (100vw / 390));
    text-align: left;
    margin: calc(10 * (100vw / 390)) calc(25 * (100vw / 390)) calc(25 * (100vw / 390));
}

.free-area #campaign-area .web-cont .btn-white a {
    width: calc(300 * (100vw / 390));
    height: calc(60 * (100vw / 390));
    font-size: calc(13 * (100vw / 390));
}

.free-area #campaign-area .web-cont .btn-white img {
    width: calc(100 * (100vw / 390));
}

.free-area #item-area h3 {
    font-size: calc(40 * (100vw / 390));
    margin-bottom: calc(25 * (100vw / 390));
}

.free-area #item-area h3 span {
    font-size: calc(20 * (100vw / 390));
}

.free-area #item-area {
/*    padding: calc(40 * (100vw / 390)) 0 0;*/
}

.free-area {
    padding-bottom: calc(50 * (100vw / 390));
}

.free-area #item-area .cont-area h4 {
    font-size: calc(22 * (100vw / 390));
    margin-bottom: calc(15 * (100vw / 390));
}

.free-area #item-area .cont-area .item-list li {
    width: calc(145 * (100vw / 390));
    margin: 0;
}

.free-area #item-area .cont-area .item-list li:first-child {
    margin-right: calc(11 * (100vw / 390));
}

.free-area #item-area .cont-area .item-name {
    font-size: calc(14 * (100vw / 390));
    margin: calc(18 * (100vw / 390)) 0 calc(8 * (100vw / 390));
}

.free-area #item-area .cont-area .item-price {
    font-size: calc(16 * (100vw / 390));
}

.free-area #item-area .cont-area .item-price span {
    font-size: calc(11 * (100vw / 390));
}

.free-area #item-area .cont-area .item-link {
    font-size: calc(13 * (100vw / 390));
    text-decoration: underline;
}

.free-area #item-area .cont-area .fl-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.free-area #item-area .item01 .item-name span {
    color: #392F8E;
}

.free-area .btn-item a {
    width: calc(300 * (100vw / 390));
    font-size: calc(16 * (100vw / 390));
    height: calc(60 * (100vw / 390));
    margin-top: calc(18 * (100vw / 390));
}

.free-area .btn-item a::before {
    width: calc(26 * (100vw / 390));
    height: calc(26 * (100vw / 390));
}

.free-area #item-area .cont-area {
    width: calc(350*(100vw / 390));
    padding: calc(30*(100vw / 390)) calc(25*(100vw / 390));
    margin-top: calc(20 * (100vw / 390));
}

.free-area #item-area .item02 .item-name span {
    color: #63bc69;
}
}