@charset "utf-8";


/*----- 共通パーツ -----*/

/*フォントカラー*/

.colorA {
	color: #4B402D;
}

.colorB {
	color: #FFFFFF;
}

.borderA {
	border-color: #4B402D !important;
}

.borderB {
	border-color: #FFFFFF !important;
}

/* 丸アイコン */
.backColorA {
	background: #DFD9CC;
}

.backColorB {
	background: #FFFFFF;
}

.topTitIcon {
	margin-right: 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: relative;
}

/*タイトル*/

.topTitBox01 {
	display: flex;
	align-items: center;
}

.topTitText01 {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.topTitText02 {
	font-size: 40px;
    letter-spacing: 0.05em;
    line-height: 1.15em;
}

.topTitBox03 {
	margin-top: 30px;
}

.topTitText03 {
    font-size: 20px;
    letter-spacing: 0.05em;
    color: #4B402D;
    line-height: 1.4em;
}

.topTitBox04 {
	margin-top: 30px;
}

.topTitText04 {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #FFFFFF;
	line-height: 2.5em;
}

/* View more */

.topBtnLinkArea {
	display: flex;
	align-items: center;
	justify-content: center;
}

/*
.topBtnLink {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 201px;
    width: 100%;
	position: relative;
}

.topBtnLink > .topBtnBorder {
	border-bottom: 1px solid;
	width: 80px;
	transition: all .5s;
}

.topBtnLink:hover > .topBtntBorder {
	width: 40px;
	transition: all .5s;
}
*/

.topBtnLink {
	padding: 0 0 0 65px;
	max-width: 210px;
	width: 100%;
	display: block;
	position: relative;
	font-size: 16px;
}

.topBtnBorder {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 80px;
	overflow: hidden;
}

.topBtnBorder:before {
	content: "";
	margin: auto;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background: #4B402D;
	transition: .3s all;
}

.topRecruitBtnLinkArea .topBtnBorder:before {
	content: "";
	margin: auto;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background: #FFF;
	transition: .3s all;
}

.topFlowLinkArea .topBtnBorder:before {
	content: "";
	margin: auto;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	background: #FFF;
	transition: .3s all;
}

.topLinkText {
	margin: 0 0 0 1.5em;
}

.topBtnLink:hover .topBtnBorder:before {
	transform: translateX(30px);
	transition: .3s all;
}

.topLinkText {
    font-size: 20px;
}

/*shopLink*/

.shopBtnLink {
    max-width: 230px;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 17px 13px 17px 30px;
	position: relative;
    background-color: #F2EFE8;
    justify-content: space-between;
}

.shopBtnLinkMargin {
	margin: 0 0 20px;
}

.shopBtnText {
    font-weight: 600;
    font-size: 18px;
    letter-spacing: 0.05em;
    color: #4B402D;
    margin: 0 0 0 0;
}

.shopBtnArrowBox {
	max-width: 20px;
    width: 100%;
	position: absolute;
	top: 14px;
	right: 13px;
}

.shopBtnArrowBox {
    transition: .3s ease-in-out;
}

.shopBtnLink:hover .shopBtnArrowBox {
    transform: translate(10px, -10px);
    transition: .3s ease-in-out;
}

/*----- 共通ここまで -----*/

/* カバー */

.topCoverMaskImgBox {
	z-index: 1;
}

.topCoverTextArea {
	z-index: 1;
}

/* topWr01 */

.topWr01 {
	overflow: hidden;
}

.topConceptLink > .topConceptBorder {
	border-bottom: 1px solid #4B402D;
	width: 80px;
	transition: all .5s;
}

.topConceptLink:hover > .topConceptBorder {
	width: 40px;
	transition: all .5s;
}

.topConceptBackColorBox {
	z-index: -1;
}

/*----- topWr02 ------*/

/*
    background-image: linear-gradient(to right, #000, #000 1px, transparent 1px, transparent 8px);
    background-size: 3px 1px;
    background-position: left bottom;
    background-repeat: repeat-x;
*/

.topMenuBox01 {
	background-image: linear-gradient(to right, #9D9889, #9D9889 1px, transparent 1px, transparent 8px);
    background-size: 2px 2px;
    background-position: right bottom;
    background-repeat: repeat-x;
}

.topMenuBorderTop {
	height: 2px;
	background-image: linear-gradient(to right, #9D9889, #9D9889 1px, transparent 1px, transparent 8px);
    background-size: 2px 2px;
    background-position: right bottom;
    background-repeat: repeat-x;
}

.topMenuBorderBottom {
	background-image: linear-gradient(to right, #9D9889, #9D9889 1px, transparent 1px, transparent 8px);
    background-size: 2px 2px;
    background-position: right bottom;
    background-repeat: repeat-x;
}

.topMenuImgBox01 {
	display: none;
}

.topMenuImgBox02 {
	display: none;
}

.topLinkIcon01 {
    transition: .3s ease-in-out;
}

.topMenuCourseLink:hover .topLinkIcon01 {
    transform: translate(10px, -10px);
    transition: .3s ease-in-out;
}

/*----- topWr03 -----*/

.topWr03:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(41, 35, 21, 0.7);
}

.topTheShopBackColor {
	z-index: -1;
}

/*----- topWr04 -----*/

.topTherapistBannerBox {
	transition: all .5s;
}

.topTherapistBannerBox:hover {
	transition: all .5s;
	opacity: 0.5;
}

/*----- topWr05 -----*/

.topWr05:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(41, 35, 21, 0.7);
}

.topFlowItem01 {
	z-index: 2;
}

.topFlowBorder {
	z-index: 1;
}

/*----- topWr06 -----*/

.topNewsLink {
	display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
	padding: 0 2.67% 0 3.72%;
	transition: all .5s;
	background-image: linear-gradient(to right, #9D9889, #9D9889 1px, transparent 1px, transparent 8px);
    background-size: 2px 2px;
    background-position: right bottom;
    background-repeat: repeat-x;
}

.topNewsLink:hover {
	transition: all .5s;
	opacity: 0.7;
}

.topNewsCateSet {
    display: flex;
    align-items: center;
	margin-bottom: 18px;
}

.topNewsDate {
    color: #333333;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-right: 30px;
}

.topNewsCate {
    width: auto;
    padding: 1px 20px;
	color: #333333;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.05em;
	border: 1px solid #C6C3BE;
}

.topNewsTit {
    color: #333333;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding-bottom: 32px;
}

.topNewsLinkIcon {
    transition: .3s ease-in-out;
	max-width: 28px;
	width: 100%;
}

.topNewsLink:hover .topNewsLinkIcon {
    transform: translate(10px, -10px);
    transition: .3s ease-in-out;
}

/*----- topWr07 -----*/

.topContactLink01 {
	transition: all .5s;
}

.topContactLink01:hover {
	transition: all .5s;
	transform: translateY(-8px);
}

.topContactLink02 {
	transition: all .5s;
}

.topContactLink02:hover {
	transition: all .5s;
	transform: translateY(-8px);
}

.topContactLink03 {
	transition: all .5s;
}

.topContactLink03:hover {
	transition: all .5s;
	transform: translateY(-8px);
}

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:768px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- 共通パーツ -----*/

/*タイトル*/

.topTitText01 {
    font-size: 22px;
}

.topTitText02 {
	font-size: 60px;
}

.topTitText03 {
    font-size: 40px;
}

.topTitBox04 {
	margin-top: 60px;
}

.topTitText04 {
	font-size: 18px;
}

/* View more */

.topBtnLinkArea {
	justify-content: flex-end;
}

/*shopLink*/

.shopBtnLinkMargin {
	margin: 0 20px 0 0;
}

/*----- ここまで -----*/

/*----- topWr01 -----*/

.topConceptTextArea01 .topBtnLinkArea {
	width: 100% !important;
	justify-content: center !important;
}

/*----- topWr02 -----*/

.shopBtnLinkMargin {
	margin-right: 20px;
}

/*----- topWr02 -----*/

.topNewsDate {
    font-size: 18px;
}

.topNewsCate {
	font-size: 18px;
}

.topNewsTit {
    font-size: 20px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 768px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1024px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- 共通パーツ -----*/

/*タイトル*/

.topTitText01 {
    font-size: 25px;
}

.topTitText02 {
	font-size: 72px;
}

.topTitText03 {
    font-size: 60px;
}

/*----- ここまで -----*/

/*----- topWr02 ----*/

.topMenuImgBox01 {
	display: block;
}

.topMenuImgBox02 {
	display: block;
}

.topMenuImgSubBox01 {
	display: none;
}

.topMenuImgSubBox02 {
	display: none;
}


/*----- topWr07 -----*/

.topContactArea .topTitText02 {
	font-size: 66px !important;
}

.topContactLink01 {
    max-width: 346px !important;
}

.topContactLink02 {
    max-width: 330px !important;
}

.topContactLinkSet {
    justify-content: space-around !important;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1024px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1100px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topMenuImgBox04 {
	position: absolute !important;
	left: -45px !important;
	top: 107px !important;
}

.topTitText02 {
	font-size: 80px;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1100px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1150px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

.topTherapistLeftArea {
	margin: 0 5.81% 0 3.72% !important;
}

.topTherapistRightArea {
	width: 49.5% !important;
	margin: 0 10.44% 0 0 !important;
}

.topTherapistArea {
	padding: 145px 0 121px 0 !important;
	flex-direction: row !important;
	justify-content: flex-start !important;
}


/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1150px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1270px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- topWr07 -----*/

.topContactLink01 {
    max-width: 471px !important;
	padding: 34.5px 5px 30.5px 5px !important;
}

.topContactLink02 {
    max-width: 403px !important;
	padding: 35.4px 0 33.9px 0 !important;
}

.topContactLinkSet {
    justify-content: space-between !important;
}

.topContactLinkText01 {
	font-size: 20px !important;
}

.topContactLinkText02 {
	font-size: 20px !important;
}

.topContactLinkText03 {
	font-size: 20px !important;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1270px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1300px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- topWr07 -----*/

.topContactArea .topTitText02 {
	font-size: 80px !important;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1300px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

@media screen and (min-width:1570px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- topWr02 -----*/

.topMenuLeftArea {
	width: 55% !important;
	padding: 0 0 0 6.58% !important;
}

.topMenuRightArea {
	margin: 0 0 0 1% !important;
	width: 45% !important;
	justify-content: flex-end !important;
}

.topMenuBox02 {
	flex-direction: row !important;
	align-items: flex-end !important;
}

.topMenuCourseLink:first-of-type {
	padding: 18px 2% 17px 3.5% !important;
}

.topMenuCourseBox {
	display: flex !important;
}

.topMenuCourseItem01 {
	width: 33% !important;
}

.topMenuCourseItem02 {
	margin: 0 !important;
}

.topMenuImgBox01 {
    top: 200px !important;
}

.topMenuImgBox02 {
    bottom: 0px !important;
}

/*----- topWr04 -----*/

.topShopArea {
	flex-direction: row !important;
	padding: 106px 15px 102px 15px !important;
    align-items: flex-start !important;
}

.topShopTitArea {
	margin: 0 5.78% 0 0 !important;
}

.topConceptBox02 {
	padding: 0 0 0 19.85% !important;
	justify-content: flex-start !important;
}

.topConceptImgSet {
	margin: 0 !important;
}

.topConceptImgBox03 {
	margin: 0 0 0 0;
	position: absolute;
	right: 0;
	top: 419px;
}

.topConceptImgBox04 {
	display: block !important;
    position: absolute;
    bottom: 811px;
    left: 0;
	z-index: 1;
}

.topConceptTextArea01 .topBtnLinkArea {
	justify-content: flex-end !important;
}

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1570px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

@media screen and (min-width:1600px) {

/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */
/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */

/*----- topWr05 -----*/

.topFlowLeftArea:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: linear-gradient(to bottom, #F2EFE8, #F2EFE8 1px, transparent 2px, transparent 8px);
    background-size: 2px 4px;
    background-position: right top;
    background-repeat: repeat-y;
}

.topFlowRightArea {
	width: 55% !important;
	margin: 0 0 0 2.63% !important;
}

.topFlowArea {
	flex-direction: row !important;
}

.topFlowLeftArea {
	display: block !important;
	margin: 0 0 0 0 !important;
	position: relative !important;
	padding: 0 2.89% 0 0 !important;
	width: 45% !important;
}
  
 @media screen and (min-width: 1600px) {
    .topConceptImgBox04-03 {
        bottom: 100px;
    }
}

.topFlowTitArea {
	display: block !important;
}

.topFlowBoxWidth {
	width: 89% !important;
}

.topFlowLinkMain {
	display: flex !important;
}

.topFlowLinkSub {
	display: none !important;
}
  
  .topConceptImgBox04-02 {
    bottom: 1200px;
  }

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

} /* min-width: 1600px ここまで */

/* ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ */

.topPd01_02{padding-bottom: 0px;}

@media (min-width: 1024px) {
    .topPd01_02 {
       padding-bottom: 0px;
    }
}
@media (min-width: 768px) {
    .topPd01_02  {
        padding-bottom: 0px;
    }
}

@media screen and (min-width: 1570px) {
    .topConceptImgBox03_04 {
        top: 1550px;
    }
}

@media screen and (min-width: 1600px) {
    .topConceptImgBox04-03 {
        bottom: 100px;
    }
}
@media  screen and (min-width: 768px) {
    body .topConceptImgBox02_01 {
        right: 1%;
    }
}

@media screen and (max-width: 870px) {
    body .topConceptImgBox02_01 {
        right: -1000px;
    }
}
@media screen and (max-width: 413px) {
   body div.topPd01_02 {
        padding-top: 0px;
    }
}