@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/roundedmplus1c.css);
/* CSS Document */
* {
box-sizing: border-box;
letter-spacing: .08rem;
}
a:link {
text-decoration: none;
}
main {
display: block;
}

@media screen and (min-width: 1367px) {
body,html,#keyVisual,#keyVisual > ul,#keyVisual li,#keyVisual img {
height: 100% !important;
}
}


/* =======================================
    header SP
======================================= */
@media screen and (max-width: 812px) {

}

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

}

/* =======================================
    keyVisual
======================================= */
#keyVisual {
width: 100%;
margin: 0 0 0 auto;
text-align: left;
position:relative;
}
#keyVisual img {
width: 100%;
height: 880px;
object-fit: cover;
}

@media screen and (max-width: 1024px) {
#keyVisual img {
height: 500px;
}
}

@media screen and (max-width: 812px) {
#keyVisual img {
height:370px;
}
}

@media screen and (max-width: 480px) {
#keyVisual img {
height:450px;
}
}



/* =======================================
    新着情報 #news
======================================= */
#news {
background: #FAF5DF;
}

#news dl:nth-child(1) {
display: flex;
}

#news dl {
width: 90%;
max-width: 1280px;
margin: 0 auto;
display: none;
flex-wrap:wrap;
justify-content: space-between;
padding: .5rem;
align-items: flex-start;
}

#news dl dt {
width: 13%;
font-weight: 700;
}
#news dl dd {
width:20%;
display: flex;
}

#news dl dd:last-of-type a {
display: block;
width: 100%;
background:#9CD8D8;
color: #fff;
text-align: center;
border-radius: 50px;
font-size: 85%;
max-width: 400px;
margin: 0 auto;
}
#news dl dd:first-of-type {
width: 65%;
}
#news dl dd:first-of-type >span:first-of-type {
display: inline-block;
margin-right: 20px;
}

@media screen and (max-width: 812px) {
#news dl dt {
width: 15%;
text-align: center;
}
#news dl dd:first-of-type {
width: 82%;
}
#news dl dd:last-of-type {
width: 100%;
}
#news dl dd:last-of-type a {
margin: 1rem auto;
}
#news dl {
align-items: unset;
}
}

@media screen and (max-width: 480px) {
#news dl dt {
width: 100%;
padding-top: 1rem;
}
#news dl dd:first-of-type {
width: 100%;
}
}


/* =======================================
    撮影メニュー #menuArea
======================================= */
main > section:first-of-type .bgArea {
background:url("../img/common/lace.svg") repeat,linear-gradient(137deg, #CBEBFC 0%, #F8E2E8 56%) no-repeat 50% 50% / 100% 100%;
padding: 5rem 0;
margin-top: 3rem;
position: relative;
}

main > section:first-of-type .bgArea:before,
main > section:first-of-type .bgArea:after {
content: "";
width: 100%;
height: 25px;
background:url("../img/common/circle.svg") repeat-x bottom;
background-size: auto 50px;
display: block;
position: absolute;
bottom: calc(100% - 20px);
}

main > section:first-of-type .bgArea:after {
bottom: 0;
background:url("../img/common/circle.svg") repeat-x top;
background-size: auto 50px;
}

#menuArea {
display: flex;
flex-wrap: wrap;
justify-content: center;
max-width: 1280px;
width:92%;
margin: 0 auto;
}

#menuArea a {
display: block;
width: 22%;
margin: 1%;
background: #fff;
position: relative;
border-radius: 10px;
text-align: center;
z-index: 0;
padding-bottom: 3.1rem;
}

#menuArea figure {
padding: 15px 15px 0;
min-height: 329px;
display: flex;
align-items: flex-end;
flex-wrap: wrap;
justify-content: center;
}
#menuArea figure img {
height: 250px;
width: 100%;
object-fit: cover;
}

#menuArea figcaption {
font-size: 1.4rem;
font-weight: bold;
color: #7f7f7f;
padding: 1rem 0.5rem;
font-family: "Rounded Mplus 1c","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'Noto Sans Japanese', Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

#menuArea p {
background: #9cd8d8;
color: #fff;
height: 50px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
line-height: 50px;
position: absolute;
bottom: 0;
width: 100%
}

@media screen and (max-width: 1280px) {
#menuArea a {
width: 31%;
margin: 1%;
}
}

@media screen and (max-width: 1024px) {
#menuArea figure img {
height: 230px;
}
#menuArea a {
width: 30%;
}

#menuArea figure {
min-height: 310px;
}
}

@media screen and (max-width: 812px) {
#menuArea a {
width: 45%;
}
}


@media screen and (max-width: 480px) {
#menuArea {
width: 100%;
}
#menuArea figure {
padding: 8px 8px 0;
min-height: 29vh;
}

#menuArea figcaption {
font-size: 1rem;
padding: 1rem 0rem;
}
#menuArea figure img {
height: 150px;
}
}


/* =======================================
   商品紹介 ItemArea
======================================= */
#itemArea {
max-width: 1280px;
width: 92%;
margin: 5rem auto 0;
position: relative;
display: flex;
align-items: flex-start;
}
#itemArea h3 {
position: relative;
background: url("../img/common/txt_item.svg") no-repeat top center;
width: 110%;
padding-top: 3.5rem;
}
#itemArea h3 span {
background: linear-gradient(transparent 0%, #9CD8D8 0%);
display: inline-block;
padding: .5rem .5rem;
color: #fff;
font-size: 2.8rem;
margin-bottom: .4rem;
}

#itemArea h3 + p {
max-width: 340px;
margin-top: 2.5rem;
}

#itemArea > section {
max-width: 450px;
width: 40%;
position: relative;
z-index: 2;
top: 80px;
}

#itemArea figure {
margin:  0 0 0 auto;
max-width: 940px;
width: 90%;
position: relative;
z-index: -1;
}


#itemArea figure:before {
content: "";
width: 50%;
height: 200px;
position: absolute;
top: -90px;
left: -50px;
background: url("../img/common/flower01.png") no-repeat;
display: block;
background-size: contain;
}
#itemArea figure:after {
content: "";
width: 70%;
height: 100px;
position: absolute;
bottom: -40px;
right: -30px;
background: url("../img/common/flower02.png") no-repeat;
display: block;
background-size: contain;
}
#itemArea .commLink3 {
max-width: 340px;
}

@media screen and (max-width: 1024px) {
#itemArea > section {
top: 5%;
max-width: 380px;
}
#itemArea h3 span {
font-size: 2.3rem;
}

#itemArea figure:before {
content: "";
height: 120px;
top: -50px;
left: -30px;
}
}

@media screen and (max-width: 812px) {
#itemArea > section {
position: relative;
max-width: none;
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap:wrap;
align-items: center;
}
#itemArea {
flex-wrap: wrap;
}
#itemArea h3 {
width: 52%;
position: relative;
}
#itemArea h3 + p {
width: 45%;
}
#itemArea > section p:last-of-type {
width: 100%;
text-align: center;
max-width: none;
}
#itemArea figure {
margin: 3rem auto 0;
}
}

@media screen and (max-width: 480px) {
#itemArea h3,
#itemArea h3 + p {
width: 100%;
margin-top: 0;
}
#itemArea h3 span {
font-size: 1.8rem;
}
#itemArea figure {
width:100%;
}
#itemArea figure:after {
right: 0;
bottom: -80px;
}
}

/* =======================================
   スタジオ紹介　#studioArea
======================================= */
#studioArea {
background: url("../img/common/bg_check.svg");
margin: 8rem auto 0;
padding: 5rem;
}
#studioArea > section {
width: 90%;
max-width: 1280px;
margin: 0 auto;
}
#studioArea .flexBox {
justify-content: center;
margin: 3rem auto 4rem;
}
#studioArea > section section {
width: 32%;
padding: 1rem;
margin-right: 2%;
background: #fff;
box-shadow: 10px 10px 0 #9CD8D8;
border-radius: 15px;
position: relative;
}
#studioArea > section section:nth-of-type(3n+3) {
margin-right: 0;
}
#studioArea > section section:last-of-type {
margin-right: 0;
}
#studioArea h3.storeTtl {
position: relative;
background-position: -9px center !important;
}

#studioArea h3.storeTtl a {
color: #fff;
}
#studioArea > section section figure {
margin-top: -5rem;
margin-bottom: 1rem;
}
#studioArea > section section figure img {
width: 100%;
height: 300px;
object-fit: cover;
}
#studioArea > section section p {
text-align: center;
line-height: 150%;
}
p.tel a {
font-size: 1.5rem;
margin-top: 1rem;
display: inline-block;
}

h3.storeTtl span:after {
text-align: left;
}

@media screen and (max-width: 1280px) {
#studioArea {
padding: 5rem 2rem;
}
#studioArea > section {
width: 100%;
}
}

@media screen and (max-width: 1024px) {
#studioArea .flexBox {
justify-content: center;
}
#studioArea > section section {
width: 48%;
margin:  0 1% 1rem;
}
#studioArea > section section:nth-of-type(3n+3) {
margin-right: 1%;
}
#studioArea > section section:last-of-type {
margin-right: 1%;
}
}

@media screen and (max-width: 812px) {
#studioArea {
padding: 3rem 0;
}
#studioArea > section {
width: 94%;
}
}

@media screen and (max-width: 480px) {
#studioArea > section section {
width: 90%;
margin:  0 1% 2rem;
}
#studioArea h3.storeTtl {
width:90%;
background-size: contain;
}
}

/* =======================================
   インスタグラム Instagram
======================================= */
#snsArea .commLink3 a {
margin-bottom: 2rem;
max-width: 300px;
}
#snsArea .listImg {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-right: 10px;
}
#snsArea .listImg li:nth-child(-n+12) {
display: block;
}
#snsArea .listImg li {
margin-right: 0.5rem;
margin-bottom: 0.5rem;
flex: 1 1 auto;
opacity: 1;
display: none;
}
#snsArea .listImg li:nth-child(6n+6) {
margin-right: 0;
}
#snsArea .listImg li img {
height: 247px;
object-fit: cover;
}

#snsArea {
margin: 0em auto;
padding: 5rem 0;
background: url("../img/top/bg_pic.jpg") no-repeat;
background-size: cover;
position: relative;
}
#snsArea:after {
content: "";
width: 100%;
height: 100%;
display: block;
background: linear-gradient(135deg,  rgb(242,255,253) 0%,rgb(230,221,255) 50%,rgb(255,229,248) 100%);
position: absolute;
top: 0;
left: 0;
z-index: 0;
mix-blend-mode: multiply; /*乗算 */
opacity:.4;
}

#snsArea .flexBox {
margin:0 auto;
width: 99%;
position: relative;
z-index: 1;
}
#snsArea .flexBox > section {
width: 25%;
}

#snsArea .flexBox > section:first-of-type {
width: 75%;
}
/*#snsArea a {
display:block;
position:relative;
margin-bottom: 3rem;
}*/
#snsArea {
display:flex;
flex-wrap:wrap;
}
#snsArea li {
width:calc(100% / 7);
transition:.3s all;
opacity:.6;
}

#snsArea li:hover {
opacity:1;
}

#snsArea a >div:not(.btnBlc) {
width:100%;
height:250px;
background-size:cover;
}
#snsArea + p {
width: 100%;
background: #fff;
padding: 1.5rem 1.5rem 3rem;
}
#snsArea + p a {
display: block;
width: 200px;
margin: 2rem auto 0;
border: 1px solid #000;
padding: .8rem;
}
#snsArea section h4:before {
content: "";
width: 2rem;
height: 25px;
display: inline-block;
background: url("../img/common/insta_icon.svg") no-repeat bottom left;
background-size: contain;
}
#snsArea section:last-of-type h4:before {
background: url("../img/common/fb_icon.svg") no-repeat bottom left;
background-size: contain;
}

@media screen and (max-width: 1280px) {
#snsArea .flexBox > section  {
width: 100% !important;
margin-bottom: 5rem;
text-align: center;
}
#snsArea .flexBox > section:last-of-type {
margin-bottom: 0;
}
#snsArea .listImg {
margin-right: 0;
}
#snsArea .listImg li img {
height: 200px;
}
}

@media screen and (max-width: 1024px) {
#snsArea .listImg li:nth-child(6n+6) {
margin-right: 0.5rem;
}
#snsArea .listImg li:nth-child(4n+4) {
margin-right: 0;
}
#snsArea .listImg li {
width: 24%;
}
#snsArea .listImg li img {
height: 25vw;
}
}

@media screen and (max-width: 812px) {
#snsArea .listImg li:nth-child(6n+6) {
margin-right: 5px;
}
#snsArea .listImg li:nth-child(4n+4) {
margin-right: 5px;
}
#snsArea .listImg li:nth-child(3n+3) {
margin-right: 0;
}
#snsArea .listImg li {
width: 32%;
margin-right: 5px;
margin-bottom: 5px;
}
#snsArea .listImg li img {
height: 32vw;
}
}

@media screen and (max-width: 480px) {
#snsArea li {
width:calc(100% / 5);
}
#snsArea .flexBox {
width: 97%;
}
}


/* =======================================
   footer
======================================= */
aside {
margin-top: 0;
}
footer {
margin-top: 0 !important;
}