@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* fontDesignation - 'Noto Sans JP' */
@import url('https://fonts.googleapis.com/css?family=Amarante');
/* font-family: 'Amarante', cursive; */

/*=================================================
    general
=================================================*/

html,body { font-family:'Noto Sans JP'; }
#main { width: 100%; }
p {margin: 0; padding: 0;}）
a:hover {opacity: 1; transition: 0s;}
.wrapper { margin-bottom: 0; }
ul { padding: 0; margin: 0; }

.pageWrap-full {
    width: 100%;
    min-width: 1060px;
    margin: 0 auto;
    }

.pageWrap {
    position: relative;
    width: 90%;
    max-width: 1280px;
    margin: 0 auto;
    }

@media only screen and (max-width: 1024px) { .pageWrap-full { min-width: 100%; } }
@media only screen and (max-width: 1024px) { .pageWrap { width: 90%; } }
@media only screen and (max-width: 1024px) { #content { box-sizing: border-box; padding: 0; } }

.footerIframe {
    width: 1px;
    height: 1px;
    border: none;
    }

::selection {
    background: #e6003c;
    color: #fff;
	}

::-moz-selection {
    background: #e6003c;
    color: #fff;
	}

/* site main color #e6003c */
/* site sub color  #b2002f */

/*=================================================
	pintarest icon
=================================================*/

@media only screen and (min-width: 768px) {

	.pinterestBtn { margin: 0; }
	.pinterestBtn span {
		height: 24px !important;
		width: 24px !important;
		background: url(/img/upload/2019/12/social_icons_pin.png) !important;
		background-position: center !important;
		background-size: 24px 24px !important;
		box-shadow: none;
        transition: .3s;
		}
	
	.pinterestBtn span:hover { opacity: 0.5; }

}

@media only screen and (max-width: 767px) {

	.pinterestBtn { margin: 0; }
	.pinterestBtn span {
		height: 24px !important;
		width: 24px !important;
		background: url(/img/upload/2019/12/social_icons_pin.png) !important;
		background-position: center !important;
		background-size: 24px 24px !important;
		box-shadow: none;
		}

}

/*=================================================
    pager
=================================================*/

.pager ul li a {
    background: #f6f6f6;
    color: #333;
    text-decoration: none;
    }

.pager ul li span, .pager ul li a {
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 12px 18px;
    margin: 0 2px;
    border-radius: 6px;
    transition: .3s;
    }

.pager ul li a:hover { background: #b2002f; color: #FFF !important; }

/*=================================================
	header
=================================================*/

header {
    position: absolute;
    display: flex;
    align-items: center;
    width: 100%;
    height: 180px;
    padding: 36px 3%;
    border: none;
    z-index: 5000;
    top: 0;
    background: #FFF;
    box-sizing: border-box;
    }

header .header-left {
    display: flex;
    float: left;
    width: 50%;
    align-items: center;
    }

header .header-left h1 {
    display: block;
    width: 200px;
    margin: 0;
    transition: .3s;
    }

header .header-left h1:hover { opacity: .75; }
header .header-left .header-txt {
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
    padding-left: 36px;
    box-sizing: border-box;
    }
    
header .header-left p.header-shopinfo {
    margin-top: 6px;
    font-weight: normal;
    }

header .header-right {
    float: right;
    width: 50%;
    text-align: right;
    }

.header-snsBtn ul li a { transition: .3s; }
.header-snsBtn ul li a:hover { opacity: .75; }

@media only screen and (max-width: 1024px) {

header {
    flex-wrap: wrap;
    padding: 30px 3% 42px;
    }

header .header-left {
    float: none;
    width: 100%;
    margin-bottom: 12px;
    }

header .header-right {
    position: absolute;
    top: 130px;
    left: 0;
    float: none;
    width: 100%;
    text-align: right;
    }

}

@media only screen and (max-width: 767px) {

header {
    align-items: baseline;
    padding: 24px 5% 42px;
    }

header .header-left h1 { width: 160px; }
.header-shopinfo { display: none; }
header .header-left .header-txt {
    position: absolute;
    top: 98px;
    left: 0;
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
    padding: 12px 5%;
    box-sizing: border-box;
    }

header .header-left .header-txt p br { display: none; }

}

/*=================================================
	Nav
=================================================*/

.Nav > ul {
    margin: 0 auto 6px;
    max-width: 100%;
    text-align: right;
    }

.Nav > ul > li a {
    display: block;
    position: relative;
    text-decoration: none;
    padding: 0 6px 6px;
    font-size: 12px;
    font-weight: bold;
    color: #333;
    background-color: #fff;
    z-index: 2;
    font-family: 'Noto Sans JP';
    letter-spacing: 0;
    }

.Nav > ul > li a:hover { color: #b2002f; }
.header-snsBtn { display: inline-block; }
.header-snsBtn ul {
    display: flex;
    margin: 0;
    }

.header-snsBtn ul li {
    width: 24px;
    margin: 0 6px 0 0;
    transition: .3s;
    }

.headerBtn {
    display: inline-block;
    margin-left: 6px;
    }

.headerBtn a {
    display: block;
    background: #e6003c;
    padding: 6px 12px;
    font-size: 12px;
    color: #FFF;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

.headerBtn a:hover { background: #b2002f; }

@media only screen and (max-width: 1024px) {

.Nav { top: 0; }
.Nav > ul {
    top: 50px;
    margin: 0;
    max-width: 100%;
    text-align: left;
    }

.Nav .navbtn {
    top: -84px;
    right: 3%;
    }

.Nav .navbtn a, .Nav .navbtn a.close {
    background-color: #FFF;
    height: 48px;
    }

.Nav .navbtn a::before, .Nav .navbtn a.close::before {
    position: absolute;
    top: 5px;
    left: 5px;
    content: "";
    width: 30px;
    height: 5px;
    background-color: #000;
    transition: .2s;
    }

.Nav .navbtn a span::after, .Nav .navbtn a.close span::after {
    top: -21px;
    height: 5px;
    left: 0;
    content: "";
    width: 30px;
    background-color: #000;
    }

.Nav .navbtn a::after, .Nav .navbtn a.close::after {
    position: absolute;
    bottom: 18px;
    left: 5px;
    content: "";
    width: 30px;
    height: 5px;
    background-color: #000;
    transition: .2s;
    }

.Nav .navbtn a.open::before { top: 17px; }
.Nav .navbtn a.open::after { bottom: 26px; }
.Nav .navbtn a span {
    position: relative;
    display: block;
    overflow: inherit;
    width: 1px;
    height: 1px;
    top: 36px;
    left: 5px;
    font-weight: bold;
    color: #000;
    }

.header-snsBtn,
.headerBtn {
    position: relative;
    right: 3%;
    }

.Nav > ul > li a { padding: 18px; }

}

@media only screen and (max-width: 767px) {

.Nav > ul { position: relative; }
.Nav > ul > li a { font-size: 14px; }
.Nav .navbtn {
    top: -100px;
    right: 6%;
    }

.header-snsBtn, .headerBtn { display: none; }
.reg-fix {
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    padding: 12px 5%;
    width: 100%;
    background: rgba(255,255,255,.75);
    box-sizing: border-box;
    }

.headerBtn a {
    text-align: center;
    padding: 12px;
    }

.nav_pcnone { display: block !important; }

}

/*=================================================
	footer
=================================================*/

footer {
    padding: 0;
    background-color: inherit;
    }

#shop-footer .footer-bk {
    position: relative;
    display: block;
    width: 100%;
    margin-top: 36px;
    padding: 0 10%;
    background: #e6003c;
    box-sizing: border-box;
    }
    
#shop-footer .footer-info {
    position: relative;
    top: -36px;
    }

#shop-footer .footerBox {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f6f6f6;
    padding: 60px 36px;
    margin: 36px 0;
    font-size: 14px;
    line-height: 24px;
    box-sizing: border-box;
    }

#shop-footer .footerBox .footerLogo {
    width: 200px;
    min-width: 200px;
    padding-right: 36px;
    box-sizing: border-box;
    }

#shop-footer .footerBox .footerData .footerShopname {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 12px;
    }

#shop-footer .footerBox .footerData {
    border-right: dotted 2px #CCC;
    padding-right: 36px;
    }

#shop-footer .footerBox .footerData a {
    position: relative;
    display: inline-block;
    text-align: left;
    margin-top: 18px;
    background: #e6003c;
    color: #FFF;
    width: 180px;
    padding: 3px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

#shop-footer .footerBox .footerData a:hover { background: #b2002f; }
#shop-footer .footerBox .footerData a::before,
#shop-footer .footerBox .footerData a::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

#shop-footer .footerBox .footerData a::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

#shop-footer .footerBox .footerData a::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

#shop-footer .footerBox .footerData a:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

#shop-footer .footerBox .footerData2 {
    display: flex;
    min-width: 360px;
    padding-left: 36px;
    box-sizing: border-box;
    }

#shop-footer .footerBox .footerData2 .footerOpen { padding-right: 36px; }
#shop-footer .footerBtn ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0;
    }

#shop-footer .footerBtn ul li { width: 32%; }
#shop-footer .footerBtn ul li a {
    text-align: center;
    display: block;
    padding: 24px 0;
    background: #FFF;
    font-size: 18px;
    font-weight: bold;
    color: #000;
    border-radius: 12px;
    transition: .3s;
    }

#shop-footer .footerBtn ul li a svg {
    vertical-align: bottom;
    width: 18px !important;
    height: 18px !important;
    }

#shop-footer .footerBtn ul li a:hover { opacity: .75; }
#shop-footer .footerBtn ul li a p {
    font-size: 12px;
    font-weight: normal;
    margin-top: 6px;
    color: #aaa;
    }

#shop-footer .footerNavBox {
    position: relative;
    width: 80%;
    margin: 60px auto;
    }

#shop-footer .footerNavBox .footerNav ul { display: flex; }
#shop-footer .footerNavBox .footerNav ul li {
    position: relative;
    padding:  0 36px 0 0;
    }

#shop-footer .footerNavBox .footerNav ul li::after {
    position: absolute;
    content: "/";
    top: 6px;
    right: 16px;
    }

#shop-footer .footerNavBox .footerNav ul li:last-child::after { content: ""; }
#shop-footer .footerNavBox .footerNav ul li a {
    display: block;
    font-size: 12px;
    line-height: 24px;
    color: #000;
    transition: .3s;
    }

#shop-footer .footerNavBox .footerNav ul li a:hover { color: #b2002f; }
a#goTop {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    margin: 0;
    padding: 12px;
    background: #e6003c;
    background-position: inherit;
    text-align: right;
    color: #333;
    clear: both;
    letter-spacing: inherit;
    border-radius: 12px;
    transition: .3s;
    }

a#goTop:hover {
    background: #b2002f;
    padding: 8px 12px 16px;
    }

a#goTop svg {
    width: 36px !important;
    height: 36px !important;
    }

#shop-footer .copyrightBox {
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding: 12px 0 120px;
    font-size: 12px;
    line-height: 24px;
    border-top: dotted 1px #CCC;
    }

#shop-footer .copyrightBox a.backGroup {
    float: left;
    position: relative;
    display: inline-block;
    text-align: left;
    margin-top: 0;
    background: #e6003c;
    color: #FFF;
    width: 180px;
    padding: 3px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

#shop-footer .copyrightBox a.backGroup:hover { background: #b2002f; }
#shop-footer .copyrightBox a.backGroup::before,
#shop-footer .copyrightBox a.backGroup::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

#shop-footer .copyrightBox a.backGroup::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

#shop-footer .copyrightBox a.backGroup::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

#shop-footer .copyrightBox a.backGroup:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

#shop-footer .copyrightBox p { float: right; }
#shop-footer .copyrightBox ul {
    float: right;
    display: flex;
    margin: 0 12px 0 0;
    }

#shop-footer .copyrightBox ul li {
    width: 24px;
    margin-left: 6px;
    transition: .3s;
    }

#shop-footer .copyrightBox ul li:hover { opacity: .75; }

@media only screen and (max-width: 1024px) {

#shop-footer .footer-bk { padding: 0 5%; }
#shop-footer .footer-info { top: -24px; }
#shop-footer .footerBox {
    flex-wrap: wrap;
    margin: 36px 0 24px;
    padding: 36px;
    }

#shop-footer .footerBox .footerLogo {
    width: 35%;
    min-width: auto;
    padding-right: 24px;
    box-sizing: border-box;
    }

#shop-footer .footerBox .footerLogo a {
    display: block;
    max-width: 220px;
    }

#shop-footer .footerBox .footerData {
    width: 55%;
    border-right: none;
    padding-right: 0;
    box-sizing: border-box;
    }

#shop-footer .footerBox .footerData a {
    display: block;
    max-width: 240px;
    margin-top: 12px;
    line-height: 24px;
    }

#shop-footer .footerBox .footerData2 {
    display: flex;
    justify-content: center;
    min-width: 100%;
    margin: 24px auto 0;
    padding: 24px 0 0;
    border-top: dotted 2px #CCC;
    box-sizing: border-box;
    }

#shop-footer .footerBtn ul li a { font-size: 14px; }
#shop-footer .footerBtn ul li a svg {
    width: 14px !important;
    height: 14px !important;
    }

#shop-footer .footerNavBox .footerNav { width: 90%; }
#shop-footer .footerNavBox .footerNav ul {
    flex-wrap: wrap;
    margin: 0;
    }

#shop-footer .footerNavBox .footerNav ul li { padding: 0 24px 0 0; }
#shop-footer .footerNavBox .footerNav ul li a { line-height: 24px; }
#shop-footer .footerNavBox .footerNav ul li::after {
    top: 6px;
    right: 10px;
    }

#shop-footer .footerNavBox {
    margin: 36px auto;
    width: 90%;
    }

#shop-footer .copyrightBox {
    padding: 12px 0 60px;
    width: 90%;
    }

#shop-footer .copyrightBox ul {
    float: none;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 60px 0 0;
    }

a#goTop svg {
    width: 30px !important;
    height: 30px !important;
    }

}

@media only screen and (max-width: 767px) {

#shop-footer .footerBox { padding: 24px; }
#shop-footer .footerBox .footerLogo {
    width: 100%;
    padding-right: 0;
    margin-bottom: 24px;
    }

#shop-footer .footerBox .footerLogo a {
    max-width: 180px;
    margin: 0 auto;
    }

#shop-footer .footerBox .footerData { width: 100%; }
#shop-footer .footerBox .footerData a {
    width: 100%;
    max-width: 100%;
    padding: 6px 12px;
    }

#shop-footer .footerBox .footerData2 {
    margin: 18px auto 0;
    padding: 18px 0 0;
    }

#shop-footer .footerBox .footerData2 { flex-wrap: wrap; }
#shop-footer .footerBox .footerData2 .footerOpen,
#shop-footer .footerBox .footerData2 .footerLast { width: 100%; }
#shop-footer .footerBox .footerData2 .footerOpen {
    padding-right: 0;
    margin-bottom: 12px;
    }

#shop-footer .footerBtn ul { flex-wrap: wrap; }
#shop-footer .footerBtn ul li {
    width: 100%;
    margin-bottom: 12px;
    }

#shop-footer .footerBtn ul li:last-child { margin-bottom: 0; }
#shop-footer .footerBtn ul li a { padding: 12px 0; }
#shop-footer .footerNavBox { margin: 24px auto; }
#shop-footer .footerNavBox .footerNav {
    width: 100%;
    margin-bottom: 24px;
    }

a#goTop {
    position: relative;
    display: block;
    text-align: center;
    border-radius: 6px;
    padding: 9px;
    }

a#goTop svg {
    width: 18px !important;
    height: 18px !important;
    }

#shop-footer .copyrightBox { padding: 24px 0 60px; }
#shop-footer .copyrightBox a.backGroup {
    float: none;
    width: 100%;
    margin-bottom: 24px;
    padding: 6px 12px;
    }

#shop-footer .copyrightBox p {
    float: none;
    text-align: center;
    }

#shop-footer .copyrightBox ul { margin: 24px auto; }

}

/*=================================================
	sidebar
=================================================*/

#sub { width: 25%; margin-bottom: 60px; }
#sub .subBox { position: relative; }
#sub .subBox .wrapper {
    margin-bottom: 0;
    padding: 0 0 36px;
    }

#sub .subBox .titleArea {
    margin: 0 auto 12px;
    border-bottom: 5px solid #333;
    }

#sub .subBox .titleArea p { padding: 0 0 12px; }
#sub .subBox .titleArea p span.en {
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    font-family: inherit;
    text-transform: uppercase;
    letter-spacing: 0;
    }

#sub .subBox .titleArea p span.jp {
    margin-left: 6px;
    font-size: 12px;
    font-weight: bold;
    }

#sub #subStaff ul li a,
#sub #subCategory ul li a,
#sub #subFaq ul li a,
#sub #subNewscate ul li a,
#sub #subMedicate ul li a,
#sub #subBlogcate ul li a {
    display: block;
    margin: 6px auto;
    padding: 6px 12px;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 30px;
    border: none;
    transition: .3s;
    }

#sub #subStaff ul li a:hover,
#sub #subCategory ul li a:hover,
#sub #subFaq ul li a:hover,
#sub #subNewscate ul li a:hover,
#sub #subMedicate ul li a:hover,
#sub #subBlogcate ul li a:hover {
    color: #FFF;
    background: #e6003c;
    border-radius: 30px;
    }

/* sidebar MORE */

.sideMore {
    position: absolute;
    bottom: 0;
    width: 100%;
    }

.sideMore a {
    position: relative;
    display: inline-block;
    text-align: left;
    background: #e6003c;
    color: #FFF;
    width: 100%;
    font-size: 12px;
    line-height: 24px;
    padding: 3px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

.sideMore a:hover { background: #b2002f; }
.sideMore a::before,
.sideMore a::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

.sideMore a::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

.sideMore a::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

.sideMore a:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

/* sidebar NEWS */

#sub .subBox .sideNews {
    display: flex;
    margin: 0 0 12px;
    }

#sub .subBox .sideNews .sideNewsLeft {
    width: 40%;
    padding-right: 5%;
    box-sizing: border-box;
    }

#sub .subBox .sideNews .sideNewsLeft a {
    display: block;
    overflow: hidden;
    }

#sub .subBox .sideNews .sideNewsLeft a img {
    width: 100%;
    transition: .3s;
    }

#sub .subBox .sideNews:hover .sideNewsLeft a img {
    transform: scale(1.1);
    opacity: .75;
    }

#sub .subBox .sideNews .sideNewsRight { width: 60%; }
#sub .subBox .sideNews .sideNewsRight a { color: #000; transition: .3s; }
#sub .subBox .sideNews:hover .sideNewsRight a { color:#b2002f; }
#sub .subBox .sideNews .sideNewsRight .date {
    font-size: 12px;
    margin-bottom: 6px;
    }

#sub .subBox .sideNews .sideNewsRight .title {
    font-size: 12px;
    line-height: 18px;
    font-weight: bold;
    margin-bottom: 6px;
    }

#sub .subBox .wrapper article span.category a {
    display: inline-block;
    padding: 3px 12px;
    color: #fff;
    background-color: #000;
    text-align: center;
    border-radius: 30px;
    font-size: 10px;
    margin-bottom: 0;
    transition: .3s;
    }

#sub .subBox .sideNews:hover .sideNewsRight span.category a {
    color: #FFF;
    background: #b2002f;
    }

#sub .subBox .wrapper article span.staffName {
    font-size: 10px;
    line-height: 18px;
    display: block;
    margin-top: 3px;
    }
    
/* sidebar HAIR STYLE */

#sub #subStyle ul li {
    width: 50%;
    margin-bottom: 12px;
    }

#sub #subStyle ul li a.img {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    overflow: hidden;
    }

#sub #subStyle ul li a.img img { transition: .3s; }
#sub #subStyle ul li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

#sub #subStyle ul li a.txt {
    display: block;
    padding: 0 5%;
    box-sizing: border-box;
    }

#sub #subStyle ul li a.txt h3 {
    margin: 0 0 6px;
    color: #000;
    font-size: 12px;
    line-height: 18px;
    font-weight: bold;
    transition: .3s;
    }

#sub #subStyle ul li a.txt p {
    color: #000;
    font-size: 10px;
    transition: .3s;
    }

#sub #subStyle ul li:hover a.txt h3,
#sub #subStyle ul li:hover a.txt p { color: #b2002f; }

/* sidebar HAIR STYLE */

#sub #subStaff ul {
    display: flex;
    flex-wrap: wrap;
    }

#sub #subStaff ul li { width: 50%; }

/* sidebar SEARCH */

#subBlogcate { margin: 0 auto 30px !important; }
dl.search2 {
    display: flex;
    justify-content: space-between;
    margin: 0;
    }

dl.search2 dt {
    width: 60%;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border: 1px solid #aaa;
    box-sizing: border-box;
    }

dl.search2 dt input {
    width: 100%;
    height: auto;
    font-size: 12px;
    line-height: 18px;
    padding: 6px 12px;
    background: none;
    border: none;
    font-family: 'Noto Sans JP';
    box-sizing: border-box;
    }

dl.search2 dd {
    width: 40%;
    position: inherit;
    margin: 0;
    padding: 0 0 0 3%;
    top: 0;
    right: 0;
    box-sizing: border-box;
    }

dl.search2 dd button {
    display: block;
    width: 100%;
    height: auto;
    color: #fff;
    text-transform: uppercase;
    font-family: 'Noto Sans JP';
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    padding: 4px 0;
    text-align: center;
    background-color: #e6003c;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    transition: .3s;
    }

dl.search2 dd button:hover { background-color: #b2002f; }

/* ARCHIVE */

.subyear {
    font-size: 14px;
    font-weight: bold;
    color: #000;
    margin-bottom: 12px;
    cursor: pointer;
    position: relative;
    }

.subyear:before {
    border-bottom: solid 2px #000;
    border-right: solid 2px #000;
    top: 4px;
    }

@media only screen and (max-width: 1024px) {

#sub {
    margin: 0 auto 84px;
    width: 90%;
    }

#sub .subBox {
    position: relative;
    padding-bottom: 0;
    clear: left;
    margin-bottom: 60px;
    }

#sub .subBox .titleArea p {
    font-family: inherit;
    padding: 0;
    }

#sub #subStaff ul li,
#sub #subCategory ul li,
#sub #subMedicate ul li,
#sub #subBlogcate ul li,
#subNewscate ul li,
#subFaq ul li {
    width: 49.5%;
    text-align: left;
    display: inline-block;
    }

#sub .subBox .wrapper {
    margin-bottom: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    }

#sub .subBox .wrapper article {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 12px;
    }

#sub .subBox .wrapper article:nth-child(2n) {
    margin-right: 0;
    }

.sideMore {
    position: absolute;
    top: 0;
    bottom: inherit;
    width: 120px;
    right: 0;
    }

.sideMore a { padding: 0 12px; }
#sub .subBox .sideNews .sideNewsLeft { width: 30%; }
#sub .subBox .sideNews .sideNewsRight { width: 70%; }
#sub #subNews { margin-bottom: 60px; }
#sub #subStyle ul.wrapper, #subNewscate ul.wrapper { letter-spacing: 0; }
#sub #subStyle ul.wrapper li,
#subNewscate ul.wrapper li {
    display: block;
    vertical-align: top;
    margin: 0;
    width: 25%;
    height: auto;
    letter-spacing: 0;
    }

#sub #subStyle ul.wrapper li a.txt h3,
#subNewscate ul.wrapper li a.txt h3 {
    margin: 0 0 6px;
    color: #000;
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
    }

#sub #subStyle ul.wrapper li a.txt p,
#subNewscate ul.wrapper li a.txt p {
    color: #000;
    font-size: 10px;
    line-height: inherit;
    }

#sub .subBox .wrapper article span.staffName { float: right; }

/* sidebar HAIR STYLE & category */

#sub #subStaff ul li,
#sub #subCategory ul li { width: 24.5%; }

/* sidebar SEARCH */

dl.search2 dt { width: 70%; }
dl.search2 dd { width: 30%; }

}

@media only screen and (max-width: 767px) {

#sub .subBox {
    padding-bottom: 0;
    margin-bottom: 36px;
    }

#sub #subStaff ul li,
#sub #subCategory ul li,
#sub #subMedicate ul li,
#sub #subBlogcate ul li,
#subNewscate ul li,
#subFaq ul li {
    width: 100%;
    display: block;
    }

#sub .subBox .titleArea p span.en { font-size: 18px; }

#sub #subNews,
#sub #subStyle,
#sub #subBlog {
    margin-bottom: 36px;
    padding-bottom: 42px;
    }

.sideMore {
    top: inherit;
    bottom: 0;
    width: 100%;
    }

#sub .subBox .wrapper article { width: 100%; margin-right: 0; }
#sub #subStyle ul.wrapper li, #subNewscate ul.wrapper li {
    margin: 0 0 12px;
    width: 50%;
    }

.sideMore a { padding: 6px 12px; }

/* sidebar HAIR STYLE & category */

#sub #subCategory ul {
    display: flex;
    flex-wrap: wrap;
    }

#sub #subStaff ul li,
#sub #subCategory ul li { width: 50%; }

/* sidebar SEARCH */

dl.search2 dt { width: 60%; }
dl.search2 dd { width: 40%; }

}

/*=================================================
	404
=================================================*/

.txt404 {
    margin-bottom: 60px;
    font-size: 12px;
    line-height: 18px;
    }

.txt404 a {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    color: #333;
    transition: .3s;
    }

.txt404 a:hover { color: #e6003c; }
.txt404 a::before { content: "＞"; }

@media only screen and (max-width: 1024px) {

.txt404 {
    width: 90%;
    margin: 0 auto 60px;
    }

}

/*=================================================
	maintenance
=================================================*/

.maintenance {
    width: 100%;
    height: 100%;
    background: #f6f6f6;
    }

.maintenance .box {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50%;
    max-width: 640px;
    transform: translate(-50%, -50%);
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 24px;
    padding: 24px;
    background: #FFF;
    border: solid 1px #CCC;
    box-sizing: border-box;
    }

.maintenance .box h1 {
    text-align: center;
    color: #F00;
    font-size: 24px;
    line-height: 36px;
    font-weight: bold;
    padding-bottom: 12px;
    margin-bottom: 24px;
    border-bottom: dotted 2px #CCC;
    }

.maintenance .box .shopData {
    border-top: dotted 2px #CCC;
    margin-top: 24px;
    padding-top: 12px;
    }

.maintenance .box ul {
    display: flex;
    align-items: center;
    margin: 0 auto;
    }

.maintenance .box ul li:first-child { width: 30%; }
.maintenance .box ul li:last-child {
    width: 70%;
    padding-left: 3%;
    font-size: 12px;
    line-height: 18px;
    text-align: left;
    }

.maintenance .box ul li p {
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    }

.maintenance .box ul li a {
    color: #000;
    font-weight: bold;
    text-decoration: underline;
    }

.maintenance .box ul li a.webReg {
    position: relative;
    display: inline-block;
    text-decoration: none;
    font-size: 12px;
    line-height: 24px;
    text-align: left;
    margin-top: 12px;
    background: #e6003c;
    color: #FFF;
    width: 200px;
    padding: 3px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;    
    }

.maintenance .box ul li a.webReg::before,
.maintenance .box ul li a.webReg::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

.maintenance .box ul li a.webReg::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

.maintenance .box ul li a.webReg::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

.maintenance .box ul li a.webReg:hover { background: #b2002f; }
.maintenance .box ul li a.webReg:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

@media only screen and (max-width: 1024px) {

.maintenance .box { width: 75%; }

}

@media only screen and (max-width: 767px) {

.maintenance .box { width: 90%; text-align: left;}
.maintenance .box br { display: none;}
.maintenance .box h1 {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 12px;
    }

.maintenance .box .shopData { margin-top: 12px; }
.maintenance .box ul { flex-wrap: wrap; }
.maintenance .box ul br { display: inline;}
.maintenance .box ul li:first-child { width: 100%; }
.maintenance .box ul li:first-child a {
    display: block;
    width: 200px;
    margin: 12px auto;
    }

.maintenance .box ul li:last-child {
    width: 100%;
    padding-left: 0;
    }

.maintenance .box ul li a.webReg {
    width: 100%;
    padding: 6px 12px;
    }

}

/*=================================================
	page
=================================================*/

body.lower #content #main {
    display: block;
    width: 75%;
    padding-right: 3%;
    box-sizing: border-box;
    }

body.lower.onecolumn #content #main {
    display: block;
    width: 100%;
    max-width: 1060px;
    padding: 0;
    box-sizing: border-box;
    }

body.lower #pageTitleArea {
    position: relative;
    background: url("/img/upload/2020/09/subpage-bg-45.jpg") no-repeat;
    background-size: cover;
    background-position:  center center;
    margin: 180px auto 60px;
    padding: 60px 0 96px;
    height: auto;
    }

body.lower #pageTitleArea h1 {
    margin: 0 auto;
    padding: 0;
    text-align: left;
    font-size: 18px;
    font-weight: bold;
    color: #FFF;
    }

body.lower #pageTitleArea h1 span {
    display: block;
    margin-bottom: 6px;
    font-size: 36px;
    font-family: 'Noto Sans JP';
    text-transform: uppercase;
    letter-spacing: 3px;
    }

.breadcrumb {
    position: absolute;
    bottom: 0;
    background: rgba(0,0,0,.25);
    font-size: 12px;
    font-style: normal;
    letter-spacing: 1px;
    font-weight: bold;
    margin: 0 auto;
    padding: 18px 0;
    width: 100%;
    color: #FFF;
    }

.breadcrumb li a {
    color: #FFF;
    text-decoration: underline;
    transition: .3s;
    }

.breadcrumb li a:hover { color: #e6003c; }
.breadcrumb li:not(:first-child)::before { color: #FFF; }

@media only screen and (max-width: 1024px) {

body.lower #content #main {
    display: block;
    width: 90%;
    margin: 0 auto;
    padding-right: 0;
    }

body.lower.onecolumn #content #main {
    display: block;
    width: 90%;
    max-width: inherit;
    padding: 0;
    box-sizing: border-box;
    }

body.lower #pageTitleArea {
    margin: 180px auto 48px;
    padding: 48px 0;
    }

body.lower #pageTitleArea h1 { font-size: 14px; }
body.lower #pageTitleArea h1 span { font-size: 30px; }

}

@media only screen and (max-width: 767px) {

body.lower #pageTitleArea h1 span {
    font-size: 24px;
    margin-bottom: 3px;
    }

body.lower #pageTitleArea h1 { font-size: 12px; }
body.lower #pageTitleArea {
    margin: 180px auto 36px;
    padding: 30px 0;
    }

}

/*=================================================
	top
=================================================*/

#mainVisual { padding: 180px 0 0; margin-bottom: 120px; }
#mainVisual .swiper-wrapper {
    min-width: 1024px;
    width: 80%;
    }
#mainVisual .swiper-wrapper img { width: 100%; }
.swiper-pagination-bullet-active { background-color: #e6003c; }
body.top #content { width: 100%; }
body.top #main { width: 100%; }
body.top section.sect { margin: 0 auto 120px; }
body.top section.sect .topContentBk {
    position: relative;
    background: #f6f6f6;
    padding: 60px 0 0;
    margin-bottom: 240px;
    }

body.top #main .topConcept {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    }

body.top #main .topConcept .conceptBox {
    position: relative;
    top: 0;
    width: 40%;
    height: 100%;
    left: 10%;
    padding: 5%;
    background: rgba(255,255,255,.75);
    box-sizing: border-box;
    }

body.top #main .topConcept .conceptBox h2 {
    display: block;
    font-size: 60px;
    margin-bottom: 48px;
    letter-spacing: 2px;
    }

body.top #main .topConcept .conceptBox h2 p {
    font-size: 14px;
    margin-top: 6px;
    }

body.top #main .topConcept .conceptBox h3 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 24px;
    }

body.top #main .topConcept .conceptBox p {
    font-size: 14px;
    line-height: 24px;
    }

body.top section.sect .topContentTitle {
    display: flex;
    align-items: center;
    margin: 60px auto;
    }

body.top section.sect .titleArea {
    margin: 0;
    padding: 0 36px 0 0;
    border-bottom: none;
    box-sizing: border-box;
    }

body.top section.sect .titleArea h2 {
    float: none;
    margin: 0;
    padding: 0;
    color: #333;
    font-weight: bold;
    }

body.top section.sect .titleArea h2 span.en {
    font-size: 60px;
    font-family: 'Noto Sans JP';
    letter-spacing: 2px;
    }

body.top section.sect .titleArea h2 span.jp {
    display: block;
    margin-top: 6px;
    margin-left: 0;
    font-size: 14px;
    letter-spacing: 1px;
    }

body.top section.sect .topContentTxt {
    font-size: 12px;
    line-height: 24px;
    }

body.top section.sect .topContentMore {
    margin-left: auto;
    padding-left: 36px;
    }

body.top section.sect .topContentMore a {
    position: relative;
    display: inline-block;
    text-align: left;
    background: #e6003c;
    color: #FFF;
    width: 180px;
    font-size: 12px;
    line-height: 24px;
    padding: 3px 12px;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

body.top section.sect .topContentMore a:hover { background: #b2002f; }
body.top section.sect .topContentMore a::before,
body.top section.sect .topContentMore a::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

body.top section.sect .topContentMore a::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

body.top section.sect .topContentMore a::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

body.top section.sect .topContentMore a:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

body.top section.sect.sect01 .topStyle ul {
    display: flex;
    margin-bottom: 0 ;
    }

body.top section.sect.sect01 .topStyle ul li {
    margin: 0;
    width: 20%;
    }

body.top section.sect.sect01 .topStyle a.img {
    display: block;
    overflow: hidden;
    background: #FFF;
    margin-bottom: 12px;
    }

body.top section.sect.sect01 .topStyle ul li a.img img { transition: .3s; }
body.top section.sect.sect01 .topStyle ul li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.top section.sect.sect01 .topStyle ul li a.txt h3 {
    margin: 0 0 3px;
    color: #000;
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    transition: .3s;
    }

body.top section.sect.sect01 .topStyle ul li a.txt p {
    color: #333;
    font-size: 12px;
    line-height: 18px;
    transition: .3s;
    }

body.top section.sect.sect01 .topStyle ul li:hover a.txt h3,
body.top section.sect.sect01 .topStyle ul li:hover a.txt p { color: #b2002f; }
body.top section.sect.sect01 .topNews {
    position: relative;
    top: 120px;
    }

body.top section.sect.sect01 .topNews ul {
    display: flex;
    justify-content: flex-start;
    }

body.top section.sect.sect01 .topNews ul li {
    width: 24%;
    margin: 0 1.33% 0 0;
    }

body.top section.sect.sect01 .topNews ul li:nth-child(4n) { margin: 0; }
body.top section.sect.sect01 .topNews ul li dt { margin-bottom: 12px; }
body.top section.sect.sect01 .topNews ul li dt a {
    display: block;
    overflow: hidden;
    background: #FFF;
    }

body.top section.sect.sect01 .topNews ul li dt a img {
    width: 100%;
    transition: .3s;
    }

body.top section.sect.sect01 .topNews ul li:hover dt a img {
    transform: scale(1.1);
    opacity: .75;
    }

body.top section.sect.sect01 .topNews ul li dd { margin: 0; }
body.top section.sect.sect01 .topNews ul li dd p a {
    font-size: 12px!important;
    letter-spacing: 1px;
    color: #000;
    display: block;
    margin-bottom: 6px;
    }

body.top section.sect.sect01 .topNews ul li dd .info_date a {
    display: inline-block;
    font-size: 12px;
    color: #FFF;
    background: #333;
    padding: 3px 12px;
    margin: 6px 6px 0 0;
    border-radius: 30px;
    transition: .3s;
    }

body.top section.sect.sect01 .topNews ul li:hover dd .info_date a { background: #b2002f; }
body.top section.sect.sect01 .topNews ul li dd .info_date a.topNews-date { letter-spacing: 1px; }
body.top section.sect.sect01 .topNews ul li dd .info_title a {
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    color: #000;
    transition: .3s;
    }

body.top section.sect.sect01 .topNews ul li:hover dd p a,
body.top section.sect.sect01 .topNews ul li:hover dd .info_title a { color: #b2002f; }

/* SPECIAL CONTENTS START */

body.top .topRecruit {
    position: relative;
    margin: 120px 0 136px;
    padding: 0;
    box-sizing: border-box;
    }

body.top .topRecruit h2 {
    position: relative;
    text-align: left;
    color: #333;
    letter-spacing: 2px;
    width: 90%;
    max-width: 1280px;
    margin: 0 auto 60px;
    }

body.top .topRecruit h2 span.en {
    display: block;
    font-size: 60px;
    }

body.top .topRecruit h2 span.jp {
    display: block;
    font-size: 14px;
    margin-top: 6px;
    letter-spacing: 1px;
    }

body.top .topRecruitSlide {
    box-sizing: border-box;
    margin-bottom: 36px;
    }

body.top .topRecruitSlide div.slideWidth { padding: 0 6px; }
body.top .topRecruitSlide a {
    font-size: 12px;
    line-height: 24px;
    color: #000;
    }

body.top .topRecruitSlide a .recruitSlide_img {
    display: block;
    overflow: hidden;
    }

body.top .topRecruitSlide a .recruitSlide_img img { transition: .3s; }
body.top .topRecruitSlide a:hover .recruitSlide_img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.top .topRecruitSlide a h3,
body.top .topRecruitSlide a .recruitSlide_meta .label { transition: .3s; }

body.top .topRecruitSlide a:hover h3,
body.top .topRecruitSlide a:hover .recruitSlide_meta .label { color: #2f90a1; }

body.top .topRecruitSlide h3.recruitSlide_title {
    line-height: 24px;
    margin: 12px 0 6px;
    }

body.top .topRecruitSlide ul.recruitSlide_meta {
    display: flex;
    margin: 0;
    line-height: 18px;
    }

ul.recruitSlide_meta .label_category {
    display: inline-block;
    margin: 0 0 0 6px;
    padding: 0 12px;
    font-size: 10px;
    line-height: 18px;
    border-radius: 30px;
    background: #333;
    color: #FFF;
    }

body.top .slick-prev,
body.top .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 40%;
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    }

body.top .slick-prev { left: -38px; }
body.top .slick-next { right: -56px; }

body.top .slick-prev:before,
body.top .slick-next:before {
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    }

body.top .slick-prev:before {
    content: '';
    position: absolute;
    right: 0;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    border: 18px solid transparent;
    border-right: 24px solid #CCC;
    }

body.top .slick-next:before {
    content: '';
    position: absolute;
    right: 0;
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    border: 18px solid transparent;
    border-left: 24px solid #CCC;
    }

/* SPECIAL CONTENTS END */

@media only screen and (max-width: 1024px) {

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 12px;
    }

body.top #main section.sect { margin: 0 auto 60px; }
#mainVisual { margin-bottom: 60px; }
#mainVisual .swiper-wrapper {
    min-width: auto;
    width: 100%;
    }

body.top #main .topConcept { padding: 5% 0; }
body.top #main .topConcept .conceptBox {
    width: 90%;
    left: 5%;
    }

body.top #main .topConcept .conceptBox h2 {
    font-size: 42px;
    margin-bottom: 36px;
    letter-spacing: 1px;
    }

body.top #main .topConcept .conceptBox h3 {
    font-size: 16px;
    margin-bottom: 12px;
    }

body.top section.sect .topContentBk {
    padding: 60px 0 0;
    margin-bottom: 180px;
    }

body.top section.sect .topContentTitle {
    flex-wrap: wrap;
    margin: 36px auto;
    }

body.top #main section.sect .titleArea {
    margin: 0 auto;
    padding: 0;
    border-bottom: none;
    clear: left;
    width: 100%;
    }

body.top #main section.sect .titleArea h2 span.en {
    font-size: 42px;
    font-weight: bold;
    letter-spacing: 1px;
    }

body.top #main section.sect .titleArea h2 span.jp {
    margin-left: 0;
    font-size: 14px;
    font-weight: bold;
    font-family: 'Noto Sans JP';
    }

body.top section.sect.sect01 .topStyle ul li:nth-child(3n+2) { margin: 0 0 12px; }
body.top section.sect.sect01 .topStyle ul li a.txt h3 {
    margin: 0 0 6px;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    line-height: 24px;
    }

body.top section.sect.sect01 .topNews {
    top: 120px;
    margin-top: -60px;
    }

body.top .topRecruit {
    padding: 0px;
    margin: 60px 0 120px;
    }

body.top .topRecruit h2 { letter-spacing: 1px; margin: 0 auto 36px; }
body.top .topRecruit h2 span.en { font-size: 42px; }
body.top .topRecruit .pageWrap { width: 90%; }
body.top .slick-next { right: -37px; }

body.top .slick-prev,
body.top .slick-next { top: 30%; }


body.top .slick-next:before {
    width: 14px;
    height: 14px;
    border: 14px solid transparent;
    border-left: 18px solid #CCC;
    }

body.top .slick-prev { left: -24px; }
body.top .slick-prev:before {
    width: 14px;
    height: 14px;
    border: 14px solid transparent;
    border-right: 18px solid #CCC;
    }

}

@media only screen and (max-width: 767px) {

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 6px;
    }

#mainVisual { margin-bottom: 36px; }
body.top #main section.sect { margin: 0 auto 36px; }
body.top #main .topConcept .conceptBox h2 {
    font-size: 24px;
    margin-bottom: 24px;
    }

body.top #main .topConcept .conceptBox h3 { font-size: 14px; }
body.top section.sect .topStyle {
    position: relative;
    padding-bottom: 60px;
    }

body.top section.sect .topContentBk {
    padding: 1px 0 36px;
    margin-bottom: 36px;
    }

body.top #main section.sect .titleArea h2 span.en { font-size: 24px; }
body.top section.sect .topContentTxt {
    margin-top: 12px;
    width: 100%;
    font-size: 14px;
    }

body.top section.sect .topContentTitle { position: initial; }
body.top section.sect .topContentTxt br { display: none;}
body.top section.sect .topContentMore {
    position: absolute;
    width: 90%;
    bottom: 0;
    margin: 0;
    padding-left: 0;
    }

body.top section.sect .topContentMore a {
    display: block;
    width: 100%;
    padding: 6px 12px;
    }

body.top section.sect.sect01 .topStyle ul {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    }

body.top section.sect.sect01 .topStyle ul li { width: 50%; margin-bottom: 24px; }
body.top section.sect.sect01 .topStyle ul li a.img { margin: 0 0 6px; }
body.top section.sect.sect01 .topStyle ul li a.txt {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 0 5%;
    box-sizing: border-box;
    }

body.top section.sect.sect01 .topStyle ul li a.txt p {
    display: block;
    color: #333;
    font-size: 12px;
    line-height: 18px;
    box-sizing: border-box;
    }

body.top section.sect.sect01 .topStyle ul li:nth-child(5) { display: none; }
body.top section.sect.sect01 .topNews {
    top: 0;
    margin-top: 36px;
    padding-bottom: 52px;
    }

body.top section.sect.sect01 .topNews ul {
    flex-wrap: wrap;
    justify-content: space-between;
    }

body.top section.sect.sect01 .topNews ul li {
    width: 48%;
    margin: 0 0 12px;
    }

body.top .topRecruit { margin: 36px 0 86px; }
body.top .topRecruit h2 span.en { font-size: 24px; }
body.top .slick-prev,
body.top .slick-next { top: -18px; }
body.top .slick-next { right: 0; }
body.top .slick-next:before {
    width: 6px;
    height: 6px;
    border: 6px solid transparent;
    border-left: 9px solid #CCC;
    }

body.top .slick-prev { left: -5px; }
body.top .slick-prev:before {
    width: 6px;
    height: 6px;
    border: 6px solid transparent;
    border-right: 9px solid #CCC;
    }

}

/*=================================================
	informations
=================================================*/

body.news #main .couponArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin: 0 auto 60px;
    }

body.news #main .couponArea .couponContent {
    width: 32%;
    margin: 0 2% 36px 0;
    flex-wrap: wrap;
    }

body.news #main .couponArea .couponContent:nth-child(3n) { margin: 0 0 36px 0; }
body.news #main .couponArea .couponContent .img {
    width: 100%;
    margin-bottom: 12px;
    overflow: hidden;
    }

body.news #main .couponArea .couponContent .img a {
    display: block;
    width: 100%;
    }

body.news #main .couponArea .couponContent .img img {
    margin: 0;
    width: 100%;
    transition: .3s;
    }

body.news #main .couponArea .couponContent:hover .img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.news #main .newsTime {
    font-size: 12px!important;
    letter-spacing: 1px;
    color: #000;
    display: block;
    margin-bottom: 6px;
    transition: .3s;
    }

body.news #main .couponArea .couponContent .txt { width: 100%; }
body.news #main .couponArea .couponContent .txt h5 {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 0;
    transition: .3s;
    }

body.news #main .couponArea .couponContent:hover .newsTime,
body.news #main .couponArea .couponContent:hover .txt h5 { color: #b2002f; }
body.news #main .couponArea .couponContent .txt ul { margin: 12px 0 0; }
body.news #main .couponArea .couponContent .txt ul li {
    float: left;
    margin-right: 6px;
    padding: 0;
    color: #fff;
    font-size: 10px;
    background-color: inherit;
    }

body.news #main .couponArea .couponContent .txt ul li a {
    display: block;
    color: #fff;
    background: #000;
    padding: 3px 12px;
    border-radius: 30px;
    transition: .3s;
    }

body.news #main .couponArea .couponContent:hover .txt ul li a { background: #b2002f; }

@media only screen and (max-width: 1024px) {

body.news #main .couponArea .couponContent .txt { margin-left: 0; }

}

@media only screen and (max-width: 767px) {

body.news #main .couponArea {
    justify-content: space-between;
    margin: 0 auto 30px;
    }

body.news #main .couponArea .couponContent {
    width: 48%;
    margin: 0 0 24px 0;
    }

body.news #main .couponArea .couponContent:nth-child(3n) { margin: 0 0 24px 0; }
body.news #main .couponArea .couponContent .txt ul { margin: 6px 0 0; }

}

/*=================================================
	information
=================================================*/

body.news #main .sect { width: 100%; }
body.news #main .sect .titleArea {
    margin: 0 auto 12px;
    border-bottom: 5px solid #333;
    }

body.news #main .sect .titleArea h3 {
    float: none;
    margin: 0;
    padding: 0 0 12px;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    color: #000;
    }

body.news #main .sect .wrapper li {
    float: left;
    margin-right: 6px;
    padding: 3px 12px;
    color: #fff;
    font-size: 12px;
    background-color: #000;
    border-radius: 30px;
    }

body.news #main .articleTxt {
    margin: 36px 0;
    font-size: 14px;
    }

body.news #main .articleTxt p {
    line-height: 24px;
    font-size: 14px;
    }

@media only screen and (max-width: 1024px) {

body.news #main .sect {
    margin-bottom: 60px;
    padding: 0;
    }

}

@media only screen and (max-width: 767px) {

body.news #main .sect .titleArea h3 {
    padding: 0 0 6px;
    font-size: 14px;
    }

body.news #main .sect .wrapper li { font-size: 10px; }
body.news #main .sect { margin-bottom: 36px; }
body.news #main .articleTxt { margin-top: 24px; }

}

/*=================================================
	menu
=================================================*/

body.menu #main .sect { width: 100%; }
body.menu #main .sect .titleArea {
    margin: 0 auto 24px;
    border-bottom: 5px solid #000;
    }

body.menu #main .sect .titleArea h3 {
    float: none;
    margin: 0;
    padding: 0 0 12px;
    color: #000;
    font-weight: bold;
    }

body.menu #main .sect .titleArea h3 span.en {
    font-size: 18px;
    line-height: 24px;
    font-family: 'Noto Sans JP';
    }

body.menu #main .sect .txtRight {
    position: absolute;
    top: 12px;
    right: 0;
    font-size: 12px;
    font-weight: bold;
    text-align: right;
    display: block;
    margin-bottom: 0;
    color: #999;
    }

body.menu #main .sect .menuBox {
    position: relative;
    margin-bottom: 60px;
    }

body.menu #main .menuItem ul { display: block; }
body.menu #main .menuItem ul li {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-left: 24px;
    margin-bottom: 24px;
    box-sizing: border-box;
    }

body.menu #main .menuItem ul li::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    border-top: dotted 2px #000;
    width: 90%;
    height: 100%;
    z-index: 0;
    }

body.menu #main .menuItem ul li .manuName {
    position: relative;
    width: 65%;
    font-size: 14px;
    font-weight: bold;
    line-height: 18px;
    background: #FFF;
    padding-right: 5%;
    margin-right: 5%;
    }

body.menu #main .menuItem ul li .manuName p {
    font-size: 12px;
    font-weight: normal;
    color: #999;
    margin-top: 6px;
    }

body.menu #main .menuItem ul li .manuPrice1,
body.menu #main .menuItem ul li .manuPrice2 {
    position: relative;
    width: 12.5%;
    background: #FFF;
    text-align: right;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    }

body.menu #main .menuItem ul li .manuPrice1 p,
body.menu #main .menuItem ul li .manuPrice2 p {
    font-size: 12px;
    font-weight: normal;
    color: #999;
    margin-top: 3px;
    }

body.menu #main .sect p {
    line-height: 18px;
    width: 100%;
    }

body.menu #main .menuComment {
    display: block;
    font-size: 12px;
    line-height: 18px;
    }

/* !!使用する際は消す */
body.menu #main .menuItem ul li .manuPrice1 p,
body.menu #main .menuItem ul li .manuPrice2 p{display: none;}
/* !!使用する際は消す */

/* !!メニュー注釈 */
/*.menuComment_top,*/
.menuComment_bottom {
    display: none;
    margin: 60px auto;
    border: solid 12px #f6f6f6;
    box-sizing: border-box;
    padding: 18px;
    font-size: 12px;
    line-height: 18px;
    }
/* !!メニュー注釈 */

@media only screen and (max-width: 767px) {

body.menu #main .menuItem ul li {
    flex-wrap: wrap;
    padding-left: 0;
    }

body.menu #main .menuItem ul li .manuName {
    width: 100%;
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 6px;
    }

body.menu #main .menuItem ul li .manuPrice1,
body.menu #main .menuItem ul li .manuPrice2 {
    width: 25%;
    padding-right: 12px;
    margin-left: auto;
    box-sizing: border-box;
    }

body.menu #main .menuItem ul li::before {
    height: 2px;
    top: inherit;
    bottom: 6px;
    z-index: 0;
    }

/* !!メニュー注釈 */
/*.menuComment_top,*/
.menuComment_bottom {
    margin: 30px auto;
    }
/* !!メニュー注釈 */

}

/*=================================================
	coupon
=================================================*/

body.coupon #main section.sect01 .titleArea {
    margin: 0 auto 24px;
    border-bottom: 5px solid #000;
    }

body.coupon #main section.sect01 .titleArea h3 {
    float: none;
    margin: 0;
    padding: 0 0 6px;
    color: #000;
    font-weight: bold;
    }

body.coupon #main section.sect01 .titleArea h3 span.en {
    font-size: 18px;
    line-height: 24px;
    font-family: 'Noto Sans JP';
    }

body.coupon #main section.sect01 .titleArea h3 span.jp {
    margin-left: 6px;
    font-size: 14px;
    }

body.coupon #main section.sect01 .filterArea {
    margin: 0 auto 60px;
    padding: 24px;
    background-color: #f6f6f6;
    box-sizing: border-box;
    }

body.coupon #main section.sect01 .filterArea .btn {
    margin: 24px 0 0;
    text-align: center;
    }

body.coupon #main section.sect01 .filterArea .btn button {
    padding: 12px;
    color: #fff;
    width: 240px;
    font-family: 'Noto Sans JP';
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 6px;
    background-color: #e6003c;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: .3s;
    }

body.coupon #main section.sect01 .filterArea .btn button:hover {
    background: #b2002f;
    opacity: 1;
    }

body.coupon #main section.sect01 .filterArea dl {
    margin: 0 auto 12px;
    padding: 12px 18px;
    width: 100%;
    background-color: #fff;
    box-sizing: border-box;
    }

body.coupon #main section.sect01 .filterArea dl dt {
    padding: 0;
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    }

body.coupon #main section.sect01 .filterArea dl dd {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 24px;
    }

.couponList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 60px;
    }

.couponList .couponBox {
    width: 49%;
    padding: 12px;
    margin-bottom: 18px;
    border: solid 1px #CCC;

    box-sizing: border-box;
    }

.couponList .couponBox h5 {
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    margin: 0 0 6px;
    }

.couponList .couponBox ul.couponCat {
    display: flex;
    flex-wrap: wrap;
    }

.couponList .couponBox ul.couponCat li {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 3px 12px;
    font-size: 10px;
    color: #FFF;
    background: #000;
    border-radius: 30px;
    box-sizing: border-box;
    }

.couponList .couponBox .couponContent {
    position: relative;
    display: flex;
    margin-top: 6px;
    }

.couponList .couponBox .couponContent .img { width: 30%; }
.couponList .couponBox .couponContent .img .couponImg { position: relative; }
.couponList .couponBox .couponContent .img .couponImg p {
    position: absolute;
    bottom: 12px;
    left: 12px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #FFF;
    background: #ed514e;
    border-radius: 6px;
    box-sizing: border-box;
    }

.couponList .couponBox .couponContent .txt {
    width: 70%;
    padding-left: 3%;
    font-size: 12px;
    line-height: 18px;
    box-sizing: border-box;
    }

.couponList .couponBox .couponContent .txt p.price {
    font-size: 24px;
    line-height: 30px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 12px;
    color: #ed514e;
    }

.couponList .couponBox .couponContent .txt p.couponReserve a {
    display: block;
    padding: 12px;
    margin-top: 24px;
    text-align: center;
    color: #FFF;
    background: #e6003c;
    font-size: 14px;
    font-weight: bold;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

.couponList .couponBox .couponContent .txt p.couponReserve a:hover { background: #b2002f; }
.couponList .couponBox .data {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 12px;
    font-size: 12px;
    line-height: 18px;
    border-top: dotted 2px #CCC;
    }

.couponList .couponBox .data p { margin-right: 12px; }
.couponList .couponBox .data p span { font-weight: bold; }

@media only screen and (max-width: 1024px) {

body.coupon #main section.sect01 .filterArea {
    margin: 0 auto 60px;
    width: 100%;
    }

.couponList .couponBox .couponContent .img { width: 40%; }
.couponList .couponBox .couponContent .txt { width: 60%; }
.couponList .couponBox .couponContent .img .couponImg p { padding: 3px 9px; }

}

@media only screen and (max-width: 767px) {

body.coupon #main section.sect01 .filterArea { margin: 0 auto 24px; }
body.coupon #main section.sect01 .filterArea .btn button {
    padding: 6px 12px;
    line-height: 24px;
    }

.couponList .couponBox { width: 100%; }
.couponList .couponBox .couponContent { padding-bottom: 48px; }
.couponList .couponBox .couponContent .txt p.couponReserve {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    }

.couponList .couponBox .couponContent .txt p.couponReserve a {
    line-height: 24px;
    padding: 6px 12px;
    margin-top: 0;
    width: 100%;
    }

}

/*=================================================
	staffs
=================================================*/

.staffBox h2  {
    display: block;
    padding-bottom: 12px;
    margin-bottom: 24px;
    font-size: 18px;
    line-height: 24px;
    border-bottom: solid 5px #000;
    }

.wrapper_stylist {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 60px;
    overflow: hidden;
    }

ul.wrapper_stylist li {
    margin: 0 0 24px;
    width: 33.3%;
    height: auto;
    display: block;
    vertical-align: top;
    line-height: 1.4;
    }

ul.wrapper_stylist li a.img {
    position: relative;
    display: block;
    overflow: hidden;
    margin-bottom: 12px;
    }

body.stylist #main .sect02 ul.wrapper_stylist li a.img img {
    margin-bottom: 0 !important;
    transition: .3s;
    }

body.stylist #main .sect02 ul.wrapper_stylist li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.stylist #main .sect02 ul.wrapper_stylist li a.img p {
    position: absolute;
    bottom: 12px;
    left: 0;
    padding: 3px 12px;
    display: inline-block;
    color: #FFF;
    background: #000;
    border-radius: 0 30px 30px 0;
    z-index: 100;
    transition: .3s;
    }

body.stylist #main .sect02 ul.wrapper_stylist li a.txt h3 {
    margin: 0;
    color: #000;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    transition: .3s;
    }

body.stylist #main .sect02 ul.wrapper_stylist li a.txt p {
    color: #999;
    font-size: 12px;
    line-height: 18px;
    transition: .3s;
    }

body.stylist #main .sect02 ul.wrapper_stylist li:hover a.img p { background: #b2002f; }
body.stylist #main .sect02 ul.wrapper_stylist li:hover a.txt h3,
body.stylist #main .sect02 ul.wrapper_stylist li:hover a.txt p { color: #b2002f; }

@media only screen and (max-width: 767px) {

.wrapper_stylist { margin: 0 auto 24px; }
ul.wrapper_stylist li { width: 50%; }

}

/*=================================================
	staff
=================================================*/

body.stylist #main .stylistBox { margin: 0 auto 60px; }

/* photo & calendar */
body.stylist #main .stylistBox .visualInfo { width: 35%; }
body.stylist #main .stylistBox .visualInfo .photo { margin: 0 0 24px; }
body.stylist #main .stylistBox .visualInfo .photo img { width: 100%; }
body.stylist #main .stylistBox .visualInfo .calendar .calendarInner { border: 1px solid #000; }
body.stylist #main .stylistBox .visualInfo .calendar .calendarInner .month {
    padding: 18px;
    height: auto;
    background-color: #000;
    }

body.stylist #main .stylistBox .visualInfo .calendar .calendarInner table {
    margin: 12px auto;
    width: 90%;    
    }

/* profile */
body.stylist #main .stylistBox .txtInfo {
    width: 65%;
    padding-left: 5%;
    box-sizing: border-box;
    }

body.stylist #main .stylistBox .txtInfo h2 {
    margin: 0 0 12px;
    padding-bottom: 12px;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    border-bottom: solid 5px #000;
    }

body.stylist #main .stylistBox .txtInfo h2 span {
    margin-left: 12px;
    font-size: 12px;
    font-weight: normal;
    color: #999;
    }

body.stylist #main .stylistBox .txtInfo p.job {
    float: none;
    display: inline-block;
    padding: 3px 12px;
    font-size: 12px;
    color: #FFF;
    background: #000;
    border-radius: 30px;
    }

body.stylist #main .stylistBox .txtInfo ul.sns {
    float: right;
    margin: 0 0 12px auto;
    text-align: right;
    width: auto;
    }

body.stylist #main .stylistBox .txtInfo ul.sns li { transition: .3s; }
body.stylist #main .stylistBox .txtInfo ul.sns li:hover { opacity: .75; }
body.stylist #main .stylistBox .txtInfo p.catch02 {
    clear: both;
    margin: 12px 0 ;
    padding: 0 0 12px;
    font-size: 14px;
    line-height: 18px;
    font-weight: bold;
    border-bottom: dotted 2px #CCC;
    }

body.stylist #main .stylistBox .txtInfo p.comment {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 24px;
    }

body.stylist #main .stylistBox .txtInfo .career {
    margin: 0 auto 24px;
    padding: 12px;
    border: solid 1px #CCC;
    box-sizing: border-box;
    }

body.stylist #main .stylistBox .txtInfo .career dl,
body.style #main .styleBox .txtInfo .box dl {
    display: flex;
    width: 100%;
    margin-bottom: 6px;
    background: none;
    }

body.stylist #main .stylistBox .txtInfo .career dl:last-child { margin: 0; }
body.stylist #main .stylistBox .txtInfo .career dl dt {
    position: relative;
    float: none;
    width: 40%;
    font-size: 12px;
    line-height: 18px;
    }

body.stylist #main .stylistBox .txtInfo .career dl dt::after {
    position: absolute;
    content: "：";
    right: 6px;
    }

body.stylist #main .stylistBox .txtInfo .career dl dd,
body.style #main .styleBox .txtInfo .box dl dd {
    width: 60%;
    font-size: 12px;
    line-height: 18px;
    }

/* hairstyle */

body.stylist #main .sect02 .titleArea,
body.style #main .sect02 .titleArea {
    position: relative;
    margin: 0 auto 12px;
    border-bottom: 5px solid #000;
    }

body.stylist #main .sect02 .titleArea h3,
body.style #main .sect02 .titleArea h3 {
    float: none;
    margin: 0;
    padding: 0 0 12px;
    color: #000;
    font-weight: bold;
    }

body.stylist #main .sect02 .titleArea h3 span.en,
body.style #main .sect02 .titleArea h3 span.en {
    font-size: 18px;
    font-family: 'Noto Sans JP';
    letter-spacing: 0;
    }

body.stylist #main .sect02 .titleArea h3 span.jp,
body.style #main .sect02 .titleArea h3 span.jp {
    margin-left: 6px;
    font-size: 14px;
    }

body.stylist #main .sect02 ul.wrapper,
body.style #main .sect02 ul.wrapper {
    margin: 0 auto 60px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: inherit;
    }

body.stylist #main .sect02 ul.wrapper li,
body.style #main .sect02 ul.wrapper li {
    float: none;
    margin: 0;
    width: 25%;
    }

body.stylist #main .sect02 ul.wrapper li a.img,
body.style #main .sect02 ul.wrapper li a.img {
    display: block;
    overflow: hidden;
    margin-bottom: 12px;
    }

body.stylist #main .sect02 ul.wrapper li a.img img,
body.style #main .sect02 ul.wrapper li a.img img {
    width: 100%;
    transition: .3s;
    }

body.stylist #main .sect02 ul.wrapper li:hover a.img img,
body.style #main .sect02 ul.wrapper li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.stylist #main .sect02 ul.wrapper li a.txt h3,
body.style #main .sect02 ul.wrapper li a.txt h3 {
    margin: 0;
    padding: 0 5%;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    line-height: 18px;
    box-sizing: border-box;
    }

body.stylist #main .sect02 .titleArea .stylistMore,
body.style #main .sect02 .titleArea .stylistMore {
    position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    }

body.stylist #main .sect02 .titleArea a,
body.style #main .sect02 .titleArea a {
    float: none;
    position: relative;
    display: inline-block;
    text-align: left;
    background: #e6003c;
    color: #FFF;
    width: 100%;
    font-size: 12px;
    line-height: 24px;
    padding: 0 12px;
    border-radius: 6px;
    box-sizing: border-box;
    text-decoration: none;
    transition: .3s;
    }

body.stylist #main .sect02 .titleArea a:hover,
body.style #main .sect02 .titleArea a:hover { background: #b2002f; }
body.stylist #main .sect02 .titleArea a::before,
body.stylist #main .sect02 .titleArea a::after,
body.style #main .sect02 .titleArea a::before,
body.style #main .sect02 .titleArea a::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

body.stylist #main .sect02 .titleArea a::before,
body.style #main .sect02 .titleArea a::before {
    right: 4px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

body.stylist #main .sect02 .titleArea a::after,
body.style #main .sect02 .titleArea a::after {
    right: 10px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

body.stylist #main .sect02 .titleArea a:hover::after,
body.style #main .sect02 .titleArea a:hover::after {
    right: 6px;
    width: 12px;
    border-left: 18px solid #FFF;
    }

body.stylist #main .couponList .couponBox { width: 100%; }
body.stylist #main .couponList .couponBox .couponContent .img { width: 20%; }
body.stylist #main .couponList .couponBox .couponContent .txt { width: 80%; }

@media only screen and (max-width: 1024px) {

body.stylist #main .stylistBox {
    margin: 0 auto 60px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    }

body.stylist #main .stylistBox .txtInfo {
    width: 67%;
    padding-left: 3%;
    }

body.stylist #main .stylistBox .txtInfo ul.sns li { padding-left: 3px; }
txtInfo .career dl dt { width: 40%; }

.txtInfo .career dl dd,
body.style #main .styleBox .txtInfo .box dl dd {
    width: 60%;
    margin-left: 0;
    overflow: inherit;
    }

body.stylist #main .sect02 .titleArea h3 span.jp,
body.style #main .sect02 .titleArea h3 span.jp {
    font-size: 12px;
    }

body.stylist #main .sect02 .titleArea { padding: 0; }
body.stylist #main .sect02 .titleArea h3 span.jp { font-family: 'Noto Sans JP'; }
body.stylist #main .sect02 .titleArea a {
    font-family: 'Noto Sans JP';
    margin-top: 0;
    }

body.stylist #main .sect03 ul.wrapper li:nth-child(3n+2) { margin: 0; }

}

@media only screen and (max-width: 767px) {

body.stylist #main .stylistBox {
    display: block;
    margin: 0 auto 36px;
    }

body.stylist #main .stylistBox .visualInfo .calendar { margin-bottom: 24px; }
body.stylist #main .stylistBox .txtInfo h2 { padding-bottom: 6px; }
body.stylist #main .stylistBox .txtInfo ul.sns {
    width: auto;
    margin-bottom: 0;
    }

body.stylist #main .stylistBox .txtInfo p.catch02 { margin: 12px 0 6px; }
body.stylist #main .stylistBox .txtInfo .career { margin: 0 auto; }
body.stylist #main .stylistBox .txtInfo .career dl,
body.style #main .styleBox .txtInfo .box dl {
    margin-top: 0;
    display: block;
    border-bottom: dotted 2px #CCC;
    padding-bottom: 12px;
    margin-bottom: 12px;
    }

body.stylist #main .stylistBox .txtInfo .career dl:last-child,
body.style #main .styleBox .txtInfo .box dl:last-child { border-bottom: none; }
body.stylist #main .stylistBox .txtInfo .career dl dt {
    width: 100%;
    line-height: 24px;
    }

body.stylist #main .stylistBox .txtInfo .career dl dt::after {
    position: relative;
    right: -6px;
    }

body.stylist #main .stylistBox .txtInfo .career dl dd,
body.style #main .styleBox .txtInfo .box dl dd { width: 100%; }
body.stylist #main .sect03 {
    position: relative;
    padding-bottom: 36px;
    margin-bottom: 36px;
    }

body.stylist #main .sect02 .titleArea { position: initial; }
body.stylist #main .sect02 ul.wrapper {
    margin: 0 auto ;
    flex-wrap: wrap;
    }

body.stylist #main .sect02 ul.wrapper li {
    margin: 0 0 24px;
    width: 50%;
    }

body.stylist #main .sect02 .titleArea .stylistMore {
    top: inherit;
    bottom: 0;
    width: 100%;
    }

body.stylist #main .sect02 .titleArea a { padding: 6px 12px; }
body.stylist #main .couponList .couponBox .couponContent .img { width: 40%; }
body.stylist #main .couponList .couponBox .couponContent .txt { width: 60%; }
.couponList { margin-bottom: 24px; }

}

/*=================================================
	styles
=================================================*/

body.style #main .sect02 ul.wrapper { margin-bottom: 60px; }
body.style #main .sect02 ul.wrapper li {
    margin: 0 0 24px;
    width: 33.3%;
    }

body.style #main .sect02 ul.wrapper li a.img { overflow: hidden; }
body.style #main .sect02 ul.wrapper li a.img img { transition: .3s; }
body.style #main .sect02 ul.wrapper li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.style #main .sect02 ul.wrapper li a.txt h3 {
    margin: 0 0 3px;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    line-height: 24px;
    }

body.style #main .sect02 ul.wrapper li a.txt p {
    color: #333;
    font-size: 12px;
    line-height: 18px;
    }

body.style #main .sect02 ul.wrapper li a.txt p.styleStore_name { font-weight: bold; }
body.style #main .sect02 ul.wrapper li a.txt h3,
body.style #main .sect02 ul.wrapper li a.txt p {
    padding: 0 5%;
    box-sizing: border-box;
    transition: .3s;
    }

body.style #main .sect02 ul.wrapper li:hover a.txt h3,
body.style #main .sect02 ul.wrapper li:hover a.txt p { color: #e6003c; }

@media only screen and (max-width: 1024px) {

body.style #main .sect02 ul.wrapper li:nth-child(3n+2) { margin: 0 0 24px; }

}

@media only screen and (max-width: 767px) {

body.style #main .sect02 ul.wrapper { margin-bottom: 30px; }
body.style #main .sect02 ul.wrapper li { width: 50%; }
body.style #main .sect02 ul.wrapper li a.txt h3 {
    font-size: 12px;
    font-weight: bold;
    line-height: 18px;
    padding-right: 12px;
    box-sizing: border-box;
    }

}

/*=================================================
    style
=================================================*/

body.style #main .styleBox {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    }

body.style #main .styleBox .txtInfo {
    float: none;
    width: 65%;
    padding-left: 5%;
    box-sizing: border-box;
    }

body.style #main .styleBox .visualInfo { width: 35%; }
body.style #main .styleBox .visualInfo .photo {
    margin: 0 0 12px;
    width: 100%;
    }

body.style #main .styleBox .txtInfo h2 {
    margin: 0 auto 12px;
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
    }

body.style #main .styleBox .txtInfo ul.sns { margin: 0 0 12px auto; }
body.style #main .styleBox .txtInfo ul.sns li { margin-left: 3px; transition: .3s; }
body.style #main .styleBox .txtInfo ul.sns li:hover { opacity: .75; }
body.style #main .styleBox .txtInfo .box { margin: 0 auto 36px; }
body.style #main .styleBox .txtInfo .box p.styleTitle {
    margin: 0 auto 12px;
    padding: 0 0 12px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 5px solid #000;
    }

body.style #main .styleBox .txtInfo .box dl dt {
    position: relative;
    float: none;
    width: 40% !important;
    font-size: 14px;
    line-height: 24px;
    }

body.style #main .styleBox .txtInfo .box dl dt::after {
    position: absolute;
    content: "：";
    right: 6px;
    }

body.style #main .styleBox .txtInfo .box dl dd {
    width: 60%;    
    font-size: 14px;
    line-height: 24px;
    }

.style-arrenge-point-text {
    font-size: 14px;
    line-height: 24px;
    }

body.style #main .styleBox .txtInfo .box ul {
    display: flex;
    justify-content: space-between;
    }

body.style #main .styleBox .txtInfo .box ul li {
    width: 29%;
    margin: 0;
    font-size: 12px;
    line-height: 18px;
    display: block;
    }

body.style #main .styleBox .txtInfo .box ul.faceType li { width: 19%; }

.hairMenu {
    font-size: 14px;
    line-height: 24px;
    }

.stylistComment { display: flex; }
.stylistComment .img { width: 20%; }
.stylistComment .img a {
    display: block;
    overflow: hidden;
    }

.stylistComment .img a img { transition: .3s; }
.stylistComment .img:hover a img {
    transform: scale(1.1);
    opacity: .75;
    }

.stylistComment .img p {
    position: relative;
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    line-height: 24px;
    color: #000;
    background: #FFF;
    z-index: 10;
    transition: .3s;
    }

.stylistComment .img:hover p { color: #b2002f; }
.stylistComment .txt {
    width: 80%;
    padding-left: 3%;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 24px;
    }

body.style #main .sect03 ul.wrapper li { width: 25%; margin: 0; }

body.style #main .couponList .couponBox { width: 100%; }
body.style #main .couponList .couponBox .couponContent .img { width: 20%; }
body.style #main .couponList .couponBox .couponContent .txt { width: 80%; }

@media only screen and (max-width: 1024px) {

body.style #main .sect02 .titleArea h3 { padding: 0; }
body.style #main .sect02 .titleArea h3 span.en {
    font-weight: bold;
    line-height: 24px;
    }

body.style #main .sect02 .titleArea h3 span.jp {
    font-weight: bold;
    font-family: 'Noto Sans JP';
    }


body.style #main .sect02 .titleArea a {
    margin-top: 0;
    font-family: 'Noto Sans JP';
    }

}

@media only screen and (max-width: 767px) {

body.style #main .styleBox { display: block; }
body.style #main .styleBox .txtInfo {
    width: 100%;
    padding-left: 0;
    }

body.style #main .styleBox .txtInfo h2 { margin: 24px auto 12px; }
body.style #main .styleBox .txtInfo .box dl { display: flex; }
body.style #main .styleBox .txtInfo ul.sns li { padding-left: 0; }
body.style #main .styleBox .txtInfo .box ul li { width: 28%; }
body.style #main .couponList .couponBox .couponContent .img { width: 40%; }
body.style #main .couponList .couponBox .couponContent .txt { width: 60%; }
body.style #main .sect02 ul.wrapper li {
    width: 50%;
    margin: 0 0 24px;
    }

body.style #main .sect03 {
    position: relative;
    padding-bottom: 36px;
    margin-bottom: 36px;
    }

body.style #main .sect02 .titleArea { position: initial; }
body.style #main .sect03 ul.wrapper {
    margin: 0 auto ;
    flex-wrap: wrap;
    }

body.style #main .sect02 ul.wrapper li {
    margin: 0 0 24px;
    width: 50%;
    }

body.style #main .sect02 .titleArea .stylistMore {
    top: inherit;
    bottom: 0;
    width: 100%;
    }

body.style #main .sect02 .titleArea a { padding: 6px 12px; }

}

/*=================================================
    medias
=================================================*/

body.media #main .sect02 ul.wrapper {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
    }

body.media #main .sect02 ul.wrapper li {
    width: 32%;
    height: auto;
    margin: 0 2% 24px 0;
    display: block;
    vertical-align: top;
    }

body.media #main .sect02 ul.wrapper li a.img {
    display: block;
    overflow: hidden;
    margin-bottom: 12px;
    }

body.media #main .sect02 ul.wrapper li a.img img {
    width: 100%;
    margin-bottom: 0;
    transition: .3s;
    }

body.media #main .sect02 ul.wrapper li:hover a.img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.media #main .sect02 ul.wrapper li a.txt p {
    color: #000;
    font-size: 12px;
    margin-bottom: 3px;
    overflow: initial;
    line-height: 18px;
    transition: .3s;
    }

body.media #main .sect02 ul.wrapper li a.txt h3 {
    margin: 0 0 6px;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    line-height: 18px;
    transition: .3s;
    }

.media-right {
    text-align: left;
    color: #FFF;
    background: #000;
    display: inline-block;
    padding: 3px 12px;
    font-size: 10px;
    border-radius: 30px;
    transition: .3s;
    }

body.media #main .sect02 ul.wrapper li:hover a.txt p,
body.media #main .sect02 ul.wrapper li:hover a.txt h3 { color: #b2002f; }
body.media #main .sect02 ul.wrapper li:hover a.txt .media-right { background: #b2002f; }

@media only screen and (max-width: 1024px) {

body.media #main .sect02 ul.wrapper li:nth-child(2n) { margin: 0 2% 24px 0; }
body.media #main .sect02 ul.wrapper li:nth-child(3n) { margin: 0 0 24px 0; }

}

@media only screen and (max-width: 767px) {

body.media #main .sect02 ul.wrapper { margin-bottom: 30px; }
body.media #main .sect02 ul.wrapper li {
    width: 48%;
    margin: 0 4% 24px 0;
    }

body.media #main .sect02 ul.wrapper li:nth-child(3n) { margin: 0 4% 24px 0; }
body.media #main .sect02 ul.wrapper li:nth-child(2n) { margin: 0 0 24px 0; }

}

/*=================================================
    media
=================================================*/

/* information と同じ */

/*=================================================
    movie
=================================================*/

.youtube { margin-bottom: 12px; }
.movie-cap {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 60px;
    }

@media only screen and (max-width: 767px) {

.movie-cap { margin-bottom: 30px; }

}

/*=================================================
    blogs
=================================================*/

body.blog #main .couponArea {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 60px;
    }

body.blog #main .couponArea .couponArea-innter {
    width: 32%;
    margin: 0 2% 36px 0;
    }

body.blog #main .couponArea .couponArea-innter:nth-child(3n) { margin: 0 0 36px 0; }
body.blog #main .couponArea .couponContent {
    width: 100%;
    flex-wrap: wrap;
    }

body.blog #main .couponArea .couponContent .img {
    width: 100%;
    margin-bottom: 12px;
    overflow: hidden;
    }

body.blog #main .couponArea .couponContent .img a { display: block; }
body.blog #main .couponArea .couponContent .img img {
    margin: 0;
    width: 100%;
    height: auto;
    transition: .3s;
    }

body.blog #main .couponArea .couponContent:hover .img img {
    transform: scale(1.1);
    opacity: .75;
    }

body.blog #main .newsTime {
    font-size: 12px;
    color: #000;
    display: block;
    margin-bottom: 12px;
    line-height: 12px;
    transition: .3s;
    }

body.blog #main .couponArea .couponContent .txt a {
    padding: 0;
    color: #000;
    transition: .3s;
    }

body.blog #main .couponContent:hover .newsTime,
body.blog #main .couponArea .couponContent:hover .txt a { color: #b2002f; }
body.blog #main .couponArea .couponContent .txt h5 {
    font-size: 14px;
    line-height: 18px;
    }

body.blog #main .couponArea .couponContent .txt p.couponDetail {
    font-size: 12px;
    line-height: 18px;
    }

body.blog #main .couponArea .couponContent .txt ul {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    }
    
body.blog #main .couponArea .couponContent .txt ul li {
    float: none;
    display: inline-block;
    margin-right: 0;
    padding: 0;
    color: #fff;
    font-size: 10px;
    background-color: inherit;
    }

body.blog #main .couponArea .couponContent .txt ul li:first-child a {
    display: block;
    background: #000;
    color: #fff;
    padding: 3px 12px;
    border-radius: 30px;
    transition: .3s;
    }

body.blog #main .couponArea .couponContent .txt ul li:last-child a {
    color: #000;
    font-size: 12px;
    font-weight: bold;
    line-height: 14px;
    }

body.blog #main .couponArea .couponContent:hover .txt ul li:first-child a {
    color: #FFF;
    background: #b2002f;
    }

body.blog #main .couponArea .couponContent:hover .txt ul li:last-child a { color: #b2002f; }
body.blog #main .couponArea .couponContent .txt .tagBox {
    border-top: dotted 2px #CCC;
    padding-top: 12px;
    margin-top: 12px;
    font-size: 12px;
    }

@media only screen and (max-width: 1024px) {


body.blog #main .couponArea .couponContent { margin-bottom: 0; }

}

@media only screen and (max-width: 767px) {

body.blog #main .couponArea { margin: 0 0 30px; }
body.blog #main .couponArea .couponArea-innter {
    width: 48%;
    margin: 0 4% 24px 0;
    }

body.blog #main .couponArea .couponArea-innter:nth-child(3n) { margin: 0 4% 24px 0; }
body.blog #main .couponArea .couponArea-innter:nth-child(2n) { margin: 0 0 24px 0; }
body.blog #main .couponArea .couponContent .img { margin-right: 0; }
body.blog #main .newsTime { margin-bottom: 6px; }
body.blog #main .couponArea .couponContent .txt ul {
    flex-wrap: wrap;
    margin-top: 6px;
    }

body.blog #main .couponArea .couponContent .txt ul li { margin-bottom: 6px; }
body.blog #main .couponArea .couponContent .txt .tagBox {
    padding-top: 6px;
    margin-top: 6px;
    }

}

/*=================================================
    blog
=================================================*/

body.blog #main .sect {
    width: 100%;
    margin-bottom: 60px;
    }

body.blog #main .sect .titleArea{
    margin: 0 auto 12px;
    border-bottom: 5px solid #333;
    }

body.blog #main .sect .titleArea h3 {
    float: none;
    margin: 0;
    padding: 0 0 12px;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    color: #000;
    }

body.blog #main .newsTime {
    font-size: 12px!important;
    letter-spacing: 1px;
    color: #000;
    display: inline-block;
    margin-bottom: 6px;
    transition: .3s;
    }

body.blog #main .postUser {
    position: relative;
    font-size: 12px;
    font-weight: bold;
    color: #000;
    padding-left: 18px;
    transition: .3s;
    }

body.blog #main .postUser:hover { color: #b2002f; }
body.blog #main .postUser::before {
    content: "/";
    position: absolute;
    left: 5px;
    }

body.blog #main .sect .wrapper li {
    display: inline-block;
    float: none;
    margin-top: 3px;
    margin-right: 6px;
    padding: 0;
    color: initial;
    background-color: inherit;
    }

body.blog #main .sect .wrapper li a {
    color: #fff;
    background: #000;
    display: block;
    font-size: 12px;
    padding: 3px 12px;
    border-radius: 30px;
    transition: .3s;
    }

body.blog #main .sect .wrapper li a:hover { background: #b2002f; }
body.blog #main .articleTxt { margin-top: 36px; }

body.blog #main .articleTxt p {
    line-height: 24px;
    font-size: 14px;
    }

body.blog #main .blogTags {
    display: block;
    border-top: dotted 2px #CCC;
    margin-top: 12px;
    padding-top: 12px;
    font-size: 12px;
    }

@media only screen and (max-width: 1024px) {

body.blog #main .sect { padding: 0; }

}

@media only screen and (max-width: 767px) {

body.blog #main .sect .titleArea h3 {
    padding: 0 0 6px;
    font-size: 14px;
    }

body.blog #main .sect .wrapper li a { font-size: 10px; }
body.blog #main .articleTxt { margin-top: 24px; }
body.blog #main .sect { margin-bottom: 36px; }

}

/*=================================================
    voice
=================================================*/

body.voice #main { margin-bottom: 60px; }
body.voice #main .voiceBox {
    width: 100%;
    padding: 24px;
    margin-bottom: 24px;
    box-sizing: border-box;
    border: solid 1px #CCC;
    }

body.voice #main .voiceBox .voiceInner {
    position: relative;
    margin: 0 0 24px;
    padding: 24px;
    background: #f6f6f6;
    }

body.voice #main .voiceBox .voiceInner p.pickupWord {
    position: absolute;
    top: -9px;
    left: -9px;
    display: inline-block;
    color: #FFF;
    background: #F00;
    padding: 3px 18px;
    font-size: 12px;
    font-weight: bold;
    border-radius: 30px;
    }

body.voice #main .voiceBox .voiceInner dl dd {
    position: relative;
    margin: 0 0 0 18px;
    padding: 0;
    }

body.voice #main .voiceBox .voiceInner dl dd:before { left: -11px; }
body.voice #main .voiceBox .voiceInner p {
    margin: 0;
    font-size: 14px;
    line-height: 24px;
    }

body.voice #main .voiceBox .review .reviewInner {
    margin: 12px auto 24px;
    border-right: solid 1px #CCC;
    box-sizing: border-box;
    }

body.voice #main .voiceBox .review,
body.voice #main .voiceBox .reply {
    margin: 0 auto;
    }

body.voice #main .voiceBox .review h3,
body.voice #main .voiceBox .reply h3 {
    font-size: 14px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 5px solid #000;
    }

body.voice #main .voiceBox .review dl {
    display: flex;
    width: 20%;
    justify-content: space-between;
    font-size: 12px;
    font-weight: bold;
    padding: 0;
    margin: 0;
    border: solid 1px #CCC;
    border-right: none;
    box-sizing: border-box;
    }

body.voice #main .voiceBox .review dl dt {
    text-align: center;
    margin: 0;
    padding: 12px 0;
    width: 70%;
    background: #f6f6f6;
    border-right: solid 1px #CCC;
    box-sizing: border-box;
    }

body.voice #main .voiceBox .review dl dt.totalPoint {
    color: #F00;
    background: #ffe4e1;
    }

body.voice #main .voiceBox .review dl dd {
    width: 30%;
    text-align: center;
    margin: 0;
    padding: 12px 0;
    color: #daa520;
    }

body.voice #main .voiceBox .reply p {
    margin: 0;
    font-size: 14px;
    line-height: 24px;
    }

/* Pick Up !! */

body.voice #main .voiceBox.pickUp .voiceInner {
    background-color: #fdf0c8;
    margin-top: 0;
    padding: 30px 24px 24px;
    }

body.voice #main .voiceBox .voiceInner p.pickupWord {
    position: absolute;
    top: -9px;
    left: -9px;
    display: inline-block;
    color: #FFF;
    background: #F00;
    padding: 3px 18px;
    font-size: 12px;
    line-height: 18px;
    font-weight: bold;
    border-radius: 30px;
    }

@media only screen and (max-width: 1024px) {

body.voice #main { margin-bottom: 60px !important; }

}


@media only screen and (max-width: 767px) {

body.voice #main .voiceBox { padding: 12px; }
body.voice #main .voiceBox .voiceInner { padding: 12px; }
body.voice #main .voiceBox .voiceInner dl { flex-wrap: wrap; }
body.voice #main .voiceBox .voiceInner dl dt {
    margin-right: 0;
    margin-bottom: 6px;
    width: 100%;
    }

body.voice #main .voiceBox .voiceInner dl dd { margin: 0 18px 0 0; }
body.voice #main .voiceBox .voiceInner dl dd:before {
    left: initial;
    right: -12px;
    }

body.voice #main .voiceBox .voiceInner dl dd:last-child:before { content: ""; }
body.voice #main .voiceBox .review dl { width: 100%; }

/* Pick Up !! */

body.voice #main .voiceBox.pickUp .voiceInner { padding: 30px 12px 12px; }
body.voice #main .voiceBox .voiceInner p.pickupWord {
    top: -6px;
    left: -6px;
    }

}

/*=================================================
    gallery
=================================================*/

body.gallery #main .sect02 a {
    display: block;
    color: #000;
    font-size: 12px;
    margin-right: auto;
    line-height: 18px;
    transition: .3s;
    }

body.gallery #main .sect02 ul.wrapper li a img { transition: .3s; }
body.gallery #main .sect02 ul.wrapper li a p.imgOver {
    display: block;
    overflow: hidden;
    }

body.gallery #main .sect02 ul.wrapper li:hover a img {
    transform: scale(1.1);
    opacity: .75;
    }
    
body.gallery #main .sect02 ul.wrapper li:hover a { color: #b2002f; }
body.gallery #main ul.galleryCat { margin: 0 0 24px; }
body.gallery #main ul.galleryCat a:hover { background: #b2002f; }
body.gallery #main ul.galleryCat a {
    display: inline-block;
    color: #FFF;
    background: #e6003c;
    padding: 3px 12px;
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 18px;
    margin-right: 6px;
    border-radius: 30px;
    transition: .3s;
    }

body.gallery #main .sect02 ul.wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: inherit;
    margin: 0 auto 60px;
    }

body.gallery #main .sect02 ul.wrapper li {
    width: 33.3%;
    margin-bottom: 24px;
    margin-right: 0;
    display: inline-block;
    vertical-align: top;
    height: auto;
    }

.lightbox-title {
    margin-top: 6px;
    line-height: 24px;
    font-size: 14px;
    font-weight: bold;
    }

.lb-data .lb-caption {
    font-size: 14px;
    line-height: 24px;
    }

@media only screen and (max-width: 1024px) {

body.gallery #main .sect02 ul.wrapper li {
    width: 33.3% !important;
    margin: 0 0 24px !important;
    text-align: left;
    }

}

@media only screen and (max-width: 767px) {

body.gallery #main ul.galleryCat { margin: 0 0 12px; }
body.gallery #main ul.galleryCat a { font-size: 10px; }
body.gallery #main .sect02 ul.wrapper { margin: 0 auto 30px; }
body.gallery #main .sect02 ul.wrapper li { width: 50% !important; }
.lightbox-title {
    font-size: 12px;
    line-height: 18px;
    }

}

/*=================================================
    faq
=================================================*/

body.faq #main .sect .titleArea {
    margin: 0 auto 24px;
    padding: 0 0 12px;
    border-bottom: 5px solid #000;
    }

body.faq #main .styleBox { margin: 0 auto 60px; }
body.faq #main .sect .titleArea h3 { margin: 0; }
body.faq #main .sect .titleArea h3 span.jp {
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    }

div.accordion > ul > li > a {
    display: block;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    background-color: #e6003c;
    border-bottom: 1px solid #fff;
    cursor: pointer;
    padding: 14px 32px 14px 12px;
    position: relative;
    transition: .3s;
    }

div.accordion > ul > li > a:hover {
    background-color: #b2002f;
    opacity: 1;
    }

div.accordion > ul > li > ul > li {
    display: block;
    color: #000;
    font-size: 14px;
    padding: 24px 12px;
    position: relative;
    line-height: 24px;
    box-sizing: border-box;
    }

@media only screen and (max-width: 1024px) {

body.faq #sub,
body.faq #main {
    float: none !important;
    margin: 0 auto 60px;
    }

}

@media only screen and (max-width: 767px) {

body.faq #main .styleBox,
body.faq #sub, body.faq #main { margin: 0 auto 30px; }
div.accordion > ul > li > ul > li {
    font-size: 12px;
    line-height: 18px;
    }

}

/*=================================================
    access
=================================================*/

body.access #content {
    display: block;
    width: 100%;
    }

body.access #main .shopdate {
    width: 1060px;
    margin: 0 auto 60px;
    }

body.access #main .shopdate table {
    margin-bottom: 0;
    table-layout: fixed;
    width: 100%;
    }

body.access section .shopdate .titleArea {
    margin: 0 auto 24px;
    border-bottom: 5px solid #000;
    }

body.access #main .shopdate h3 {
    color: #333;
    font-size: 18px;
    font-family: 'Noto Sans JP';
    font-weight: bold;
    margin-bottom: 0;
    padding: 0 0 12px;
    }

body.access #main .shopdate h3 span.en {
    padding: 0;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 1px;
    }

body.access #main .shopdate h3 span.jp {
    margin-left: 6px;
    font-size: 14px;
    letter-spacing: 1px;
    }

body.access #main .shopdate td {
    padding: 12px 0;
    font-size: 14px;
    line-height: 24px;
    width: 20%;
    vertical-align: top;
    }

body.access #main .shopdate td:nth-child(2n) {
    padding-right: 0;
    width: 80%;
    }

body.access #main .shopdate a {
    color: #000;
    text-decoration: underline;
    }

.ggmap {
    width: 100%;
    height: 420px;
    position: relative;
    margin-bottom: -36px;
    padding: 0;
    overflow: hidden;
    }

.ggmap iframe { height: 420px; }

@media only screen and (max-width: 767px) {

body.access #main section { margin: 0 auto; }
body.access #main .shopdate { margin: 0 auto 12px; }
body.access section .shopdate .titleArea { margin: 0 auto 12px; }
body.access #main .shopdate td {
    display: block;
    padding: 6px 0;
    width: 100%;
    }

body.access #main .shopdate td:nth-child(2n) {
    width: 100%;    
    border-bottom: dotted 2px #CCC;
    padding: 0 0 12px;
    margin: 0 0 12px;
    }

body.access #main .shopdate tr:last-child td { border:none; }

.ggmap,
.ggmap iframe { height: 300px; }

}

/*=================================================
    company & recruit
=================================================*/

body.concept #main,
body.company #main,
body.recruit #main { margin: 0 auto 60px; }

body.concept #main .sect h2,
body.company #main .sect h2,
body.recruit #main .sect h2 {
    font-size: 18px;
    line-height: 24px;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: solid 5px #000;
    }

body.concept section.sect p,
body.recruit section.sect p,
body.company section.sect p {
    font-size: 14px;
    line-height: 24px;
    }

table.recruit, table.company {
    font-size: 14px;
    margin: 30px auto 0;
    width: 100%;
    }

table.recruit > tbody > tr > td:first-child,
table.company > tbody > tr > td:first-child {
    width: 30%;
    background: #f6f6f6;
    font-size: 14px;
    line-height: 24px;
    border-left: solid 5px #CCC;
    border-bottom: solid 1px #CCC;
    }

table.recruit > tbody > tr > td:nth-child(2),
table.company > tbody > tr > td:nth-child(2) {
    width: 70%;
    background: #FFF;
    line-height: 24px;
    border-bottom: solid 1px #CCC;
    }

table.recruit > tbody > tr:not(:last-child) > td,
table.company > tbody > tr:not(:last-child) > td {
    font-size: 14px;
    line-height: 24px;
    }

table.recruit > tbody > tr > td,
table.company > tbody > tr > td { padding: 12px; }

@media only screen and (max-width: 1024px) {

body.concept #main,
body.company #main,
body.recruit #main { margin: 0 auto 60px !important; }

}

@media only screen and (max-width: 767px) {

body.concept #main .sect h2,
body.company #main .sect h2,
body.recruit #main .sect h2 {
    font-size: 14px;
    padding-bottom: 6px;
    margin-bottom: 12px;
    }

table.recruit, table.company { margin: 12px auto 0; }
table.recruit > tbody > tr > td:first-child,
table.company > tbody > tr > td:first-child {
    display: block;
    width: 100%;
    padding: 6px 12px;
    box-sizing: border-box;
    }

table.recruit > tbody > tr > td:nth-child(2),
table.company > tbody > tr > td:nth-child(2) {
    display: block;
    width: 100%;
    font-size: 12px;
    line-height: 18px;
    margin-bottom: -3px;
    border:none;
    box-sizing: border-box;
    }

}

/*=================================================
    contact
=================================================*/

/*- contact - input -*/

body.contact #main { margin: 0 auto 60px; }
body.contact #main .contactInner { margin: 0 auto 30px; }
body.contact #main .input .contactInner dl {
    margin: 0 auto 12px;
    font-size: 14px;
    }

body.contact #main .input .contactInner dl dt {
    margin-bottom: 12px;
    font-weight: bold;
    }

body.contact #main .input .contactInner dl dt span {
    vertical-align: middle;
    font-size: 18px;
    line-height: 14px;
    color: #F00;
    margin-left: 3px;
    }

body.contact #main .input .contactInner dl dd input,
body.contact #main .input .contactInner dl dd textarea {
    padding: 12px;
    width: 100%;
    border-radius: 6px;
    box-sizing: border-box;
    }

body.contact #main .input .contactInner dl dd input:focus,
body.contact #main .input .contactInner dl dd textarea:focus {
    border-color: #e6003c;
    outline: none;
    }

body.contact #main .input .btn { margin: 0 auto; }
body.contact #main .btn input {
    height: auto;
    padding: 0;
    font-family: "Noto Sans JP";
    font-size: 14px;
    line-height: 36px;
    letter-spacing: 2px;
    box-sizing: border-box;
    border-radius: 6px;
    cursor: pointer;
    transition: .3s;
    }

body.contact #main .input .btn input#btnConfirm {
    color: #fff;
    background-color: #333;
    }

body.contact #main .input .btn input#btnReset:focus,
body.contact #main .input .btn input#btnConfirm:focus { outline: none; }

body.contact #main .input .btn input#btnReset:hover,
body.contact #main .input .btn input#btnConfirm:hover {
    opacity: 1;
    color: #FFF;
    background: #b2002f;
    }

/*- contact - check -*/

body.contact #main .confirm .contactInner dl {
    margin: 0 auto 12px;
    width: 100%;
    display: block;
    font-size: 14px;
    }

body.contact #main .confirm .contactInner dl dt {
    width: auto;
    font-weight: bold;
    margin-bottom: 12px;
    }

body.contact #main .confirm .contactInner dl dt span {
    vertical-align: middle;
    font-size: 18px;
    line-height: 14px;
    color: #F00;
    margin-left: 3px;
    }

body.contact #main .confirm .contactInner dl dd {
    width: 100%;
    margin: 0;
    padding: 12px;
    line-height: 18px;
    border: solid 1px #e1e1e1;
    background: #f6f6f6;
    border-radius: 6px;
    box-sizing: border-box;
    }

body.contact #main p.message {
    display: block;
    margin: 0 auto 36px;
    padding: 3px 0 3px 12px;
    text-align: left;
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    border-left: solid 3px #000;
    box-sizing: border-box;
    }

body.contact #main p.error {
    display: block;
    margin: 0 auto 36px;
    padding: 3px 0 3px 12px;
    text-align: left;
    font-size: 14px;
    line-height: 24px;
    font-weight: bold;
    color: #F00;
    border-left: solid 3px #F00;
    box-sizing: border-box;
    }

body.contact #main .confirm .btn {
    display: flex;
    justify-content: space-between;
    width: 630px;
    margin: 0 auto;
    }

body.contact #main .confirm .btn input#btnSend {
    color: #fff;
    background-color: #333;
    }

body.contact #main .confirm .btn input#btnBack:focus,
body.contact #main .confirm .btn input#btnSend:focus { outline: none; }

body.contact #main .confirm .btn input#btnBack:hover,
body.contact #main .confirm .btn input#btnSend:hover {
    opacity: 1;
    color: #FFF;
    background: #b2002f;
    }

/*- contact - send -*/

body.contact #main p.sendTxt {
    font-size: 12px;
    line-height: 24px;
    margin-bottom: 60px;
    }

body.contact #main .complete a.returnTop {
    margin: 0 auto;
    padding: 0;
    height: auto;
    font-size: 14px;
    line-height: 36px;
    background-color: #333;
    color: #FFF;
    font-weight: bold;
    border-radius: 6px;
    transition: .3s;
    }

body.contact #main .complete a.returnTop:focus { outline: none; }
body.contact #main .complete a.returnTop:hover { background: #b2002f; }

@media only screen and (max-width: 1024px) {

/*- contact - input -*/

body.contact #main { margin: 0 auto 60px !important; }

body.contact #main .contactInner,
body.contact #main .input .btn { width: 90%; }

body.contact #main .input .btn input#btnReset,
body.contact #main .input .btn input#btnConfirm {
    padding: 0;
    width: 48%;
    }

body.contact #main .input .contactInner dl dd input,
body.contact #main .input .contactInner dl dd textarea { font-size: 14px; }

/*- contact - check -*/

body.contact #main p.message { width: 90%; }
body.contact #main .confirm .btn { width: 90%; }
body.contact #main .confirm .btn input#btnBack,
body.contact #main .confirm .btn input#btnSend {
    padding: 0;
    width: 48%;
    }

/*- contact - send -*/

body.contact #main p.message,
body.contact #main p.error { margin: 0 auto 24px; }
body.contact #main p.sendTxt {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 30px;
    }

}

@media only screen and (max-width: 767px) {

body.contact #main .contactInner,
body.contact #main .input .btn { width: 100%; }
body.contact #main p.message { width: 100%; }
body.contact #main p.sendTxt { width: 100%; }

}

/*=================================================
	privacy policy
=================================================*/

body.privacy #main section { margin: 0 auto 60px; }
body.privacy section .shopdate { margin-bottom: 60px; }
body.privacy section .shopdate .titleArea {
    margin: 0 auto 24px;
    border-bottom: 5px solid #333;
    }

body.privacy #main .shopdate h3 {
    color: #333;
    font-size: 18px;
    font-family: 'Noto Sans JP';
    font-weight: bold;
    margin-bottom: 12px;
    }

body.privacy #main .shopdate ol li {
    list-style: decimal;
    font-size: 12px;
    line-height: 24px;
    padding-bottom: 6px;
    }

/*=================================================
	sitemap
=================================================*/

body.sitemap #main section { margin: 0 auto 60px; }
body.sitemap #main .shopdate ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto 60px;
    }

.main_page_link li,
.shop_page_link li {
    width: 22%;
    margin-left: 3%;
    color: #333;
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 12px;
    font-weight: bold;
    padding: 0;
    border-bottom: none;
    list-style: disc;
    }

.main_page_link li::before {
    display: none;
    content: "";
    }

.main_page_link p,
.shop_page_link p {
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    padding: 0 0 12px;
    margin: 0 0 30px;
    border-bottom: solid 5px #333;
    }

body.sitemap #main .shopdate ul a { transition: .3s; text-decoration: none; }
body.sitemap #main .shopdate ul a:hover { color: #b2002f; }

@media only screen and (max-width: 1024px) {

.main_page_link li, .shop_page_link li { width: 30%; }

}

@media only screen and (max-width: 767px) {

body.sitemap #main section { margin: 0 auto; }
body.sitemap #main .shopdate { margin: 0 auto 60px; }
.main_page_link li, .shop_page_link li { width: 100%; margin-left: 8%; }
.main_page_link p, .shop_page_link p { margin: 0 0 24px; }
body.sitemap #main .shopdate ul { margin: 0 auto; }

}

/*=================================================
	columns
=================================================*/

.card:hover .card_title,
.card:hover .label {
    color: #b2002f;
    }

.card:hover .label_parent,
.post_head .label_parent:hover,
.tags_label:hover {
    background: #b2002f;
    }

/*=================================================
	add style -2020/07/21- recruit btn
=================================================*/

body.recruit a.recruit-btn {
    position: relative;
    display: block;
    text-align: left;
    margin: 0 auto;
    padding: 18px;
    background: #e6003c;
    color: #FFF;
    width: 360px;
    font-size: 18px;
    line-height: 24px;
    font-weight: bold;
    border-radius: 6px;
    box-sizing: border-box;
    transition: .3s;
    }

body.recruit a.recruit-btn:hover { background: #b2002f; }
body.recruit a.recruit-btn::before,
body.recruit a.recruit-btn::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 0;
    }

body.recruit a.recruit-btn::before {
    right: 12px;
    box-sizing: border-box;
    width: 7px;
    height: 7px;
    border: 7px solid transparent;
    border-left: 7px solid #FFF;
    }

body.recruit a.recruit-btn::after {
    right: 18px;
    width: 8px;
    height: 6px;
    border-left: 12px solid #FFF;
    transition: .3s;
    }

body.recruit a.recruit-btn:hover::after {
    right: 18px;
    width: 8px;
    border-left: 18px solid #FFF;
    }

@media only screen and (max-width: 1024px) {

body.recruit a.recruit-btn { margin: 0 auto 120px; }

}

@media only screen and (max-width: 767px) {

body.recruit a.recruit-btn {
    width: 100%;
    margin: 0 auto 80px;
    padding: 12px 18px;
    font-size: 16px;
    }

}

/*=================================================
	add style -2020/07/21- recruit entry
=================================================*/

body.contact #main .contactInner .entry-other { min-height: 100px; }
body.contact #main .contactInner dd.entry-place-dd::before,
body.contact #main .contactInner dd.entry-employ-dd::before,
body.contact #main .contactInner dd.entry-work-dd::before {
    display: block;
    font-size: 12px;
    line-height: 18px;
    padding-left: 12px;
    margin-bottom: 12px;
    color: #333;
    border-left: solid 5px #333;
    }

body.contact #main .contactInner dd.entry-place-dd::before {
    content: "希望エリアまたは店舗名（わからない場合は都道府県）でご記入ください。";
    }

body.contact #main .contactInner dd.entry-employ-dd::before {
    content: "次のうちいずれかをご入力ください。「こだわらない」「新卒生」「正社員（中途）」「業務委託」「パート」";
    }

body.contact #main .contactInner dd.entry-work-dd::before {
    content: "次のうちいずれかをご入力ください。「スタイリスト」「アシスタント」「アイデザイナー」「ネイリスト」「サービススタッフ」";
    }

/*=================================================
	add style -2022/03/04- footer Btn - sugawara
=================================================*/

#shop-footer .footerBtn ul {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  gap: 20px;
}

@media screen and (max-width: 1024px) {
  #shop-footer .footerBtn ul li {
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  #shop-footer .footerBtn ul {
    gap: 0;
  }
  #shop-footer .footerBtn ul li {
    width: 100%;
  }
}
