@charset "utf-8";

/* ===================================================================================
=====================================================================================
common
=====================================================================================
===================================================================================== */
html {
    font-size: 62.5%;
    /* sets the base font to 10px for easier math */
}
body {
    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3","メイリオ","meiryo", "Lucida Grande", "ＭＳ Ｐゴシック", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
    font-size: 1.4rem;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    color: #461939;
}
a {
    color: #461939;
    text-decoration: none;
}
img {
    max-width:100%;
    vertical-align: middle;
}
li {
    list-style: none;
}
.center {text-align:center;}
.block {display:block;}
.none {display:none;}
.mincho {
    font-family: 'Playfair Display' , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.clearfix:after {
    content: '.';
    display: block;
    clear: both;
    visibility:hidden;
    height: 0;
    font-size:0;
}
.content {
    box-sizing: border-box;
}
.paragraph:not(:first-child) {
    margin-top: 1em;
}

/****/

/** リンク **/
.btn, .linkInitialize {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    text-align: center;
    line-height: 1;
    text-decoration: none;
    font-size: inherit;
    color: inherit;
    cursor: pointer;
}
.btn:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    zoom: 1;
}
#scrollTop {
    width: 50px;
    height: 50px;
    display: none;
    position: fixed;
    bottom: 35px;
    right: 30px;
    line-height: 50px;
    text-align: center;
    text-decoration: none;
    opacity: 0.8;
    z-index: 5000;
    cursor: pointer;
}

/** pager **/
.pager-area {
    text-align: center;
    padding: 30px 0;
}
.page-numbers {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    width: 28px;
    height: 28px;
    line-height: 28px;
}
.page-numbers:not(.dots) {
    background: #FAF2F7;
    border: 1px solid #461939;
}
.page-numbers.current {
    background: #461939;
    color: #FFF;
}
.page-numbers.next,
.page-numbers.prev {
    width: 80px;
}
.page-numbers.next {
    padding-right: 10px;
}
.page-numbers.next:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #461939;
    margin: auto;
    width: 0;
    height: 0;
}
.page-numbers.prev {
    padding-left: 10px;
}
.page-numbers.prev:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #461939;
    margin: auto;
    width: 0;
    height: 0;
}
.pager-area.is-single a {
    box-sizing: border-box;
    background: #FAF2F7;
    position: relative;
    display: inline-block;
    border: 1px solid #461939;
    padding: 0 15px;
    width: auto;
    height: 28px;
    line-height: 28px;
}
.pager-area.is-single a[rel=next] {
    padding-right: 25px;
    width: 98px;
}
.pager-area.is-single a[rel=next]:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #461939;
    margin: auto;
    width: 0;
    height: 0;
}
.pager-area.is-single a[rel=prev] {
    padding-left: 25px;
    width: 98px;
}
.pager-area.is-single a[rel=prev]:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 6px solid #461939;
    margin: auto;
    width: 0;
    height: 0;
}

/** bxslider **/
.bx-wrapper .bx-viewport {
    box-shadow: 0 0 0 0;
    border: 0;
    left: 0;
}

/** button **/
.btn-kirasui.is-pink {
    background: url(images/common/kira_p.png) no-repeat 2% center, url(images/common/arrow_01.png) no-repeat 98% center, rgba(255,255,255,1);
    border: 2px solid #BEA4B4;
}
.btn-kirasui.is-green {
    background: url(images/common/kira_g.png) no-repeat 2% center, url(images/common/arrow_01.png) no-repeat 98% center, rgba(255,255,255,1);
    border: 2px solid #65B690;
}
.btn-kirasui {
    display: block;
    text-align: center;
    box-shadow: 0px 0px 5px 0px #CCC;
    padding: 15px 0;
    width: 100%;
    max-width: 400px;
    font-weight: bold;
}
.btn-standard {
    background: url(images/common/arrow_01.png) no-repeat 98% center, rgba(255,255,255,1);
    text-align: center;
    box-shadow: 0px 0px 5px 0px #CCC;
    border: 1px solid #BEA4B4;
    padding: 15px 0;
    width: 100%;
    max-width: 580px;
    font-weight: bold;
}
.btn-rounded {
    background: url(images/common/arrow_01.png) no-repeat 96% center / 6px 10px;
    display: block;
    border: 1px solid #CEBAC7;
    border-radius: 5px;
    margin: 10px 0 0 auto;
    width: 180px;
    height: 38px;
    line-height: 36px;
}

/** fee **/
.fee {
    border: 2px solid #BEA4B4;
}
.fee-title {
    background: #BEA4B4;
    text-align: center;
    color: #FFF;
    font-weight: bold;
}
.fee-content__item {
    box-sizing: border-box;
}
.fee-content__title {
    text-align: center;
    border-bottom: 1px solid #451737;
}
.fee-content__fee {
    background: #FAF3F8;
    text-align: center;
    padding: 30px 0;
    font-weight: bold;
}
.fee-annotation {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: bold;
}

/** reservation **/
.reservation {
    box-sizing: border-box;
    background: #FFF;
    border: 8px solid #68BF96;
}
.reservation-title {
    box-sizing: border-box;
    text-align: center;
    background: #68BF96;
}
.reservation-info__tel {
    display: inline-block;
    margin-bottom: 10px;
}
.reservation-info__times {
    display: block;
    text-indent: -5.15em;
    padding-left: 5.15em;
    font-size: 1.1rem;
}
.reservation-access {
    box-sizing: border-box;
    display: block;
    text-align: center;
    background: #68BF96;
}

/** common-foot **/
.res-area {
    box-sizing: border-box;
    border: 8px solid #68BF96;
}
.res-head {
    text-align: center;
}
.res-info__tel {
    display: inline-block;
    margin-bottom: 10px;
}
.res-info__times {
    display: block;
    text-indent: -5.15em;
    padding-left: 5.15em;
    font-size: 1.2rem;
}
.res-access {
    box-sizing: border-box;
    display: block;
    text-align: center;
    background: #68BF96;
}

/** common-under **/
.under-section.with-color {
    background: #FAF3F8;
}
.under-title {
    text-align: center;
    background: #F8E7F1;
}
.under-title-txt {
    position: relative;
    text-align: center;
    background: #F8E7F1;
}
.under-sub {
    text-align: center;
}
.under-sub__wrapper {
    background: #FFF;
    padding: 20px 0;
}
.under-sub__title {
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    padding: 0 60px;
    color: #68BF96;
    max-width: 100%;
}
.under-sub__catch {
    font-size: 1.8rem;
}
.under-sub__catch.is-kirasui {
    font-weight: bold;
}

/** breadcrumb **/
.breadcrumb-item {
    float: left;
    color: #BEA4B4;
}
.breadcrumb-item:not(:first-child):before {
    content: '>';
    margin: 0 0.5em;
}
.breadcrumb-item__letter {
    color: inherit;
}
.breadcrumb-item:first-child .breadcrumb-item__letter {
    background: url(images/common/home.png) no-repeat left 1px;
    padding-left: 20px;
}

/*
header
--------------------------------------------- */
header {
    position: relative;
    border-top: 3px solid #461939;
    border-bottom: 1px solid #461939;
    z-index: 1;
}
.global-parent__btn {
    display: block;
}

/*
footer
--------------------------------------------- */
.footer-content {
    background: #F8E7F1;
    border-top: 2px solid #461939;
    border-bottom: 1px solid #461939;
    padding: 30px 0;
}
.foot-info__sub {
    font-size: 1.1rem;
}
.foot-info__name {
    font-size: 1.6rem;
    font-weight: bold;
}
.foot-info__address {
    display: inline-block;
    margin: 10px 0;
}
.foot-info__tel {
    display: inline-block;
    margin-bottom: 15px;
}
.foot-info__picture {
    width: 221px;
    height: auto;
}
.foot-info__times {
    display: block;
    text-indent: -5.15em;
    padding-left: 5.15em;
    font-size: 1.2rem;
    margin: 5px 0;
}
.foot-logo {
    margin-top: 20px;
}
.foot-logo__logo {
    width: 140px;
    height: auto;
}
.foot-logo__picture {
    display: inline-block;
}
.copy {
    display: block;
    text-align: center;
    margin: 5px 0;
    font-size: 1.1rem;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    body {
        min-width: 1200px;
    }
    .content {
        width: 1160px;
        margin: 0 auto;
    }
    .forSP {
        display:none;
    }
    .main-section {
        padding-bottom: 80px;
    }

    /** button **/
    .btn-kirasui {
        font-size: 2rem;
    }
    .btn-standard {
        font-size: 2rem;
    }

    /** pager **/
    .page-numbers {
        margin: 0 2px;
    }
    a.page-numbers:hover {
        opacity: 0.7;
    }
    .pager-area.is-single a {
        margin: 0 2px;
    }
    .pager-area.is-single a:hover {
        opacity: 0.7;
    }

    /** fee **/
    .fee {
        padding: 30px;
    }
    .fee-title {
        font-size: 3rem;
        padding: 5px 0;
    }
    .fee-content {
        margin-top: 20px;
    }
    .fee-content__title {
        font-size: 2.2rem;
    }
    .fee-content__fee {
        margin-top: 30px;
        font-size: 2rem;
    }
    .fee-content__fee.is-side {
        float: left;
        width: calc(50% - 10px);
    }
    .fee-content__fee.is-side:not(:first-child) {
        margin-left: 20px;
    }
    .fee-annotation {
        margin-top: 20px;
    }

    /** reservation **/
    #underlayer .reservation-content {
        padding: 50px 0;
    }
    .reservation-title {
        float: left;
        width: 330px;
        height: 140px;
        line-height: 140px;
    }
    .reservation-info {
        float: left;
        height: 105px;
        margin: 20px 0 0 75px;
    }
    .reservation-access {
        float: right;
        margin: 20px 20px 0 0;
        width: 300px;
        height: 100px;
        line-height: 100px;
    }
    .reservation-access:hover {
        opacity: 0.7;
    }

    /** common-foot **/
    .res-area {
        float: left;
        padding: 30px 20px 20px;
        width: 560px;
    }
    .res-head {
        text-align: center;
    }
    .res-content {
        margin-top: 30px;
    }
    .res-info {
        float: left;
    }
    .res-info__tel {
        display: inline-block;
        margin-bottom: 10px;
    }
    .res-info__times {
        display: block;
        text-indent: -5.15em;
        padding-left: 5.15em;
        font-size: 1.2rem;
    }
    .res-access {
        float: right;
        width: 160px;
        height: 130px;
        line-height: 130px;
    }
    .res-access:hover {
        opacity: 0.7;
    }
    .fb-area {
        float: right;
        width: 560px;
    }

    /** common-under **/
    .under-section {
        padding-top: 40px;
        margin-bottom: 70px;
    }
    .under-title {
        padding: 75px 0;
    }
    .under-title-txt {
        padding: 75px 0;
        font-size: 3rem;
        color: #461939;
    }
    .under-title-txt:after {
        content: '';
        width: 40px;
        height: 2px;
        background-color: #461939;
        position: absolute;
        transform: translateX(-50%);
        bottom: 55px;
        left: 50%;
    }
    .under-sub {
        padding-bottom: 40px;
    }
    .under-sub__title {
        background: url(images/common/icon_head_g.png) no-repeat left 4px, url(images/common/icon_head_r.png) no-repeat right 4px;
        font-size: 3rem;
    }
    .under-sub__catch {
        margin-top: 20px;
    }

    /** under flex **/
    .under-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    .under-flex.start {
        align-items: flex-start;
    }
    .under-flex.stretch {
        align-items: stretch;
    }
    .flex-half {
        box-sizing: border-box;
        flex-basis: 50%;
        max-width: 50%;
    }
    .flex-fix {
        flex-shrink: 0;
    }
    .flex-fill {
        flex-grow: 1;
    }
    .flex-left {
        order: 1;
    }
    .flex-right {
        order: 2;
    }

    /** breadcrumb **/
    .breadcrumb {
        padding: 20px 0;
    }
    .breadcrumb-item__letter:hover {
        text-decoration: underline;
    }

    /*
    header
    --------------------------------------------- */
    header {
        height: 90px;
    }
    .head-logo {
        float: left;
        margin-top: 15px;
    }
    .head-logo__logo {
        width: 140px;
        height: auto;
    }
    .global {
        float: left;
        margin-left: 55px;
    }
    .global-parent {
        float: left;
    }
    .global-parent.has-child {
        position: relative;
    }
    .global-parent:hover,
    .global-parent.active {
        background: rgba(248,231,241,0.8);
    }
    .global-parent__btn {
        padding: 0 15px;
        height: 90px;
        line-height: 90px;
    }
    .global-child {
        visibility: hidden;
        background: rgba(248,231,241,1);
        box-sizing: border-box;
        position: absolute;
        top: 86px;
        left: -300px;
        border-top: 1px solid #461939;
        padding: 30px;
        width: 1010px;
    }
    .global-parent:hover .global-child {
        visibility: visible;
    }
    .global-child__item {
        float: left;
    }
    .global-child__item:not(:first-child) {
        margin-left: 30px;
    }
    .global-menu {
        float: left;
    }
    .global-menu.picture {
        box-sizing: border-box;
        border: 2px solid #461939;
        width: 86px;
        height: 86px;
    }
    .global-menu__cut {
        width: 129px;
        height: auto;
    }
    .global-menu__este {
        width: 127px;
        height: auto;
    }
    .global-menu__therapy {
        width: 166px;
        height: auto;
    }
    .global-child__item:hover .global-menu.picture {
        position: relative;
    }
    .global-child__item:hover .global-menu.picture:before {
        content: '';
        background: rgba(255,255,255,0.5);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
    }
    .global-menu.picture.cut-care {
        background: url(images/common/menu_img_01.png) no-repeat center / cover;
    }
    .global-menu.picture.facial-este {
        background: url(images/common/menu_img_02.png) no-repeat center / cover;
    }
    .global-menu.picture.head-therapy {
        background: url(images/common/menu_img_03.png) no-repeat center / cover;
    }
    .global-menu.picture.yomogi {
        background: url(images/common/menu_img_04.jpg) no-repeat center / cover;
    }
    .global-menu.title {
        box-sizing: border-box;
        padding: 12px 0 0 20px;
        width: 210px;
    }
    .global-menu__head {
        padding-bottom: 8px;
        font-size: 2rem;
        font-weight: bold;
    }
    .global-menu__towards {
        border-top: 1px solid #461939;
        padding-top: 8px;
    }
    .head-tell {
        float: right;
        margin-top: 30px;
    }
    .head-tell__tel {
        width: 183px;
        height: auto;
    }

    /*
    footer
    --------------------------------------------- */
    .foot-info {
        float: left;
    }
    .foot-nav {
        float: right;
    }
    .foot-nav__list {
        float: left;
    }
    .foot-nav__list:not(:first-child) {
        margin-left: 100px;
    }
    .foot-nav__parent {
        background: url(images/common/cross_01.png) no-repeat left 5px;
        padding-left: 20px;
    }
    .foot-nav__parent:not(:first-child) {
        margin-top: 1em;
    }
    .foot-nav__parent a:hover {
        text-decoration: underline;
    }
    .foot-nav__child {
        padding-left: 1em;
        margin-top: 1em;
    }
    .foot-nav__child:before {
        content: '-';
        margin-right: 10px;
    }
    .foot-logo {
        text-align: center;
    }

}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    img {
        max-width: 100%;
        height: auto;
        width /***/: auto;
    }
    #scrollTop {
        width: 40px;
        height: 40px;
        display: none;
        bottom: 0.5%;
        right: 0.5%;
        line-height: 40px;
    }
    .content {
        width: 100%;
        margin: 0 auto;
        padding: 0 2%;
    }
    .forPC {
        display:none;
    }
    .main-section {
        padding-bottom: 30px;
    }

    /** button **/
    .btn-kirasui {
        font-size: 1.6rem;
    }
    .btn-standard {
        font-size: 1.6rem;
    }

    /** pager **/
    .page-numbers.next,
    .page-numbers.prev {
        display: block;
    }
    .page-numbers.next {
        margin: 10px auto 0;
    }
    .page-numbers.prev {
        margin: 0 auto 10px;
    }
    .pager-area.is-single a[rel=next],
    .pager-area.is-single a[rel=prev] {
        display: block;
    }
    .pager-area.is-single a[rel=next] {
        margin: 10px auto 0;
    }
    .pager-area.is-single a[rel=prev] {
        margin: 0 auto 10px;
    }

    /** fee **/
    .fee {
        padding: 10px 2%;
    }
    .fee-title {
        padding: 10px 2%;
        font-size: 2rem;
    }
    .fee-content__item {
        margin-top: 10px;
    }
    .fee-content__title {
        font-size: 1.8rem;
    }
    .fee-content__fee {
        padding: 20px 0;
        margin-top: 10px;
        font-size: 1.8rem;
    }
    .fee-annotation {
        margin-top: 10px;
    }

    /** reservation **/
    #underlayer .reservation-content {
        padding: 30px 2%;
    }
    .reservation {
        margin: 0 auto;
        width: 100%;
        max-width: 360px;
    }
    .reservation-title {
        padding: 20px 0;
    }
    .reservation-info {
        padding: 20px 2%;
    }
    .reservation-access {
        margin: 0 auto 2%;
        width: 96%;
        height: 80px;
        line-height: 80px;
    }

    /** common-foot **/
    .res-area {
        padding: 20px 2% 2%;
        margin: 0 auto;
        width: 100%;
        max-width: 360px;
    }
    .res-content {
        margin-top: 20px;
    }
    .res-access {
        margin-top: 20px;
        width: 100%;
        height: 80px;
        line-height: 80px;
    }
    .fb-area {
        margin: 20px auto 0;
        width: 100%;
        max-width: 360px;
    }

    /** common-under **/
    .under-section {
        padding-top: 30px;
        margin-bottom: 30px;
    }
    .under-title {
        padding: 30px 0;
    }
    .under-title-txt {
        padding: 30px 0;
        font-size: 3rem;
        color: #461939;
    }
    .under-title-txt:after {
        content: '';
        width: 40px;
        height: 2px;
        background-color: #461939;
        position: absolute;
        transform: translateX(-50%);
        bottom: 20px;
        left: 50%;
    }
    .under-sub {
        padding-bottom: 30px;
    }
    .under-sub__title {
        background: url(images/common/icon_head_g.png) no-repeat left 0px, url(images/common/icon_head_r.png) no-repeat right 0px;
        font-size: 2.6rem;
    }
    .under-sub__catch {
        margin-top: 20px;
    }

    /** under flex **/
    .under-flex {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-items: center;
    }
    .under-flex.start {
        align-items: flex-start;
    }

    /** breadcrumb **/
    .breadcrumb {
        padding: 10px 0;
    }

    /*
    header
    --------------------------------------------- */
    header {
        padding: 5px 0;
    }
    .head-logo {
        display: inline-block;
    }
    .head-logo__logo {
        width: 80px;
        height: auto;
    }
    .global {
        display: none;
        text-align: center;
        position: absolute;
        background: rgba(255,255,255,0.8);
        top: 42px;
        left: 0;
        width: 100%;
    }
    .global-parent__btn {
        border-bottom: 1px solid #461939;
        line-height: 2.6;
    }
    .global-child__item {
        border-bottom: 1px solid #461939;
        line-height: 2.6;
    }
    .global-child__item p {
        font-size: 1.8rem;
        font-weight: bold;
    }
    .sp-menu {
        position: absolute;
        top: 8px;
        right: 8px;
    }

    /*
    hamburger button
    --------------------------------------------- */
    .menu-trigger,
    .menu-trigger span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    .menu-trigger {
        position: relative;
        width: 28px;
        height: 24px;
    }
    .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #461939;
    }
    .menu-trigger span:nth-of-type(1) {
        top: 0;
    }
    .menu-trigger span:nth-of-type(2) {
        top: 10px;
    }
    .menu-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }
    .menu-trigger.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-10px) rotate(45deg);
        transform: translateY(-10px) rotate(45deg);
    }

    /*
    footer
    --------------------------------------------- */
    .foot-logo__picture {
        width: 180px;
    }
    .foot-info {
        display: inline-block;
        text-align: left;
    }
    .footer-content {
        text-align: center;
    }
    .foot-info__tel {
        border: 2px solid #461939;
        padding: 15px;
    }

}

/* ===================================================================================
=====================================================================================
top
=====================================================================================
===================================================================================== */
#top {
    position: relative;
    z-index: 0;
}
.top-slider__item:nth-child(1) {
    background: url(images/top/face_01.png) no-repeat left center / contain, url(images/top/face_02.png) no-repeat right center / contain;
}
.top-slider__item:nth-child(2) {
    background: url(images/common/wrap.png), url(images/top/slide_02.png) no-repeat center center / cover;
}
.top-slider__item:nth-child(3) {
    background: url(images/common/wrap.png), url(images/top/slide_03.png) no-repeat center center / cover;
}
.top-front,
.top-title {
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.top-title {
    box-sizing: border-box;
    text-align: center;
    background: rgba(255,255,255,0.7);
    border: 1px solid #F8E8F1;
}
.top-title .letter {
    display: block;
    margin: 0 auto;
}
.main-title {
    text-align: center;
}
.main-title.with-color {
    background: #F8E7F1;
}
.main-sub {
    text-align: center;
    color: #68BF96;
    font-size: 3rem;
}

/** main-cocncept **/
.contents-list__head {
    display: block;
}
.contents-list__towards {
    display: block;
}
.contents-list__towards {
    box-shadow: 0px 0px 5px 0px #CCC;
    border: 4px solid #C2A7B8;
}
.contents-list__towards:hover {
    opacity: 0.5;
}
.contents-list__sub {
    background: url(images/common/arrow_01.png) no-repeat right 8px;
    padding-bottom: 10px;
    font-size: 2.1rem;
    font-weight: normal;
}
.contents-check {
    border-top: 1px solid #C2A7B8;
    padding-top: 10px;
}
.contents-check__parent {
    background: url(images/common/check_01.png) no-repeat left 2px;
    padding-left: 26px;
    font-size: 1.3rem;
    font-weight: bold;
}
.contents-check__parent:not(:last-child) {
    margin-bottom: 5px;
}
.content-check__child {
    background: url(images/common/square_01.png) no-repeat left 6px;
    padding-left: 16px;
    margin-left: 30px;
    font-size: 1.3rem;
}

/** main-about **/
.about-content {
    background: url(images/top/about_back.png) no-repeat center / cover;
}
.about-content__item {
    box-sizing: border-box;
    display: block;
    padding: 5px;
}
.about-content__item.is-staff {
    background: url(images/top/about_img_01.png) no-repeat center / cover;
}
.about-content__item.is-menu {
    background: rgba(44,137,152,0.6);
}
.about-content__item.is-qa {
    background: rgba(228,103,97,0.6);
}
.about-content__item.is-schedule {
    background: url(images/top/about_img_02.png) no-repeat center / cover;
}
.about-content__item:hover .about-content__head {
    background: rgba(255,255,255,0.4);
}
.about-content__head {
    box-sizing: border-box;
    position: relative;
    border: 1px solid #FFF;
    height: 100%;
}
.about-content__btn {
    text-align: center;
    background: rgba(255,255,255,0.65);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 220px;
    height: 55px;
    line-height: 55px;
}

/** main-info **/
.info-title {
    position: relative;
    padding-bottom: 10px;
    border-bottom: 1px dotted #461939;
}
.info-more {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    border-left: 1px solid #461939;
    padding: 0 15px;
}
.info-list {
    margin-top: 20px;
}
.info-list__item:not(:first-child) {
    margin-top: 1em;
}
.info-list__letter {
    display: inline-block;
    text-indent: -7.1em;
    padding-left: 7.1em;
}
.date {
    margin-right: 1em;
    color: #68BF96;
    font-weight: bold;
}
/** main-instagram **/
.instagram-content {
    max-width: 1160px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 10px;
    box-sizing: border-box;
}
#sb_instagram {
    padding: 0 10px;
    box-sizing: border-box;
}
.sb_instagram_header {
    box-sizing: border-box;
}
/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .top-slider__item {
        height: 760px;
    }
    .top-front {
        margin-top: 360px;
    }
    .top-title {
        margin: 215px auto 0;
        padding: 50px 0;
        width: 480px;
        height: 300px;
    }
    .top-title .logo {
        display: block;
        margin: 30px auto 0;
    }
    .top-scroll {
        text-align: center;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .top-scroll__btn {
        display: inline-block;
        margin-bottom: 40px;
    }
    .top-section {
        padding-bottom: 65px;
    }
    .main-title {
        padding: 75px 0;
    }
    .main-sub {
        font-size: 3rem;
    }

    /** main-cocncept **/
    .main-concept__text {
        text-align: center;
        margin-top: 30px;
    }

    /** main-contents **/
    .contents-list {
        margin-bottom: 30px;
    }
    .contents-list__title {
        font-size: 2rem;
        font-weight: bold;
        color: #461939;
    }
    .contents-list__item {
        width: 360px;
        float: left;
    }
    .contents-list__item:not(:first-child) {
        margin-left: 40px;
    }
    .contents-list__head.active {
        opacity: 0.5;
    }
    .contents-list__photo {
        width: 360px;
        height: 260px;
    }
    .contents-list__head.active .contents-list__photo {
        position: relative;
    }
    .contents-list__head.active .contents-list__photo:before {
        content: url(images/common/more_01.png);
        box-sizing: border-box;
        display: block;
        text-align: center;
        background: #461939;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 120px;
        height: 40px;
        line-height: 40px;
    }
    .contents-list__info {
        background: #F0EDD9;
        padding: 30px;
    }
    .contents-list__detail {
        margin-top: 20px;
    }
    .contents-list__towards {
        padding: 10px;
        margin-top: 20px;
    }

    /** main-about **/
    .about-content {
        padding: 30px 0 40px;
    }
    .about-content__item {
        width: 570px;
        height: 270px;
    }
    .about-content__item:nth-child(2n+1) {
        float: left;
    }
    .about-content__item:nth-child(2n) {
        float: right;
    }
    .about-content__item:nth-child(n+3) {
        margin-top: 20px;
    }

    /** main-info **/
    .info-content {
        padding-top: 40px;
    }
    .news {
        width: 560px;
        float: left;
    }
    .voice {
        width: 560px;
        float: right;
    }
    .info-list__letter:hover {
        opacity: 0.7;
    }

}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .top-slider__item {
        height: 300px;
    }
    .top-front {
        width: 90%;
        margin: 190px auto 0;
    }
    .top-front__SP {
        width: 180px;
        height: auto;
    }
    .top-title {
        padding: 10px 2%;
        margin: 70px auto 0;
        width: 80%;
        max-width: 280px;
    }
    .top-title .letter {
        width: 100%;
        max-width: 240px;
    }
    .top-title .logo {
        display: block;
        margin: 20px auto 0;
        width: 180px;
    }
    .top-section {
        padding-bottom: 30px;
    }
    .main-title {
        padding: 30px 2%;
    }
    .main-sub .picture {
        width: 80%;
        max-width: 353px;
    }
    .main-sub {
        font-size: 2.6rem;
    }

    /** main-concept **/
    .main-concept__text {
        margin-top: 30px;
    }

    /** main-contents **/
    .contents-list {
        margin-bottom: 30px;
    }
    .contents-list__item {
        margin: 0 auto;
        width: 100%;
        max-width: 360px;
    }
    .contents-list__item:not(:first-child) {
        margin: 30px auto 0;
    }
    .contents-list__info {
        background: #F0EDD9;
        padding: 10px 2%;
    }
    .contents-list__detail {
        margin-top: 10px;
    }
    .contents-list__towards {
        padding: 10px 2%;
        margin-top: 10px;
    }

    /** main-about **/
    .about-content {
        padding: 30px 0;
    }
    .about-content__item {
        width: 100%;
        height: 200px;
    }
    .about-content__item:not(:first-child) {
        margin-top: 10px;
    }

    /** main-info **/
    .info-content {
        padding-top: 30px;
    }
    .news {
        width: 100%;
    }
    .voice {
        margin-top: 30px;
        width: 100%;
    }
    .info-list__letter {
        margin-right: 1em;
    }
}

/* ===================================================================================
=====================================================================================
about us
=====================================================================================
===================================================================================== */
.about-concept {
    position: relative;
}
.about-concept__logo {
    position: absolute;
}
.salon-info__logo {width: 135px;height: 53px;}
.salon-info__table {
    box-sizing: border-box;
    margin-top: 30px;
    width: 100%;
}
.salon-info__table tr {
    border-bottom: 1px solid #E0D3DB;
}
.salon-info__table th,
.salon-info__table td {
    text-align: left;
    font-weight: normal;
    padding: 5px 0;
}
.salon-info__tel {
    display: block;
    text-align: center;
    background: #BEA4B4;
    padding: 5px 0;
    margin-top: 15px;
    color: #FFF;
    font-size: 1.6rem;
}
#map {
    box-sizing: border-box;
    border: 1px solid #BEA4B4;
    width: 100%;
}
.salon-attention {
    display: inline-block;
    text-align: left;
    padding: 10px 0;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .about-concept__logo {
        top: 10px;
        right: 10px;
    }
    .salon-text {
        text-align: center;
        font-size: 1.6rem;
        line-height: 2.6;
    }
    .salon-info {
        padding-right: 30px;
    }
    .salon-info__table th {
        width: 20%;
    }
    .salon-info__table td {
        width: 80%;
    }
    #map {
        margin-top: 50px;
        height: 490px;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .about-concept__logo {
        display: block;
        top: 5px;
        right: 5px;
        width: 75px;
        height: auto;
    }
    .salon-text {
        margin-top: 10px;
    }
    .salon-info {
        margin-top: 30px;
    }
    .salon-info__table th,
    .salon-info__table td {
        display: block;
        width: 100%;
    }
    #map {
        margin-top: 30px;
        height: 300px;
    }
}

/* ===================================================================================
=====================================================================================
cut
=====================================================================================
===================================================================================== */
.cut-picture {
    text-align: center;
}
.cut-case__head {
    box-sizing: border-box;
    position: relative;
    color: #68BF96;
}
.cut-case__head:before {
    content: '';
    box-sizing: border-box;
    display: block;
    background: #65B690;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 96%;
    max-width: 400px;
    height: 1px;
}
.cut-case__letter {
    background: #FFF;
    display: inline-block;
    position: relative;
    padding: 0 10px;
    z-index: 1;
}
.cut-case__title {
    padding-top: 10px;
}
.recommended {
    font-weight: bold;
}
.fee-list {
    box-sizing: border-box;
    text-align: left;
    background: url(images/common/square_01.png) no-repeat left 8px;
    padding-left: 14px;
}
.fee-list:not(:first-child) {
    margin-top: 10px;
}
.fee-list__flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
.fee-list__fee {
    padding-left: 1em;
}
.cut-annotation {
    text-align: center;
    font-weight: bold;
}

/** case btn **/
.case-btn {
    box-sizing: border-box;
    text-align: left;
    cursor: pointer;
}
.case-btn__text {
    padding-top: 10px;
    margin-top: 10px;
    line-height: 1.6;
    font-weight: bold;
}
.case-btn.active {
    pointer-events: none;
    background: #FFF;
    border: 3px solid #DED1D9;
}
.case-btn.active .case-btn__head {
    background: url(images/cut/head_back_on.png) no-repeat left;
}
.case-btn.active .case-btn__text {
    background: url(images/common/arrow_03_on.png) no-repeat 98% 10px;
    border-top: 1px solid #DED1D9;
}
.case-btn:not(.active) {
    background: #F4F4F4;
    border: 3px solid #DEDFDF;
}
.case-btn:not(.active) .case-btn__head {
    background: url(images/cut/head_back_of.png) no-repeat left;
}
.case-btn:not(.active) .case-btn__text {
    background: url(images/common/arrow_03_of.png) no-repeat 98% 10px;
    border-top: 1px solid #DEDFDF;
    color: #9E9E9F;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .cut-text {
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .cut-btn {
        margin-top: 20px;
    }
    .case {
        padding: 30px 0;
    }
    .cut-picture__case:not(:first-child) {
        margin-top: 20px;
    }
    .cut-case__head {
        font-size: 3rem;
    }
    .cut-case__title {
        font-size: 2.4rem;
    }
    .case-text {
        position: relative;
        padding-right: 60px;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .case-text__title {
        font-size: 2.4rem;
    }
    .case-text__btn {
        position: absolute;
        bottom: 0;
    }
    .recommended {
        text-align: center;
        padding: 70px 0;
        font-size: 2.4rem;
    }
    .cut-menu {
        position: relative;
        float: left;
        width: 350px;
    }
    .cut-menu:not(:first-child) {
        margin-left: 23px;
    }
    .cut-annotation {
        position: absolute;
        top: 40px;
        width: 100%;
    }
    .fee-list {
        font-size: 1.8rem;
    }
    .fee-list__wrapper {
        padding: 0 20px;
    }

    /** case btn **/
    .case-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-items: center;
    }
    .case-btn {
        width: 46%;
        padding: 10px;
    }
    .case-btn__head {
        padding: 10px;
    }
    .case-btn__text {
        font-size: 1.6rem;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .cut-text {
        margin-top: 10px;
    }
    .cut-btn {
        margin-top: 10px;
    }
    .case {
        padding: 30px 2%;
    }
    .cut-picture__case:not(:first-child) {
        margin-top: 10px;
    }
    .cut-case__head {
        font-size: 2.6rem;
    }
    .case-text__title {
        margin-top: 10px;
        font-size: 2rem;
    }
    .case-text__btn {
        margin: 30px auto 0;
    }
    .cut-case__title {
        font-size: 2rem;
    }
    .recommended {
        padding: 30px 0;
        font-size: 2rem;
    }
    .fee-list {
        font-size: 1.6rem;
    }
    .fee-list__wrapper {
        padding: 0 2%;
    }
    .cut-annotation {
        display: block;
        margin-top: 10px;
        font-size: 1.2rem;
    }

    /** case btn **/
    .case-btn {
        width: 100%;
        padding: 10px 2%;
    }
    .case-btn:not(:first-child) {
        margin-top: 10px;
    }
    .case-btn__head {
        padding: 10px 2%;
    }
}

/* ===================================================================================
=====================================================================================
este
=====================================================================================
===================================================================================== */
.este-picture {
    text-align: center;
}
.este-list__title,
.este-change__title {
    background: url(images/common/icon_gem.png) no-repeat left 4px;
    font-weight: bold;
}
.este-list__item {
    text-indent: -1em;
    padding-left: 1em;
}
.este-list__title:not(:first-child) {
    margin-top: 20px;
}
.este-list__text {
    padding-left: 35px;
}
.este-list__list {
    padding-left: 35px;
    margin-top: 1em;
}
.este-slimming__title {
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
}
.este-change {
    background: #EEE4EA;
}
.este-change__title {
    display: inline-block;
}
.este-change__head {
    text-align: center;
    border-bottom: 1px solid #BEA4B4;
}
.este-change__content {
    background: #FFF;
    border: 2px solid #BEA4B4;
    padding: 5px;
}
.este-change__wrapper {
    background: #EEE4EA;
}
.este-change__inner {
    background: #FFF;
}
.este-change__item {
    background: url(images/common/check_01.png) no-repeat left 4px;
    text-indent: -1em;
    padding-left: calc(20px + 1em);
}
.este-change__list {
    box-sizing: border-box;
}
.este-voice {
    box-sizing: border-box;
    background: url(images/common/wood.png);
    position: relative;
}
.thumbtack {
    position: absolute;
}
.este-voice__content {
    background: #FFF;
    box-shadow: 0px 0px 5px 0px #333;
}
.este-voice__title {
    border-bottom: 1px solid #BFA5B5;
    font-size: 2rem;
    font-weight: bold;
}
.este-voice__text {
    padding-top: 10px;
}
.este-thought {
    max-width: 361px;
}
.este-bio {
    max-width: 297px;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .este-section {
        padding-bottom: 70px;
    }
    .este-list {
        font-size: 1.6rem;
    }
    .este-list__title,
    .este-change__title {
        padding-left: 35px;
        font-size: 2.8rem;
    }
    .este-text {
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .este-btn {
        max-width: 361px;
        margin-top: 20px;
    }
    .este-slimming {
        padding-bottom: 40px;
    }
    .este-slimming__text {
        text-align: center;
        margin-top: 30px;
    }
    .este-change {
        padding: 20px;
    }
    .este-change__inner {
        border-radius: 40px;
        padding: 10px;
    }
    .este-change__list {
        background: url(images/este/img_04.png) no-repeat right center;
        padding-top: 50px;
        height: 256px;
    }
    .este-change__item {
        font-size: 1.8rem;
    }
    .este-change__item:not(:first-child) {
        margin-top: 15px;
    }
    .este-voice {
        margin: 0 auto;
        padding: 10px;
        width: 900px;
    }
    .thumbtack {
        top: -10px;
        left: 20px;
    }
    .este-voice__content {
        padding: 10px 35px;
    }
    .este-bio {
        padding-right: 30px;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .este-section {
        padding-bottom: 30px;
    }
    .este-picture {
        width: 100%;
        text-align: center;
    }
    .este-list {
        margin-top: 10px;
    }
    .este-list__title,
    .este-change__title {
        padding-left: 35px;
        font-size: 2.4rem;
    }
    .este-text {
        margin-top: 10px;
    }
    .este-btn {
        margin-top: 10px;
    }
    .este-slimming {
        padding-bottom: 30px;
    }
    .este-change {
        box-sizing: border-box;
        padding: 10px 2%;
        margin-top: 10px;
        width: 100%;
    }
    .este-change__inner {
        border-radius: 30px;
        padding: 10px 2%;
    }
    .este-change__item {
        font-size: 1.6rem;
    }
    .este-change__list {
        background: url(images/este/img_04.png) no-repeat center top;
        padding: 230px 0 10px;
    }
    .este-voice {
        padding: 10px 2%;
        width: 100%;
    }
    .thumbtack {
        top: -20px;
        left: 20px;
    }
    .este-voice__content {
        padding: 10px 2%;
    }
    .este-bio {
        margin: 0 auto;
    }
}

/* ===================================================================================
=====================================================================================
therapy
=====================================================================================
===================================================================================== */
.therapy-picture {
    text-align: center;
}
.therapy-list__title {
    background: url(images/common/icon_gem.png) no-repeat left 3px;
    font-weight: bold;
}
.therapy-list__item {
    text-indent: -1em;
    padding-left: 1em;
}
.therapy-list__title {
    padding-left: 35px;
    margin-bottom: 10px;
}
.therapy-list__title:not(:first-child) {
    margin-top: 20px;
}
.col-02 {
    box-sizing: border-box;
}
.therapy-list__annotation {
    display: inline-block;
    margin-top: 10px;
    font-size: 1.1rem;
}
.attention {
    border: 2px solid #BEA4B4;
}
.attention-title {
    text-align: center;
    border-bottom: 1px solid #451737;
}
.attention-list__item {
    background: url(images/common/check_01.png) no-repeat left 2px;
    padding-left: 20px;
    font-weight: bold;
}
.col-01 {
    padding-left: 35px;
}
.col-02 {
    padding-left: 35px;
}
.therapy-list__annotation {
    padding-left: 35px;
}
.attention-inner {
    background: #FAF3F8;
}
.attention-inner__list {
    box-sizing: border-box;
    background: url(images/common/square_01.png) no-repeat left 6px;
    padding-left: 16px;
}
.caution {
    text-align: center;
}
.caution-title {
    display: inline-block;
    background: url(images/common/icon_caution.png) no-repeat left;
    padding-left: 40px;
}
.therapy-meaning {
    /* max-width: 400px; */
}
.therapy-thought {
    max-width: 351px;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .therapy-text {
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .therapy-toward {
        margin-top: 50px;
    }
    .therapy-list {
        padding-left: 30px;
    }
    .therapy-list__item {
        font-size: 1.6rem;
    }
    .therapy-list__title {
        font-size: 2rem;
    }
    .col-02 {
        float: left;
        width: 50%;
    }
    .therapy-btn {
        max-width: 351px;
        margin-top: 20px;
    }
    .attention {
        padding: 30px;
    }
    .attention-title {
        font-size: 3rem;
    }
    .attention-list {
        padding: 20px 40px;
    }
    .attention-list__item {
        font-size: 1.6rem;
    }
    .attention-inner {
        padding: 30px 70px;
    }
    .attention-inner__list {
        float: left;
        width: 33.3333%;
    }
    .attention-inner__list:nth-child(n+4) {
        margin-top: 10px;
    }
    .caution {
        margin-top: 70px;
    }
    .caution-title {
        margin-bottom: 30px;
        font-size: 2.4rem;
    }
    .caution-text {
        font-size: 1.6rem;
        line-height: 1.8;
    }

    /** fee **/
    .head-spa {
        float: left;
        width: 320px;
    }
    .holistic-spa {
        float: left;
        padding-left: 30px;
        width: 320px;
    }
    .head-therapy {
        float: left;
        padding-left: 30px;
        width: 456px;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .therapy-picture {
        width: 100%;
        text-align: center;
    }
    .therapy-text {
        margin-top: 10px;
    }
    .therapy-toward {
        margin-top: 30px;
    }
    .therapy-list {
        margin-top: 10px;
    }
    .therapy-list__title {
        font-size: 1.8rem;
    }
    .therapy-btn {
        margin-top: 10px;
    }
    .attention {
        padding: 10px 2%;
    }
    .attention-title {
        font-size: 2rem;
    }
    .attention-list {
        padding: 10px 2%;
    }
    .attention-list__item:not(:first-child) {
        margin-top: 10px;
    }
    .attention-inner {
        padding: 10px 2%;
    }
    .caution {
        margin-top: 30px;
    }
    .caution-title {
        font-size: 2rem;
    }
    .caution-text {
        text-align: left;
        margin-top: 10px;
    }
}

/* ===================================================================================
=====================================================================================
kirasui
=====================================================================================
===================================================================================== */
.kirasui-text__btn {
    margin: 30px auto 0;
}
.kirasui-group__title {
    margin: 30px 0 10px;
    font-size: 1.8rem;
    font-weight: bold;
}
.kirasui-group__title:before {
    content: '■';
    font-size: 150%;
    line-height: 0;
}
.kirasui-group__list:before {
    content: '・';
}
.web-kirasui {
    text-align: center;
}
.web-kirasui__btn {
    margin: 0 auto;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .kirasui-text {
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.8;
    }
    .kirasui-group {
        padding-left: 30px;
        font-size: 1.6rem;
    }
    .web-kirasui {
        padding-bottom: 40px;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .kirasui-text {
        margin-top: 10px;
    }
    .kirasui-group {
        margin-top: 10px;
    }
    .web-kirasui {
        padding: 0 2% 30px;
    }
}

/* ===================================================================================
=====================================================================================
staff
=====================================================================================
===================================================================================== */
.staff-name {
    text-align: center;
}
.staff-name__name {
    vertical-align: middle;
    color: #68BF96;
}
.staff-name__roman {
    vertical-align: middle;
    color: #DEDFDF;
    font-weight: normal;
}
.staff-info__table {
    box-sizing: border-box;
    width: 100%;
}
.staff-info__table tr:not(:last-child) {
    border-bottom: 1px solid #E0D3DB;
}
.staff-info__table th,
.staff-info__table td {
    text-align: left;
    font-weight: normal;
    padding: 5px 0;
}
.staff-picture {
    max-width: 351px;
    position: relative;
}
.staff-picture__wrapper {
    position: absolute;
    content: '';
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 10px;
    box-shadow: 0px 0px 0px 10px rgba(255,255,255,0.5) inset;
}
.staff-picture__wrapper:before {
    content: '';
    box-sizing: border-box;
    display: block;
    border: 1px solid #FFF;
    width: 100%;
    height: 100%;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .staff-list__item:not(:first-child) {
        margin-top: 90px;
    }
    .staff-name__name {
        font-size: 3rem;
    }
    .staff-name__roman {
        padding-left: 1em;
        font-size: 1.6rem;
    }
    .staff-info {
        padding-left: 30px;
    }
    .staff-info__table {
        margin-top: 30px;
    }
    .staff-info__table th {
        width: 30%;
    }
    .staff-info__table td {
        width: 70%;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .staff-list__item:not(:first-child) {
        margin-top: 30px;
    }
    .staff-picture {
        margin: 0 auto;
    }
    .staff-name__name {
        display: block;
        font-size: 2.6rem;
    }
    .staff-name__roman {
        display: block;
    }
    .staff-info {
        margin-top: 10px;
        max-width: 580px;
        width: 100%;
    }
    .staff-info__table {
        margin-top: 10px;
    }
    .staff-info__table th,
    .staff-info__table td {
        display: block;
        width: 100%;
    }
    .staff-info__table th {
        font-weight: bold;
    }
}

/* ===================================================================================
=====================================================================================
blog
=====================================================================================
===================================================================================== */
.sidebar {
    box-sizing: border-box;
}
.sidebar-title {
    background: url(images/common/icon_head_p.png) no-repeat left center;
    border-bottom: 1px solid #CEBAC7;
    padding: 5px 0 5px 60px;
}
.sidebar-list li {
    background: url(images/common/arrow_02.png) no-repeat left 4px;
    padding-left: 20px;
}
.sidebar-list li:not(:first-child) {
    margin-top: 5px;
}
.post {
    box-sizing: border-box;
}
.post-area {
    border: 2px solid #CEBAC7;
}
.post-head {
    background: #FAF2F7;
}
.post-head__date {
    box-sizing: border-box;
    display: inline-block;
    background: #BEA4B4;
    text-align: center;
    color: #FFF;
}
.post-head__title {
    color: #68BF96;
    font-weight: bold;
}
.post-head__title a {
    color: inherit;
}
.post-content {
    border-bottom: 1px dotted #CEBAC7;
}
.post-content__text {
    box-sizing: border-box;
}
.WP-excerpt {
    display: inline-block;
}
.post-category {
    box-sizing: border-box;
    display: inline-block;
    text-align: center;
    border: 2px solid #CEBAC7;
    color: #CEBAC7;
}

/** sign **/
.sign {
    border-top: 1px dotted #CEBAC7;
}

/** btn area **/
.btn-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: flex-end;
}
.fb_iframe_widget span {
    vertical-align: baseline !important;
}
.btn-more__btn {
    background: url(images/common/arrow_04.png) no-repeat 96% center;
    display: block;
    border: 1px solid #CEBAC7;
    width: 130px;
    height: 40px;
    font-weight: bold;
    line-height: 38px;
}

/** WP content **/
.WP-content p:not(:first-child) {
    margin-top: 1em;
}
.WP-content img {
    height: auto !important;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .sidebar {
        padding-right: 20px;
        width: 300px;
    }
    .sidebar-content:not(:first-child) {
        margin-top: 50px;
    }
    .sidebar-list {
        margin-top: 20px;
    }
    .sidebar-list li a:hover {
        text-decoration: underline;
    }
    .post {
        width: 850px;
    }
    .post-area {
        padding: 30px 30px 30px 0;
    }
    .post-area:not(:first-child) {
        margin-top: 50px;
    }
    .post-head {
        padding: 10px 10px 10px 30px;
    }
    .post-head__date {
        padding: 5px 0;
        width: 50px;
        height: 50px;
        line-height: 20px;
    }
    .post-head__title {
        padding-left: 20px;
        font-size: 3rem;
        line-height: 50px;
    }
    .post-content {
        padding: 20px 0;
        margin-left: 30px;
    }
    .post-category {
        border-radius: 50%;
        width: 50px;
        height: 50px;
        line-height: 46px;
    }
    .post-content__text {
        padding-left: 20px;
        width: 736px;
    }
    .post-btn {
        padding: 20px 0 0 30px;
    }
    .post-head__title a:hover {
        opacity: 0.7;
    }
    .WP-excerpt:hover {
        opacity: 0.7;
    }

    /** sign **/
    .sign {
        margin-top: 50px;
        padding-top: 20px;
    }

    /** btn area **/
    .sns-btn__item {
        height: 20px;
    }
    .sns-btn__item:not(:first-child) {
        margin-left: 20px;
    }
    .btn-more {
        margin-left: 20px;
    }

    /** blog flex **/
    .blog-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .sidebar {
        margin-top: 30px;
    }
    .sidebar-content:not(:first-child) {
        margin-top: 30px;
    }
    .sidebar-list {
        margin-top: 10px;
    }
    .post-area {
        padding: 20px 2% 20px 0;
    }
    .post-area:not(:first-child) {
        margin-top: 30px;
    }
    .post-head {
        padding: 10px 2%;
    }
    .post-head__date {
        padding: 0px 10px;
        width: auto;
        height: auto;
        line-height: 25px;
    }
    .post-head__title {
        padding-top: 10px;
        font-size: 2.6rem;
    }
    .post-content {
        padding: 10px 0 30px;
        margin-left: 2%;
    }
    .post-category {
        border-radius: 50px;
        padding: 0px 10px;
        line-height: 25px;
    }
    .post-content__text {
        padding-top: 10px;
    }
    .post-btn {
        padding: 10px 0 0 2%;
    }

    /** sign **/
    .sign {
        margin-top: 30px;
        padding-top: 20px;
    }
    .sign-tel {
        text-decoration: underline;
    }

    /** btn area **/
    .sns-btn__item {
        height: 20px;
    }
    .sns-btn__item:not(:first-child) {
        margin-left: 10px;
    }
    .btn-more {
        width: 100%;
    }
    .btn-more__btn {
        margin: 10px 0 0 auto;
    }
}

/* ===================================================================================
=====================================================================================
faq
=====================================================================================
===================================================================================== */
.faq-question {
    background: #FAF3F8;
}
.faq-question__Q {
    display: block;
    text-align: center;
    background: #BEA4B4;
    width: 45px;
    height: 45px;
    line-height: 45px;
}
.faq-question__text {
    font-size: 2rem;
    font-weight: bold;
    line-height: 45px;
}
.faq-answer__A {
    box-sizing: border-box;
    display: block;
    text-align: center;
    border: 2px solid #BEA4B4;
    width: 45px;
    height: 45px;
    line-height: 41px;
}

/** faq flex **/
.faq-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}

/** anchor flex **/
.anchor-flex__item {
    display: block;
    background: url(images/common/arrow_04.png) no-repeat 96% center;
    text-align: center;
    border: 2px solid #BEA4B4;
    width: 100%;
    max-width: 350px;
    font-size: 1.8rem;
    font-weight: bold;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .faq-btn {
        padding: 40px 0;
    }
    .faq-question {
        padding: 10px 30px;
    }
    .faq-question__text {
        padding-left: 20px;
    }
    .faq-answer {
        padding: 30px;
    }
    .faq-answer__text {
        padding-left: 20px;
    }
    .faq-list__item:not(:first-child) {
        margin-top: 30px;
    }

    /** anchor flex **/
    .anchor-flex {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: stretch;
    }
    .anchor-flex__item {
        padding: 20px 0;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .faq-btn {
        padding: 30px 0;
    }
    .faq-question {
        padding: 10px 2%;
    }
    .faq-question__Q {
        flex-shrink: 0;
    }
    .faq-question__text {
        padding-left: 10px;
    }
    .faq-answer__A {
        flex-shrink: 0;
    }
    .faq-answer {
        padding: 30px 2%;
    }
    .faq-answer__text {
        padding-left: 10px;
    }

    /** anchor flex **/
    .anchor-flex__item {
        padding: 10px 0;
    }
    .anchor-flex__item:first-child {
        margin: 0 auto;
    }
    .anchor-flex__item:not(:first-child) {
        margin: 10px auto 0;
    }
}

/* ===================================================================================
=====================================================================================
schedule
=====================================================================================
===================================================================================== */
.schedule {
    background: url(images/schedule/back.png) no-repeat center / cover;
    text-align: center;
}
.calendar {
    box-sizing: border-box;
    background: #FFF;
    display: inline-block;
}
.calendar iframe {
    box-sizing: border-box;
    vertical-align: bottom;
    border: 1px solid #EEE !important;
}

/* ===================================================================================
for PC min-width: 741px
=================================================================================== */
@media screen and (min-width: 741px) {
    .schedule {
        padding: 100px 0;
    }
    .calendar {
        padding: 30px;
        margin-bottom: 100px;
    }
}

/* ===================================================================================
for SP max-width: 740px
=================================================================================== */
@media screen and (max-width: 740px) {
    .schedule {
        padding: 30px 0;
    }
    .calendar {
        padding: 10px 2%;
        margin-bottom: 30px;
        width: 100%;
    }
    .calendar iframe {
        width: 100%;
    }
}

/* ===================================================================================
=====================================================================================
404
=====================================================================================
===================================================================================== */
.not-found {
    text-align: center;
    padding: 100px 0;
    min-height: 400px;
}
.not-found__title {
    font-size: 3rem;
}
.not-found__text {
    margin-top: 30px;
}