@charset "utf-8";

/* ========================================
    ■ 必須設定
======================================== */

/* reset
----------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body { line-height:1; }
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
h1,
h2,
h3,
h4,
h5,
h6 { font-weight: normal; }
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
th { font-weight: normal; }
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0;
}
input, select, textarea, img { vertical-align:middle; }
ul, dl, ol { list-style: none; }


/* 共通設定
----------------------------- */
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic");
  font-weight: 300;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic");
  font-weight: 500;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic");
  font-weight: bold;
}

html {
    font-size: 17px;
}

body {
    font-family: YuGothic, "Custom Yu Gothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    color: #373332;
    line-height: 1.8;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: "palt" 1;
}
@media all and (-ms-high-contrast:none){
    body {
        font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    }
}

a {
    color: #373332;
    text-decoration: underline;
    transition: 0.2s ease;
}
a:hover {
    color: #75a807;
    text-decoration: none;
    transition: 0.2s ease;
}
a::before, a:hover::before,
a::after, a:hover::after {
    transition: 0.2s ease;
}

img,
video,
object {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
}

/* ========================================
    ■ ページトップボタン
======================================== */
#page-top {
    position: fixed;
    right: 20px;
}
#page-top a {
    display: block;
    width: 44px;
    height: 44px;
    color: #fff;
    text-align: center;
    line-height: 44px;
    background: rgba(0,0,0, 0.25);
    border-radius: 50%;
}
#page-top a:hover { background: rgba(0,0,0 ,0.5); }

/* ========================================
    ■ General
======================================== */
.wrap {
	position: relative;
	max-width: 1000px;
    margin: 0 auto;    
}

section {
    min-width: 1365px;
}

/* ========================================
    ■ keyv
======================================== */
#keyv {
    background:
        url(../images/keyv_bg02.png) no-repeat center bottom/100% auto,
        url(../images/keyv_bg01.png) no-repeat right top,
        url(../images/keyv_pattern02.png) repeat-x left top,
        url(../images/keyv_pattern01.png);
}
#keyv .wrap {
    padding-bottom: 35px;
}

/* 写真 */
#keyv .wrap > figure {
    position: absolute;
    right: -105px;
    top: 0;
}

/* キービ本体 */
#keyv .keyv-wrap {
    padding-top: 25px;
    position: relative;
}
#keyv .keyv-wrap h1 {
    margin: 35px 0;
}

/* ========================================
    ■ cta
======================================== */
.cta {
    background:
        url(../images/cta_bg03.png) repeat-x left top,
        url(../images/cta_bg02.png) no-repeat center bottom/100% auto,
        url(../images/cta_bg01.png) no-repeat left top/cover,
        url(../images/cta_pattern03.png);
}
.cta .wrap {
    padding: 35px 0;
}
.cta-wrap {
    background:
        linear-gradient(0deg, rgba(3, 0, 0, 0.01), transparent),
        url(../images/cta_pattern01.png);
    border: solid 3px #80b905;
    position: relative;
}

/* 見出し */
.cta-wrap h2 {
    background: url(../images/cta_pattern02.png);
    padding: 20px 0;
    text-align: center;
}

/* cta内部 */
.cta-inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 15px 0 25px;
}
.cta-text {
    margin-left: 15px;
    margin-bottom: -5px;
}
.cta-text a {
    display: block;
    background: url(../images/cta_btn01.png) no-repeat center top;
    width: 592px;
    height: 76px;
    margin-top: 15px;
    text-indent: -9999px;
    transition: none;
}
.cta-text a:hover {
    background-position: center bottom;
    transition: none;
}

/* ========================================
    ■ section-01
======================================== */
#section-01 {
    background: url(../images/sec01_pattern01.png);
}

/* 大見出し
-------------------- */
#section-01 .title {
    background:
        linear-gradient(0deg, rgba(3,0,0,0.1), transparent),
        url(../images/sec01_title_pattern01.png);
    height: 300px;
    padding-top: 65px;
    text-align: center;
    box-shadow: 0 0 8px rgba(0,0,0,0.15);
    position: relative;
}
/* Before&After */
#section-01 .title > figure:nth-of-type(1) {
    position: absolute;
    left: 0;
    top: 0;
}
#section-01 .title > figure:nth-of-type(2) {
    position: absolute;
    right: 0;
    top: 0;
}
/* 見出しテキスト */
#section-01 .title > h2 {
    position: relative;
}

/* お客様の声
-------------------- */
#section-01 > .wrap {
    padding: 55px 0 90px;
}
/* フレーム共通 */
#section-01 .voice {
    width: 770px;
    margin-left: 30px;
    position: relative;
}
#section-01 .voice::before {
    content: '';
    display: block;
    background: url(../images/sec01_voice_odd01.png);
    width: 205px;
    height: 200px;
    position: absolute;
    left: -60px;
    top: -60px;
}
#section-01 .voice-inner {
    display: flex;
    align-items: center;
    background: #fff;
    width: 100%;
    padding: 35px 20px;
    box-shadow: 0 0 50px rgba(123,123,123,0.25);
    position: relative;
}
#section-01 .voice-inner::before {
    content: '';
    display: block;
    background: url(../images/sec01_voice_odd02.png);
    width: 90px;
    height: 80px;
    position: absolute;
    left: 635px;
    top: -20px;
}
#section-01 .voice-inner::after {
    content: '';
    display: block;
    background: url(../images/sec01_voice_odd03.png);
    width: 60px;
    height: 65px;
    position: absolute;
    left: 0;
    bottom: -30px;
}
/* フレーム個別設定 */
#section-01 .voice:nth-of-type(n+2) {
    margin-top: 30px;
}
#section-01 .voice:nth-of-type(2n) {
    margin-left: 200px;
}
#section-01 .voice:nth-of-type(2n)::before {
    background: url(../images/sec01_voice_even01.png);
    width: 155px;
    height: 185px;
    left: 685px;
    top: calc(100% - 130px);
}
#section-01 .voice:nth-of-type(2n) .voice-inner::before {
    background: url(../images/sec01_voice_even02.png);
    width: 60px;
    height: 65px;
    left: calc(100% - 25px);
    top: 5px;
}
#section-01 .voice:nth-of-type(2n) .voice-inner::after {
    background: url(../images/sec01_voice_even03.png);
    width: 95px;
    height: 85px;
    left: -45px;
    bottom: 35px;
}
/* 吹き出し */
#section-01 .voice i {
    position: absolute;
    left: 5px;
    top: -15px;
}
/* 画像 */
#section-01 .voice figure {
    min-width: 180px;
    margin-right: 20px;
}
/* 見出し */
#section-01 .voice h3 {
    margin-bottom: 10px;
}

/* ========================================
    ■ section-02
======================================== */
#section-02 {
    background:
        url(../images/sec02_pattern01.png),
        url(../images/sec02_bg01.png) no-repeat right top,
        url(../images/sec02_bg02.png) repeat-x left top;
}
#section-02 .wrap {
    padding: 75px 0 100px;
}
/* 見出し */
#section-02 h2 {
    text-align: center;
}
#section-02 h3 {
    margin: 40px 0 30px;
    text-align: center;
}
/* 口コミ */
#section-02 .review-wrap {
    background: rgba(255,255,255,0.8);
    max-width: 820px;
    margin: 0 auto;
    padding: 10px 30px 40px;
}
#section-02 .review {
    padding: 30px 10px 20px;
}
#section-02 .review:nth-of-type(n+2) {
    border-top: solid 1px #e3e3e3;
}
#section-02 .review h4 {
    margin-bottom: 10px;
}
#section-02 .review-wrap > p {
    text-align: right;
}
#section-02 .review-wrap > p a::before {
    content: '\f105';
    display: inline-block;
    margin-right: 5px;
    font-family: 'FontAwesome';
}

/* ========================================
    ■ section-03
======================================== */
#section-03 .wrap {
    padding-bottom: 40px;
    text-align: center;
}
#section-03 h2 {
    margin-bottom: 25px;
}

/* ========================================
    ■ section-04
======================================== */
#section-04 {
    background: url(../images/sec04_pattern01.png);
    position: relative;
}
#section-04::after {
    content: '';
    display: block;
    background: url(../images/sec04_arrow01.png);
    width: 330px;
    height: 74px;
    position: absolute;
    left: calc(50% - 165px);
    bottom: -73px;
}
#section-04 .wrap {
    padding: 45px 0 70px;
    text-align: center;
}
#section-04 h2 {
    margin-bottom: 55px;
}
#section-04 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0 65px;
}
#section-04 ul li:nth-of-type(n+4) {
    margin-top: 50px;
}

/* ========================================
    ■ section-05
======================================== */
#section-05 {
    padding: 110px 0 80px;
    text-align: center;
}
#section-05 ul {
    display: flex;
    justify-content: center;
    margin: 50px 0 35px;
}
#section-05 ul li:nth-of-type(1) {
    margin-right: 50px;
}

/* ========================================
    ■ section-06
======================================== */
#section-06 {
    background:
        url(../images/sec06_bg02.png) no-repeat right top,
        url(../images/sec06_bg01.png) no-repeat left top,
        linear-gradient(0deg, #f1e8e6, transparent 70%) #fcf8f6;
}
#section-06 .wrap {
    padding-top: 75px;
    text-align: center;
}
/* 見出し */
#section-06 h2 {
    margin-bottom: 45px;
}
#section-06 h3 {
    margin: 40px 0 30px;
    position: relative;
}
#section-06 h3::before {
    content: '';
    display: block;
    background: url(../images/sec06_img02.png);
    width: 160px;
    height: 160px;
    position: absolute;
    right: 80px;
    top: -115px;
}
/* バインダー */
#section-06 ul {
    background: url(../images/sec06_item_bg01.png) no-repeat center bottom;
    height: 705px;
    margin-top: 75px;
    padding-top: 80px;
    padding-left: 10px;
}
#section-06 ul li:nth-of-type(1) {
    margin-bottom: 50px;
}

/* ========================================
    ■ section-07
======================================== */
#section-07 {
    background:
        url(../images/sec07_bg01.png) no-repeat right top,
        linear-gradient(0deg, transparent, rgba(200,200,200,0.1)),
        url(../images/sec07_pattern01.png);
}
#section-07 .wrap {
    padding: 85px 0 75px 80px;
}
/* 見出し・テキスト */
#section-07 h2 {
    margin-bottom: 45px;
}
#section-07 h2 + p {
    margin-bottom: 35px;
}
/* 写真 */
#section-07 figure {
    position: absolute;
    right: -30px;
    bottom: 0;
}

/* ========================================
    ■ section-08
======================================== */
#section-08 {
    background: url(../images/sec08_pattern01.png);
    box-shadow: 0 0 8px rgba(0,0,0,0.15);
}
#section-08 .wrap {
    padding: 60px 0 30px;
    text-align: center;
}
/* 評価 */
#section-08 ul {
    margin-left: 90px;
    text-align: left;
}
#section-08 ul li {
    padding: 30px 0 30px 25px;
    position: relative;
}
#section-08 ul li:nth-of-type(n+2)::before {
    content: '';
    display: block;
    background: #deddcd;
    width: 815px;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
}

/* ========================================
    ■ section-09
======================================== */
#section-09 {
    background: url(../images/sec09_bg01.png) no-repeat center top/cover;
}
#section-09 .wrap {
    padding: 70px 0 80px;
    text-align: center;
}
/* 3つのポイント */
#section-09 ol {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}
#section-09 ol li {
    margin: 0 15px;
}

/* ========================================
    ■ section-10
======================================== */
#section-10 {
    background:
        linear-gradient(90deg, rgba(3,0,0,0.1), transparent, rgba(3,0,0,0.1)),
        url(../images/sec10_pattern01.png);
}
#section-10 .wrap {
    padding: 75px 0 85px;
    text-align: center;
}
/* 見出し */
#section-10 h3 {
    margin: 50px 0 15px;
}
/* 成分 */
#section-10 ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 50px;
}
#section-10 ul li {
    margin: 0 15px;
}
#section-10 ul li:nth-of-type(n+4) {
    margin-top: 30px;
}
#section-10 ul li:nth-of-type(7n-6) {
    margin-left: 100px;
}
#section-10 ul li:nth-of-type(7n-4) {
    margin-right: 100px;
}

/* ========================================
    ■ section-11
======================================== */
#section-11 {
    background:
        url(../images/sec11_pattern01.png),
        url(../images/sec11_bg02.png) no-repeat left top,
        url(../images/sec11_bg01.png) repeat-x left top;
}
#section-11 .wrap {
    padding: 70px 0 40px;
}
/* 見出し・テキスト */
#section-11 h2 {
    margin-bottom: 30px;
    text-align: center;
}
#section-11 h2 + p {
    text-align: center;
}

/* 保湿ヘアパック
-------------------- */
#section-11 .hairpack {
    background: rgba(255,255,255,0.5);
    margin-top: 50px;
    padding: 40px 0;
}
/* 中見出し */
#section-11 .hairpack h3 {
    margin-bottom: 20px;
    text-align: center;
}
/* お手入れ手順 */
#section-11 .hairpack-step {
    display: flex;
    justify-content: center;
}
#section-11 .hairpack-step .step {
    width: 205px;
    margin: 0 20px;
    position: relative;
}
#section-11 .hairpack-step .step:nth-of-type(n+2)::before {
    content: '\f105';
    display: inline-block;
    color: #cbcbcb;
    font-family: 'FontAwesome';
    font-size: 40px;
    position: absolute;
    left: -27px;
    top: 160px;
}
#section-11 .hairpack-step .step p {
    margin-top: 15px;
    padding-right: 10px;
}

/* ========================================
    ■ section-12
======================================== */
#section-12 {
    background: #fffefb;
    position: relative;
}
#section-12::before {
    content: '';
    background: url(../images/sec12_bg01.png);
    width: 1054px;
    height: 500px;
    position: absolute;
    left: calc(50% - 655px);
    bottom: 0;
}
#section-12 .wrap {
    padding: 45px 0 75px 340px;
}
/* コメント */
#section-12 ul {
    display: flex;
    margin-top: 45px;
}
#section-12 ul li:nth-of-type(n+2) {
    margin-left: 20px;
}

/* ========================================
    ■ section-13
======================================== */
#section-13 {
    background: url(../images/sec13_pattern01.png);
}
#section-13 .wrap {
    padding: 70px 0 80px;
}
#section-13 .wrap::before {
    content: '';
    display: block;
    background: url(../images/sec13_parts02.png);
    width: 255px;
    height: 220px;
    position: absolute;
    left: calc(50% + 290px);
    bottom: 120px;
}
#section-13 .wrap::after {
    content: '';
    display: block;
    width: 300px;
    height: 365px;
    position: absolute;
    left: calc(50% - 730px);
    bottom: 50px;
}

/* 植物のちから
-------------------- */
#section-13 .power {
    width: 810px;
    margin: 0 auto 90px;
    position: relative;
}
#section-13 .power::before {
    content: '';
    display: block;
    background: url(../images/sec13_power_parts01.png);
    width: 1124px;
    height: 435px;
    position: absolute;
    left: calc(50% - 575px);
    bottom: -115px;
}
#section-13 .power-inner {
    background: url(../images/sec13_power_pattern01.png);
    padding: 55px 5px;
    text-align: center;
    border: solid 1px rgba(225,225,225,0.8);
    box-shadow: 0 0 13px rgba(154,154,154,0.2);
    position: relative;
}
#section-13 .power-inner::before {
    content: '';
    display: block;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border: solid 1px #e0dccc;
    position: absolute;
    left: 5px;
    top: 5px;
}
#section-13 .power-inner::after {
    content: '';
    display: block;
    background: url(../images/sec13_power_parts02.png);
    width: 775px;
    height: 130px;
    position: absolute;
    left: -20px;
    top: -35px;
}
/* 見出し */
#section-13 .power h2 {
    margin-bottom: 50px;
}

/* 必要なものだけ
-------------------- */
#section-13 .zero {
    padding-bottom: 40px;
    text-align: center;
    position: relative;
}
#section-13 .zero::before {
    content: '';
    display: block;
    background: url(../images/sec13_zero_parts01.png);
    width: 90px;
    height: 75px;
    position: absolute;
    left: calc(50% + 400px);
    top: 70px;
}
#section-13 .zero::after {
    content: '';
    display: block;
    background: url(../images/sec13_zero_parts02.png);
    width: 1360px;
    height: 865px;
    position: absolute;
    left: calc(50% - 690px);
    top: 50px;
}
#section-13 .zero ul {
    display: flex;
    justify-content: center;
    margin-top: 45px;
    display: none;
}
#section-13 .zero ul li {
    margin: 0 20px;
}

/* 全成分
-------------------- */
#section-13 .material {
    background: rgba(255,255,255,0.5);
    width: 810px;
    margin: 0 auto;
    padding: 30px 0;
    position: relative;
}
#section-13 .material h2 {
    text-align: center;
    margin-bottom: 10px;
}
#section-13 .material h3 {
    margin: 20px 40px 0;
    padding-left: 10px;
    border-left: solid 4px #373332;
}
#section-13 .material p {
    margin: 10px 40px 0;
    font-size: 0.9rem;
}

/* 最後
-------------------- */
#section-13 .wrap > p {
    text-align: center;
}

/* ========================================
    ■ #form
======================================== */
#form h2 {
    background: url(../images/cta_title_pattern01.png);
    padding: 16px 0;
    font-size: 40px;
    text-align: center;
}
/* ご注文方法 */
#form .order {
    display: flex;
    justify-content: center;
    margin: 70px 0 60px;
}
#form .order-step {
    width: 250px;
    text-align: center;
    position: relative;
}
#form .order-step:nth-of-type(2) {
    width: 200px;
}
#form .order-step:nth-of-type(n+2)::before {
    content: '\f105';
    display: inline-block;
    color: #cbcbcb;
    font-family: 'FontAwesome';
    font-size: 40px;
    position: absolute;
    left: -15px;
    top: 60px;
}
#form .order figure {
    margin-bottom: 10px;
}
#form .order small {
    display: inline-block;
    font-size: 0.8rem;
    line-height: 1.6;
}

/* ========================================
    ■ footer
======================================== */
footer {
}
footer .wrap {
    padding: 70px 0 25px;
    text-align: center;
}
footer ul {
    display: flex;
    justify-content: center;
    margin-bottom: 25px;
}
footer ul li {
    padding: 0 10px;
    line-height: 1.2;
}
footer ul li:nth-of-type(n+2) {
    border-left: solid 1px #7b7978;
}
footer ul li a {
    text-decoration: none;
}
/* copyright */
#copyright {
    background: #84be08;
    padding: 10px 0;
    color: #fff;
    font-size: 0.7rem;
    text-align: center;
}