@charset "utf-8";/* CSS Document */@import url(//fonts.googleapis.com/css?family=Ubuntu:700);@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);@import url(//fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,600;1,600&display=swap);@font-face {  font-family: Yu Gothic;  src: local("Yu Gothic Medium");  font-weight: 400;}@font-face {  font-family: Yu Gothic;  src: local("Yu Gothic Bold");  font-weight: 700;}*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;    height: 100%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #4E3C33;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  font-feature-settings: "pkna"1;  overflow-x: hidden;}section{    display: block;}a {  text-decoration: none;   transition: all 0.5s ease; }a:hover{    opacity: 0.8;    transition: all 0.5s ease;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}img{    max-width: 100%;    height: auto;}/*-----------------------------------------------------------------*/#header {  height: 80px;  top: 0;  left: 0;  width: 100%;  box-sizing: border-box;  z-index: 999;  white-space: nowrap;}#header.scroll {  position: fixed;  background: rgba(255, 255, 255, 0.8);  animation-name: anime;  animation-duration: 0.3s;  height: 80px;}@keyframes anime {  0% {    opacity: 0;  }  100% {    opacity: 1;  }}.inner{    max-width: 1300px;    display: flex;    justify-content: space-between;    align-items: center;    margin: 0 auto;}.logo{    margin: 0 1rem;}.reserve{    margin: 0 1rem;}#mv{        position: relative;}.main_visual{    object-fit: cover;}main {  background-image: url("../images/main_bg.png");  background-attachment: fixed;  background-size: cover;  background-position: center;}.catchcopy {  position: absolute;  top: 54%;  left: 70%;  transform: translate(-50%, -50%);  width: 32%;}.container{    max-width: 1300px;    margin: 0 auto;}.h3_ttl{    font-size: 3.2rem;    text-align: center;    padding-bottom: 3%;    font-weight: 600;}.top_botulinum{    padding: 6% 0 5%;}.txt_bo{    text-align: center;    max-width: 72rem;    font-size: 1.6rem;    margin: 0 auto;    line-height: 2.2;}.txt_bo p{    margin-bottom: 3rem;}.flex_box_re{    display: flex;    justify-content: space-evenly;    align-items: center;    flex-wrap: wrap;}.recom_con{    background: url("../images/susume_bg.png") no-repeat center;    background-size: cover;    width: 318px;    height: 197px;    display: grid;    align-items: center;    text-align: center;    font-size: 1.8rem;    font-weight: 600;    margin: 0 0.5rem;}.impact_img{    max-width: 1000px;    text-align: center;    margin: 0 auto;    font-size: 1.8rem;    line-height: 2.2;}.impact_img img{    display: block;    margin: 0 auto;    padding-bottom: 3rem;}.impact_img p{    padding-bottom: 3rem;}.impact_ttl{    font-size: 2.8rem;    font-weight: 600;    text-align: center;    position: relative;}.impact_ttl::after{    content: "";    height: 0.8rem;    position: absolute;    bottom: 4.6rem;    left: 0;    background: #FFE8F5;    width: 50%;    border-radius: 5rem;    transform:translateX(50%);    z-index: -1;}.flex_box_imp{    display: flex;    justify-content: space-around;    align-items: center;}.imp_left_box{    width: 30%;}.imp_right_box{    padding: 6%;    background: #FFFFFF;    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);    text-align: center;    font-size: 1.6rem;    line-height: 2.2;    width: 70%;    border-radius: 2rem;}.imp_box_ttl{    font-size: 2.4rem;    font-weight: 600;}.change{    padding: 5% 3%;}.flex_box_cha{    display: flex;    justify-content: space-evenly;    flex-wrap: wrap;}.flex_box_contents{    padding: 5rem;    background: #FFFFFF;    border-radius: 2rem;    box-shadow: 5px 5px 0px rgba(223, 159, 195, 1);    margin: 2rem 5rem;    width: 430px;    height: 290px;}.contents_ttl{    font-size: 2.4rem;    font-weight: 600;    margin-bottom: 2rem;    color: #DF9FC3;    text-align: center;}.flex_box_contents p{    font-size: 1.6rem;    line-height: 2;}.reserve_area{    padding: 3% 0;}.reserve_box{    max-width: 800px;    margin: 0 auto;    display: flex;    justify-content: space-around;    align-items: center;    padding: 3rem 3rem;    background: #FFFFFF;    border-radius: 2rem;}.reserve_txt{    text-align: center;    font-size: 2rem;    font-weight: 600;    max-width: 30%;}.faq{    padding: 3% 0 3%;}.faq_ttl{    padding: 3% 0;    text-align: center;    position: relative;}.faq_ttl::after{  content: "よくある質問";  position: absolute;  bottom: 4rem;  left: 50%;  transform: translateX(-50%);}.qa-007 {    max-width: 1000px;    border: none;    border-radius: 5px;    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);    background-color: #fff;    margin: 0 auto 2rem auto;}.qa-007 summary {    display: flex;    justify-content: space-between;    align-items: center;    position: relative;    padding: 1em 2em 1em 3em;    color: #333333;    font-weight: 600;    cursor: pointer;    font-size: 1.8rem;}.qa-007 summary::before,.qa-007 p::before {    position: absolute;    left: 1em;    font-weight: 600;    font-size: 1.8rem;}.qa-007 summary::before {    color: #75bbff;    content: "Q";}.qa-007 summary::after {    transform: translateY(-25%) rotate(45deg);    width: 7px;    height: 7px;    margin-left: 10px;    border-bottom: 3px solid #333333b3;    border-right: 3px solid #333333b3;    content: '';    transition: transform .5s;}.qa-007[open] summary::after {    transform: rotate(225deg);}.qa-007 p {    position: relative;    transform: translateY(-10px);    opacity: 0;    margin: 0;    padding: .3em 3em 1.5em;    color: #333;    transition: transform .5s, opacity .5s;    font-size: 1.6rem;}.qa-007[open] p {    transform: none;    opacity: 1;}.qa-007 p::before {    color: #ff8d8d;    line-height: 1.6;    content: "A";}.price{    padding: 2% 0 6%;}.price_ttl{    padding: 3% 0;    text-align: center;    position: relative;}.price_ttl::after{  content: "料金表（税込）";  position: absolute;  bottom: 4rem;  left: 50%;  transform: translateX(-50%);}.price_box{ max-width: 1000px;    margin: 0 auto;    padding: 3rem;    background: #FFFFFF;    border-radius: 2rem;}.price_box table {  border-collapse: collapse;  margin: 0 auto;  padding: 0;  width: 650px;  table-layout: fixed;  color: #4CAF50;    font-size: 1.6rem;}.price_box table tr {  background-color: #fff;  padding: .35em;  border-bottom: 1px dotted #8BC34A;}.price_box table tr:last-child{   border-bottom: 2px solid #18521b;}.price_box table th,.price_box table td {  padding: 1em 10px 1em 1em;}.price_box tbody th {    color: #0f7d13;    text-align: center;}.txt{   text-align: left;   font-size: .85em;}.price_box .price{   text-align: center;}@media screen and (max-width: 600px) {  .price_box table {    border: 0;    width:100%  }  .price_box table th{    display: block;    border-right: none;    border-bottom: 2px solid #0f7d13;    padding-bottom: .6em;    margin-bottom: .6em;  }  .price_box table thead {    border: none;    clip: rect(0 0 0 0);    height: 1px;    margin: -1px;    overflow: hidden;    padding: 0;    position: absolute;    width: 1px;      text-align: right;  }    .price_box table tr {    display: block;    margin-bottom: 2em;        border-bottom: 2px solid #0f7d13;  }    .price_box table td {    border-bottom: 1px solid #bbb;    display: block;    font-size: .8em;    text-align: right;    position: relative;    padding: .625em .625em .625em 4em;    border-right: none;  }    .price_box table td::before {    content: attr(data-label);    font-weight: bold;    position: absolute;    left: 10px;  }    .price_box table td:last-child {    border-bottom: 0;  }}#footer{    background: #FFF1F0;    padding: 5% 0 0;}.flex_box_footer{    display: flex;    justify-content: space-between;    flex-wrap: wrap;}.box_left_footer{}.box_left_footer p{    font-size: 1.4rem;    margin-bottom: 2rem;}.flex_box_inn{    display: flex;    justify-content: space-between;    align-items: flex-end;    margin-bottom: 1rem;}.box_right_footer{    width: 50%;    }.footer_contents01{}.footer_contents01 img{    display: block;}.copy{    background: #DF9FC3;    color: #FFFFFF;    text-align: center;    padding: 2% 0;}/*------------------------------------------------SP--------------------------------------------------*/@media only screen and (max-width: 640px) {    #header {    height: 60px;    width: 100%;    box-sizing: border-box;    z-index: 999;    white-space: nowrap;}    section{    padding: 0 5%;}#mv {  position: relative;  padding: 0;}    .catchcopy {  position: absolute;  top: 54%;  left: 70%;  transform: translate(-50%, -50%);  width: 64%;}.container {    max-width: 390px;    margin: 0 auto;}    .h3_ttl {    font-size: 1.8rem;    text-align: center;    padding-bottom: 3%;    font-weight: 600;}    .txt_bo {  text-align: center;  max-width: 72rem;  font-size: 1.4rem;  margin: 0 auto;  line-height: 1.8;}    .top_botulinum {  padding: 6% 3% 5%;}    .recom_con {  background: url("../images/susume_bg.png") no-repeat center;    background-size: auto;  background-size: cover;  width: 318px;  height: 197px;  display: grid;  align-items: center;  text-align: center;  font-size: 1.4rem;  font-weight: 600;  margin: 0 0.5rem;}  .impact_img {  max-width: 1000px;  text-align: center;  margin: 0 auto;  font-size: 1.4rem;  line-height: 1.8;}    .impact_ttl {  font-size: 1.8rem;  font-weight: 600;  text-align: center;  position: relative;}    .flex_box_imp {  display: flex;  justify-content: space-around;  align-items: center;  flex-flow: column;}    .imp_left_box {  width: auto;}    .imp_right_box {  padding: 6%;  background: #FFFFFF;  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);  text-align: center;  font-size: 1.4rem;  line-height: 1.8;  width: auto;  border-radius: 2rem;}    .imp_box_ttl {  font-size: 1.8rem;  font-weight: 600;}    .impact_ttl::after {  content: "";  height: 0.8rem;  position: absolute;  bottom: 3rem;  left: 0;  background: #FFE8F5;  width: 100%;  border-radius: 5rem;  transform: translateX(0%);  z-index: -1;}  .flex_box_contents {  padding: 3rem;  background: #FFFFFF;  border-radius: 2rem;  box-shadow: 5px 5px 0px rgba(223, 159, 195, 1);  margin: 2rem 2rem;  width: 100%;  height: 290px;}    .contents_ttl {  font-size: 2rem;  font-weight: 600;  margin-bottom: 2rem;  color: #DF9FC3;  text-align: center;}    .reserve_box {  max-width: 800px;  margin: 0 auto;  display: flex;  justify-content: space-around;  align-items: center;  padding: 3rem 3rem;  background: #FFFFFF;  border-radius: 2rem;  flex-flow: column;}    .reserve_txt {  text-align: center;  font-size: 2rem;  font-weight: 600;  max-width: 100%;}    .faq_ttl img {  width: 30%;}    .faq {  padding: 3%;}    .faq_ttl::after {  content: "よくある質問";  position: absolute;  bottom: 2rem;  left: 50%;  transform: translateX(-50%);}    .qa-007 summary {  display: flex;  justify-content: space-between;  align-items: center;  position: relative;  padding: 1em 2em 1em 3em;  color: #333333;  font-weight: 600;  cursor: pointer;  font-size: 1.4rem;}    .qa-007 p {  position: relative;  transform: translateY(-10px);  opacity: 0;  margin: 0;  padding: .3em 3em 1.5em;  color: #333;  transition: transform .5s, opacity .5s;  font-size: 1.4rem;}    .price_ttl {  padding: 3% 0;  text-align: center;  position: relative;}    .price_ttl::after {  content: "料金表（税込）";  position: absolute;  bottom: 1rem;  left: 50%;  transform: translateX(-50%);}    .price {  padding: 2% 3% 6% 3%;}    .footer_contents01 {  margin: 0 1rem;}    .footer_contents02 {  margin: 0 1rem;}    .box_right_footer {  width: 100%;  padding: 2rem;}        #footer {  background: #FFF1F0;  padding: 5% 0 0;}        }/*------------------------------------------------PAD--------------------------------------------------*/@media only screen and (min-width: 641px) and (max-width: 845px) {    .catchcopy {  position: absolute;  top: 54%;  left: 70%;  transform: translate(-50%, -50%);  width: 40%;}    .impact_img {  max-width: 700px;  text-align: center;  margin: 0 auto;  font-size: 1.8rem;  line-height: 2.2;}    .imp_right_box {  padding: 6%;  background: #FFFFFF;  box-shadow: 0 3px 6px rgba(0, 0, 0, .16);  text-align: center;  font-size: 1.6rem;  line-height: 2.2;  width: 70%;  border-radius: 2rem;  margin: 0 3%;}    .flex_box_contents {  padding: 5rem;  background: #FFFFFF;  border-radius: 2rem;  box-shadow: 5px 5px 0px rgba(223, 159, 195, 1);  margin: 2rem 2rem;  width: 330px;  height: 290px;}    .contents_ttl {  font-size: 2rem;  font-weight: 600;  margin-bottom: 2rem;  color: #DF9FC3;  text-align: center;}    .faq {  padding: 3% 3% 3%;}    .price {  padding: 2% 3% 6%;}    #footer {  background: #FFF1F0;  padding: 5% 5% 0;}    .box_right_footer {  width: 100%;}}