@charset "UTF-8";

@media print, screen and (max-width:1199px) {

#kvWrap {
position: relative;
width: 100vw;
height: 500px;
z-index: -1;
}

#kvWrap::before {
position: absolute;
background: url("../img/fv_bg.png") no-repeat center;
background-size: cover;
width: 100vw;
height: 500px;
content: "";
left: 0;
top: 0;
z-index: 0;
}

#kvWrap video {
position: absolute;
z-index: -1;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 177.77777778vh;
height: 56.25vw;
min-height: 100%;
min-width: 100%;
}

#kvWrap h1 {
position: absolute;
font-family: var(--font-NotoSerifJP);
font-size: 2.8rem;
text-align: left;
color: #fff;
left: 35px;
bottom: 30px;
line-height: 1.3;
text-shadow: #000 0 0 10px;
z-index: 5;
}

#kvWrap h1 i {
font-family: var(--font-primary);
font-size: 1.3rem;
letter-spacing: .2em;
}

#kvWrap h1 span {
font-size: 3rem;
}

#deco {
display: none;
}

#scrollFont {
position: absolute;
font-family: var(--font-cormorant);
font-size: 1.2rem;
color: #fff;
left: -14px;
bottom: 148px;
transform: rotate(90deg);
line-height: 1;
letter-spacing: .2em;
z-index: 5;
}

#scroll {
position: absolute;
background-color: #fff;
width: 1px;
height: 113px;
left: 15px;
bottom: 0;
z-index: 5;
}

#scrollAni {
position: absolute;
width: 1px;
height: 113px;
left: 15px;
bottom: 0;
overflow: hidden;
z-index: 6;
animation: scroll 2.5s infinite;
}

#scrollAni::before {
position: relative;
background-color: #000;
content: "";
display: block;
margin: 0 auto;
width: 1px;
height: 20px;
z-index: 7;
}
@keyframes scroll {
0% {
 opacity: 1;
}
80% {
 opacity: 1;
}
100% {
 opacity: 1;
 transform: translateY(93px);
}
}

#wrapBannerAll {
position: relative;
background: url("../img/banner_bg.png") no-repeat right top;
background-size: 90%;
width: 100%;
}

#wrapBanner {
position: relative;
width: 88%;
margin: 0 auto;
padding: 40px 0 100px;
}

#wrapBanner .banner {
width: 100%;
margin-bottom: 15px;
}

#wrapBanner .bannerShadow {
width: 100%;
margin-bottom: 15px;
box-shadow: 0 10px 20px #0000001A;
}
.bannerFlex .banner2Shadow {
width: 100%;
margin-bottom: 15px;
box-shadow: 0 10px 20px #0000001A;
}

.wrapWrap {
position: relative;
width: 100%;
}

.wrapBase {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
padding: 100px 0;
}

.commonFlexJs {
display: flex;
justify-content: space-between;
}

.alignItemsCe {
align-items: center;
}

.flexWrap {
flex-wrap: wrap;
}

/*MENU*/

#wrapMenuBase {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
padding: 0 0 30px;
}

#menuObjBg {
display: none;
}

#menuObjLine {
display: none;
}

#treatment {
width: 100%;
font-size: 1.3rem;
font-weight: 500;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 1px solid #6D6358;
}

#browseByCategory {
width: 90%;
font-size: 1.6rem;
font-weight: 700;
color: #6D6358;
margin: 0 auto;
margin-bottom: 20px;
letter-spacing: .2em;
}

.menuTitle {
position: relative;
font-family: var(--font-montserrat);
font-size: 4rem;
font-weight: 500;
color: #4E4338;
margin-bottom: 30px;
line-height: 1;
}

.menuTitle span {
font-family: var(--font-primary);
font-size: 1.4rem;
color: #7E8E7C;
margin-left: 20px;
}

.menuTitle::after {
position: absolute;
background: url("../img/menu_img.png") no-repeat left;
background-size: 330px;
width: 330px;
height: 130px;
content: "";
z-index: -1;
left: -60px;
top: -110px;
}

.wrapMenuR {
}

#wrapMenu {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
}

.menuCate {
position: relative;
background-color: #fff;
width: 100%;
margin-bottom: 10px;
box-shadow: 0 5px 20px rgba(130,130,130,.25);
line-height: 1;
}

.menuCate a {
height: 60px;
padding: 8px;
display: block;
text-decoration: none;
}

.menuCate .menuBtnPhoto {
width: 44px;
}

.menuCate h3 {
position: relative;
width: 80%;
font-size: 1.4rem;
font-weight: 700;
}

.menuCate h3::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #4E4338;
border-right: 1px solid #4E4338;
transform: rotate(45deg);
right: 10px;
top: 0;
bottom: 0;
transition: .5s;
}

.menuSpFlex {
display: flex;
justify-content: space-between;
}

.menuSpFlex img {
width: 100px;
}

.menuBottom {
position: relative;
background-color: #fff;
width: 100%;
margin-bottom: 20px;
text-align: left;
box-shadow: 0 4px 4px rgba(0,0,0,.25);
}

.menuBottom a {
height: 140px;
display: block;
text-decoration: none;
}

.menuBottom .inner {
width: 80%;
height: 140px;
padding: 0 30px;
display: table;
line-height: 1;
}

.menuBottom .inner h3 {
position: relative;
font-size: 1.6rem;
font-weight: 500;
vertical-align: middle;
display: table-cell;
letter-spacing: .12em;
}

.menuBottom .inner h3::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #4E4338;
border-right: 1px solid #4E4338;
transform: rotate(45deg);
right: 0;
top: 0;
bottom: 0;
transition: .5s;
}

/**/

.accordion {
position: relative;
width: 100%;
margin-inline: auto;
margin-top: 30px;
}

.accordion-item {
background-color: #333;
margin-bottom: 15px;
box-shadow: 0 5px 20px rgba(130,130,130,.25);
}

.accordion-title {
cursor: pointer;
font-size: 1.4rem;
color: #fff;
font-weight: 700;
padding: 20px 30px;
}

.accordion-titleN a {
font-size: 1.4rem;
font-weight: 700;
color: #fff;
display: block;
padding: 20px 30px;
}

.accordion-titleN a:hover {
text-decoration: none !important;
}

.accordion-content {
font-size: 1.4rem;
display: none;
padding: 0 30px 20px;
}

.accordion-content nav {
line-height: 35px;
}

.accordion-content nav ul li {
position: relative;
padding-left: 15px;
}

.accordion-content nav ul li::before {
position: absolute;
width: 6px;
height: 6px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
top: 0;
bottom: 0;
}

.accordion-content nav ul li a {
color: #fff;
text-decoration: none;
}

.accordion-title {
position: relative;
}

.accordion-title::before {
background: #fff;
content: "";
height: 2px;
position: absolute;
right: 25px;
top: 50%;
transform: rotate(90deg);
transition: transform .3s ease-in-out;
width: 15px;
}

.accordion-title::after {
background: #fff;
content: "";
height: 2px;
position: absolute;
right: 25px;
top: 50%;
transition: opacity .3s ease-in-out;
width: 15px;
}

.accordion-title.open::before {
transform: rotate(180deg);
}

.accordion-title.open::after {
opacity: 0;
}

/*CASE*/

#wrapCaseBase {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
padding: 80px 0 0;
}

.caseTitle {
position: relative;
font-family: var(--font-montserrat);
font-size: 4rem;
font-weight: 500;
color: #4E4338;
margin-bottom: 30px;
line-height: 1;
}

.caseTitle span {
font-family: var(--font-primary);
font-size: 1.4rem;
color: #7E8E7C;
margin-left: 30px;
}

.caseTitle::after {
position: absolute;
background: url("../img/case_img.png") no-repeat left;
background-size: 262px;
width: 262px;
height: 208px;
content: "";
z-index: -1;
left: -20px;
top: -150px;
}

#bySubject {
width: 100%;
font-size: 1.4rem;
font-weight: 500;
/*margin-bottom: 20px; 表示用*/
margin-bottom: 40px; /*非表示用*/
padding-bottom: 10px;
border-bottom: 1px solid #6D6358;
}

.wrapCaseR {
}

#wrapCase {
position: relative;
width: 90%;
margin: 0 auto;
}

.caseCate {
position: relative;
width: 100%;
font-size: 1.4rem;
font-weight: 700;
margin-top: 10px;
border-bottom: 1px solid #6D6358;
}

.caseCate a {
padding: 10px 15px;
display: block;
}

.caseCate a:hover {
text-decoration: none;
}

.caseCate h3::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #4E4338;
border-right: 1px solid #4E4338;
transform: rotate(45deg);
right: 10px;
top: 0;
bottom: 0;
transition: .5s;
}

.caseCate:hover h3::after {
right: 5px;
}

.caseWrapFlex {
position: relative;
width: 100%;
margin-bottom: 50px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.caseBg,
.caseBgW {
display: none;
}

.casePhoto {
position: relative;
width: 100%;
margin-bottom: 20px;
}

.caseNumber {
position: absolute;
width: 150px;
z-index: 1;
right: 10px;
top: -40px;
}

.caseDetails {
background-color: #f3f3f3;
width: 100%;
text-align: justify;
margin: 0 auto;
padding: 30px;
}

.caseDetails h3 {
position: relative;
background-color: #000;
width: auto;
height: 40px;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
display: table;
padding: 0 12px;
line-height: 36px;
left: -30px;
}

.treatmentDetailsFlex {
margin: 30px auto;
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid #d3d3d3;
align-items: center;
}

.treatmentDetails {
background-color: #fff;
width: 100px;
height: 30px;
font-size: 1.3rem;
text-align: center;
margin-bottom: 10px;
line-height: 28px;
}

.treatmentTxt {
}

/*CAMPAIGN*/

#wrapWrapCampaign {
position: relative;
width: 100%;
}

#campaignPhoto {
position: absolute;
width: 100%;
margin: auto;
left: -1100px;
right: 0;
top: 10px;
}

#campaignPhoto::after {
position: absolute;
background: url("../img/campaign.png") no-repeat;
background-size: 43px;
width: 43px;
height: 350px;
content: "";
margin: auto;
z-index: 1;
right: -20px;
top: 24%;
bottom: 0;
}

#campaignObj {
display: none;
}

#wrapCampaignBase {
position: relative;
width: 100%;
text-align: left;
margin: 0 auto;
}

#wrapCampaignR {
}

#wrapCampaign {
position: relative;
width: 90%;
margin: 0 auto;
}

#campaignSnsFlex {
margin-bottom: 30px;
}

#wrapCampaign h2 {
position: relative;
font-family: var(--font-montserrat);
width: 270px;
font-size: 3rem;
font-weight: 600;
margin-bottom: 10px;
letter-spacing: .2em;
line-height: 1;
}

#campaignSns {
width: 90%;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#campaignSns img {
width: 75%;
filter: drop-shadow(0 0 30px rgba(0,0,0,.1));
}

#wrapCampaign h3 {
position: relative;
color: #7E8E7C;
margin-bottom: 20px;
}

.campaignDl {
position: relative;
z-index: 0;
}

.campaignDl a {
position: absolute;
width: 100%;
height: 100%;
display: block;
left: 0;
top: 0;
z-index: 1;
}

.campaignDl dt {
float: left;
font-weight: 700;
padding: 20px 0;
}

.campaignDl dd {
padding: 20px 0 20px 75px;
border-bottom: 1px solid #d3d3d3;
}

.btnMore {
position: relative;float: right;
background-color: #fff;
font-family: var(--font-montserrat);
width: 156px;
height: 50px;
font-size: 1.3rem;
font-weight: 600;
text-align: left;
color: #333;
margin: 20px auto;
padding: 0 15px;
cursor: pointer;
letter-spacing: .1em;
border-left: 0;
border-top: 0;
border-right: 0;
border-bottom:  1px solid #000;
}

.btnMore::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(45deg);
right: 15px;
top: 0;
bottom: 0;
transition: .5s;
}

.btnMore:hover::after {
right: 10px;
}

/*CONTACT*/

#wrapWrapContact {
display: none;
}

#wrapWrapContactCo {
position: relative;
background: #333 url("../img/contact_img.png") no-repeat 10px 10px;
background-size: 280px;
color: #fff;
padding: 50px 0 66px;
}

#wrapWrapContact h2,
#wrapWrapContactCo h2 {
font-size: 2.2rem;
font-weight: 700;
margin-bottom: 20px;
}

#wrapWrapContact::before {
position: absolute;
width: 0;
height: 0;
content: "";
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #fff;
transform: rotate(-45deg);
z-index: 1;
left: -34px;
top: -24px;
}

#wrapWrapContact::after {
position: absolute;
width: 0;
height: 0;
content: "";
border-left: 40px solid transparent;
border-right: 40px solid transparent;
border-bottom: 40px solid #fff;
transform: rotate(135deg);
z-index: 1;
right: -34px;
bottom: -24px;
}

#btnFlex {
width: 88%;
margin: 30px auto;
display: flex;
justify-content: space-between;
}

#btnWeb {
position: relative;
background: #fff url("../img/contact_btn_monitor.png") no-repeat center 15px;
background-size: 25px;
width: 48%;
height: 100px;
font-size: 1.3rem;
font-weight: 700;
text-align: center;
color: #333;
padding-top: 30px;
cursor: pointer;
letter-spacing: .1em;
border-left: 0;
border-top: 0;
border-right: 0;
border-bottom:  1px solid #000;
}

#btnWeb span {
font-family: var(--font-montserrat);
font-size: 1.5rem;
font-weight: 700;
}

#btnWeb::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(45deg);
right: 15px;
top: 0;
bottom: 0;
transition: .5s;
}

#btnLine {
position: relative;
background: #fff url("../img/contact_btn_line.svg") no-repeat center 15px;
background-size: 25px;
width: 48%;
height: 100px;
font-size: 1.3rem;
font-weight: 700;
text-align: center;
color: #333;
margin: 0;
padding-top: 30px;
cursor: pointer;
letter-spacing: .1em;
border-left: 0;
border-top: 0;
border-right: 0;
border-bottom:  1px solid #000;
}

#btnLine span {
font-family: var(--font-montserrat);
font-size: 1.5rem;
font-weight: 700;
}

#btnLine::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
right: 15px;
top: 0;
bottom: 0;
transition: .5s;
}

#wrapCall {
width: 88%;
height: 140px;
font-size: 1.6rem;
font-weight: 700;
margin: 0 auto;
padding-top: 14px;
border-top: 1px solid #d3d3d3;
border-bottom: 1px solid #d3d3d3;
}

#wrapCall a {
color: #fff;
}

#wrapCall a:hover {
text-decoration: none;
}

#wrapCall #numberCall {
background: url("../img/contact_call.png") no-repeat left;
background-size: 32px;
font-family: var(--font-cormorant);
font-size: 4rem;
display: table;
margin: 0 auto;
padding-left: 40px;
line-height: 1.2;
font-weight: 400;
}

/*ACCESS*/

#wrapWrapAccess {
position: relative;
width: 100%;
padding: 30px 0 0;
}

#accessMap {
width: 100%;
margin-bottom: 30px;
}

.googleMap {
position: relative;
width: 100%;
height: 400px;
margin: 0 auto;
padding-top: 66.25%;
}

.googleMap iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

#accessR {
width: 88%;
text-align: left;
margin: 0 auto;
margin-bottom: 120px;
}

#accessR #accessLogoA {
width: 170px;
margin: 0 auto;
margin-bottom: 20px;
}

#accessR h2 {
font-family: var(--font-montserrat);
font-size: 4rem;
font-weight: 500;
color: #4E4338;
margin-bottom: 10px;
letter-spacing: .05em;
line-height: 1.5;
}

#accessDetail dt {
float: left;
font-size: 1.4rem;
margin-bottom: 5px;
}

#accessDetail dd {
margin-bottom: 5px;
padding: 3px 0 3px 22px;
}

#accessR #accessDetailBottom {
position: relative;
font-size: 1.1rem;
line-height: 2;
}

#googleMapLink {
position: relative;
font-size: 1.3rem;
text-align: right;
padding-right: 20px;
}

#googleMapLink::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #333;
border-right: 1px solid #333;
transform: rotate(45deg);
right: 0;
top: 0;
bottom: 0;
transition: .5s;
}

#googleMapLink a:hover {
text-decoration: none;
}

/*FEATURES*/

#wrapWrapFeatures {
position: relative;
width: 100%;
margin-top: -100px;
padding: 0 0 60px;
}

#featuresLeaf {
display: none;
}

#wrapFeatures {
position: relative;
width: 90%;
margin: 0 auto;
padding-top: 40px;
display: flex;
justify-content: space-between;
}

#btnFeatures,
#btnQa {
position: relative;
background-color: #333;
background-size: 40px;
width: 49%;
height: 80px;
font-size: 1.2rem;
font-weight: 700;
text-align: left;
color: #fff;
padding: 0 30px 0 15px;
display: block;
cursor: pointer;
letter-spacing: .1em;
border: 0;
z-index: 2;
box-shadow: 0 0 30px rgba(0,0,0,.1);
}

#featuresEn,
#qaEn {
position: absolute;
font-family: var(--font-montserrat);
font-size: 3rem;
font-weight: 300;
color: #ebebeb;
left: 15px;
top: -15px;
line-height: 1;
z-index: 3;
}

#btnFeatures::after,
#btnQa::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 15px;
top: 0;
bottom: 0;
transition: .5s;
}

#featuresImg {
display: none;
}

#featuresBg {
display: none;
}

#featuresPhoto {
display: none;
}

/*GALLERY*/

#wrapGalleryBase {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
padding: 20px 0 130px;
}

#galleryTitleBg {
position: absolute;
background: url("../img/gallery_img.png") no-repeat left;
background-size: 300px;
width: 300px;
height: 231px;
content: "";
z-index: -1;
left: -20px;
top: -140px;
}

#galleryBtn {
background-color: #333;
width: 100%;
box-shadow: 0 10px 30px rgba(0,0,0,.2);
}

#galleryBtn a {
color: #fff;
display: block;
}

#galleryBtn a:hover {
text-decoration: none;
}

#galleryPhoto {
width: 100%;
}

#galleryTitle {
position: relative;
width: 100%;
padding: 30px;
}

#galleryTitle h2 {
position: relative;
font-size: 1.3rem;
text-align: center;
text-align: left;
display: table;
margin: 0 auto;
line-height: 1.5;
letter-spacing: .2em;
left: -10px;
}

#galleryTitle h2 span {
font-family: var(--font-montserrat);
font-size: 2.4rem;
font-weight: 700;
display: block;
letter-spacing: .25em;
}

#galleryTitle::after {
position: absolute;
width: 20px;
height: 20px;
content: "";
margin: auto;
border-top: 2.5px solid #fff;
border-right: 2.5px solid #fff;
transform: rotate(45deg);
right: 30px;
top: 0;
bottom: 0;
transition: .5s;
}

#galleryBaseBg {
position: absolute;
background: url("../img/gallery_bg.jpg") no-repeat;
background-size: 2987px;
width: 2987px;
height: 300px;
margin: auto;
z-index: -1;
top: 0;
bottom: -60px;
left: 50px;
}

/**/

.titleMenuWrap {
width: 100%;
margin-top: 70px;
margin-bottom: 90px;
display: flex;
justify-content: flex-end;
}

.bgBeginner {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgAbout {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgThreadLift {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgGyneco {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgBotoxInjection {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgBeautyDermatology {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgHaluronicAcid {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgDarkCirclesRemoval {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgNose {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgDoubleEyelid {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgHifu {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgMouth {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgEye {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgReservation {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgPrice{
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.bgPp {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.titleCo {
position: absolute;
background-color: #333;
width: 80%;
height: 50px;
font-size: 2rem;
font-weight: 500;
color: #fff;
text-align: left;
margin: auto;
padding: 0 10px;
line-height: 46px;
letter-spacing: .1em;
z-index: 1;
left: 15px;
top: 0;
bottom: -90px;
}

.titleCoEn {
position: absolute;
font-family: var(--font-montserrat);
width: 84%;
font-size: 1.7rem;
font-weight: 400;
color: #4E4338;
text-align: right;
margin: auto;
letter-spacing: .1em;
border-bottom: 3px solid #4E4338;
z-index: 1;
left: 0;
bottom: -80px;
}

#titleWrap {
width: 100%;
margin-top: 70px;
margin-bottom: 70px;
}

.bgFaq {
position: relative;
background-color: #f2f4f4;
width: 100%;
height: 74px;
}

.titleCo2 {
position: absolute;
font-family: var(--font-montserrat);
width: 100%;
font-size: 3.2rem;
font-weight: 500;
color: #4E4338;
text-align: left;
margin: auto;
line-height: 1.4;
letter-spacing: .1em;
z-index: 1;
left: 20px;
right: 0;
bottom: -42px;
}

.titleCo2 span {
font-size: 1.4rem;
font-weight: 700;
display: block;
letter-spacing: .05em;
}

.breadcrumbWrap {
width: 90%;
min-height: 20px;
margin: 0 auto;
}

.breadcrumb {
font-size: 1.1rem;
text-align: left;
margin: 2;
}

.wrapCo,
.wrapCoS {
width: 90%;
font-weight: 400;
text-align: justify;
margin: 40px auto;
margin-bottom: 60px;
}

/*初めての方へ*/

#wrapBeginner {
position: relative;
width: 90%;
text-align: justify;
margin: 0 auto;
padding: 40px 0 10px;
}

#beginnerFlex {
position: relative;
width: 100%;
}

#beginnerPhoto01 {
width: 100%;
margin-bottom: 20px;
}

#beginnerPhoto01 img {
width: 100%;
}

#beginnerTxtR01 {
width: 90%;
font-size: 1.4rem;
font-weight: 400;
margin: 0 auto;
line-height: 2.2;
}

#beginnerTxtR01 h2 {
font-size: 2.4rem;
margin-bottom: 5px;
}

#beginnerPhoto02 {
position: absolute;
width: 40%;
z-index: 1;
right: 0;
top: 120px;
}

#beginnerWrap {
position: relative;
width: 90%;
margin: 0 auto;
margin-top: 40px;
}

.beginnerPhoto03 {
width: 100%;
margin-bottom: 30px;
}

.beginnerTxtR02 {
width: 100%;
font-weight: 400;
}

.beginnerTxtR02:nth-of-type(2) {
width: 100%;
padding-left: 0;
}

.beginnerTxtR02 p {
margin-bottom: 15px;
}

.beginnerTxtR02 h3 {
position: relative;
font-size: 1.6rem;
font-weight: 500;
margin-bottom: 25px;
padding-left: 40px;
line-height: 1.5;
}

.beginnerTxtR02 h3::before {
position: absolute;
background-color: #d9d9d9;
width: 30px;
height: 1px;
content: "";
margin: auto;
left: 0;
top: 13px;
}

#beginnerWrap2 {
position: relative;
width: 90%;
margin: 40px auto;
}

#beginnerFrame {
display: none;
}

#particularsWrap {
background: url("../img/biginner_bg.jpg") no-repeat center;
background-size: cover;
width: 100%;
margin: 0 auto;
padding: 40px 20px;
}

#particularsWrapInner {
background-color: #fff;
width: 100%;
margin: 0 auto;
padding: 30px;
}

#particularsWrapInner .inner {
width: 100%;
margin: 0 auto;
}

#particularsWrapInner .inner h2 {
position: relative;
font-size: 1.8rem;
text-align: left;
margin-bottom: 15px;
line-height: 1.
}

#particularsWrapInner .inner h2::after {
position: absolute;
background-color: #d9d9d9;
width: 25%;
height: 1px;
content: "";
margin: auto;
right: 0;
top: 0;
bottom: 0;
}

#particularsWrapInner .inner #allFree {
font-size: 1.5rem;
font-weight: 700;
}

#particularsWrapInner .inner #allFree span {
color: #E47814;
}

#particularsWrapInner .inner #allFreeWrap {
background-color: #333;
width: 100%;
color: #fff;
margin-top: 20px;
padding: 20px 26px;
}

#particularsWrapInner .inner #allFreeWrap dl {
width: 100%;
font-size: 1.3rem;
text-align: justify;
margin: 0 auto;
}

#particularsWrapInner .inner #allFreeWrap dt {
width: 100%;
font-weight: 700;
padding-bottom: 10px;
border-bottom: 1px solid #fff;
}

#particularsWrapInner .inner #allFreeWrap dd {
padding-top: 10px;
}

#particularsWrapInner .inner #allFreeWrap dd span {
color: #E47814;
}

#beginnerAboutWrap {
width: 90%;
margin: 0 auto;
padding: 20px 0 60px;
}

.beginnerAboutList {
width: 100%;
text-align: justify;
padding: 24px 15px;
border-bottom: 1px solid #d3d3d3;
}

.beginnerAboutL {
width: 100%;
font-size: 1.5rem;
font-weight: 700;
padding-bottom: 15px;
}

.beginnerAboutR {
width: 100%;
font-weight: 400;
padding-top: 15px;
border-top: 1px dotted #d3d3d3;
}

.beginnerAboutR p {
margin-bottom: 18px;
}

.beginnerAboutR p:last-child {
margin-top: 18px;
margin-bottom: 0;
}

.beginnerAboutR ul {
font-weight: 700;
margin-top: 10px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.beginnerAboutR ul li {
width: 50%;
display: inline-block;
white-space: nowrap;
}

#goodToHaveFlex {
background-color: #333;
width: 100%;
color: #fff;
margin-top: 20px;
padding: 20px;
}

#goodToHaveL {
width: 100%;
font-weight: 700;
margin-bottom: 10px;
}

#goodToHaveR {
width: 100%;
padding-top: 10px;
border-top: 1px solid #fff;
}

.btnBeginner {
position: relative;
background-color: #333;
width: auto;
height: 50px;
font-size: 1.3rem;
font-weight: 700;
color: #fff;
padding: 0 26px 2px 15px;
cursor: pointer;
transition: .3s;
border: 1px solid #333;
}

.btnBeginner::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transition: .3s;
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 13px;
}

/*クリニックについて*/

#wrapAbout {
position: relative;
width: 90%;
text-align: justify;
margin: 0 auto;
padding: 40px 0;
}

#aboutTitle {
font-size: 2.4rem;
margin-bottom: 30px;
line-height: 1.6;
}

#aboutTitle span {
font-family: var(--font-montserrat);
font-size: 1.2rem;
display: block;
}

#wrapAboutInner {
width: 88%;
margin: 0 auto;
}

#wrapAboutInner h3 {
font-size: 2.4rem;
font-weight: 700;
line-height: 1.8;
}

#greetingsFlex {
position: relative;
width: 100%;
margin: 30px auto;
}

#greetingsL {
position: relative;
background: url("../img/about_logo.png") no-repeat;
background-size: 118px;
width: 100%;
padding: 52px 0 0 0;
z-index: 2;
}

#greetingsL #name {
width: 100%;
text-align: right;
margin: 0 auto;
margin-top: 10px;
line-height: 1;
}

#greetingsL #name span {
font-size: 1.6rem;
margin-left: 10px;
}

#nameSign {
position: absolute;
width: 90%;
margin: auto;
z-index: 1;
left: 0;
right: 0;
bottom: -40px;
}

#greetingsR {
position: relative;
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
padding-top: 20px;
z-index: 0;
}

#greetingsPhoto {
position: relative;
width: 90%;
}

#greetingsPhoto::after {
position: absolute;
background: url("../img/about_img.png")no-repeat;
background-size: 250px;
width: 250px;
height: 260px;
content: "";
z-index: -1;
right: -30px;
top: -30px;
}

#greetingsBg {
position: absolute;
background-color: #f3f3f3;
width: 2000px;
height: 220px;
z-index: -2;
top: 25px;
right: -1660px;
}

#aboutSns {
width: 90%;
margin-top: 20px;
display: flex;
justify-content: flex-end;
}

#aboutSns > div {
margin-left: 15px;
}

#aboutSns > div img {
width: auto;
height: 34px;
}

#aboutProfile {
position: relative;
background-color: #f3f3f3;
margin: 60px auto;
margin-bottom: 20px;
padding: 30px 26px 0;
}

#aboutProfile h3 {
position: absolute;
font-family: var(--font-montserrat);
font-size: 2.8rem;
font-weight: 500;
text-align: center;
margin: auto;
z-index: 1;
left: 0;
right: 0;
top: -26px;
}

#aboutProfileFlex {
}

#aboutProfileFlex > div {
width: 100%;
}

#aboutProfileFlex > div h4 {
position: relative;
font-weight: 700;
margin-bottom: 10px;
}

#aboutProfileFlex > div h4 span {
position: relative;
background-color: #f3f3f3;
padding-right: 12px;
z-index: 1;
}

#aboutProfileFlex > div h4::after {
position: absolute;
background-color: #d9d9d9;
width: 100%;
height: 1px;
content: "";
margin: auto;
z-index: 0;
left: 0;
top: 0;
bottom: 0;
}

#aboutBiography {
font-size: 1.2rem;
margin-bottom: 20px;
}

#aboutBiography dt {
position: relative;
background-color: #f3f3f3;
float: left;
width: 60px;
color: #808080;
text-align: right;
font-weight: 700;
padding-right: 20px;
}

#aboutBiography dt::after {
position: absolute;
background-color: #d9d9d9;
width: 10px;
height: 1px;
content: "";
margin: auto;
z-index: 1;
right: 0;
top: 0;
bottom: 0;
}

#aboutBiography dd {
padding: 0 0 0 70px;
}

.aboutCareer {
padding-bottom: 30px;
}

.aboutCareer dt {
float: left;
font-weight: 700;
padding: 0 0 0 10px;
}

.aboutCareer dd {
padding: 0 0 0 26px;
}

#aboutWrapAccess {
position: relative;
width: 100%;
padding: 0 0 40px;
}

#accessAboutR {
width: 90%;
text-align: center;
margin: 0 auto;
}

#accessAboutR h2 {
background: url("../img/access_pin.png") no-repeat left;
background-size: 24px;
font-family: var(--font-montserrat);
font-size: 2.8rem;
font-weight: 500;
color: #4E4338;
display: inline-block;
padding-left: 30px;
letter-spacing: .05em;
line-height: 1.5;
}

#accessLogo {
width: 140px;
margin: 10px auto;
margin-top: 0;
}

#accessShopTxt {
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 20px;
line-height: 1.5;
}

#accessShopTxt span {
font-size: 1.6rem;
display: block;
}

#accessAboutWrap {
width: 100%;
font-size: 1.2rem;
margin: 0 auto;
margin-bottom: 20px;
padding: 26px 20px;
border: 1px solid #d3d3d3;
}

#accessAboutCall {
background: url("../img/footer_call.png") no-repeat left;
background-size: 22px;
font-family: var(--font-montserrat);
font-size: 2.8rem;
font-weight: 500;
margin: 0 auto;
padding-left: 24px; 
display: table;
line-height: 1;
}

.hourInfoFlex {
width: 100%;
margin-top: 20px;
text-align: left;
display: flex;
justify-content: space-between;
line-height: 1;
}

.hourInfo {
width: 60px;
border-right: 1px solid #d3d3d3;
}

.hourInfo.pt {
padding-top: 14px;
}

.hourInfoR {
width: 80%;
padding-left: 10px;
}

#officialInsta {
position: relative;
background-color: #333;
width: 100%;
font-size: 1.2rem;
color: #fff;
text-decoration: none;
display: block;
padding: 5px 30px 8px 10px;
line-height: 1.3;
}

#officialInsta::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
top: 0;
bottom: 0;
right: 15px;
transition: .3s;
}

#aboutTxtS {
font-size: 1.1rem;
}

/*糸リフト*/

.menuFlex {
}

.menuL {
width: 100%;
}

.menuR {
position: relative;
width: 100%;
margin-bottom: 30px;
}

.menuR img {
position: relative;
width: 90%;
margin-top: 60px;
z-index: 1;
}

.menuR .frame {
position: absolute;
width: 250px;
height: 250px;
border: 15px solid #4E4338;
z-index: 0;
right: 0;
top: 0;
}

.menuTitleL {
font-size: 2rem;
font-weight: 500;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 1px solid #d3d3d3;
line-height: 1.5;
}

.wrapRecommendation {
background-color: #F8F1EA;
padding: 100px 20px 10px;
}

.wrapRecommendation2 {
background-color: #F8F1EA;
margin-top: 40px;
margin-bottom: 30px;
padding: 100px 20px 10px;
}

.recommendationTitle {
position: relative;
background: url("../img/menu/recommendation_bg.png") no-repeat;
background-size: 240px;
width: 240px;
height: 63px;
font-size: 1.8rem;
font-weight: 700;
color: #4E4338;
text-align: center;
margin: 0 auto;
margin-bottom: 10px;
margin-top: -134px;
line-height: 63px;
}

.recommendationFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.recommendation,
.recommendation3 {
background-color: #fff;
width: 100%;
margin-bottom: 10px;
padding: 18px 18px;
}

.recommenDl dt {
float: left;
font-family: var(--font-montserrat);
font-size: 1.3rem;
font-weight: 700;
line-height: 1.6;
}

.recommenDl dd {
font-size: 1.3rem;
font-weight: 700;
padding: 0 0 0 26px;
line-height: 1.5;
}

#threadLiftBanner {
width: 100%;
margin: 40px auto;
}

.wrapColorPrice,
.wrapColorFlow {
background: #f3f3f3 url("../img/menu/bg_price.png") no-repeat bottom;
background-size: 100%;
width: 100%;
padding: 40px 0 20px;
}

.menuTitleCe {
max-width: 100%;
font-size: 2rem;
font-weight: 500;
text-align: center;
margin: 0 auto;
margin-bottom: 60px;
padding-bottom: 15px;
border-bottom: 1px solid #d3d3d3;
line-height: 1.5;
}

.menuKindsWrap {
position: relative;
background-color: #fff;
max-width: 90%;
font-weight: 400;
text-align: justify;
margin: 30px auto;
margin-bottom: 50px;
padding: 40px 30px 20px;
border: 5px solid #4E4338;
}

.kindsTitle {
position: absolute;
background-color: #333;
width: 80%;
height: 47px;
font-size: 1.8rem;
font-weight: 700;
text-align: left;
color: #fff;
padding: 0 26px;
line-height: 42px;
z-index: 1;
left: -30px;
top: -26px;
}

.menuKindsWrap h4 {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 1px solid #d3d3d3;
}

.period {
width: 100%;
font-size: 1.4rem;
font-weight: 700;
margin: 0 auto;
margin-bottom: 30px;
}

.period dt {
width: 100%;
margin: 12px 0 0;
}

.period dd {
width: 100%;
padding: 0 0 12px;
border-bottom: 1px solid #d3d3d3;
}

.threadLiftLr,
.threadLiftLrSolo {
width: 100% !important;
height: 50px;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
margin-bottom: 10px;
border: 1px solid #333;
line-height: 46px;
}

.priceTitle {
position: relative;
font-family: var(--font-montserrat);
font-size: 1.8rem;
font-weight: 700;
text-align: center;
margin: 50px 0 30px;
line-height: 1.5;
}

.priceTitle span {
position: relative;
z-index: 1;
}

.priceTitle::after {
position: absolute;
background: url("../img/menu/price.png") no-repeat left;
background-size: 147px;
width: 147px;
height: 63px;
content: "";
z-index: 0;
margin: auto;
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.priceTable table {
width: 100%;
margin: 0 auto;
line-height: 1.4;
border-bottom: 1px solid #d3d3d3;
}

.priceTable th,
.priceTable td {
border-left: 1px solid #d3d3d3;
border-top: 1px solid #d3d3d3;
border-right: 1px solid #d3d3d3;
vertical-align: middle;
padding: 15px;
display: block;
}

.priceTable th {
background-color: #ededed;
width: 100%;
font-weight: 700;
}

.priceTable th span {
font-size: 1.2rem;
}

.priceTable td {
width: 100%;
text-align: right;
}

.priceTable td span {
font-size: 2rem;
}

.priceTable td .priceColor {
color: #E47814;
}

.priceTable td .priceTxtS {
font-size: 1.4rem;
}

.priceBottom {
width: 100%;
font-size: 1.2rem;
text-align: right;
margin: 5px auto;
}

.btnCounselingWrap {
font-weight: 700;
text-align: center;
margin: 30px auto;
margin-top: 50px;
}

.btnCounselingTitle {
background: url("../img/menu/bg_counseling_title.jpg") no-repeat;
background-size: 100%;
width: 100%;
margin: 0 auto;
}
 
.btnCounselingAppointment {
position: relative;
background-color: var(--themeColor);
font-family: var(--font-primary);
width: 100%;
height: 90px;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
margin: 14px auto;
margin-bottom: 0;
padding: 0 15px 5px;
cursor: pointer;
border-radius: 100px;
border: 3px solid #fff;
box-shadow: 0px 10px 20px 0px #00000033;
}

.btnCounselingAppointment::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 30px;
top: 0;
bottom: 0;
transition: .5s;
}

.tessFlexWrap {
background-color: #f3f3f3;
margin: 0 auto;
margin-top: 30px;
padding: 30px 30px 20px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.tessFlexWrap img {
margin-bottom: 10px;
}

.wrapCasePhoto,
.wrapCasePhoto2 {
background-color: #f3f3f3;
width: 100%;
margin: 40px auto;
padding: 40px 30px 20px;
}

.threadLiftCasePhotoFlex {
margin-top: -30px;
}

.threadLiftCasePhoto {
width: 90%;
margin: 0 auto;
margin-bottom: 20px;
}

.threadLiftCasePhoto img {
width: 100%;
}

.threadLiftCasePhoto h3 {
background-color: #333;
height: 38px;
font-weight: 700;
color: #fff;
text-align: left;
line-height: 36px;
padding: 0 15px;
}

.threadLiftTypeWrap {
width: 90%;
text-align: left;
margin: 0 auto;
margin-bottom: 40px;
padding: 24px;
border: 1px solid #d3d3d3;
}

.treatmentTimeTitle {
background-color: #333;
width: 100%;
height: 52px;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
margin-bottom: 0;
text-align: center;
line-height: 50px;
}

.treatmentTimeTitleW {
background-color: #333;
width: 100%;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
margin-bottom: 0;
padding: 14px 20px 20px;
text-align: center;
line-height: 1.5;
}

.treatmentTimeTitleW span {
font-size: 1.3rem;
display: block;
}

.treatmentTime dt {
font-weight: 700;
padding: 26px 0 0;
}

.treatmentTime dd {
padding: 0 0 26px;
border-bottom: 1px solid #d3d3d3;
}

#wrapAllMenu {
width: 90%;
margin: 50px auto;
}

.menuBottomTitle {
position: relative;
font-family: var(--font-montserrat);
font-size: 2.6rem;
font-weight: 500;
color: #4E4338;
margin-bottom: 30px;
line-height: 1.5;
}

.menuBottomTitle span {
font-family: var(--font-primary);
font-size: 1.2rem;
display: block;
}

/*産婦人科*/

.gynecoMenu {
background: #f3f3f3;
width: 100%;
font-weight: 700;
margin-bottom: 40px;
padding: 30px;
}

.gynecoMenuTitle {
font-size: 1.6rem;
margin-bottom: 26px;
padding-bottom: 18px;
border-bottom: 1px solid #d3d3d3;
line-height: 1;
}

.gynecoMenu ul {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.gynecoMenu li {
position: relative;
width: 100%;
padding: 5px 0 5px 22px;
line-height: 1.5;
}

.gynecoMenu li::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
border-right: 1px solid #333;
border-bottom: 1px solid #333;
transform: rotate(45deg);
margin: auto;
transition: .3s;
left: 0;
top: 8px;
}

.gynecoMenu li a:hover {
text-decoration: none;
}

.menuTitleCeBo {
font-size: 2.4rem;
font-weight: 700;
text-align: center;
margin: 0 auto;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 3px solid #333;
line-height: 1.4;
}

.menuTitleCeBo2 {
font-size: 2.4rem;
font-weight: 700;
text-align: center;
margin: 60px auto;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 3px solid #333;
line-height: 1.4;
}

.menuTitleCeBo3 {
font-size: 2.4rem;
font-weight: 700;
text-align: center;
margin: 60px auto;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 3px solid #333;
line-height: 1.4;
}

.menuTitleCeBo3 span {
font-size: 1.4rem;
display: block;
}

.menuSubTitle {
font-size: 2rem;
font-weight: 700;
text-align: left;
margin: 0 auto;
margin-top: 20px;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid #d3d3d3;
line-height: 1.5;
}

.menuSubSubTitle {
font-size: 1.6rem;
font-weight: 700;
text-align: left;
margin: 0 auto;
margin-bottom: 20px;
line-height: 1.5;
}

.wrapCoGray {
background-color: #f3f3f3;
width: 100%;
margin: 30px auto;
padding: 30px 20px 10px;
}

.aboutFlex {
margin-bottom: 20px;
}

.aboutL {
width: 100%;
margin-bottom: 15px;
}

.aboutR {
width: 100%;
}

.aboutR h3 {
font-size: 1.8rem;
font-weight: 700;
}

.timeRequiredFlex {
width: 250px;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
margin: 15px 0;
padding: 10px 0 12px;
display: flex;
justify-content: space-between;
border: 2px solid #d3d3d3;
line-height: 1;
}

.timeRequiredFlexSolo {
width: 100%;
font-size: 1.4rem;
font-weight: 700;
text-align: center;
margin: 20px auto;
margin-top: 30px;
padding: 15px 0 17px;
display: flex;
justify-content: space-between;
align-items: center;
border: 2px solid #d3d3d3;
line-height: 1;
}

.timeRequiredL {
width: 50%;
border-right: 1px dotted #d9d9d9;
}

.timeRequiredR {
width: 50%;
}

.timeRequiredFlexSolo .timeRequiredR {
position: relative;
width: 50%;
top: -2px;
}

.timeRequiredFlexSolo .timeRequiredR span {
position: relative;
font-size: 1.9rem;
top: 1px;
}

.flowTreatment,
.flowTreatment2,
.flowTreatmentS {
position: relative;
width: 100%;
margin-top: 30px;
}

.flowTreatment dt,
.flowTreatment2 dt,
.flowTreatmentS dt {
position: relative;
width: 100px;
height: 100px;
margin: 0 auto;
margin-bottom: 30px;
z-index: 1;
}

.flowTreatment dd,
.flowTreatment2 dd,
.flowTreatmentS dd {
width: 80%;
text-align: center;
margin: 0 auto;
margin-bottom: 30px;
}

.flowTreatment dd h4,
.flowTreatment2 dd h4,
.flowTreatmentS dd h4 {
font-size: 1.7rem;
font-weight: 700;
text-align: center;
margin-bottom: 15px;
line-height: 1;
}

.flowTreatment dd h4 span,
.flowTreatment2 dd h4 span,
.flowTreatmentS dd h4 span {
font-family: var(--font-montserrat);
font-size: 2rem;
font-weight: 700;
margin-right: 10px;
}

/*ボトックス注射*/

.botoxInjectionFlex {
margin-top: 10px;
display: flex;
justify-content: space-between;
align-items: center;
}

.botoxInjectionL {
background-color: #f3f3f3;
width: 32%;
height: 170px;
text-align: center;
display: table;
}

.botoxInjectionL h3 {
font-weight: 700;
display: table-cell;
vertical-align: middle;
}

.botoxInjectionR {
width: 64%;
line-height: 1.7;
}

.botoxInjectionR p {
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #d3d3d3;
}

.botoxInjectionR .txtS {
font-size: 1.1rem;
line-height: 1.5;
}

.botoxInjectionTxtWrap {
width: 100%;
margin-top: 30px;
margin-bottom: 30px;
}

.menuOrange {
color: #E47814;
}

.guidelineFlexAll  {
}

.guidelineFlex  {
width: 100%;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
padding: 20px 0 22px;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
border: 2px solid #d3d3d3;
line-height: 1;
}

.guidelineL {
width: 74%;
border-right: 1px dotted #d9d9d9;
}

.guidelineR {
width: 26%;
}

.botoxTxtWrap {
width: 90%;
font-weight: 400;
text-align: justify;
margin: 60px auto;
margin-top: -30px;
}

.kindsTitleL {
position: absolute;
background-color: #333;
width: 100%;
height: 47px;
font-size: 1.8rem;
font-weight: 700;
text-align: left;
color: #fff;
padding: 0 26px;
line-height: 42px;
z-index: 1;
left: -30px;
top: -26px;
}

.kindsFlex {
margin: 30px auto;
margin-top: 20px;
}

.kindsL {
width: 100%;
margin: 0 auto;
margin-bottom: 30px;
}

.kindsL img {
width: 100%;
}

.kindsR {
width: 100%
}

.kindsR dt {
float: left;
}

.kindsR dd {
padding: 0 0 0 20px;
}

#kabellinePhoto {
display: none;
}

#kabellinePhotoSp {
margin-bottom: 50px;
}

#kabellineFlex {
}

#kabellineFlex div {
margin: 0 auto;
}

#kabellineFlex div:nth-child(2) {
width: 60%;
margin: 0 auto;
margin-bottom: 20px;
}

#kabellineFlex div img {
width: auto;
}

/*美容皮膚*/

.priceDermapen {
background-color: #f3f3f3;
width: 100%;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
margin: 0 auto;
margin-top: 5px;
padding: 10px;
line-height: 1.5;
}

.btnFlow {
position: relative;
background-color: #333;
width: 100%;
height: 80px;
font-size: 1.5rem;
font-weight: 700;
text-align: center;
color: #fff !important;
margin: 60px auto;
display: block;
line-height: 74px;
border-radius: 100px;
box-shadow: 0px 10px 20px 0px #00000033;
transition: all .3s ease-out;
left: 0;
top: 0;
}

.btnFlow:hover {
text-decoration: none;
}

.btnFlow::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
transform: rotate(45deg);
left: 8%;
top: -10px;
bottom: 0;
transition: .5s;
}

.menuSubSubTitleCe {
width: 100%;
font-size: 1.8rem;
font-weight: 700;
text-align: center;
margin: 0 auto;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #d3d3d3;
}

.notAvailableFlex {
width: 100%;
margin: 0 auto;
margin-bottom: 40px;
}

.notAvailable {
background-color: #f3f3f3;
width: 100%;
font-size: 1.3rem;
font-weight: 700;
text-align: left;
margin-bottom: 5px;
padding: 0 20px;
line-height: 48px;
}

.afterCautionWrap {
width: 100%;
margin: 40px auto;
margin-bottom: 60px;
padding: 28px;
border: 4px solid #D3D3D3
}

.afterCautionWrap h5,
.afterCautionWrapBottom h5 {
background: url("../img/menu/icon_after_caution.jpg") no-repeat left;
background-size: 18px;
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 20px;
padding: 3px 0 3px 24px;
line-height: 1;
}

.afterCautionWrap dt,
.afterCautionWrapBottom dt {
float: left;
}

.afterCautionWrap dd,
.afterCautionWrapBottom dd {
padding: 0 0 0 20px;
}

.threePointsFlex {
margin: 20px auto;
margin-bottom: 60px;
}

.threePoints {
background-color: #333;
width: 100%;
color: #fff;
margin-bottom: 10px;
padding: 20px 40px 30px;
}

.threePoints .number {
position: relative;
font-family: var(--font-montserrat);
font-size: 1.6rem;
font-weight: 700;
}

.threePoints .number::before {
position: absolute;
background-color: #fff;
width: 32px;
height: 2px;
content: "";
margin: auto;
left: -40px;
top: 0;
bottom: 0;
}

.threePoints h4 {
font-size: 1.7rem;
font-weight: 600;
text-align: left;
margin-bottom: 10px;
letter-spacing: 0;
}

.treatmentEffectsWrap {
background-color: #f3f3f3;
width: 100%;
margin: 0 auto;
margin-top: 40px;
padding: 20px 30px;
}

.treatmentEffectsWrap h3 {
font-size: 1.8rem;
font-weight: 700;
text-align: center;
margin-bottom: 20px;
}

.treatmentEffectsWrap ul {
width: 100%;
margin: 0 auto;
}

.treatmentEffectsWrap ul li {
background-color: #fff;
width: 100%;
font-size: 1.3rem;
font-weight: 700;
margin-bottom: 10px;
padding: 20px;
line-height: 1.5;
}

/*ヒアルロン酸注射*/

#haluronicAcidBanner {
margin-bottom: 30px;
}

.haluronicAcidPhotoSolo {
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}

.haluronicAcidPhotoFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-top: -30px;
}

.haluronicAcidPhoto {
width: 100%;
margin-bottom: 20px;
}

.haluronicWrap {
width: 100%;
margin: 0 auto;
padding: 30px 0;
}

/*クマ取り*/

.wrapCoNoP {
width: 90%;
font-weight: 400;
text-align: justify;
margin: 40px auto;
margin-bottom: 40px;
}

.aboutLKuma {
width: 100%;
margin-bottom: 14px;
}

.aboutLKuma img {
width: 100%;
}

.aboutRKuma {
width: 100%;
}

.aboutRKuma h3 {
font-size: 2rem;
font-weight: 700;
margin-bottom: 5px;
}

.aboutRKuma p {
margin-bottom: 0;
}

.kumaType {
position: relative;
background-color: #4E4338;
width: 100%;
font-size: 1.3rem;
font-weight: 700;
color: #fff;
text-align: center;
margin-top: 22px;
padding:  10px 20px;
line-height: 1.5;
}

.kumaType::before {
position: absolute;
width: 0;
height: 0;
content: "";
margin: auto;
border-left: 14px solid transparent;
border-bottom: 16px solid #4E4338;
border-right: 14px solid transparent;
top: -16px;
left: 0;
right: 0;
}

.darkCirclesRemovalPhoto {
width: 100%;
margin-bottom: 20px;
}

.darkStepFlex {
margin: 0 auto;
margin-bottom: 30px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.darkStep {
position: relative;
width: 43%;
margin: 0 auto;
margin-top: 30px;
}

.darkStep .stepNumber {
position: absolute;
width: 70px;
z-index: 1;
top: -12px;
left: 10px;
}

.darkStep .darkStepPhoto {
width: 100%;
margin-bottom: 15px;
}

.darkStep .darkStepPhoto img {
width: 100%;
}

.darkStepFlex .dArrow {
width: 13px;
margin: 0 auto;
padding-top: 27%;
}

.darkStepFlex .dArrow2 {
width: 13px;
margin: 0 auto;
padding-top: 23%;
}

.priceBottomDl {
width: 100%;
margin: 20px auto;
padding: 20px;
border-top: 1px solid #d3d3d3;
border-bottom: 1px solid #d3d3d3;
}

.priceBottomDl dt {
float: left;
}

.priceBottomDl dd {
padding: 0 0 0 20px;
}

.priceBottomDl dt:first-of-type,
.priceBottomDl dd:first-of-type {
margin-bottom: 10px;
}

.darkColor01 {
font-weight: 600;
color: #0035CB;
}

.darkColor02 {
font-weight: 600;
color:#008F05;
}

.darkColor03 {
font-weight: 600;
color: #F27E00;
}

.darkColor04 {
font-weight: 600;
color: #4E00CD;
}

.darkTable table {
width: 100%;
margin: 0 auto;
margin-bottom: 50px;
line-height: 1.4;
}

.darkTable th,
.darkTable td {
border: 1px solid #d3d3d3;
vertical-align: middle;
text-align: center;
padding: 20px;
}

.darkTable th {
background-color: #e4e4e4;
text-align: center;
font-weight: 600;
}

.verticalWriting th span,
.verticalWriting td span {
white-space: pre;
writing-mode: vertical-rl;
display: inline-block;
}

#reversehamuraPhotoR {
width: 100%;
margin-bottom: 30px;
}

.darkStepFlexIncision {
margin: 40px auto;
}

.darkStepIncision {
position: relative;
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}

.darkStepIncision .stepNumber {
position: absolute;
z-index: 1;
top: -12px;
left: 10px;
}

.darkStepFlexIncision .dArrow {
width: 13px;
margin: 20px auto;
margin-bottom: 30px;
}

.darkStepFlexIncision .dArrow img {
transform: rotate(90deg);
}

.muscleFlapLiftingFlex {
width: 80%;
margin: 30px auto;
margin-bottom: 60px;
}

.muscleFlapLiftingPhoto {
width: 100%;
margin-bottom: 20px;
}

.muscleFlapLiftingTxt {
width: 100%;
}

/*その他目元*/

.eyeMiddleImg {
}

.eyeFlex {
margin: 30px auto;
}

.eyeFlex div {
width: 100%;
margin-top: 20px;
}

.eyeFlex2 {
width: 100%;
margin: 10px auto;
margin-bottom: 40px;
display: flex;
justify-content: space-between;
}

.eyeFlex2 div {
width: 47%;
}

.eyeMiddleImgFlex {
width: 100%;
margin: 30px auto;
display: flex;
justify-content: space-between;
}

.eyeMiddleImgFlex div {
width: 31%;
}

/*鼻*/

#noseBanner {
width: 100%;
margin: 0 auto;
margin-bottom: 5px;
}

.noseSubTitle {
font-size: 2rem;
font-weight: 700;
}

.nosePhotoFlex {
margin: 15px auto;
margin-bottom: 10px;
}

.nosePhoto {
width: 100%;
}

.nosePhoto:last-child {
margin-right: 0;
}

.nosePhoto img {
width: 100%;
margin: 10px 0;
}

.gray780Wrap {
background-color: #f3f3f3;
width: 100%;
margin: 20px auto;
padding: 20px 20px 20px 12px;
}

.gray780Wrap dl dt {
float: left;
font-weight: 700;
}

.gray780Wrap dl dd {
padding: 0 0 0 16px;
}

.gray780Wrap dl dt:first-of-type,
.gray780Wrap dl dd:first-of-type {
margin-bottom: 10px;
}

.flowWrapSimple,
.flowWrapSimple2,
.flowWrapSimple3,
.flowWrapSimple06,
.flowWrapSimple07 {
position: relative;
width: 100%;
margin: 40px auto;
}

.flowWrapSimple h4,
.flowWrapSimple2 h4,
.flowWrapSimple3 h4,
.flowWrapSimple06 h4,
.flowWrapSimple07 h4 {
font-size: 1.8rem;
font-weight: 700;
text-align: center;
margin-bottom: 40px;
padding-bottom: 12px;
border-bottom: 1px solid #d3d3d3;
}

.flowWrapSimple dl dt,
.flowWrapSimple2 dl dt,
.flowWrapSimple3 dl dt,
.flowWrapSimple06 dl dt,
.flowWrapSimple07 dl dt {
position: relative;
background-color: #fff;
float: left;
font-family: var(--font-montserrat);
font-size: 2rem;
font-weight: 700;
padding: 10px 0;
line-height: 1;
}

.flowWrapSimple dl dt:last-of-type::after,
.flowWrapSimple2 dl dt:last-of-type::after,
.flowWrapSimple3 dl dt:last-of-type::after,
.flowWrapSimple06 dl dt:last-of-type::after,
.flowWrapSimple07 dl dt:last-of-type::after {
position: absolute;
background-color: #fff;
width: 20px;
height: 150px;
content: "";
z-index: -1;
left: 0;
top: 32px;
}

.flowWrapSimple dl dd,
.flowWrapSimple2 dl dd,
.flowWrapSimple3 dl dd,
.flowWrapSimple06 dl dd,
.flowWrapSimple07 dl dd {
padding: 0 0 0 37px;
}

.flowWrapSimple dl dd h5,
.flowWrapSimple2 dl dd h5,
.flowWrapSimple3 dl dd h5,
.flowWrapSimple06 dl dd h5,
.flowWrapSimple07 dl dd h5 {
position: relative;
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 10px;
top: 5px;
}

.flowWrapSimple dl dd h6,
.flowWrapSimple2 dl dd h6,
.flowWrapSimple3 dl dd h6,
.flowWrapSimple06 dl dd h6,
.flowWrapSimple07 dl dd h6 {
position: relative;
font-weight: 700;
left: -8px;
}

.flowWrapSimple::before,
.flowWrapSimple2::before,
.flowWrapSimple3::before,
.flowWrapSimple06::before,
.flowWrapSimple07::before {
position: absolute;
background: url("../img/menu/flow_dotted_s.png") repeat-y;
background-size: 2px;
width: 2px;
height: 530px;
content: "";
left: 8px;
top: 100px;
z-index: -2;
overflow: hidden;
}

.flowWrapSimple2::before {
height: 340px;
}

.flowWrapSimple3::before {
height: 660px;
}

.flowWrapSimple06::before {
height: 680px;
}

.flowWrapSimple07::before {
height: 710px;
}

.treatmentTimeTitle2 {
background-color: #333;
width: 100%;
height: 48px;
font-size: 1.8rem;
font-weight: 700;
color: #fff;
text-align: center;
margin: 0 auto;
margin-top: 60px;
line-height: 44px;
}

.treatmentPalt {
position: relative;
font-weight: 700;
left: -8px;
}

.treatmentTime2 {
}

.treatmentTime2 dt {
font-weight: 700;
padding: 26px 0 0;
}

.treatmentTime2 dd {
padding: 0 0 26px;
border-bottom: 1px solid #d3d3d3;
}

.borderGrayWrap {
width: 100%;
margin: 30px auto;
padding: 15px;
border: 3px solid #d3d3d3;
}

.borderGrayInner {
width: 100%;
margin: 0 auto;
}

.borderGrayImg {
margin: 20px auto;
}

.recommendationH {
background-color: #fff;
width: 445px;
margin-bottom: 10px;
padding: 26px 20px;
}

.imgR,
.imgR2 {
width: 100%;
margin-bottom: 30px;
}

.noseStepFlex {
margin: 40px auto;
}

.noseStep {
position: relative;
width: 80%;
margin: 0 auto;
}

.noseStep img {
margin-bottom: 15px;
}

.noseStep .stepNumber {
position: absolute;
z-index: 1;
top: -12px;
left: 10px;
}

.noseStep .darkStepPhoto {
margin-bottom: 15px;
}

.noseStepFlex .dArrow {
width: 13px;
margin: 20px auto;
margin-bottom: 30px;
}

.noseStepFlex .dArrow img {
transform: rotate(90deg);
}

/*脂肪吸引*/

.liposuctionFlex {
width: 100%;
margin: 30px auto;
margin-bottom: 0px;
}

.liposuctionFlex div {
width: 100%;
margin-bottom: 20px;
}

/*脂肪注入*/

.fatInjectionImg01 {
width: 100%;
margin: 0 auto;
}

#fatInjectionImg02 {
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}

#fatInjectionImg03 {
width: 100%;
margin: 0 auto;
}

#fatInjectionImg04 {
width: 100%;
margin: 0 auto;
}

/*hifu*/

.hifuWrap {
width: 90%;
margin: 0 auto;
margin-top: -40px;
}

.hifuWrap .hifuP {
font-size: 1.5rem;
font-weight: 700;
margin-bottom: 30px;
line-height: 1.6;
}

.hifuFlex {
width: 100%;
margin: 30px auto;
margin-top: 30px;
}

.hifuMm {
width: 100%;
font-weight: 400;
text-align: justify;
}

.hifuMmInner {
background-color: #fff;
width: 100%;
margin-bottom: 15px;
border: 1px solid #333;
line-height: 1;
}

.hifuMmInner h3 {
background-color: var(--themeColor);
width: 100%;
height: 46px;
font-family: var(--font-montserrat);
font-size: 1.8rem;
font-weight: 700;
color: #fff;
padding: 0 20px;
line-height: 44px;
}

.hifuInnerFlex {
font-size: 1.2rem;
font-weight: 600;
padding: 12px 20px;
display: flex;
justify-content: flex-start;
}

.hifuInnerL {
padding: 2px 15px 4px 0;
}

.hifuInnerR {
padding: 2px 0 4px 15px;
border-left: 1px solid var(--themeColor);
}

.hifuWrapWh {
background-color: #fff;
width: 100%;
font-weight: 400;
text-align: justify;
margin-bottom: 80px;
padding: 26px 32px;
}

.hifuImg {
width: 100%;
margin: 0 auto;
}

.hifuWrapBorder {
width: 100%;
text-align: center;
margin: 20px auto;
margin-bottom: 0;
padding: 26px 20px;
border: 1px solid #d3d3d3;
}

.wrapCaseHifu {
background-color: #f3f3f3;
width: auto;
margin: 20px auto;
margin-bottom: 40px;
padding: 40px 30px 10px;
display: table;
}

.hifuPhotoFlex {
margin-top: -30px;
}

.hifuPhoto {
width: 100%;
margin-bottom: 20px;
}

.afterCautionWrapBottom {
width: 100%;
margin-top: -30px;
margin-bottom: 60px;
padding: 28px;
border: 4px solid #D3D3D3
}

/*二重埋没法*/

.doubleEyelidSubTitle {
font-size: 2.4rem;
font-weight: 700;
margin-bottom: 10px;
}

.doubleEyelidPhotoFlex {
margin: 15px auto;
margin-bottom: 10px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.doubleEyelidTItleFlex {
display: flex;
justify-content: space-between;
}

.doubleEyelidTItleFlex h4 {
width: 46%;
font-size: 1.5rem;
font-weight: 700;
}

.doubleEyelidTItleSp {
display: none;
}

.doubleEyelidPhoto h4 {
font-size: 1.5rem;
font-weight: 700;
min-height: 35px;
}

.doubleEyelidPhoto {
width: 47%;
margin-bottom: 20px;
}

.doubleEyelidPhoto img {
margin-bottom: 10px;
}

.grayWideWrap,
.grayWrap {
background-color: #f3f3f3;
width: 100%;
margin: 40px auto;
padding: 30px 30px 30px 24px;
}

.grayWideWrap dl dt {
float: left;
font-weight: 700;
}

.grayWideWrap dl dd {
padding: 0 0 0 20px;
}

.grayWideWrap dl dt:first-of-type,
.grayWideWrap dl dd:first-of-type {
margin-bottom: 10px;
}

.bNo {
font-size: 1.5rem;
font-weight: 500;
}

.doubleEyelidFlex {
margin:  30px auto;
margin-bottom: 40px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.doubleEyelidFlex h4 {
width: 100%;
font-size: 1.5rem;
font-weight: 700;
height: 35px;
}

.doubleEyelidPhotoL {
width: 35%;
}

.doubleEyelidPhotoL .doubleEyelidPhoto {
width: 100%;
line-height: 1.5;
}

.doubleEyelidPhotoL .doubleEyelidPhoto h4 {
margin-bottom: 10px;
}

.doubleEyelidTxtR {
width: 65%;
padding: 0 0 0 20px;
}

.doubleEyelidTxtR .recommend {
position: relative;
background-color: #333;
width: 100%;
font-size: 1.3rem;
font-weight: 700;
text-align: center;
color: #fff;
display: table;
margin-bottom: 20px;
padding: 6px 10px 0;
line-height: 1.5;
}

.doubleEyelidTxtR .recommend::after {
position: absolute;
content: "";
margin: auto;
width: 0;
height: 0;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 10px solid #333;
left: 0;
right: 0;
bottom: -10px;
}

/*口元*/

.mouthFlex {
}

.mouthPhoto {
width: 100%;
margin-bottom: 20px;
}

.mouthPhoto img {
margin-bottom: 10px;
}

/*FAQ*/

#wrapFaq {
width: 90%;
font-weight: 400;
text-align: justify;
margin: 40px auto;
margin-bottom: 60px;
border-top: 2px solid #4E4338
}

.faq dt {
float: left;
font-family: var(--font-montserrat);
font-size: 2rem;
font-weight: 500;
color: #4E4338;
padding: 22px 10px;
}

.faq dt span {
font-size: 1.6rem;
margin-left: 3px;
}

.faq dd h2 {
font-size: 1.5rem;
font-weight: 700;
color: #4E4338;
margin-bottom: 10px;
line-height: 1.5;
}

.faq dd {
padding: 30px 10px 30px 70px;
border-bottom: 1px solid #D3D3D3;
}

.faq dd p {
margin-bottom: 0;
}

.faq dd .beginnerAboutR {
border-top: 0;
}

/*症例集*/

#caseStudiesNav {
width: 100%;
text-align: center;
margin-bottom: 30px;
}

#caseStudiesNav ul {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
border-bottom: 1px solid var(--themeColor);
}

#caseStudiesNav ul li {
width: 49%;
}

#caseStudiesNav ul li a {
background-color: var(--themeColor);
width: 100%;
height: 50px;
font-size: 1.3rem;
font-weight: 700;
color: #fff;
padding: 0 10px;
display: block;
line-height: 46px;
transition: .3s;
border-left: 1px solid var(--themeColor);
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
}

#caseStudiesNav ul li a:hover {
text-decoration: none;
}

#caseStudiesNav ul li a.active {
background: #fff;
color: var(--themeColor);
}

.caseStudiesPhotoFlex {
display: flex;
justify-content: space-between;;
flex-wrap: wrap;
}

.caseStudiesPhoto {
width: 48%;
margin-bottom: 15px;
}

.caseStudiesPhoto:nth-of-type(3n) {
margin-right: 0;
}

/**/

#wrapReservation {
position: relative;
width: 90%;
text-align: center;
margin: 0 auto;
padding: 60px 0;
}

#reservationTxt {
font-size: 1.5rem;
font-weight: 700;
}

#reservationTxt span {
font-size: 1.8rem;
color: #7E8E7C;
}

#reservationCall {
background-color: var(--themeColor);
width: 100%;
font-size: 1.4rem;
color: #fff;
text-align: center;
margin: 30px auto;
margin-bottom: 100px;
padding: 30px 20px;
}

#reservationCall h2 {
font-size: 1.7rem;
margin: 0 auto;
padding-bottom: 15px;
border-bottom: 1px solid #fff;
line-height: 1.5;
}

#reservationCall .numberCall {
background: url("../img/contact_call.png") no-repeat left;
background-size: 32px;
font-family: var(--font-cormorant);
font-size: 3.4rem;
display: table;
margin: 0 auto;
margin-top: 20px;
padding-left: 40px;
line-height: 1.2;
font-weight: 400;
}

#reservationCall .numberCall a {
color: #fff;
}

#reservationCall .numberCall a:hover {
text-decoration: none;
}

#reservationFormWrap {
background-color: #f3f3f3;
width: 100%;
margin: 0 auto;
padding: 30px;
}

#formTitle {
position: relative;
font-size: 2rem;
font-weight: 700;
margin-bottom: 30px;
padding-bottom: 20px;
border-bottom: 1px solid #d3d3d3;
line-height: 1;
}

#formTitle span {
position: relative;
z-index: 1;
}

#formTitle::after {
position: absolute;
background: url("../img/title_bg/form_title.png") no-repeat;
background-size: 200px;
width: 200px;
height: 172px;
content: "";
margin: auto;
left: 0;
right: 0;
top: -30px;
}

.formFlex {
width: 100%;
text-align: left;
}

.formFlex p {
margin: 0;
}

.formL {
position: relative;
background-color: #e8e8e8;
width: 100%;
display: table;
padding: 20px;
}

.formL .inner,
.formR .inner {
display: table-cell;
vertical-align: middle;
}

.formL .required {
position: absolute;
width: 45px;
height: 19px;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
color: #B22B2B;
margin: auto;
border: 1px solid #E1C6C6;
border-radius: 3px;
line-height: 16px;
top: 0;
bottom: 0;
right: 24px;
}

.formR {
width: 100%;
padding: 20px;
display: table;
}

.inputShort,
.inputWide {
background-color: #fff;
font-family: var(--font-primary);
width: 100% !important;
height: 42px;
font-size: 1.3rem;
padding: 10px;
border: 1px solid #c6c6c6;
border-radius: 3px;
transition: .3s;
}

.inputWide {
width: 100% !important;
}

textarea {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 200px;
font-size: 1.3rem;
padding: 10px;
border: 1px solid #c6c6c6;
border-radius: 3px;
transition: .3s;
}

.inputShort:hover,
.inputWide:hover,
textarea:hover,
select:hover {
border: 1px solid #7E8E7C;
}

.inputFlex,
.inputFlexSp {
display: flex;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
}

.formR .mb12 {
margin-bottom: 12px;
}

.formR .required {
position: relative;
width: 45px;
height: 19px;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
color: #B22B2B;
margin-right: 12px;
margin-bottom: 5px;
border: 1px solid #E1C6C6;
border-radius: 3px;
line-height: 16px;
top: 0;
}

.formR .any {
position: relative;
background-color: #a4a4a4;
width: 45px;
height: 19px;
font-size: 1.2rem;
font-weight: 700;
text-align: center;
color: #fff;
margin-right: 12px;
margin-bottom: 5px;
border: 1px solid #a4a4a4;
border-radius: 3px;
line-height: 16px;
top: 0;
}

.inputFlex .inputShort {
margin: 5px;
}

.inputFlex .formTxt {
margin-right: 8px;
margin-bottom: 5px;
}

.selectbox,
.selectboxY {
position: relative;
width: 87%;
margin-bottom: 5px;
}

.formR .hope {
margin-right: 12px;
margin-bottom: 5px;
}

.selectboxWide {
position: relative;
width: 400px;
}

.selectbox::before,
.selectboxY::before,
.selectboxWide::before {
position: absolute;
top: 14px;
right: 15px;
content: "";
width: 8px;
height: 8px;
border-top: 1px solid #7E8E7C;
border-left: 1px solid #7E8E7C;
transform: rotate(-135deg);
pointer-events: none;
z-index: 1;
}

select {
position: relative;
background-color: #fff;
font-family: var(--font-primary);
appearance: none;
width: 100%;
height: 42px;
font-size: 1.3rem;
padding: 0 10px;
color: #000;
border: 1px solid #c6c6c6;
border-radius: 3px;
cursor: pointer;
transition: .3s;
}

select:focus {
outline: none;
}

.nenTsukiHi {
padding: 0 0 0 10px;
}

.formR input[type="radio"] {
opacity: 0;
visibility: hidden;
position: absolute;
}

.formR .wpcf7-list-item {
display: block;
margin-left: 0;
}

.formR .wpcf7-list-item.first {
margin-left: 0;
}

.formR span.wpcf7-list-item-label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
}

.formR span.wpcf7-list-item-label::before {
display: block;
content: "";
border-radius: 50%;
border: 1px solid #c6c6c6;
width: 18px;
height: 18px;
margin-right: 5px;
}

.formR span.wpcf7-list-item-label::after {
position: absolute;
content: "";
border-radius: 50%;
width: 8px;
height: 8px;
background-color: #fff;
left: 5px;
top: 50%;
transform: translateY(-50%);
display: none;
}

.formR input[type="radio"]:checked + span.wpcf7-list-item-label::after {
display: block;
}

.formR input[type="radio"]:checked + span.wpcf7-list-item-label::before {
display: block;
background-color: #7E8E7C;
}

.checkWrap {
text-align: center;
margin: 30px auto;
margin-top: 0;
}

.checkWrap a {
text-decoration: underline;
}

.checkWrap input[type="checkbox"] {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.checkWrap input[type="checkbox"] {
display: flex;
flex-wrap: wrap;
gap: .5em 2em;
border: none;
}

.checkWrap .wpcf7-list-item {
display: inline-block;
margin: 0 !important;
padding: 0 !important;
}

.checkWrap .wpcf7-list-item label {
display: flex;
align-items: center;
position: relative;
cursor: pointer;
}

.checkWrap .wpcf7-list-item label::before,
.checkWrap .wpcf7-list-item label:has(:checked)::after {
content: '';
}

.checkWrap .wpcf7-list-item label::before {
position: relative;
background-color: #fff;
width: 20px;
height: 20px;
margin-right: -10px;
border-radius: 3px;
border: 1px solid #c6c6c6;
top: 1px;
}

.checkWrap .wpcf7-list-item label:has(:checked)::before {
background-color: #7E8E7C;
}

.checkWrap .wpcf7-list-item label:has(:checked)::after {
position: absolute;
top: 4px;
left: 6px;
transform: rotate(45deg);
width: 8px;
height: 12px;
border: solid #fff;
border-width: 0 2px 2px 0;
}

.btnSubmitWrap {
position: relative;
width: 100%;
height: 80px;
text-align: center;
margin: 0 auto;
}

.btnSubmit {
position: relative;
background-color: var(--themeColor);
font-family: var(--font-primary);
width: 100%;
height: 80px;
font-size: 2rem;
font-weight: 700;
color: #fff;
margin: 0 auto;
padding-bottom: 3px;
cursor: pointer;
border-radius: 100px;
border: 0;
box-shadow: 0px 10px 20px 0px #00000033;
transition: all .3s ease-out;
left: 0;
top: 0;
}

.btnSubmitWrap::after {
position: absolute;
width: 14px;
height: 14px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(45deg);
right: 35px;
top: 0;
bottom: 0;
transition: .5s;
z-index: 10000;
}

/**/

.priceMenu {
background: #f3f3f3;
width: 100%;
font-weight: 700;
padding: 30px 25px;
}

.priceMenuTitle {
font-size: 1.8rem;
margin-bottom: 26px;
padding-bottom: 18px;
border-bottom: 1px solid #d3d3d3;
line-height: 1;
}

.priceMenu ul {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.priceMenu li {
position: relative;
width: 100%;
font-size: 1.4rem;
padding: 10px 0 10px 22px;
line-height: 1.5;
}

.priceMenu li::before {
position: absolute;
width: 12px;
height: 12px;
content: "";
border-right: 1px solid #333;
border-bottom: 1px solid #333;
transform: rotate(45deg);
margin: auto;
transition: .3s;
left: 0;
top: 14px;
}

.priceMenu li a:hover {
text-decoration: none;
}

.priceMenu li ul li {
width: 100%;
font-size: 1.3rem;
font-weight: 400;
padding: 10px 0 0px 18px;
}

.priceMenu li ul li::before {
position: absolute;
width: 8px;
height: 8px;
content: "";
border-right: 1px solid #333;
border-bottom: 1px solid #333;
transform: rotate(-45deg);
margin: auto;
transition: .3s;
left: 0;
top: 18px;
}

.gray700Wrap {
background-color: #f3f3f3;
width: 100%;
margin: 40px auto;
margin-bottom: 30px;
padding: 26px 30px 26px 24px;
}

.gray700Wrap h2 {
font-size: 1.6rem;
font-weight: 700;
text-align: center;
margin-bottom: 26px;
padding-bottom: 18px;
border-bottom: 1px solid #d3d3d3;
line-height: 1;
}

.gray700Wrap dl {
margin-bottom: 30px;
}

.gray700Wrap dl:last-child {
margin-bottom: 0;
}

.gray700Wrap dl dt {
float: left;
font-weight: 700;
}

.gray700Wrap dl dd {
padding: 0 0 0 16px;
}

.gray700Wrap dl dd span {
font-size: 1.4rem;
}

.gray700WrapBottom {
font-weight: 700;
text-align: center;
margin-bottom: 60px;
}

.priceListTitle {
font-size: 2.4rem;
font-weight: 700;
text-align: left;
margin: 0 auto;
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 3px solid #333;
line-height: 1.5;
}

.priceListTitle span {
font-size: 1.2rem;
color: #777;
display: block;
}

/*
.priceListTable {
overflow-x: auto;
padding-bottom: 15px;
}
*/

.priceSubTitle {
font-size: 1.8rem;
margin-bottom: 20px;
padding: 0 0 5px 10px;
border-left: 5px solid #333;
line-height: 1.5;
}

.blankPrice {
margin-top: -80px;
padding-top: 80px;
}

.priceListTable table {
width: 100%;
margin: 0 auto;
margin-bottom: 30px;
line-height: 1.4;
}

.priceListTable th,
.priceListTable td {
border: 1px solid #d3d3d3;
vertical-align: middle;
padding: 10px;
display: table-cell;
}

.priceListTable th {
background-color: #e4e4e4;
text-align: center;
font-weight: 700;
}

.priceListTable td.menuTd {
background-color: #f3f3f3;
width: 42%;
font-weight: 700;
text-align: left;
}

.priceListTable td.menuTd span {
font-size: 1.1rem;
display: block;
}

.priceListTable td {
width: 57%;
text-align: right;
}

.priceListTable td span {
font-size: 2rem;
}

.priceListTable td .priceColor {
color: #E47814;
}

.priceListTable td .priceTxtS {
font-size: 1.4rem;
}

.priceListTFlex {
width: 100%;
}

.priceListTL {
width: 100%;
font-size: 1.1rem;
text-align: right;
}

.priceListTR {
width: 100%;
line-height: 1.2;
}

.priceListTR i {
font-size: 1.2rem;
}

.priceListTable td .lineDotted {
margin: 15px auto;
border-bottom: 1px dotted #d3d3d3;
}

.priceListTable td .lineLine {
margin: 15px auto;
border-bottom: 1px solid #d3d3d3;
}

.priceListTR .tDgray {
background-color: #f3f3f3;
font-size: 1.2rem;
font-weight: 700;
margin-top: 10px;
padding: 10px;
line-height: 1.5;
}

.priceListTR .tDgray span {
display: block;
font-size: 1.2rem;
font-weight: 500;
}

.priceS {
font-size: 1.3rem;
}

/**/

#wrapPp {
position: relative;
width: 90%;
text-align: left;
margin: 0 auto;
padding: 40px 0;
}

.ppTitle {
font-size: 1.6rem;
font-weight: 700;
margin-bottom: 10px;
}

.ppTxt {
padding: 0 20px;
}

/**/

.pageNavi {
margin: 0 auto;
margin-top: 30px;
}

.wp-pagenavi {
position: relative;
font-size: 1.2rem;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
line-height: 32px;
}

.wp-pagenavi .pages {
display: none;
}

.wp-pagenavi .page {
margin: 0 2px;
}

.wp-pagenavi .current {
background-color: var(--themeColor);
width: 35px;
height: 35px;
color: #fff;
margin: 0 2px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
width: 35px;
height: 35px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi .first,
.wp-pagenavi .last {
display: none;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
position: relative;
font-size: 0;
text-indent: -1000px;
border: 0 !important;
}

.wp-pagenavi a:hover.previouspostslink,
.wp-pagenavi a:hover.nextpostslink {
background-color: #fff;
}

.wp-pagenavi .previouspostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-left: 1px solid var(--themeColor);
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.wp-pagenavi .nextpostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

/**/

#footerTop {
display: none;
}

footer {
position: relative;
background-color: #f3f3f3;
width: 100%;
font-size: 1.3rem;
}

#footerL {
background-color: #f3f3f3;
width: 100%;
font-size: 1.3rem;
padding: 0px 20px 120px;
}

#footerLogo {
width: 180px;
margin: 0 auto;
margin-bottom: 10px;
}

#footerShopTxt {
font-size: 2rem;
font-weight: 700;
margin-bottom: 20px;
line-height: 1.5;
}

#footerShopTxt span {
font-size: 1.6rem;
display: block;
}

#footerL p {
margin-bottom: 20px;
}

#btnAccessMap {
position: relative;
background-color: #f3f3f3;
font-family: var(--font-montserrat);
width: 156px;
height: 50px;
font-size: 1.2rem;
font-weight: 600;
text-align: left;
color: #333;
margin: 0 auto;
margin-bottom: 30px;
padding: 0 15px;
cursor: pointer;
letter-spacing: .1em;
border-left: 0;
border-top: 0;
border-right: 0;
border-bottom:  1px solid #000;
}

#btnAccessMap::after {
position: absolute;
width: 6px;
height: 6px;
content: "";
margin: auto;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(45deg);
right: 15px;
top: 0;
bottom: 0;
transition: .5s;
}

#btnCall {
width: 100%;
height: 100px;
font-size: 1.3rem;
margin: 0 auto;
margin-top: 20px;
border: 1px solid #d3d3d3;
transition: .3s;
line-height: 1.5;
}

#btnCall b {
position: relative;
padding-left: 18px;
}

#btnCall b::before {
position: absolute;
background-color: #d3d3d3;
width: 1px;
height: 13px;
content: "";
left: 9px;
top: 4px;
}

#btnACall {
background: url("../img/footer_call.png") no-repeat left;
background-size: 16px;
font-family: var(--font-montserrat);
font-size: 1.8rem;
font-weight: 500;
display: table;
padding-left: 18px; 
margin: 0 auto;
}

#btnCall a {
color: #333;
display: block;
padding: 24px 20px 26px;
}

#btnCall a:hover {
text-decoration: none;
}

#footerR {
background-color: #f3f3f3;
width: auto;
text-align: left;
display: table;
margin: 0 auto;
padding: 60px 20px;
line-height: 1;
}

#footerRFlex {
}

#footerLrFlex {
display: flex;
justify-content: space-between;
border-left: 1px solid #ccc;
}

.footerRL {
}

.footerRR {
}

.footerRL ul li,
.footerRR ul li{
position: relative;
}

.footerRL li a,
.footerRR li a {
display: block;
padding: 12px 0 12px 15px;
transition: .3s;
}

.footerRL li a:hover,
.footerRR li a:hover {
text-decoration: none;
opacity: .6;
}

.footerRL ul li::before,
.footerRR ul li::before {
position: absolute;
width: 6px;
height: 6px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
top: 0;
bottom: 0;
}

.footerNavH li {
position: relative;
margin-left: 20px;
}

.footerNavH li a {
padding: 10px 0 10px 12px;
}

.footerNavH li::before {
position: absolute;
width: 4px !important;
height: 4px !important;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
top: 0;
bottom: 0;
}

.fSubMenu {
font-size: 1.1rem;
margin-left: 32px !important;
}

#copyright {
font-family: var(--font-montserrat);
width: 100%;
font-size: 1.2rem;
padding: 30px 0 90px;
line-height: 1.5;
}

#bottomContact {
position: fixed;
width: 100%;
display: flex;
justify-content: space-between;
left: 0;
bottom: 0;
z-index: 200;
}

#bottomContact li {
background-color: #333;
width: 33.3333333333%;
height: 60px;
text-align: center;
line-height: 58px;
}

#bottomContact li a {
font-size: 1.6rem;
font-weight: 700;
color: #fff;
display: block;
}

#bottomContact li a:hover {
text-decoration: none;
}

#bCcall span {
background: url("../img/footer_call_fixed.png") no-repeat left;
background-size: 20px;
display: table;
margin: 0 auto;
padding-left: 22px;
}

#bCweb span {
background: url("../img/footer_monitor_fixed.png") no-repeat left;
background-size: 18px;
display: table;
margin: 0 auto;
padding-left: 24px;
}

#bCline span {
background: url("../img/footer_line_fixed.png") no-repeat left;
background-size: 19px;
display: table;
margin: 0 auto;
padding-left: 22px;
}

#pagetop {
position: fixed;
background: var(--themeColor);
width: 50px;
height: 50px;
border-radius:50px;
bottom: -66px;
right: 10px;
transition: .3s;
border: 1px solid var(--themeColor);
z-index: 200;
}

#pagetop::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
transition: .3s;
}

#pagetop:hover {
background: #fff;
}

#pagetop:hover::after {
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
}

.orderBox { 
display: flex;
flex-direction: column;
}

.order1 { order: 1; }
.order2 { order: 2; }
.order3 { order: 3; }
.order4 { order: 4; }
.order5 { order: 5; }

.alignright,
.alignleft,
.aligncente {
display: block;
margin: 0 auto;
margin-bottom: 30px;
}

}