@charset "UTF-8";

/* first
----------------------------------------------- */

img { width: 100%; margin-bottom: 4vw; }
.second { padding: 10vw 0 0; }

.first-intro { margin-bottom: 16vw; }

.first-message { margin-bottom: 16vw; }
.first-message-inner { width: 90%; margin: 0 auto 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; flex-direction: column-reverse; }
.first-message-inner .message-text .lead { width: fit-content; margin-bottom: 8vw; color: #b62c34; font-size: 5vw; line-height: 1.6; position: relative; }
.first-message-inner .message-text .lead::after { content: ''; width: 100%; height: 0.5px; background: #b62c34; position: absolute; bottom: -2vw; left: 0; }
.first-message-inner .message-text p { margin-bottom: 4vw; color: #1e1e1e; font-size: 3.8vw; font-family: var(--mincho); text-align: justify; line-height: 2; }
.first-message-images { margin-bottom: 10vw; position: relative; }
.first-message-images img { width: 60%; margin: 0 auto 12vw; }
.first-message-images .deco { width: 90%; margin-bottom: 0; position: absolute; bottom: -2vw; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
.first-message-images p { margin-right: 22vw; color: var(--gold); text-align: right; }
.first-message-salon { background: #fffbed; }
.first-message-salon ul { width: 90vw; margin: 0 auto; padding: 10vw 0; }
.first-message-salon li { margin-bottom: 8vw; }
.first-message-salon li:last-child { margin-bottom: 0; }
.first-message-salon li:nth-child(2) .deco { width: 40%; }
.first-message-salon .deco { width: 30%;  margin: 0 auto 4vw; }
.first-message-salon p { text-align: justify; line-height: 1.6; }

.first-features { width: 90%; margin: 0 auto 16vw; }
.first-features-title { margin-bottom: 8vw; font-size: 5vw; font-family: var(--mincho); font-weight: 600; text-align: center; position: relative; }
.first-features-title::after { content: 'FEATURES'; color: #dfd9c9; font-size: 12vw; font-family: "baskerville-urw"; font-weight: 400; letter-spacing: 0.2rem; text-align: center; opacity: 0.4; position: absolute; top: -94%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); z-index: -1; }
.first-features-intro { margin-bottom: 8vw; color: #1e1e1e; font-size: 3.8vw; font-family: var(--mincho); text-align: center; line-height: 1.6; }
.first-features dl { width: 90%; margin: -20vw auto 8vw; padding: 8vw 0 0; background: #fff; position: relative; }
.first-features dt { margin-bottom: 2vw; color: #b62c34; font-size: 5vw; font-family: var(--mincho); font-weight: 600; line-height: 1.6; text-align: center; position: relative; }
.first-features dt span { margin: 0 auto 2vw; padding: 4% 0; font-size: 7vw; font-family: "baskerville-urw"; font-weight: 400; line-height: 1; text-align: center; border-radius: 50%; display: block; position: absolute; top: -90%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
.first-features dt span::after { content: ''; width: 15vw; height: 15vw; border-radius: 50%; background: #fff; position: absolute; top: 0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); z-index: -1; }
.first-features dd { width: 90%; margin: 0 auto 4vw; }
.first-features dd img { width: 12%; margin: 0 auto 4vw; }
.first-features dd p { line-height: 1.8; text-align: justify; }

.first-flow { padding: 20vw 5vw 10vw; background: #b62c34; }
.first-flow-intro { margin-bottom: 10vw; }
.first-flow-intro p{ color: #fff; font-size: 3.8vw; font-family: var(--mincho); line-height: 1.6; text-align: justify; }
.first-flow-title { margin-bottom: 8vw; color: #fff; font-size: 5.8vw; font-family: var(--mincho); font-weight: 600; text-align: center; line-height: 1.6; position: relative; }
.first-flow-title::before { content: ''; width: 24vw; height: 100%; background: url(../images/deco01.png) no-repeat top center / contain; position: absolute; top: -60%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
.first-flow-title::after { content: ''; width: 12vw; height: 2px; background: var(--gold); position: absolute; bottom: -20%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); }
.first-flow ul { margin: 0 auto; padding: 10vw 5vw; background: #fff; }
.first-flow li { margin-bottom: 10vw; }
.first-flow li:last-child { margin-bottom: 0; }
.first-flow dd { text-align: justify; line-height: 1.6; }
.first-flow dd:first-of-type { margin-bottom: 4vw; color: #b62c34; font-size: 5.2vw; font-family: var(--mincho); font-weight: 600; }
.first-flow dd:first-of-type span { color: #c1b69b; font-size: 5vw; font-family: "baskerville-urw"; font-weight: 400; letter-spacing: 0.1rem; text-align: left; display: block; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: flex-start; -webkit-align-items: flex-start; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; gap: 0 4%; }
.first-flow dd:first-of-type span::after { content: ''; width: 8vw; height: 1px; background: #c1b69b; }


/* =============================================
pc
================================================*/
@media screen and (min-width: 736px) {
img { margin-bottom: 20px; }
.second { padding: 0; }

.first-intro { margin-bottom: 80px; }

.first-message { margin-bottom: 80px; }
.first-message-inner { width: 90%; margin: 0 auto; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; -webkit-flex-wrap: wrap; flex-wrap: wrap; flex-direction: column-reverse; }
.first-message-inner .message-text .lead {margin-bottom: 30px;font-size: 24px;}
.first-message-inner .message-text .lead::after {content: '';width: 100%;height: 0.5px;background: #b62c34;position: absolute;bottom: -6px;left: 0;}
.first-message-inner .message-text p { margin-bottom: 20px; font-size: 16px; }
.first-message-images {margin-bottom: 80px;position: relative;}
.first-message-images img { width: 40%; margin: 0 auto 20px; }
.first-message-images .deco {width: 69%;bottom: 0;}
.first-message-images p { margin-right: 40px; }
.first-message-salon { position: relative; }
.first-message-salon ul { width: 90vw; margin: 0 auto; padding: 60px 0; }
.first-message-salon li { margin-bottom: 40px; }
.first-message-salon li:nth-child(2) .deco { width: 120px; }
.first-message-salon li:last-child .deco { width: 70px; }
.first-message-salon .deco { width: 90px;  margin: 0 auto 4vw; }
.first-message-salon p { text-align: justify; line-height: 1.6; }

.first-features { width: 90%; margin: 0 auto 40px; }
.first-features-title { margin-bottom: 60px; font-size: 26px; }
.first-features-title::after { font-size: 60px; top: -22px; }
.first-features-intro { margin-bottom: 40px; font-size: 16px; }
.first-features ul { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.first-features dl { width: 90%; margin: -100px auto 60px; padding: 40px 0 0; }
.first-features dt { margin-bottom: 10px; font-size: 26px; }
.first-features dt span { margin: 0 auto 10px; padding: 12px 0; font-size: 30px; top: -68px; }
.first-features dt span::after { width: 60px; height: 60px; top: 0; }
.first-features dd { width: 90%; margin: 0 auto 20px; }
.first-features dd p { font-size: 16px; }
.first-features dd img { width: 50px; margin: 0 auto 20px; }

.first-flow { padding: 120px 10px 80px; }
.first-flow-intro { margin-bottom: 60px; }
.first-flow-intro p{ width: 90%;  margin: 0 auto; font-size: 18px; }
.first-flow-title { margin-bottom: 60px; font-size: 32px; }
.first-flow-title::before { width: 140px; background-position: top center; background-size: contain; top: -60px; }
.first-flow-title::after { width: 60px; bottom: -20px; }
.first-flow ul { width: 90%; margin: 0 auto; padding: 60px 10px; position: relative; }
.first-flow li { width: 90%; margin: 0 auto 50px; position:  relative; z-index: 2; }
.first-flow dd:first-of-type { margin-bottom: 20px; font-size: 24px; }
.first-flow dd:first-of-type span { font-size: 26px; gap: 0 20px; }
.first-flow dd:first-of-type span::after { width: 40px; }
}

@media screen and (min-width: 900px) {
.first-message-inner {  margin: 0 auto 60px; flex-direction: row; gap: 0 10px; }
.first-message .message-text { width: 540px; }
.first-message .first-message-images {width: 240px;}
.first-message .first-message-images img {width: 100%;}
.first-message .first-message-images img.deco {width: 380px;left: 50px;}
.first-message-salon { background: none; }
.first-message-salon::after { content: ''; width: 100%; height: 350px; background: #fffbed; position: absolute; top: 140px; left: 0; z-index: -1; }
.first-message-salon ul { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.first-message-salon li { width: 48%; } 
.first-features li { width: 32%; }
.first-features dl { width: 90%; margin: -100px auto 60px; padding: 30px 0 0; }
.first-features dt { margin-bottom: 10px; font-size: 18px; }
.first-features dt.l02 { margin-bottom: 14px; font-size: 15px; line-height: 1.8; }
.first-features dt span { margin: 0 auto 10px; padding: 12px 0; font-size: 24px; top: -52px; }
.first-features dt span::after { width: 40px; height: 40px; top: 6px; }
.first-features dd { width: 90%; margin: 0 auto 20px; }
.first-features dd p { font-size: 15px; }
.first-features dd img { width: 40px; margin: 0 auto 20px; }
.first-flow ul::before { content: ''; width: 2vw; height: 80%; background: #e9e1d7; opacity: 0.7; position: absolute; top: 8%; left: 22%; z-index: 1; }
.first-flow dl { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.first-flow dt { width: 40%; }
.first-flow dl div { width: 56%; }
.first-flow dd:first-of-type { margin-bottom: 10px; font-size: 20px; }
.first-flow dd:first-of-type span { font-size: 16px; gap: 0 10px; }
}

@media screen and (min-width: 1000px) {
.first-message-inner { width: 900px; }
.first-message-salon::after { height: 420px; }
.first-message .first-message-salon .deco { margin: 0 auto 20px; }
.first-message .message-text {width: 640px;}
.first-message .first-message-images {width: 250px;margin-bottom: 0;}
.first-features dt.l02 { margin-bottom: 10px; font-size: 18px; line-height: 1.6; }
.first-flow ul::before { height: 86%; }
.first-flow dd { font-size: 16px; }
.first-flow dd:first-of-type span { font-size: 18px; }
}

@media screen and (min-width: 1200px) {
.first-message-inner,.first-message-salon ul { width: 1100px; }
.first-message .message-text {width: 800px;}
.first-message-inner .message-text p { font-size: 18px; }
.first-message .first-message-images {width: 280px;}
.first-message .first-message-salon .deco { left: 40px; }

.first-flow ul::before { width: 30px; height: 90%; top: 60px; left: 250px; }
}

@media screen and (min-width: 1300px) {
.first-message-inner,.first-message-salon ul,.first-features ul,.first-flow-intro p,.first-flow ul { width: 1200px; }
.first-message-salon::after { height: 360px; }
.first-message .first-message-images {width: 280px;margin-bottom: 0;}
.first-message .first-message-images img {width: 320px;margin: 0 auto;}
.first-message .first-message-images img.deco { width: 150%; left: 50px; }
.first-message-images p { font-size: 16px; }
.first-message .message-text {width: 780px;}
.first-message-inner .message-text .lead { font-size: 30px; }
.first-message-inner .message-text p { font-size: 18px; }
.first-features ul { margin: 0 auto; }
.first-flow { padding: 120px 10px 120px; }
.first-flow ul::before { left: 260px; }
.first-flow dd:first-of-type { margin-bottom: 20px; font-size: 24px; }
.first-flow dd:first-of-type span { font-size: 20px; gap: 0 12px; }
}

/* =============================================
retina-size
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.first-flow-title::before { background: url(../images/deco01@2x.png) no-repeat top center / contain; }
}




