@charset "UTF-8";
/* CSS Document */

@media screen and (max-width: 1024px) {
  .swiper-container-3d {
    -webkit-perspective: initial;
    perspective: initial;
  }
}

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

  /* Header
---------------------------------------*/
  header {
    background: rgba(255, 255, 255, 1);
  }

  .site_tl {
    margin: 16px 0;
    padding-left: 16px;
  }

  .site_tl img {
    height: auto;
    max-width: 180px;
  }

  .site_tl a {
    max-width: 180px;
  }

  .site_tl2 {
    margin: 2px 0;
    padding-left: 16px;
  }

  .site_tl2 img {
    height: 40px;
  }

  /* Burger button */
  #burger {
    width: 30px;
    right: 16px;
    top: 6px;
  }

  #burger:after {
    display: none;
  }

  /* Navigation */
  .g_nav {
    background-size: cover;
    padding: 40px 0;
  }

  .g_nav h4 {
    font-size: 34px;
    margin-bottom: 16px;
  }

  .g_nav nav {
    margin: 0 auto 40px;
  }

  .g_nav nav ul {
    width: 100%;
    float: none;
  }

  .g_nav nav ul:first-child {
    margin-right: 0;
  }

  .g_nav nav ul li a {
    padding: 16px 0;
    margin-bottom: 0;
    font-size: 15px;
  }

  .g_nav nav ul li:last-child a {
    margin-bottom: 0;
  }

  .g_nav h5 {
    font-size: 20px;
  }

  .g_nav .tel a {
    font-size: 32px;
    letter-spacing: 4px;
  }

  .sns li a {
    display: block;
    margin: 0 12px;
  }

  .tel_sp {
    display: block;
    position: absolute;
    top: 1.635px;
    right: 56px;
  }

  .tel_sp img {
    height: 40px;
  }

  header .shop {
    display: none;
  }

  /* Top page
---------------------------------------*/
  #home .swiper-slide img.pc,
  #home .mv img.pc {
    display: none;
  }

  #home .swiper-slide img.sp,
  #home .mv img.sp {
    display: block;
  }

  #home .swiper-slide-content {
    width: 84%;
    font-size: 17px;
    padding: 30px 8% 20px;
  }

  #home .swiper-slide-content span {
    font-size: 12px;
  }

  #home .swiper-slide-content span.kaigyo {
    display: block;
    font-size: 17px;
    padding: 0;
    margin-bottom: -30px;
  }

  #home .swiper-container-3d {}

  #home h2 {
    font-size: 18px;
    margin-bottom: 40px;
  }

  #home h2 span {
    font-size: 12px;
  }

  #home h2 span.kaigyo {
    font-size: 18px;
    display: block;
    margin-top: 20px;
  }

  #home .area1 {
    margin-top: 40px;
    margin-bottom: 40px;
    width: 90%;
    padding: 0 4%;
  }

  #home .area1 h2 {
    margin-bottom: 40px;
  }

  #home .area1 .box .txt {
    width: 100%;
    float: none;
    margin-top: 30px;
  }

  #home .area1 .box .txt p {
    font-size: 14px;
  }

  #home .area1 .box .txt h3 {
    font-size: 16px;
    margin: 30px 0 20px;
  }

  #home .area1 .box figure {
    width: 100%;
    height: auto;
    float: none;
    margin-top: 0;
    border: none;
  }

  #home .area1 .box figure img {
    position: static;
  }

  #home .area2 {
    width: 90%;
    padding: 40px 5% 40px;
  }

  #home .area2 h2 {
    margin-bottom: 40px;
  }

  #home .area2 li {
    display: block;
  }

  #home .area2 li figure {
    width: 100%;
    float: none;
  }

  #home .area2 li .txt {
    width: 90%;
    padding-right: 0;
    padding: 0 5%;
    margin: 0;
  }

  #home .area2 li .txt h3 {
    font-size: 16px;
  }

  #home .area2 li .txt p {
    font-size: 14px;
  }

  #home .area2 li .txt .link a {
    width: 240px;
    margin-bottom: 30px;
  }

  #home .area2 li .txt .link2 {
    padding: 0;
  }

  #home .area3 {
    padding: 40px 0 40px;
  }

  #home .area3 h2 {
    margin-bottom: 30px;
  }

  #home .area3 .desc {
    margin-bottom: 30px;
  }

  #home .area3 .wrap {
    padding-bottom: 10px;
    margin-bottom: 20px;
  }

  #home .area3 .inner_wrap {
    margin: 0 5%;
    padding: 20px 5% 10px;
  }

  #home .area3 .wrap .cat {
    min-width: 100%;
    float: none;
  }

  #home .area3 .wrap .tx {
    font-size: 12px;
  }

  #home .area4 {
    padding: 40px 5%;
  }

  #home .area4 .box {
    border-bottom: none;
    border-left: #eee 1px solid;
    border-right: #eee 1px solid;
    margin-bottom: 40px;
  }

  .swiper-button-next,
  .swiper-container-rtl .swiper-button-prev {
    right: 5px;
  }

  .swiper-button-prev,
  .swiper-container-rtl .swiper-button-next {
    left: 5px;
  }

  /* old
  ---------------------------------------*/
  .key {
    margin-top: 43.27px;
    background-size: cover;
  }

  .key .inner_wrap {
    height: auto;
  }

  .key h2 {
    font-size: 20px;
    position: relative;
    bottom: 0;
    right: auto;
    padding: 48px 16px;
  }

  .deco01 {
    display: none;
  }

  /* Common */
  .bg {
    height: auto;
  }

  .border {
    margin-left: -16px;
  }

  /* Intro */
  .intro .inner_wrap {
    margin-top: 0;
  }

  .intro .inner_wrap>.wrap {
    width: 100%;
    padding: 40px 16px;
    display: none;
  }

  .intro .border {
    width: 100%;
    margin: 24px 0 24px -16px;
  }

  .intro .cpt_lnk {
    width: 100%;
    height: 100%;
    position: relative;
    top: auto;
    right: auto;
    padding: 16px;
    box-sizing: border-box;
    margin-top: 40px;
  }

  .intro .cpt_lnk .wrap {
    border: 1px solid rgba(255, 255, 255, 0.6);
    height: auto;
    position: relative;
    padding: 64px 16px;
  }

  .intro .cpt_lnk .lnk_wrap {
    position: relative;
    top: auto;
    left: auto;
    margin: 0;
  }

  .intro .cpt_lnk .link a {
    width: 100%;
  }

  /* News */

  .news .wrap {
    display: block;
  }

  .news article {
    width: 100%;
    margin: 0 0 30px;
  }

  .news article a {
    color: #35281b;
  }

  .news article a img {
    width: 100%;
  }

  /* Product */
  .prdli li {
    float: left;
    width: 50%;
    margin-right: 0;
    margin-bottom: 0;
    border-bottom: #eee 1px solid;
  }

  .prdli li:nth-child(5n + 5) {
    margin-right: 0;
  }

  .prdli li:nth-child(even) {
    margin-right: 0;
  }

  .prdli li .caption {
    font-size: 12px;
  }

  /* Column */
  .clm .inner_wrap .wrap {
    padding: 24px 16px;
    width: 100%;
    float: none;
  }

  .clm .inner_wrap .wrap h3 {
    font-size: 24px;
  }

  .clm .inner_wrap .wrap .border {
    max-width: 100%;
    margin-left: -32px;
  }

  .clm .inner_wrap .wrap .link a {
    margin: 24px 0 0;
    max-width: 100%;
  }

  .clm .inner_wrap .icatch {
    float: none;
    width: 100%;
  }

  /* Lower pages
---------------------------------------*/
  .lw_cnt {
    margin-top: 43.27px;
  }

  .lw_cnt section {
    padding: 40px 0;
  }

  .lw_cnt section .inner_wrap {
    padding: 0 8px;
  }

  .lw_tl {
    font-size: 28px;
    margin-bottom: 40px;
  }

  .lw_inner {
    padding: 24px 16px;
  }

  /* Concept */
  .lw_cnt .cpt_intro .inner_wrap {
    padding: 0 16px;
  }

  .cpt_intro p {
    font-size: 16px;
    line-height: 2;
  }

  .cpt_intro p br {
    display: none;
  }

  .cpt_tl {
    padding: 64px 0;
  }

  .cpt_tl h2 {
    font-size: 28px;
  }

  .cpt .inner_wrap {
    margin-top: -24px;
  }

  .fl_tl {
    font-size: 18px;
  }

  .lw_cnt .cpt_msg .inner_wrap {
    padding: 0 16px;
  }

  .cpt_msg .sc_tl {
    font-size: 21px;
    line-height: 1.7;
  }

  .cpt_msg p {
    font-size: 13px;
  }

  /* Service */
  .spn_tl {
    font-size: 18px;
  }

  .spn_tl span {
    font-size: 12px;
  }

  .srv .lw_wrap .lw_inner:nth-child(n + 2) {
    margin-top: 32px;
  }

  .srv .wrap .im {
    float: none;
    width: 64%;
    margin: 0 auto 24px;
  }

  .srv .btnBup a {
    font-size: 15px;
    padding: 1em;
  }

  .srv .wrap .tx {
    float: none;
    width: 100%;
  }

  .srv .wrap .link {
    float: none;
    width: 100%;
    margin-top: 24px;
  }

  .srv .wrap .tx table {
    padding: 8px 16px;
    margin-top: 24px;
  }

  .srv .wrap .tx th,
  .srv .wrap .tx td {
    display: block;
    padding: 0;
    border-bottom: none;
  }

  .srv .wrap .tx th {
    padding: 8px 0 4px;
  }

  .srv .wrap .tx td {
    padding: 0 0 8px;
    border-bottom: 1px solid rgba(128, 103, 79, 0.1);
    text-align: right;
  }

  /* Products */
  .prd .fl_tl,
  .prd_lw .fl_tl {
    margin-bottom: 16px;
  }

  .prd .wrap article:nth-child(n + 2) {
    margin-top: 32px;
  }

  .prd article .inner {
    padding: 16px;
  }

  .prd article .inner th,
  .prd article .inner td {
    display: block;
    width: 100%;
  }

  .prd article .inner th {
    padding-right: 0;
    padding-left: 0;
    margin: 32px 0 40px;
  }

  .prd article .link a {
    margin: 24px 0 0;
  }

  .lw_cnt .prd_lw .inner_wrap {
    padding: 0 16px;
  }

  .prd_lw .wrap article {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 32px;
  }

  .prd_lw article:last-child {
    margin-bottom: 0;
  }

  .prd_lw article .tx {
    height: auto;
  }

  .prd_msg {
    font-size: 18px;
    margin-top: 24px;
    text-align: left;
  }

  /* About */
  .map {
    float: none;
    width: 100%;
    margin-bottom: 32px;
  }

  .abt .wrap {
    float: none;
    width: 100%;
  }

  .abt .wrap p {
    margin-bottom: 20px;
    font-size: 14px;
  }

  .stf {
    border-bottom: 1px solid rgba(128, 103, 79, 0.2);
  }

  .stf .wrap {
    overflow: hidden;
  }

  .stf article {
    width: 100%;
    margin-right: 0;
    float: none;
  }

  .stf article .face img {
    width: 72%;
  }

  .open .inner_wrap {
    margin-top: 58px;
    padding: 0 10px 10px;
  }

  .open .face {
    width: 72%;
    float: none;
    margin: 0 auto 24px;
  }

  .open .tx {
    width: 100%;
    float: none;
  }

  .open h5 {
    font-size: 21px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding-bottom: 10px;
    margin-bottom: 20px;
  }

  .open h5 span {
    font-size: 13px;
    margin-left: 2em;
  }

  .open .msg {
    margin-top: 24px;
  }

  /* Contact */
  .form th,
  .form td {
    padding: 0;
    display: block;
  }

  .form th {
    border-bottom: none;
    padding: 8px 0;
  }

  .form td {
    border-bottom: none;
    padding: 16px;
  }

  .form .link {
    margin-top: 24px;
  }

  .deco02 {
    display: none;
  }

  /* Policy */
  .law p span {
    display: block;
    text-decoration: underline;
  }

  /* Single */
  .sgl .m_clm {
    width: 100%;
    float: none;
    padding: 32px 16px;
    margin-bottom: 32px;
  }

  .sgl .s_clm {
    width: 100%;
    float: none;
  }

  .sgl .s_clm .wrap {
    margin-bottom: 32px;
  }

  .pager {
    margin-top: 0;
  }

  .pager li {
    float: none;
  }

  .pager li a {
    margin: 0;
    line-height: 1.7;
    width: 100%;
  }

  .pager li:nth-child(2) a {
    margin-left: 0;
    margin-top: 16px;
  }

  .prv a::after {
    -webkit-transform: rotate(-135deg) !important;
    transform: rotate(-135deg) !important;
    left: 16px;
  }

  /* Archive */
  .ahv article {
    text-align: center;
  }

  .ahv article:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }

  .ahv article .icatch {
    float: none;
    margin-bottom: 24px;
  }

  .ahv article .inner {
    float: none;
    width: 100%;
  }

  .ahv article .tx {
    text-align: left;
  }

  .ahv article .inner .link {
    float: none;
  }

  .ahv article .inner .link a {
    margin: 24px 0 0;
    width: 100%;
  }

  /* Store -------------------------------------------------*/
  .store h2 {
    font-size: 20px;
  }

  .store section {
    padding: 40px 0;
  }

  .store section h2 {
    margin-bottom: 30px;
  }

  .store section .box {
    width: 94%;
    margin: 0 3%;
  }

  .store .eyec {
    margin: 30px 0 40px;
  }

  .store .eyec .eyec_cap {
    width: 96%;
    padding: 10px 2%;
  }

  .store .eyec .eyec_cap .title {
    margin-bottom: 0;
    font-size: 16px;
  }

  .store .eyec .eyec_cap .desc {
    display: none;
  }

  .store .conc {
    width: 94%;
    margin: 0 3%;
    text-align: left;
    margin-bottom: 40px;
  }

  .store .conc span {
    text-align: center;
    font-size: 18px;
    margin-bottom: 30px;
  }

  .store .members_link a {
    font-size: 18px;
    padding: 1.5em 0.5em 1em;
  }

  .store .st_sns {
    margin-top: 20px;
  }

  .store .news ul {
    width: 94%;
    margin: 0 3%;
  }

  .store .news ul li a h5 .title {
    display: block;
    padding-top: 10px;
  }

  .store .prod .slide {
    width: 100%;
  }

  .slick-prev {
    left: 10px !important;
  }

  .slick-next {
    right: 10px !important;
  }

  .store .serv .box {
    margin-bottom: 40px;
  }

  .store .serv .box figure {
    width: 100%;
    float: none;
    margin-bottom: 30px;
  }

  .store .serv .box dl {
    width: 100%;
    float: none;
    min-height: auto;
    margin: 0;
  }

  .store .serv .box:nth-child(odd) figure {
    float: none;
  }

  .store .serv .box:nth-child(odd) dl {
    float: none;
  }

  .store .serv .box dl dt {
    font-size: 18px;
    margin-bottom: 20px;
  }

  .store .serv .box dl dd {
    margin: 0 0 40px;
  }

  .store .syousai {
    text-align: center;
    padding: 30px 0 0;
  }


  .store .mess .box figure {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 30px;
  }

  .store .info .box {
    width: 94%;
    padding: 20px 0px;
  }

  .store .info .box dl {
    padding-bottom: 10px;
    margin-bottom: 10px;
    margin: 0 10px 10px;
  }

  .store .info .box dl dt {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }

  .store .info .box dl dd {
    width: 100%;
    float: none;
    margin: 0;
    font-size: 14px;
  }

  .store .gmap {
    padding-top: 60%;
  }

  /* BEAUTY UP PROGRAM -------------------------------------------------*/
  .bupIntro {
    font-size: 16px;
  }

  .bupIntro .price {
    font-size: 18px;
  }

  .bupIntro p {
    line-height: 2;
  }

  .bupIntro li {
    width: 100%;
  }

  .bup h3 {
    font-size: 20px;
    padding: 0.5em 10px;
    text-align: center;
    margin-bottom: 1px;
  }

  .bup .lead {
    display: block;
  }

  .bup .detail {
    display: block;
  }

  .bup .lead figure {
    width: 100%;
  }

  .bup .lead .midashi {
    width: 100%;
  }

  .bup .midashi .catch {
    font-size: 18px;
    padding: 0.5em 0;
  }

  .bup .midashi dl {
    font-size: 16px;
    padding: 1.5em 0 0;
  }

  .bup .midashi dl dd span {
    font-size: 12px;
    padding: 4px 10px;
    margin-left: 7px;
  }

  .bup .detail {
    display: block;
  }

  .bup .detail dl {
    width: 100%;
    padding: 1em 0;
    margin: 10px 0 0;
  }

  .bup .detail dl dt {
    font-size: 16px;
    margin-bottom: 1em;
  }

  .bup .detail dl dd {
    font-size: 15px;
  }

  .bup .detail dl dd li {
    margin-left: 1em;
  }

  .bup .biko {
    margin-top: 0;
    padding: 10px 0;
    font-size: 12px;
  }

  /* Footer
---------------------------------------*/
  footer {
    padding: 32px 0;
  }

  footer .wrap {
    float: none;
    padding: 0 16px;
  }

  .info_tl {
    margin-bottom: 24px;
  }

  footer .wrap li a {
    max-width: 100%;
  }

  footer .shop_sp {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    border-top: #fff 1px solid;
  }

  footer .shop_sp li {
    width: 33.33%;
    border-right: 1px solid #fff;
    box-sizing: border-box;
  }

  footer .shop_sp li:last-child {
    border: none;
  }

  footer .shop_sp li a {
    display: block;
    background: #80674f;
    color: #fff;
    text-align: center;
    font-size: 13px;
    height: 24px;
    padding-top: 5px;
  }

  footer .shop_sp li:last-child a {
    border-right: none;
  }

  footer .shop_sp li a span {
    display: inline-block;
    background: url(../images/shop_sp2.png) no-repeat left 4px;
    background-size: 12px auto;
    padding-left: 20px;
  }

  .sitemap {
    float: none;
    padding: 0 16px;
    margin-top: 24px;
  }

  .sitemap ul {
    float: none;
    width: 100%;
  }

  .sitemap ul:first-child {
    margin-right: 0;
  }

  .sitemap li a {
    padding: 12px 0;
  }

  .copy {
    margin-top: 40px;
    padding: 8px 0 35px;
  }

  .about_list .lw_inner {
    padding-top: 15px;
  }

  .about_list .info_tl {
    margin-bottom: 20px;
  }

  /* Common
---------------------------------------*/
  .pdd {
    padding: 40px 16px;
  }

  /* Link */
  .link a,
  .link input {
    padding: 8px 16px;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Title */
  .sc_tl {
    font-size: 26px;
  }

  .ctr_tl {
    font-size: 26px;
  }
}