@charset "UTF-8";

/* default
----------------------------------------------- */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video { margin: 0; padding: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body {padding: 0;margin: 0;color:#111; font-family: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; font-size:3.6vw; line-height:1.8;}
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object {height: auto;border: none;display: block;max-width: 100%;width: 100%;}
*:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -o-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -webkit-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); }
a { color: #28282d; text-decoration: none; display: block; -moz-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -o-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -webkit-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); }
.pc { display: none; }
.sp { display: block; }

/* root
----------------------------------------------- */
:root {--mincho:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;font-family: var(--mincho);--gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;font-family: var(--gothic);--orange: #ed665a; /*オレンジ*/}

/* common
----------------------------------------------- */
.container p{line-height: 1.8;margin-bottom: 4vw;}

/* header sp
----------------------------------------------- */
.header{position: fixed;z-index: 3;padding: 2vw 2vw 2vw 5vw;-moz-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97);-o-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97);-webkit-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97);transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97);}
.header-content{display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: center;align-items: center;}
.header-content .logo{width: 32%;}
.header-right{width: 65%;}
.header-content .logo img{width: 100%;}
.header.active {background-color: rgba(255, 255, 255, 0.9);}

/* footer sp
----------------------------------------------- */
.footer{margin: -4vw 0 auto;padding: 3.2vw;font-family: futura-pt, sans-serif;font-weight: 400;}
.footer .copyright{text-align: center;margin-bottom: 0;font-size: 3.4vw;}

/* cv
----------------------------------------------- */
.cv{position: absolute;width: 90%;transform: translateX(-50%);left: 50%;}
.cv.individual{position: relative;left: auto;transform: none;margin: 0 auto 8vw;}
.cv-card{position:relative;background:#fffdf8;border:1.5px solid #c9a961;border-radius:5px;padding:6vw 5vw 6vw;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.08);}
.cv-card::before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1px solid rgba(201,169,97,.55);border-radius:3px;pointer-events:none;}
.cv-corner{position:absolute;width:14px;height:14px;pointer-events:none;}
.cv-corner::before,.cv-corner::after{content:"";position:absolute;background:#c9a961;}
.cv-corner::before{width:14px;height:2px;}
.cv-corner::after{width:2px;height:14px;}
.cv-corner.tl{top:4.5px;left:4.5px;}
.cv-corner.tr{top:4.5px;right:4.5px;}
.cv-corner.bl{bottom:4.5px;left:4.5px;}
.cv-corner.br{bottom:4.5px;right:4.5px;}
.cv-corner.tr::before,.cv-corner.br::before{right:0;}
.cv-corner.tr::after,.cv-corner.br::after{right:0;}
.cv-corner.bl::before,.cv-corner.br::before{bottom:0;}
.cv-corner.bl::after,.cv-corner.br::after{bottom:0;}
.cv-card .cv-card-en{font-family:var(--mincho);font-size:2.6vw;letter-spacing:.32em;text-indent:.32em;color:#b8944a;margin:0 0 2vw;line-height:1;}
.cv-card .cv-card-title{font-family:var(--mincho);font-size:4.6vw;font-weight:700;letter-spacing:.06em;color:#222;margin:0;line-height:1.4;}
.cv-card .cv-card-title::after{content:"";display:block;width:10vw;height:2px;margin:2.4vw auto 0;background:linear-gradient(90deg,#e3cf94,#c9a961,#e3cf94);}
.cv-card-btn{display:block;width:85%;margin:4.5vw auto 0;}
.cv-card-btn img{filter:drop-shadow(0 6px 10px rgba(0,0,0,.14));}
.yureru-updown {animation: yureru-updown 2s infinite;}
@keyframes yureru-updown {0% {transform: translate(0px, 3px);}5% {transform: translate(0px, -3px);}10% {transform: translate(0px, 3px);}15% {transform: translate(0px, -3px);}20% {transform: translate(0px, 3px);}25% {transform: translate(0px, -3px);}30% {transform: translate(0px, 0px);}}

/* hero
----------------------------------------------- */
.hero{position: relative;}
.hero .cv{position: relative;z-index: 1;bottom: auto;left: auto;transform: none;margin: -6vw auto 8vw;}

/* fv（写真＋コーディング文字）
   数値は570px幅基準の実測値。--u は SP: 100vw/570、PC: 1px
----------------------------------------------- */
.fv{position:relative;overflow:hidden;--u:calc(100vw / 570);--fv-mincho:"Shippori Mincho B1","游明朝",YuMincho,"Hiragino Mincho ProN",serif;}
.fv .fv__photo{margin:0;line-height:0;}
.fv .fv__photo img{width:100%;height:auto;display:block;}
.fv::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 93.3%,rgba(255,255,255,.10) 94.7%,rgba(255,255,255,.29) 97.1%,rgba(255,255,255,.58) 100%);}
.fv .fv__catch{position:absolute;top:calc(146 * var(--u));left:calc(17 * var(--u));z-index:2;margin:0;writing-mode:vertical-rl;font-family:var(--fv-mincho);font-weight:500;font-size:calc(29 * var(--u));line-height:calc(37 * var(--u));letter-spacing:0;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6),0 2px 8px rgba(0,0,0,.55),0 0 20px rgba(0,0,0,.35);font-feature-settings:"vert";}
.fv .fv__catch span{display:block;}
.fv .fv__catch span + span{margin-top:calc(99 * var(--u));}
.fv .fv__lead{position:absolute;z-index:2;top:calc(541 * var(--u));left:calc(55 * var(--u));margin:0;display:flex;align-items:flex-start;gap:calc(7 * var(--u));font-family:var(--fv-mincho);font-weight:600;font-size:calc(39 * var(--u));line-height:1;color:#fff;white-space:nowrap;}
.fv .fv__tag{display:inline-block;width:calc(85 * var(--u));height:calc(47 * var(--u));padding-top:calc(3 * var(--u));text-align:center;background:linear-gradient(135deg,#4f4310 0%,#7f6d19 50%,#a58c1b 100%);color:#fff;letter-spacing:0;transform:skewX(-8deg);box-shadow:0 1px 3px rgba(0,0,0,.2);}
.fv .fv__tag > span{display:inline-block;transform:skewX(8deg);text-shadow:0 1px 2px rgba(0,0,0,.25);}
.fv .fv__lead-txt{margin:calc(-3 * var(--u)) 0 0;font-weight:600;font-size:calc(44 * var(--u));font-feature-settings:"palt";letter-spacing:0;text-shadow:0 1px 3px rgba(0,0,0,.35);}
.fv .fv__lead-txt > span{display:inline-block;transform-origin:left center;}
.fv .fv__lead-txt .c2{margin-left:calc(-7 * var(--u));}
.fv .fv__lead-txt .c3{margin-left:calc(-5 * var(--u));transform:scaleX(1.12);}
.fv .fv__lead-txt .c4{margin-left:calc(-8 * var(--u));transform:scaleX(1.15);}
.fv .fv__ttl{position:absolute;z-index:2;top:calc(595 * var(--u));left:calc(21 * var(--u));margin:0;font-family:"Shippori Mincho",var(--fv-mincho);font-weight:500;font-size:calc(116 * var(--u));line-height:1;font-feature-settings:"palt";letter-spacing:0;white-space:nowrap;color:#fbf5e3;background:linear-gradient(to bottom,#fdfdfd 0%,#fdfdfc 18%,#fbf7e6 30%,#f9f1ce 52%,#f9f0cc 69%,#fcfaf0 86%,#fdfcf6 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 2px rgba(0,0,0,.65)) drop-shadow(0 3px 8px rgba(0,0,0,.6)) drop-shadow(0 6px 22px rgba(0,0,0,.45));}
.fv .fv__ttl > span{display:inline-block;}
.fv .fv__ttl .g3{font-size:calc(99 * var(--u));margin-left:calc(-9 * var(--u));position:relative;top:calc(3 * var(--u));}
.fv .fv__ttl .g4{margin-left:calc(-12 * var(--u));}
.fv .fv__ttl .g5{font-size:calc(93 * var(--u));margin-left:calc(-16 * var(--u));position:relative;top:calc(2 * var(--u));transform:scaleY(1.16);transform-origin:50% 45%;background:linear-gradient(to bottom,#fbf7e6 0%,#f9f1ce 45%,#fcfaf0 100%);-webkit-background-clip:text;background-clip:text;}
.fv .fv__sub{position:absolute;z-index:2;top:calc(743 * var(--u));left:calc(30 * var(--u));right:calc(30 * var(--u));margin:0;padding:calc(1 * var(--u)) 0 calc(6 * var(--u)) calc(19 * var(--u));line-height:calc(44 * var(--u));border-top:1px solid rgba(255,255,255,.9);border-bottom:2px solid rgba(255,255,255,.85);font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:calc(31 * var(--u));letter-spacing:-.025em;color:#fff;white-space:nowrap;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 2px 6px rgba(0,0,0,.5)) drop-shadow(0 0 14px rgba(0,0,0,.3));}

/* contents
----------------------------------------------- */

.midashi01{font-size: 6vw;padding: 7.4vw 0 6.2vw;border-top: #afafae  1px solid;border-bottom: #afafae  1px solid;text-align: center;line-height: 1;position: relative;margin-bottom: 4vw;font-family: var(--mincho);}
.midashi01::after {content: "";width: 13vw;height: 2px;position: absolute;transform: translateY(-70%);top: 0;left: 0;right: 0;margin: auto;z-index: 1;background: #9a7d27;}
.midashi01 span{font-size: 4.4vw;color: #777777;font-family: garamond-premier-pro, serif;}

.about01-case{padding: 1vw 7vw 8vw;background: #e4e6e3;}
.about01-case img{width: 100%;}
.onayami{position: relative ; z-index: 2;}
.onayami-list{background:#111111;padding:6vw 6vw 7vw;margin:0;}
.onayami-list li{display:flex;align-items:flex-start;gap:2.4vw;color:#fff;font-size:3.8vw;padding:3.2vw 0;border-bottom:1px dashed rgba(255,255,255,.25);}
.onayami-list li:last-child{border-bottom:none;}
.onayami-list b{color:#e8c96a;font-weight:700;}
.onayami-list .check-icon{flex:none;width:4.2vw;height:4.2vw;margin-top:.8vw;border:2px solid #e8c96a;border-radius:3px;position:relative;}
.onayami-list .check-icon::after{content:"";position:absolute;left:18%;top:38%;width:55%;height:28%;border-left:2px solid #e8c96a;border-bottom:2px solid #e8c96a;transform:rotate(-45deg) translateY(-50%);}
.solution{margin-top: -20vw;position: relative;z-index: 1;}
.recommend{position: relative;}
.recommend .cv{bottom: 9vw;}

.about02{background: url(../images/about02.jpg) top center no-repeat;background-size: 100%;padding: 40vw 0 17vw;}
.about02 .slick-prev, .about02 .slick-next{width: 12vw;margin: 0;}
.about_items img{width: 85vw;margin: 0;}

.case{background: url(../images/case.jpg) top center no-repeat;background-size: 100%;padding: 70vw 0 32vw;}
.case .slick-prev, .case .slick-next{width: 12vw;margin: 0;}
.case_items img{width: 80vw;margin: 0 3vw;}
.feature{margin-bottom: 10vw;}

.voice{}
.flow{margin-bottom: 14vw;}
.price{width: 90%;margin: 0 auto 14vw;}
.price-list {padding: 0 20px;}
.price-list > li{padding: 15px 0;border-bottom: 1px solid #a7a7a7;}
.price-list .text{display: -webkit-box;display: flex;-webkit-box-pack: justify;flex-wrap: wrap;justify-content: space-between;align-items: center;}
.price-list .name{font-size: 5vw;flex:1;font-weight: 600;font-family: var(--mincho);}
.price-list dl{margin-bottom: 0;font-weight: 500;display: -webkit-flex;display: flex;-webkit-box-pack: justify;justify-content: space-between;flex-wrap: wrap;-webkit-box-align: center;align-items: center;flex: 1;}
.price-list dl:last-child{ margin-bottom: 0;}
.price-list dt{padding: 0.6vw 5vw;color: #fff;background: #28292d;border-radius: 30px;font-size: 3vw;font-family: var(--mincho);}
.price-list dd{font-size: 5vw;font-family: var(--mincho);margin-left: 6vw;}

.important{width: 90%;margin: 0 auto 14vw;}
.important small{font-size: 84%;margin-bottom: 2vw;display: block;}
.important dl {margin: 0 auto 4%;}
.important dt {position: relative;padding: 2.8vw 12vw 3vw 6vw;background: #edf1f2;}
.important dt:before, .important dt:after {content: '';background: #999;position: absolute;top: 0;right: 0;}
.important dt:before {width: 16px;height: 1px;top: calc(50% - 0px);right: 16px;}
.important dt:after {width: 1px;height: 16px;top: calc(50% - 11px);right: 24px;-webkit-transition: 0.3s;transition: 0.3s;transform: translate(0, 3px);}
.important dt.open:after {-moz-transform: rotate(90deg) translate(3px, 0);-ms-transform: rotate(90deg) translate(3px, 0);-webkit-transform: rotate(90deg) translate(3px, 0);transform: rotate(90deg) translate(3px, 0);}
.important dt p {margin-bottom: 0;line-height: 1.2;font-weight: bold;font-size: 4.5vw;}
.important dd {display: none;padding: 4vw;}
.important li{text-align: justify;text-indent: -1em;padding-left: 1em;margin-bottom: 2vw;}

.salon{width: 100%;margin: 0 auto 8vw;position: relative;}
.solon-text{position: absolute;width: 12%;top: 50vw;left: 8vw;}
.solon01{width: 70%;margin: 0 0 10vw auto;}
.salon .ttl{text-align: center;font-family: var(--mincho);font-size: 5vw;margin-bottom: 6vw;line-height: 1.5;}
.salon .salon-contents{width: 90%; margin: 0 auto;}
.salon .inner{margin-bottom:6vw;}
.salon .inner p{margin-bottom: 2vw;}
.salon .inner p:last-child{margin-bottom: 0;}
.salon .inner p span{display: block;background: #edf1f2;padding-left: 2vw;font-size: 90%;font-weight: bold;}
.salon dl {display: flex;}
.salon dl:first-of-type dd{border-top: 1px solid #e8e8e8;}
.salon dt {font-size: 5vw;line-height: 1.5;font-weight: bold;width: 26%;border-bottom: 1px solid #ffffff;line-height: 1;display: flex;align-items: center;justify-content: center;font-size: 3.4vw;background: #edf1f2;}
.salon dd {margin-bottom: 0vw;width: 80%;line-height: 1.6;padding: 4% 0 4% 4%;border-bottom: 1px solid #e8e8e8;font-size: 3.6vw;text-align: left;}
.map {height: 300px;margin-bottom:6vw;}
.root {display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: center;align-items: center;}
.root li {width: 48%;margin: 0 0.5vw;}
.root li a {padding: 8px;color: #fff;position: relative;font-weight: bold;text-align: center;background: #222;letter-spacing: 0.1em;border-radius: 50px;}
.root li a:after {content: "\f105";margin-left: 10px;font-weight: normal;font-family: 'icon';}
.root .googlemap a:before { content: "\f041"; margin-right: 4%; font-family: icon; display: inline-block; }
.root .googleroot a:before { content: "\f183"; margin-right:4%; font-family: icon; display: inline-block; }


/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) { 

body {font-size: 18px;background: #fdf5f3;}
body:before {position:fixed;top: 0;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);z-index:-1;width:2000px;height: 4000px;-webkit-background-size:contain;background-size: contain;content:"";background: #f0ece6;}
.wrapper{width: 570px;background: #fff;margin: 0 auto;overflow-x: hidden;box-shadow: 0px 0px 8px 4px rgb(140 140 140 / 20%);}

/* common
----------------------------------------------- */
.container dt p{font-size: 22px;}

/* header 
----------------------------------------------- */
.header{padding: 10px 14px 12px 30px;width: 570px;overflow: hidden;}
.header-content{display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: center;align-items: center;}
.header-right{width: auto;}
.header .logo{width: 35%;}
.header .reserve{width: 325px;margin-left: 14px;}

/* footer 
----------------------------------------------- */
.footer{padding: 0 20px 20px;margin-top: -6px;}
.footer .copyright{letter-spacing: .08em;font-size: 16px;}

/* cv
----------------------------------------------- */
.cv{width: 90%;}
.cv.individual{margin: 0 auto 40px;}
.cv-card{padding:30px 24px 30px;}
.cv-card .cv-card-en{font-size:12px;margin-bottom:10px;}
.cv-card .cv-card-title{font-size:24px;}
.cv-card .cv-card-title::after{width:40px;margin-top:10px;}
.cv-card-btn{margin-top:22px;}

/* herointro
----------------------------------------------- */
.hero .cv{margin: -34px auto 40px;bottom: auto;}
.fv{--u:1px;}

/* contents
----------------------------------------------- */

.midashi01{font-size: 32px;padding: 38px 0 38px;margin-bottom: 22px;}
.midashi01::after {width: 70px;height: 3px;}
.midashi01 span{font-size: 25px;}

.solution{margin-top: -120px;}
.about01-case{padding: 5px 40px 40px;}
.onayami-list{padding:30px 30px 34px;}
.onayami-list li{font-size:16px;padding:14px 0;gap:10px;}
.onayami-list .check-icon{width:18px;height:18px;margin-top:3px;}
.recommend{position: relative;}
.recommend .cv{bottom: 50px;}

.about02{padding: 108px 0 98px;}
.about_items img{width: 486px;margin: 0 2px;}
.about02 .slick-prev, .about02 .slick-next{width: 65px;margin: 0;}

.case{padding: 275px 0 180px;}
.case_items img{width: 450px;margin: 0 15px;}
.case .slick-prev, .case .slick-next{width: 65px;margin: 0;}
.feature{margin-bottom: 50px;}

.flow{margin-bottom: 60px;}

.price{margin: 0 auto 50px;}
.price-list .name{font-size: 25px;}
.price-list dl:last-child{ margin-bottom: 0;}
.price-list dt{padding: 2px 26px;font-size: 18px;}
.price-list dd{font-size: 30px;margin-left: 40px;}

.important{margin-bottom: 50px;}
.important small{margin-bottom: 10px;}
.important dl {margin: 0 auto 20px;}
.important dt {padding: 16px 50px 19px 20px;}
.important dt:before {right: 20px;}
.important dt:after {right: 28px;}
.important dd {padding: 20px 20px;}
.important li{margin-bottom: 10px;}

.salon{margin-bottom: 45px;}
.solon-text{top: 280px;left: 45px;}
.solon01{margin-bottom: 60px;}
.salon .ttl{font-size: 30px;margin-bottom: 20px;}
.salon .inner{margin-bottom: 30px;}
.salon .inner p{margin-bottom: 10px;}
.salon .inner p span{padding-left: 6px;}
.salon dl {margin-bottom: 0;}
.salon dt {font-size: 16px;margin-bottom: 0;}
.salon dd {font-size: 18px;}
.map{margin-bottom: 30px;}
.root li {margin: 0 6px;}
.root li a{font-size: 20px;}
.root .googlemap a:before { margin-right: 20px;}
.root .googleroot a:before { margin-right:20px;}
}

/* =============================================
 retina-size
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {
.about02{background-image :url("../images/about02@2x.jpg"); }
.case{background-image :url("../images/case@2x.jpg") ;}
}