@charset "UTF-8";

/*ーーーーーーーーーーーーーーーーーーーーーーーー
個別レイアウト用CSS
ーーーーーーーーーーーーーーーーーーーーーーーー*/



/* キービジュアル
ーーーーーーーーーーーーーーーーーーーーーーーー*/

/* レイアウト */
.lay100 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: stretch;
position: relative;
border-bottom: solid 1px #000;
}

		@media screen and (max-width:743px) {
		.lay100 {
		display: none;
		}
		/*smp end*/}


/* 左：サイト名 */
.lay100 .boxa {
width: 23%;
box-sizing: border-box;
padding: 2.93vw 0px 1.1vw;
display: flex;
flex-direction: column;
flex: 1;
}
.lay100 .boxa .wrpa {
padding-right: 2.93vw;
padding-left: 2.93vw;
display: flex;
flex-direction: column;
}
.lay100 .boxa .wrpa p:first-child {
line-height: 1.4;
}
.lay100 .boxa .wrpa h1 img {
margin-top: 1.02vw;
}
.lay100 .boxa .wrpa p:last-child {
width: 13.18vw;
margin: 5.12vw auto 0;
}
.lay100 .boxa .wrpa img {
width: 100%;
max-width: initial;
}
		@media screen and (min-width:1380px) {
		.lay100 .boxa .wrpa p:first-child {
		font-size: 1.17vw;
		}
		/*smp end*/}


/* 左：メニュー */
.lay100 .boxa .wrpb {
margin: 3.29vw 0 0 2.93vw;
display: inline-block;
}
.lay100 .boxa .wrpb li {
font-size: 1.33vw;
}
.lay100 .boxa .wrpb li + li {
margin-top: 0.88vw;
}
.lay100 .boxa .wrpb li img {
margin-right: 0.59vw;
width: 2.05vw;
}
.lay100 .boxa .wrpb a {
opacity: .5;
}
.lay100 .boxa .wrpb a.current {
opacity: 1;
}


/* 左：ページング */
.lay100 .boxa .wrpc {
display: flex;
justify-content: flex-end;
margin: auto 20px 0px 0px;
}
.lay100 .boxa .wrpc p {
font-size: 0.88vw;
}
.lay100 .boxa .wrpc p:nth-child(2) {
margin: 0;
width: 6.59vw;
text-align: center;
font-family: "Barlow",sans-serif;
position: relative;
bottom: -1px;
}
.lay100 .boxa .wrpc p img {
width: 0.44vw;
}


/* 写真 */
.lay100 .boxb {
width: 77%;
position: relative;
overflow: hidden;
display: block;
}
.lay100 .boxb a {
display: block;
}

.lay100 .boxb section {
width: 100%;
position: relative;
}

.lay100 .boxb img {
width: 100%;
display: inline-block;
max-width: initial;
min-width: initial;
}

/* 基本設定 */
.lay100 .boxb .wrpa {
position: absolute;
bottom: 10.24vw;
left: 6.59vw;
}
.lay100 .boxb .wrpa p:nth-child(1) {
font-size: 1.46vw;
}
.lay100 .boxb .wrpa h2 {
font-size: 3.66vw;
font-weight: 400;
line-height: 1.1;
margin-top: 10px;
}
.lay100 .boxb .wrpa h2.text_en {
font-weight: 300;
}

.lay100 .boxb .wrpa p:nth-child(3) {
font-size: 1.46vw;
margin-top: 2.49vw;
}
.lay100 .boxb .wrpa p:nth-child(4) {
font-size: 1.02vw;
}
.lay100 .boxb .wrpa p:last-child {
font-size: 1.32vw;
border-top: solid 1px #000;
margin-top: 1.1vw;
padding-top: 1.17vw;
display: inline-block;
font-weight: 400;
}

/* ブルーミングピープル */

.lay100 .boxb .wrpa.po_people {
position: absolute;
bottom: 3.5vw;
left: 5vw;
}
.lay100 .boxb .wrpa.po_people h2,
.lay100 .boxb .wrpa.po_people p {
color: #fff;
  text-shadow:
   -1px -1px 0 #000,  
    1px -1px 0 #000,
   -1px  1px 0 #000,
    1px  1px 0 #000;
}
.lay100 .boxb .wrpa.po_people p {
line-height: 1.6;
font-weight: 400;
}
.lay100 .boxb .wrpa.po_people p:last-child {
border-top: none;
font-size: 1.61vw;
}



/* フォントサイズ小 */
.lay100 .boxb .wrpa.type_b p:nth-child(1) {
font-size: 1.46vw;
}
.lay100 .boxb .wrpa.type_b h2 {
font-size: 3.66vw;
letter-spacing: 0.44vw;
line-height: 1.1;
margin-top: 0.37vw;
}
.lay100 .boxb .wrpa.type_b p:last-child {
border-top: none;
margin-top: 0px;
}


/* 推し時間 配置 */
.lay100 .boxb .wrpa.po_time {
top: initial;
right: initial;
bottom: 4.9vw;
left: 5.39vw;
width: 32vw;
}
.lay100 .boxb .wrpa.po_time h2,
.lay100 .boxb .wrpa.po_time p {
color: #fff;
}

/* 美容夫婦 配置 */
.lay100 .boxb .wrpa.po_beauty {
top: initial;
right: initial;
bottom: 7.24vw;
left: 6.59vw;
width: 29.28vw;
}
.lay100 .boxb .wrpa.po_beauty h2,
.lay100 .boxb .wrpa.po_beauty p {
color: #fff;
}


/* 中の人 配置 */
.lay100 .boxb .wrpa.po_naka {
top: initial;
right: 5.39vw;
bottom: 14.24vw;
left: initial;
width: 31.48vw;
}

/* ビストロ 配置 */
.lay100 .boxb .wrpa.po_bistro {
top: initial;
right: initial;
bottom: 8vw;
left: 5.39vw;
width: 40vw;
}
.lay100 .boxb .wrpa.po_bistro h2,
.lay100 .boxb .wrpa.po_bistro p {
  text-shadow:
   -1px -1px 0 #fff,  
    1px -1px 0 #fff,
   -1px  1px 0 #fff,
    1px  1px 0 #fff;
}

/* グルメ 配置 */
.lay100 .boxb .wrpa.po_gourmet {
top: 4.2vw;
right: initial;
bottom: initial;
left: 3.39vw;
width: 40vw;
}
.lay100 .boxb .wrpa.po_gourmet h2,
.lay100 .boxb .wrpa.po_gourmet p {
color: #fff;
  text-shadow:
   -1px -1px 0 #000,  
    1px -1px 0 #000,
   -1px  1px 0 #000,
    1px  1px 0 #000;
}


/* 週末小旅行 配置 */
.lay100 .boxb .wrpa.po_travel {
top: initial;
right: initial;
bottom: 5.5vw;
left: 5.39vw;
width: 35vw;
}
.lay100 .boxb .wrpa.po_travel h2,
.lay100 .boxb .wrpa.po_travel p {
color: #fff;
}


/* フォントサイズ大（限定ムービー） */
.lay100 .boxb .wrpa.type_c h2 {
font-size: 6.73vw;
font-weight: 500;
margin-top: 0;
margin-left: -0.37vw;
letter-spacing: -0.07vw;
}
.lay100 .boxb .wrpa.type_c p {
border-top: none;
}
.lay100 .boxb .wrpa.type_c h2 + p {
font-size: 3.41vw;
font-weight: 500;
margin-top: -0.73vw;
line-height: 1.2;
}

/* 限定ムービー配置 */

.lay100 .boxb .wrpa.po_limited {
top: initial;
right: initial;
bottom: 2.93vw;
left: 4.39vw;
}
.lay100 .boxb .wrpa.po_limited p:first-child {
font-size: 1.46vw;
font-weight: 400;
}
.lay100 .boxb .wrpa.po_limited h2 {
font-size: 4.39vw;
font-weight: 500;
line-height: 1;
}
.lay100 .boxb .wrpa.po_limited p:nth-child(3) {
font-size: 1.76vw;
font-weight: 400;
margin-top: 1.1vw;
padding-bottom: 1.1vw;
border-bottom: solid 1px #272727;
}
.lay100 .boxb .wrpa.po_limited p:last-child {
padding-top: 0px;
}



/* スクロールダウン */
.lay100 .boxc {
position: absolute;
right: 1.46vw;
bottom: 1.46vw;
width: 1.17vw;
height: 10.1vw;
text-align: center;
z-index: 3;
}

.lay100 .boxc a {
display: block;
width: 100%;
height: 100%;
}
.lay100 .boxc a img {
width: 100%;
max-width: initial;
}

/* アニメーション指定 */
.lay100 .boxc span {
    display: block;
    width: 0.73vw;
    height: 0;
		overflow: hidden;
		position: relative;
    margin: 0.7vw auto 0px;
    line-height: 0;
    animation: scrollDown 2s infinite;
}

@keyframes scrollDown {
    0% {
        height: 0;
        transform: translateY(0);
    }
    50% {
        height: 5.86vw;
        transform: translateY(0);
				margin-top: 0.73vw;
    }
    100% {
        height: 0;
        transform: translateY(5.86vw);
    }
}




/* BLOOMING ZINEとは？
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay101 {
max-width: 80.53vw;
margin: 8.78vw auto 0px;
}

		@media screen and (min-width:1380px) {
		.lay101 {
		max-width: 980px;
		margin: 120px auto 0px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay101 {
		width: auto;
		max-width: initial;
		margin: 50px 10px 0px;
		}
		/*smp end*/}

/* 開閉ボタン */
.lay101 .boxa {
position: relative;
z-index: 2;
}
.lay101 .boxa a {
border: solid 1px #000;
width: 39.53vw;
min-height: 4.03vw;
padding-top: 0.37vw;
margin: 0 auto;
text-align: center;
font-size: 1.9vw;
position: relative;
display: block;
background: #fff;
}
.lay101 .boxa a > span {
display: block;
width: 4.39vw;
height: 4.39vw;
position: absolute;
top: 0px;
right: 0px;
border-left: solid 1px #000;
text-align: center;
}
.lay101 .boxa a span img {
position: relative;
bottom: -0.15vw;
width: 2.49vw;
height: 2.2vw;
}
.lay101 .boxa a.open span {
background: #C9C9C9;
}

		@media screen and (min-width:1380px) {
		.lay101 .boxa a {
		width: 540px;
		min-height: 54px;
		padding-top: 5px;
		font-size: 26px;
		}
		.lay101 .boxa a > span {
		width: 59px;
		height: 59px;
		}
		.lay101 .boxa a span img {
		position: relative;
		bottom: -2px;
		width: 34px;
		height: 30px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		.lay101 .boxa a {
		border: solid 1px #000;
		width: auto;
		max-width: 300px;
		min-height: calc(45px - 8px);
		padding-top: 8px;
		font-size: 15px;
		}
		.lay101 .boxa a span {
		width: 45px;
		height: 45px;
		}
		.lay101 .boxa a span span {
		position: relative;
		bottom: -4px;
		left: 8px;
		width: 25px !important;
		height: 22px !important;
		display: block;
		}
		.lay101 .boxa a span img {
		position: relative;
		bottom: -2px;
		width: 25px;
		height: 22px;
		}
		/*smp end*/}


/* 開閉コンテンツ */
.lay101 .boxb {
border: solid 1px #000;
padding: 5.12vw 6.22vw 2.56vw;
text-align: center;
background: #f2f2f2;
z-index: 1;
margin: -2.2vw auto 0;
box-sizing: border-box;
}
.lay101 .boxb p {
font-size: 1.46vw;
}
.lay101 .boxa a.open span img {
  transform: rotate(90deg);
}
		@media screen and (min-width:1380px) {
		.lay101 .boxb {
		padding: 70px 40px 35px;
		margin: -30px auto 0;
		}
		.lay101 .boxb p {
		font-size: 20px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		.lay101 .boxb {
		width: auto;
		padding: 40px 15px 25px;
		margin: -20px 10px 0px;
		}
		.lay101 .boxb p {
		font-size: 14px;
		}
		/*smp end*/}




/* カルーセル
lay102 = 2列
lay103 = 4列
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay102,
.lay103 {
margin: 2.2vw auto 0px;
width: 87.85vw;
padding-right: 100px;
padding-left: 100px;
box-sizing: border-box;
}

.lay102 .boxa,
.lay103 .boxa {
position: relative;
background:#fff;
box-sizing: border-box;
display: block;
border-top: solid 1px #000;
border-bottom: solid 1px #000;
border-left: solid 1px #000;
}


.lay102 .slick-list,
.lay103 .slick-list {
border-right: solid 1px #000;
}


.lay102 .slick-disabled,
.lay103 .slick-disabled {
opacity: .2;
cursor: default;
}

.lay102 .boxa::after,
.lay103 .boxa::after {
content: "";
position: absolute;
bottom: 0px;
right: 0px;
width: 4.39vw;
height: 4.39vw;
border-top: solid 1px #000;
border-left: solid 1px #000;
background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat center center / 2.49vw 2.2vw;
}

.lay102 .boxa .wrpa,
.lay103 .boxa .wrpa {
position: relative;
}
.lay102 .boxa .wrpa p:first-child,
.lay103 .boxa .wrpa p:first-child {
position: relative;
z-index: 1;
}
.lay102 .boxa .wrpa p:first-child img,
.lay103 .boxa .wrpa p:first-child img {
width: 100%;
max-width: initial;
}

.lay102 .boxa .wrpb:after,
.lay103 .boxa .wrpb:after {
content: "今すぐフォローしてチェック！";
background: url(/promotion/bloomingzine/common/img/icon_is@2x.png) no-repeat left center / 2.93vw 2.93vw ;
display: flex;
flex-direction: column;
justify-content: center;
font-size: 1.32vw;
font-weight: 500;
text-align: right;
height: 4.39vw;
position: absolute;
width:  22vw;
bottom: 0;
right: calc(4.39vw + 10px);
}


		@media screen and (min-width:1380px) {
		.lay102,
		.lay103 {
		margin: 30px auto 0px;
		width: 1180px;
		}
		.lay102 .boxa::after,
		.lay103 .boxa::after {
		width: 60px;
		height: 60px;
		background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat center center / 34px 30px;
		}
		.lay102 .boxa .wrpb:after,
		.lay103 .boxa .wrpb:after {
		background: url(/promotion/bloomingzine/common/img/icon_is@2x.png) no-repeat left center / 40px 40px;
		font-size: 18px;
		width: 305px;
		height: 60px;
		right: 70px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay102,
		.lay103 {
		margin: 20px 0px 0px 0px;
		border:none;
		width: auto;
		padding-right: 0px;
		padding-left: 0px;
		}
		.lay102 .boxa,
		.lay103 .boxa {
		border-top: solid 1px #000;
		border-bottom: solid 1px #000;
		}
		.lay102 .boxa::after,
		.lay103 .boxa::after {
		width: 40px;
		height: 40px;
		background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat center center / 19px 16px;
		}
		.lay102 .boxa .wrpb:after,
		.lay103 .boxa .wrpb:after {
		background: url(/promotion/bloomingzine/common/img/icon_is@2x.png) no-repeat left center / 25px 25px ;
		font-size: 12px;
		height: 40px;
		width:  200px;
		bottom: 0;
		right: calc(40px + 10px);
		}
		/*smp end*/}


/* 左右ナビボタン */

.slider_outline {
display: block;
}
.slider_outline .btn_prev,
.slider_outline .btn_next {
display: none !important;
}
.slider_outline:hover .btn_prev,
.slider_outline:hover .btn_next {
display: block !important;
width: 4.39vw;
}

.slider_outline:hover .btn_prev,
.slider_outline:hover .btn_next {
position: absolute;
top: calc(50% - 30px);
z-index: 3;
display: block;
}
.slider_outline .btn_prev {
left: 10px;
}
.slider_outline .btn_next {
right: 10px;
}


		@media screen and (min-width:980px) {
		.slider_outline:hover .btn_prev,
		.slider_outline:hover .btn_next {
		display: block !important;
		width: 60px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		.slider_outline:hover .btn_prev,
		.slider_outline:hover .btn_next {
		display: none !important;
		}
		/*smp end*/}




/* lay102個別指定
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay102.blue .boxa.over::after {
background-color: #4ACAF0;
}
.lay102.green .boxa.over::after {
background-color: #5FE6C7;
}
.lay102.yellow .boxa.over::after {
background-color: #F6AC19;
}
.lay102.mustard .boxa.over::after {
background-color: #C8AA46;
}
.lay102.darkpurple .boxa.over::after {
background-color: #B164FF;
}
.lay102.purple .boxa.over::after {
background-color: #DE79CB;
}
.lay102.lightgreen .boxa.over::after {
background-color: #B9D932;
}

/* 1つめは色つき 
.lay102.blue .boxa:first-child::after {
background-color: #4ACAF0;
}
.lay102.green .boxa:first-child::after {
background-color: #5FE6C7;
}
.lay102.yellow .boxa:first-child::after {
background-color: #F6AC19;
}
.lay102.mustard .boxa:first-child::after {
background-color: #C8AA46;
}
.lay102.darkpurple .boxa:first-child::after {
background-color: #B164FF;
}
.lay102.purple .boxa:first-child::after {
background-color: #DE79CB;
}
.lay102.lightgreen .boxa:first-child::after {
background-color: #B9D932;
}
*/

/* すべて色つき */
.lay102.blue .boxa::after {
background-color: #4ACAF0;
}
.lay102.green .boxa::after {
background-color: #5FE6C7;
}
.lay102.yellow .boxa::after {
background-color: #F6AC19;
}
.lay102.mustard .boxa::after {
background-color: #C8AA46;
}
.lay102.darkpurple .boxa::after {
background-color: #B164FF;
}
.lay102.purple .boxa::after {
background-color: #DE79CB;
}
.lay102.lightgreen .boxa::after {
background-color: #B9D932;
}


.lay102 .boxa .wrpa p:last-child {
font-size: 4.39vw;
font-weight: 200;
position: absolute;
z-index: 2;
right: 5px;
bottom: 0px;
line-height: 1.2;
}

.lay102 .boxa .wrpb {
padding: 1.83vw 1.46vw 5vw 1.46vw;
}
.lay102 .boxa .wrpb h3 {
font-size: 1.49vw;
font-weight: 400;
}
.lay102 .boxa .wrpb p:nth-child(2) {
margin-top: 0.37vw;
}
.lay102 .boxa .wrpb p:nth-child(3) {
margin-top: 0.73vw;
font-size: 1.1vw;
}
.lay102 .boxa .wrpb p:nth-child(4) {
font-size: 1.02vw;
font-weight: 200;
}

		@media screen and (min-width:1380px) {

		.lay102 .boxa .wrpa p:last-child {
		font-size: 60px;
		}

		.lay102 .boxa .wrpb {
		padding: 25px 20px 80px 20px;
		}
		.lay102 .boxa .wrpb h3 {
		font-size: 19px;
		}
		.lay102 .boxa .wrpb p:nth-child(3) {
		margin-top: 10px;
		font-size: 15px;
		}
		.lay102 .boxa .wrpb p:nth-child(4) {
		font-size: 14px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay102 .boxa .wrpa p:last-child {
		font-size: 32px;
		}
		.lay102 .boxa .wrpb {
		padding: 25px 15px 60px;
		/* position: relative; 『今すぐフォローしてチェック』配置に競合するため削除 */
		}
		.lay102 .boxa .wrpb h3 {
		font-size: 18px;
		}
		.lay102 .boxa .wrpb p {
		font-size: 14px;
		line-height: 1.4;
		}
		.lay102 .boxa .wrpb p.txta {
		position: absolute;
		bottom: 15px;
		left: 20px;
		}
		.lay102 .boxa .wrpb p:nth-child(2) {
		margin-top: 10px;
		}
		.lay102 .boxa .wrpb p:nth-child(3) {
		margin-top: 0px;
		font-size: 13px;
		position: absolute;
		bottom: 35px;
		left: 15px;
		}
		.lay102 .boxa .wrpb p:nth-child(4) {
		font-size: 11px;
		}
		/*smp end*/}


/* 準備中の場合 */
.lay102 .boxa.type_b {
cursor: default;
}


.lay102 .boxa.type_b .wrpa .insa {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

.lay102 .boxa.type_b .wrpa .insa p:first-child {
font-size: 3.66vw;
font-weight: 200;
letter-spacing: 0.59vw;
padding: 0 20px;
line-height: 1.4;
opacity: .5;
}
.lay102 .boxa.type_b .wrpa .insa p:last-child {
margin-top: 10px;
opacity: .5;
}
.lay102 .boxa.type_b .wrpa p:last-child {
font-size: initial;
position: relative;
right: initial;
bottom: initial;
}
.lay102 .boxa.type_b {
display: flex;
flex-direction: column;
}
.lay102 .boxa.type_b .wrpb {
flex: 1;
display: flex;
flex-direction: column;
text-align: center;
padding: 1.78vw 1.46vw 5.46vw 1.46vw !important;
position: relative;
}

.lay102 .boxa.type_b .wrpb p {
font-size: 1.4vw;
opacity: .5;
}
.lay102 .boxa.type_b .wrpb p.text_en {
font-size: 2.49vw;
font-family:
"Noto Sans JP",
sans-serif;
}
.lay102 .boxa.type_b .wrpb p.txta {
font-size: 1.1vw;
position: absolute;
left: 1.46vw;
bottom: 1.46vw;
font-weight: 200;
}
 


		@media screen and (min-width:1380px) {
		.lay102 .boxa.type_b .wrpa .insa p:first-child {
		font-size: 50px;
		letter-spacing: 8px;
		}
		.lay102 .boxa.type_b .wrpb {
		padding: 65px 20px 85px 20px;
		}
		.lay102 .boxa.type_b .wrpb p {
		font-size: 20px;
		}
		.lay102 .boxa.type_b .wrpb p.text_en {
		font-size: 34px;
		}
		.lay102 .boxa.type_b .wrpb p.txta {
		font-size: 15px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {

		.lay102 .boxa.type_b .wrpa .insa p:first-child {
		font-size: 25px;
		letter-spacing: 4px;
		padding: 0 10px;
		}
		.lay102 .boxa.type_b .wrpb p {
		font-size: 15px;
		opacity: .5;
		padding: 25px 10px 45px;
		}
		.lay102 .boxa.type_b .wrpb p.text_en {
		font-size: 20px;
		}

		/* slickの左クローンを非表示に（初期状態のみ） */
		.lay102 .slick-cloned {
		opacity: 0;
		}
		.lay102 .boxa.type_b .wrpb p.txta {
		font-size: 14px;
		padding: 0;
		left: 20px;
		bottom: 15px;
		}
		/*smp end*/}


/* JS連動 */
		@media screen and (max-width: 743px) {
		.lay102 {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		cursor: grab;
		}
		.lay102.active {
		cursor: grabbing;
		}
		.lay102::-webkit-scrollbar {
		display: none;
		}

		.lay102 .boxa {
		flex: 0 0 auto;
		width: 80%;
		margin-right: 0px;
		}
		.lay102 .boxa:first-child {
		margin-left: 20px;
		}
		/* Slickスライダーのスタイルを上書き */
		.lay102 .slick-list,
		.lay102 .slick-track {
		display: block;
		width: auto;
		transform: none !important;
		}

		.lay102 .slick-slide {
		display: block;
		width: auto;
		}
		}





/* lay103個別指定
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay103.yellow .boxa.over::after {
background-color: #F6CB19;
}
.lay103.purple .boxa.over::after {
background-color: #DE79CB;
}
.lay103.lightgreen .boxa.over::after {
background-color: #B9D932;
}

.lay103 .boxa .wrpa p:last-child {
font-size: 2.93vw;
font-weight: 200;
position: absolute;
z-index: 2;
right: 5px;
bottom: 0px;
line-height: 1.2;
}

.lay103 .boxa .wrpb {
padding: 15px 20px 60px 20px;
}
.lay103 .boxa .wrpb p:last-child {
font-size: 1.02vw;
position: absolute;
left: 20px;
bottom: 20px;
}

		@media screen and (min-width:1380px) {
		.lay103 .boxa .wrpa p:last-child {
		font-size: 40px;
		}
		.lay103 .boxa .wrpb p:last-child {
		font-size: 14px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {

		.lay103 .boxa .wrpa p:last-child {
		font-size: 28px;
		}
		.lay103 .boxa .wrpb {
		padding: 10px 10px 40px 10px;
		}
		.lay103 .boxa .wrpb p {
		font-size: 12px;
		line-height: 1.4;
		}
		.lay103 .boxa .wrpb p:last-child {
		font-size: 11px;
		bottom: 10px;
		left: 10px;
		}

		/* slickの左クローンを非表示に（初期状態のみ） */
		.lay103 .slick-cloned {
		opacity: 0;
		}
		/*smp end*/}




/* 準備中の場合 */
.lay103 .boxa.type_b {
cursor: default;
}

.lay103 .boxa.type_b .wrpa .insa {
background: rgba(255, 255, 255, 0.8);
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.lay103 .boxa.type_b .wrpa .insa p {
font-size: 2.05vw;
font-weight: 200;
letter-spacing: 0.22vw;
line-height: 1.4;
opacity: .5;
position: initial;
text-align: center;
}

.lay103 .boxa.type_b {
display: flex;
flex-direction: column;
}
.lay103 .boxa.type_b .wrpb {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 70px 0px;
}

.lay103 .boxa.type_b .wrpb p {
font-size: 1.46vw;
opacity: .5;
line-height: 1.6;
}
.lay103 .boxa.type_b .wrpb p:last-child {
position: relative;
left: initial;
bottom: initial;
}

		@media screen and (min-width:1380px) {
		.lay103 .boxa.type_b .wrpa .insa p {
		font-size: 28px;
		letter-spacing: 3px;
		}
		.lay103 .boxa.type_b .wrpb p {
		font-size: 20px;
		}
		/*pc end*/}


		@media screen and (max-width:743px) {
		.lay103 .boxa.type_b .wrpa .insa p {
		font-size: 18px;
		}
		.lay103 .boxa.type_b .wrpb {
		padding: 22px 0px;
		}

		.lay103 .boxa.type_b .wrpb p {
		font-size: 12px;
		margin-top: 0px;
		}
		/*smp end*/}

/* JS連動 */
		@media screen and (max-width: 743px) {
		.lay103 {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		cursor: grab;
		}
		.lay103.active {
		cursor: grabbing;
		}
		.lay103::-webkit-scrollbar {
		display: none;
		}

		.lay103 .boxa {
		flex: 0 0 auto;
		width: 50%;
		margin-right: 0px;
		}
		.lay103 .boxa:first-child {
		margin-left: 20px;
		}
		/* Slickスライダーのスタイルを上書き */
		.lay103 .slick-list,
		.lay103 .slick-track {
		display: block;
		width: auto;
		transform: none !important;
		}

		.lay103 .slick-slide {
		display: block;
		width: auto;
		}
		}





/* This MONTH'S Present!
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay104 {
width: 80.53vw;
margin: 0 auto;
background: #fff;
border-top: solid 1px #000;
}
		@media screen and (max-width:743px) {
		.lay104 {
		width: auto;
		margin: 0 20px;
		}
		/*smp end*/}


/* 見出し */
.lay104 h2 {
font-size: 2.64vw;
font-weight: 200;
letter-spacing: 0.22vw;
text-align: center;
padding: 7px 0px 8px;
width: 100%;
}
.lay104 h2 img {
margin-right: 17px;
position: relative;
top: -6px;
}

		@media screen and (min-width:1380px) {
		.lay104 {
		width: 1100px;
		}
		.lay104 h2 {
		font-size: 36px;
		letter-spacing: 3px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay104 h2 {
		font-size: 19px;
		letter-spacing: 4px;
		}
		.lay104 h2 img {
		width: 21px;
		height: 22px;
		margin-right: 10px;
		top: -3px;
		}
		/*smp end*/}

/* ボックス */
.lay104 .boxa {
display: block;
position: relative;
}
.lay104 .boxa section {
border: solid 1px #000;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.lay104 .boxa::after {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
content: "MORE";
font-family: "Barlow",sans-serif;
width: 4.39vw;
height: 5.86vw;
border-top: solid 1px #000;
border-left: solid 1px #000;
background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat top 0.73vw center / 2.49vw 2.2vw;
position: absolute;
bottom: 1px;
right: 1px;
}

.lay104 .boxa.over::after {
background-color: #F5FF03;
}

.lay104 .boxa .wrpa {
width: 40.26vw;
}
.lay104 .boxa .wrpb {
width: 37.34vw;
padding-top: 2.56vw;
padding-right: 5.12vw;
box-sizing: border-box;
}
.lay104 .boxa .wrpb h3 {
font-size: 2.2vw;
font-weight: 400;
}
.lay104 .boxa .wrpb h3 + p {
margin-top: 1.1vw;
}
		@media screen and (min-width:1380px) {
		.lay104 .boxa::after {
		width: 60px;
		height: 80px;
		background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat top 10px center / 34px 30px;
		bottom: 1px;
		right: 1px;
		}
		.lay104 .boxa .wrpa {
		width: 550px;
		}
		.lay104 .boxa .wrpb {
		width: 510px;
		padding-top: 35px;
		padding-right: 70px;
		}
		.lay104 .boxa .wrpb h3 + p {
		margin-top: 15px;
		}
		.lay104 .boxa .wrpb h3 {
		font-size: 30px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay104 .boxa::after {
		width: 37px;
		height: 50px;
		background: url(/promotion/bloomingzine/common/img/arrow.svg) no-repeat top 10px center / 22px 19px;
		position: absolute;
		bottom: 1px;
		right: 1px;
		font-size: 9px;
		}

		.lay104 .boxa .wrpa {
		width: auto;
		}
		.lay104 .boxa .wrpb {
		width: auto;
		padding: 20px 40px;
		}
		.lay104 .boxa .wrpb h3 {
		font-size: 16px;
		font-weight: 400;
		}
		.lay104 .boxa .wrpb h3 + p {
		margin-top: 15px;
		font-size: 12px;
		}
		/*smp end*/}


/* スマホ用ヘッダー
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay105 {
display: none;
}
		@media screen and (max-width:743px) {
		body {
		padding-top: 45px;
		}
		.lay105 {
		display: flex;
		align-items: center;
		border-bottom: solid 1px #000;
		position: fixed;
		top: 0;
		left:0;
		height: 45px;
		width: 100%;
		z-index: 998;
		background-color: #fff;
		}
		.lay105 h1 {
		font-size: 28px;
		font-weight: 200;
		margin-left: 10px;
		margin-right: 10px;
		white-space: nowrap;
		width: 185px;
		position: relative;
		top: -3px;
		}
		.lay105 p {
		font-size: 10px;
		line-height: 1.2;
		}

		/*smp end*/}



/* スマホ用キービジュアル
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay106 {
display: none;
}
		@media screen and (max-width:743px) {
		.lay106 {
		display: block;
		position: relative;
		overflow: hidden;
		border-bottom: solid 1px #000;
		padding-bottom: 35px;
		}

		/* スライド写真 */
		.lay106 .boxb .wrpa {
		position: relative;
		}
		.lay106 .boxb .wrpa .insa {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
		}
		.lay106 .boxb .wrpa .insa img {
		max-width: initial;
		width: 100%;
		}

		.lay106 .boxb .wrpa .insb {
		position: absolute;
		z-index: 2;
		}

		/* グルーミングピープル */
		.lay106 .boxb .wrpa .insb.po_people {
		bottom: calc(20 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_people h2 {
		margin-bottom: calc(10 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_people p:nth-child(3) {
		font-size: 13px;
		line-height: 1.5;
		}
		.lay106 .boxb .wrpa .insb.po_people p:nth-child(4) {
		font-size: 11px;
		margin-top: 5px;
		}

		.lay106 .boxb .wrpa .insb.po_people h2,
		.lay106 .boxb .wrpa .insb.po_people p {
		color: #fff;
		font-weight: 400;
	  text-shadow:
   -1px -1px 0 #000,  
    1px -1px 0 #000,
   -1px  1px 0 #000,
    1px  1px 0 #000;
		}

		/* 推し時間 */
		.lay106 .boxb .wrpa .insb.po_time {
		bottom: calc(20 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_time h2,
		.lay106 .boxb .wrpa .insb.po_time p {
		color: #fff;
		}

		/* ビストロ */
		.lay106 .boxb .wrpa .insb.po_bistro {
		bottom: calc(50 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_bistro>* {
		color: #fff;
		}

		/* ご当地グルメ */
		.lay106 .boxb .wrpa .insb.po_gourmet {
		top: calc(30 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_gourmet>* {
		color: #fff;
	  text-shadow:
   -1px -1px 0 #000,
    1px -1px 0 #000,
   -1px  1px 0 #000,
    1px  1px 0 #000;
		}

		/* 週末小旅行 */
		.lay106 .boxb .wrpa .insb.po_travel {
		bottom: calc(20 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_travel>* {
		color: #fff;
		}

		/* 美容夫婦 */
		.lay106 .boxb .wrpa .insb.po_beauty {
		bottom: calc(20 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		.lay106 .boxb .wrpa .insb.po_beauty>* {
		color: #fff;
		}

		/* 中の人 */
		.lay106 .boxb .wrpa .insb.po_naka {
		top: calc(140 / 401 * 100vw);
		right: calc(20 / 401 * 100vw);
		}

		/* 限定ムービー */
		.lay106 .boxb .wrpa .insb.po_limited {
		bottom: calc(20 / 401 * 100vw);
		left: calc(20 / 401 * 100vw);
		}
		/* 
		.lay106 .boxb .wrpa .insb.po_limited>* {
		color: #fff;
		}
		*/
		.lay106 .boxb .wrpa .insb.po_limited p:first-child {
		font-size: 15px;
		font-weight: 400;
		}
		.lay106 .boxb .wrpa .insb.po_limited h2 {
		font-size: 35px;
		font-weight: 500;
		}
		.lay106 .boxb .wrpa .insb.po_limited h2 + p {
		font-size: 17px;
		font-weight: 400;
		line-height: 1.2;
		margin-top: 	10px;
		}

		/* テキスト */
		.lay106 .boxb .wrpa .insb p {
		font-size: 12px;
		line-height: 1.4;
		}
		.lay106 .boxb .wrpa .insb h2 {
		font-size: 24px;
		line-height: 1.1;
		font-weight: 300;
		margin-top: 5px;
		}
		.lay106 .boxb .wrpa .insc p:first-child {
		font-size: 18px;
		}
		.lay106 .boxb .wrpa .insc p:last-child {
		font-size: 11px;
		}
		.lay106 .boxb .wrpa .insc p:last-child {
		font-size: 11px;
		}

		.lay106 .boxb .wrpb p {
		margin: 10px 20px 0px;
		font-size: 16px;
		}

		/* テキスト 2枚目以降 */
		.lay106 .boxb .wrpa.type_b .insb h2,
		.lay106 .boxb .wrpa.type_c .insb h2,
		.lay106 .boxb .wrpa.type_d .insb h2 {
		font-size: 28px;
		letter-spacing: 4px;
		font-weight: 400;
		}

		/* スクロールボタン */
		.lay106 .seca {
		position: relative;
		}
		.lay106 .seca .boxc {
		position: absolute;
		right: 0px;
		bottom: calc(115px + 30px);
		height: 115px;
		width: 30px;
		text-align: center;
		}
		.lay106 .seca .boxc.color_white {
		color: #fff;
		}
		.lay106 .seca .boxc span {
		display: block;
		width: 8px;
		height: 0;
		overflow: hidden;
		position: relative;
		margin: 5px auto 0px;
		line-height: 0;
		animation: scrollDown_smp 2s infinite;
		}
		.lay106 .seca .boxc a {
		display: block;
		}

		@keyframes scrollDown_smp {
				0% {
						height: 0;
						transform: translateY(0);
				}
				50% {
						height: 63px;
						transform: translateY(0);
						margin-top: 5px;
				}
				100% {
						height: 0px;
						transform: translateY(63px);
						margin-top: 0px;
				}
		}

		/* ページング */
		.lay106 .boxa {
		position: absolute;
		bottom: 0px;
		left: 0px;
		z-index: 2;
		width: 100%;
		}
		.lay106 .boxa .wrpc {
		display: flex;
		justify-content: center;
		}
		.lay106 .boxa .wrpc p:nth-child(2) {
		margin: 5px 0px;
		font-size: 13px;
		font-family: "Barlow",sans-serif;
		font-weight: 200;
		width: 80px;
		text-align: center;
		}

		/* プレゼントアイコン */
		.lay106 .boxd {
		position: fixed;
		width: calc(100px * 1.3);
		right: 5px;
		bottom: 5px;
		z-index: 100;
		}


		/* ページネーション　ドット */
		.wrpc {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 15px;
		}
		.pagination-container {
		flex-grow: 1;
		}
		.pagination {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
		margin: 0;
		list-style: none;
		}
		.pagination li {
		margin: 0 10px;
		}
		.dot {
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background-color: #ccc;
		display: block;
		transition: background-color 0.3s ease;
		}
		.slick-active .dot {
		background-color: #000;
		}
		/*smp end*/}



/* モーダル内
ーーーーーーーーーーーーーーーーーーーーーーーー */

/* モーダルウインドウ（JS連動） */
.modal_area {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease;
    justify-content: center;
    align-items: center;
}
.modal_area.show {
    display: flex;
    opacity: 1;
}
.modal_area .lay107 {
opacity: 0;
transition: opacity 1s ease;
}
.modal_area.show .lay107 {
opacity: 1;
}

		@media screen and (max-width: 743px) {
		.modal_area {
		align-items: flex-start;  /* 上端に合わせる */
		overflow-y: auto;  /* スクロール可能にする */
		}

		.modal_area.show .lay107 {
		width: 100%;
		height: 100%;
		margin: 0;
		padding: 50px 20px 40px;
		overflow-y: auto;  /* コンテンツが長い場合にスクロール可能にする */
		}
		}

/* モーダルコンテンツ */
.lay107 {
width: 73.21vw;
margin:  0 auto;
background: rgba(255, 255, 255, 0.95);
padding: 4.03vw 10.98vw 3.66vw;
box-sizing: border-box;
position: relative;
}
.lay107 p:first-child {
text-align: center;
}
.lay107 .modal_btn {
position: absolute;
top: 0px;
right: 0px;
}
.lay107 p:nth-child(1) {
width: 3.66vw;
}
.lay107 p:nth-child(2) {
text-align: center;
}
.lay107 p:nth-child(3) {
margin-top: 2.2vw;
}
.lay107 ul {
margin-top: 0.73vw;
}
.lay107 li {
font-size: 1.02vw;
line-height: 1.6;
text-indent: -1em;
margin-left: 1em;
}
.lay107 .btn_link {
margin-top: 2.93vw;
}


@media screen and (min-width:1380px) {
.lay107 {
width: 1000px;
padding: 55px 150px 50px;
}
.lay107 p:nth-child(1) {
width: 50px;
}
.lay107 p:nth-child(3) {
margin-top: 30px;
}
.lay107 ul {
margin-top: 10px;
}
.lay107 li {
font-size: 14px;
}
.lay107 .btn_link {
margin-top: 40px;
}
/* end */}


		@media screen and (max-width:743px) {
		.lay107 {
		width: 100%;
		padding: 50px 20px 40px;
		}

		.lay107 p:nth-child(1) {
		width: 45px;
		}
		.lay107 p:nth-child(2) {
		font-size: 14px;
		}
		.lay107 p:nth-child(4) {
		margin-top: 25px;
		}
		.lay107 ul {
		margin-top: 15px;
		}
		.lay107 li {
		font-size: 11px;
		}
		.lay107 .btn_link {
		margin-top: 40px;
		}
		/*smp end*/}



/* オープニング後モーダル */

.lay108 {
width: 36.6vw;
position: relative;
}
.lay108 p:first-child {
position: absolute;
top: 0px;
right: 0px;
z-index: 99;
width: 2.5vw;
height: 2.5vw;
margin:0;
line-height: 0;
/* border: solid 1px #fff; */
}
		@media screen and (min-width:1380px) {
		.lay108 {
		width: auto;
		}
		.lay108 p:first-child {
		width: 35px;
		height: 35px;
		}
		/*pc end*/}

		@media screen and (max-width:743px) {
		.lay108 {
		width: auto;
		position: relative;
		margin-right: 22px;
		margin-left: 22px;
		}
		.lay108 p:first-child {
		width: 7%;
		height: auto;
		}
		/*smp end*/}


/* プレゼント企画バナー
ーーーーーーーーーーーーーーーーーーーーーーーー */
.lay109 {
margin: 100px auto;
width: 980px;
}

		@media screen and (max-width:743px) {
		.lay109 {
		margin: 50px 0px;
		padding: 0px 20px;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		}
		/*smp end*/}




/* 鍵アカ限定コンテンツ
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay110 {
position: absolute;
top: 41vw;
left: 2.7vw;
width: 13.18vw;
z-index: 99;
}
.lay110.fiexd {
position: fixed;
top: initial;
bottom: 1.46vw;
}
.lay110 img {
max-width: initial;
width: 100%;
}

		@media screen and (max-width:743px) {
		.lay110 {
		position: fixed;
		top: initial;
		left: initial;
		bottom: 10px;
		right: 10px;
		width: 130px;
		}
		.lay110.fiexd {
		position: fixed;
		top: initial;
		bottom: 10px;
		}
		/*smp end*/}



/* 限定ムービー
ーーーーーーーーーーーーーーーーーーーーーーーー */

.lay111 > a {
display: flex;
align-items: center;
width: 100%;
height: 39.53vw;
position: relative;
overflow: hidden;
}

.lay111 > a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(/promotion/bloomingzine/common/img/limited_bg@2x.jpg) no-repeat center bottom / cover;
  transition: opacity 0.5s ease;
  z-index: -1;
  opacity: 1;
}
.lay111 > a:hover::before {
  opacity: 0.6;
}

.lay111 .boxa {
width: 80vw;
margin: 0 auto;
}

.lay111 .boxa h2,
.lay111 .boxa p {
display: inline-block;
background: #fff;
color: #000;
line-height: 1;
margin-top: 1.1vw;
font-weight: 400;
}

.lay111 .boxa p:first-child {
font-size: 2.2vw;
padding: 0.29vw 0.88vw 0.59vw;
}
.lay111 .boxa h2 {
font-size: 5.86vw;
padding: 0.59vw 1.17vw 1.17vw;
}
.lay111 .boxa p:last-child {
font-size: 2.49vw;
padding: 0.44vw 0.88vw 0.66vw;
}


		@media screen and (max-width:743px) {
		.lay111 > a {
		height: 245px;
		}
		.lay111 .boxa {
		width: auto;
		margin:0 20px;
		}
		.lay111 > a::before {
		background: url(/promotion/bloomingzine/common/img/limited_bg_smp@2x.jpg) no-repeat center bottom / cover;
		}
		.lay111 .boxa h2,
		.lay111 .boxa p {
		margin-top: 10px;
		}

		.lay111 .boxa p:first-child {
		font-size: 15px;
		padding: 4px 8px 6px;
		}
		.lay111 .boxa h2 {
		font-size: 40px;
		padding: 4px 8px 6px;
		}
		.lay111 .boxa p:last-child {
		font-size: 17px;
		padding: 4px 8px 6px;
		}

		/*smp end*/}













