@charset "utf-8";

article,
aside,
canvas,
details,
figcaption,
figure,
header,
footer,
main,
menu,
nav,
section,
summary {
  display: block;
}

html {
  font-size: 62.5% !important;
}

body,
div,
pre,
p,
blockquote,
form,
fieldset,
input,
textarea,
select,
option,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
table,
th,
td,
embed,
object {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-style: normal;
  font-weight: normal;
  font-size: 1.0em;
}

table {
  border-spacing: 0;
}

* html table {
  border-collapse: collapse;
}

*:first-child + html table {
  border-collapse: collapse;
}

table {
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
  font-weight: normal;
}

table,
th,
td {
  border: medium solid grey;
}

input {
  vertical-align: middle;
}

q:before,
q:after {
  content: '';
}

ul {
  list-style: none;
}

body {
  font-family: 'Lato', 'Noto Sans JP', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 13px !important;
  font-size: 1.3rem !important;
  line-height: 1.5em;
  margin: 0px;
  padding: 0px;
}

body > div {
  font-size: 1.3rem !important;
}

p,
td {
  font-size: 1.3rem;
  line-height: 1.5em;
}

.clear {
  margin: 0px;
  padding: 0px;
  font-size: 0em;
  line-height: 0em;
  clear: both;
}

img {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: bottom
}

address {
  font-style: normal;
}

input,
button,
textarea {
  font-family: 'Lato', 'Noto Sans JP', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 1.6rem !important;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

div,
th,
td,
dt,
dd,
li,
a,
p {
  word-break: break-all;
}

* {
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.nolink {
  cursor: default;
}

.small {
  font-size: 1rem;
}

/* font // */

.lato {
  font-family: 'Lato', serif;
  font-display: swap;
}

.text-gr {
  color: #ABABAB;
}

.align-right {
  text-align: right;
}

/* // font */

/* general // */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.c {
  text-align: center;
}

.red {
  color: #ff0000;
}

.graypink {
  color: #d4b6b3;
}

/* // general */

/* menu animation // */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .2s;
  box-sizing: border-box;
}

.menu-trigger {
  position: relative;
  width: 100%;
  height: 100%;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000000;
  border-radius: 2px;
}

.menu-trigger span:nth-of-type(1) {
  top: 2px;
}

.menu-trigger span:nth-of-type(2) {
  top: 7px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 1px;
}

.menu-trigger.active {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.menu-trigger.active span {
  background: #000000;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
}

.menu-trigger.active span:nth-of-type(2) {
  -webkit-transform: translateY(-11px) rotate(-45deg);
  transform: translateY(-11px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(3) {
  opacity: 0;
}

/* // menu animation */

header.on #nav {
  animation: keys .1s ease 0s 1 alternate forwards running;
}

@keyframes keys {
  0% {
    margin: 0 0 0 -100%;
  }

  100% {
    margin: 0;
  }
}

header #nav {
  animation: bkeys .1s ease 0s 1 alternate forwards running;
}

@keyframes bkeys {
  0% {
    margin: 0;
  }

  100% {
    margin: 0 0 0 -100%;
  }
}

/* header // */
#fixed {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  background: #ffffff;
  border-bottom: 1px solid #cccccc;
}

#trigger {
  width: 44px;
  height: 44px;
  display: inline-block;
  z-index: 500;
  padding: 0;
}

#trigger-wrapper {
  padding: 0 12px 3px 12px;
}

header #trigger {
  background: #ffffff;
}

#trigger div#comment {
  font-size: 0.7rem;
  line-height: 1;
  display: inline-block;
  width: 100%;
  text-align: center;
}

#fixed h1 {
  text-align: center;
  margin: 0 auto;
  display: block;
}

#fixed h1 img {
  margin: 16px 0 0 17px;
  height: 12px;
  /*margin: 10px 0 0 17px;
  height: 24px;*/
}

#instagram img {
  width: 32px;
  padding: 7px 2px 0 0;
}

#shop img {
  width: 20px;
  padding: 11px 5px 0 0;
  box-sizing: content-box
}

header {
  display: block;
  z-index: 500;
  background: rgba(255, 255, 255, 1);
  width: 100%;
  position: fixed;
}

/*ながれるテキスト ここから //*/
#displaypanel {
  margin: 44px 0 0 0;
  width: 100%;
  text-align: center;
  overflow: hidden;
  height: 30px;
  border-bottom: 1px solid #cccccc;
}

#displaypanel p {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  line-height: 240%;
  height: 100%;
  margin: auto;
  font-size: 1.2rem;
  animation: scrollSample01 40s linear infinite;
}

@keyframes scrollSample01 {
  0% {
    transform: translateX(0)
  }

  100% {
    transform: translateX(-100%)
  }
}

/* // ながれるテキスト ここまで*/

#nav {
  display: none;
  z-index: 501;
  width: 100%;
  height: calc(100% - 44px);
  background: rgba(255, 255, 255, 1);
  position: fixed;
  border-top: 1px solid #cccccc;
  overflow: scroll;
}

#nav ul li {
  font-weight: bold;
  border-bottom: 1px solid #cccccc;
}

#nav ul li ul.subm li {
  font-weight: normal;
}

#nav ul li a {
  display: inline-block;
  padding: 1.2rem 15px;
  color: #000000;
  text-decoration: none;
  width: 100%;
  font-size: 1.35rem;
  line-height: 1;
}

#nav ul li a:after {
  content: "\e315";
  font-family: 'material icons';
  font-weight: bold;
  color: #000000;
  font-size: 2rem;
  display: block;
  float: right;
  margin-top: -2rem;
}

/* #nav ul.subm li a:after {
  margin-top: -2px;
} */

#nav ul li span {
  display: inline-block;
  width: 100%;
  font-size: 1rem;
  line-height: 1;
  font-weight: normal;
  color: #969696;
  padding: 0;
}

#nav ul li ul.sub {
  padding: 0 0 0 1rem;
  display: none;
}

#nav ul li a.sp {
  display: none;
}

#nav ul li a.hassub:after {
  content: "\e313";
}

#nav ul li a.hassub.on:after {
  content: "\e316";
}

#nav ul.sub li {
  border: none;
}

#nav ul.sub li.btm {
  border-top: 1px solid #cccccc;
}

/* // header */

/* よやく// */
#reserve2 {
  display: flex;
  position: fixed;
  bottom: 0;
  width: 100%;
  justify-content: space-around;
  border-top: 1px solid #cccccc;
}

#reserve {
  display: flex;
  position: fixed;
  bottom: 5px;
  width: 100%;
  justify-content: space-around;
  border-bottom: 1px solid #cccccc;
}


#reserve div,
#reserve2 div {
  width: 100%;
  text-align: center;
}

#reserve div a,
#reserve2 div a {
  display: inline-block;
  width: 100%;
  vertical-align: middle;
  text-decoration: none;
  line-height: 1em;
  font-size: 1.3rem;
  padding: 1.3rem 0;
  color: #ffffff;
}

.reserve_tel {
  background: #000000;
}

.reserve_tel a:before {
  color: #ffffff;
  float: left;
  font-size: 2.4rem;
  padding: 0 0 0 1rem;
  margin-right: -3.4rem;
}

.reserve_line {
  /*background: #00B800;*/
  background: #06c755;
}

.reserve_web {
  background: #d4b6b3;
}

/* // よやく*/

/* LINEバナー // */
.linebanner {
  margin: 0rem 0 1.5rem 0;
}

#index .linebanner {
  margin: 1rem 10px 1rem 10px;
}

#menu .linebanner {
  margin: 0 0 3rem 0;
}

#menu.menulist .linebanner {
  margin: 0 0 1.5rem 0;
}

.linebanner img {
  width: 100%;
}



.linebanners .linebanner img {
  width: 100%;
}

/* // LINEバナー */

/* footer // */
footer {
  text-align: center;
  padding: 0 0 88px 0;
  color: #000000;
  border-top: 1px solid #cccccc;
}

#totop {
  position: fixed;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.3);
  width: 40px;
  height: 40px;
  display: none;
  cursor: pointer;
}

#totop i {
  color: #ffffff;
  vertical-align: middle;
  font-size: 24px;
  padding-top: 7px;
}

footer img {
  width: 200px;
}

footer address {
  color: #cccccc;
  font-size: 1rem;
  line-height: 1.4rem;
  margin: 10px 0 0 0;
}

#r {
  padding: 10px;
  color: #969696;
  font-size: 1rem;
  line-height: 1.4rem;
}

footer ul {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #cccccc;
  margin: 0;
  padding: 10px 0;
  justify-content: center;
}

footer ul li {
  width: 50%;
  padding: 0 15px;
}

footer ul li a {
  color: #000000;
  text-decoration: none;
  font-size: 1.2rem;
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
}

#footer_logo {
  padding: 10px 0 0 0;
}

#footer_logo img {
  width: 100px;
}

/* // footer */

/* main // */
main {
  margin: 0 0 0 0;
  padding-top: 16px;
}

h2 {
  /* background: url(/img/tilt-pink.png); */
  text-align: center;
  /* padding: 0.6rem 0; */
  padding: 0.55rem 0;
  /* font-size: 1.4rem; */
  font-size: 1.2rem;
  margin-bottom: 10px;
}

h1 span,
h2 span {
  font-weight: normal;
  padding-left: 1rem;
}

h1 small,
h2 small,
h3 small {
  font-weight: normal;
  font-size: 1.2rem;
  letter-spacing: 0.2rem;
  margin-left: 1rem
}

/* // main */

/* リンク // */
section a.button {
  background: #ffffff;
  color: #000000;
  text-decoration: none;
  line-height: 1em;
  display: block;
  text-align: center;
  padding: 1rem;
  margin: 1rem 0;
  border: 1px solid #000000;
  font-size: 1.2rem;
  -web-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

section a.button:after {
  content: "\e315";
  font-family: 'material icons';
  color: #000000;
  vertical-align: middle;
  font-size: 1.5rem;
  line-height: 1rem;
  float: right;
}

#menu.menulist section a.button {
  padding: 0.75rem;
}

#menu.menulist section a.button span {
  line-height: 1.3;
  color: #999999;
}

#menu.menulist section a.button:after {
  line-height: 0;
}

#menu.menulist section a.button span:before {
  content: '\A';
  white-space: pre;
}

/* // リンク */

/* トップページ // */
main#index {
  margin: 0 0 0 0;
  padding-top: 0;
}

#index h2 {
  margin: 2px 0;
}

#instagram a,
#shop a,
#cam a,
#index .itemcontents a,
#index #twocolumn a,
#resereve a,
#contact .fif a {
  display: inline-block;
}

section#cam,
section#twocolumn {
  padding: 0 0;
}

#web {
  text-align: center;
  padding: 10px 10px 0 10px;
}

#web img {
  width: 100%;
}

#cam img {
  width: 100%;
}

#twocolumn {
  overflow: hidden;
}

#twocolumn .row {
  display: block;
}

#twocolumn .row .menu {
  padding: 0 10px;
}

#index .itemcontents .w1,
#index #cam .w1 {
  padding: 0 10px 10px 10px;
}

#index .itemcontents .w1:last-child {
  padding-bottom: 0;
}

#index #cam .w1:nth-of-type(5) {
  padding-bottom: 0;
}

/* #index .itemcontents .w1:nth-of-type(1) {
  padding-top: 10px;
} */

#index #twocolumn .item {
  width: 50%;
  float: left;
  padding: 0 0 10px 0;
}


#index #twocolumn .item:nth-of-type(odd) {
  padding-right: 5px;
}

#index #twocolumn .item:nth-of-type(even) {

  padding-left: 5px;
}

#index #twocolumn .item.title:nth-of-type(odd) {
  padding: 0 0 10px 5px;
}

#index #twocolumn .item.title:nth-of-type(even) {
  padding: 0 5px 10px 0;
}

#index #twocolumn .menu .item img.indi {
  margin: 0 0 10px 0;
}

/* #index #twocolumn .item:nth-of-type(5),
#index #twocolumn .item:nth-of-type(6) {
  padding-bottom: 0;
} */

/* #twocolumn .w4 {
  width: 25%;
  float: left;
  padding: 0 10px 10px 10px;
} */


#index #twocolumn .item img {
  width: 100%;
  border: none;
}

#twocolumn .w1 {
  padding: 0 0 10px 0;
}

#twocolumn .w1 img {
  width: 100%;
}

section {
  padding: 0 10px;
}

section h2,
section h1 {
  text-align: center;
}

section p {
  font-size: 1.25rem;
  margin: 0 0 1.5rem 0;
}

section p.ast {
  margin: 0 0 0.5rem 0;
}

section p.mds {
  margin-bottom: 1rem;
}

section#main {
  padding: 0;
}

section#main img {
  width: 100%;
}

section.itemcontents,
section.content .wrap .pic {
  padding: 0;
  overflow: hidden;
}

section.itemcontents .item.w1,
section.content .wrap .pic .w2 {
  float: left;
  width: calc(100% / 3)
}

section.pic {
  padding: 0 10px;
}

/*%# section.itemcontents .w1 {
  width: calc(100% / 3);
} %*/

section.itemcontents .w1 img,
section.pic .w2 img {
  width: 100%;
}

section.itemcontents .item.right {
  float: right;
}

section.itemcontents .item img {
  width: 100%;
  border: 1px solid #ffffff;
}

/* section#clinic,
section#schedule{
  padding: 1rem 0 0 0;
} */

/* section#access {
  padding: 1rem 0;
} */

#access {
  margin: 10px auto;
}

#access .wrap {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  background: #f5f5f5;
}

#access .box {
  padding: 0 10px;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#access .text {
  width: 60%;
  white-space: nowrap;
  padding-top: 10px;
}

#access .building {
  width: 40%;
  text-align: end;
  padding: 10px;
}

#access .map {
  width: 50%;
  padding-bottom: 10px;
}

#access .map iframe {
  background: #CCCCCC;
  width: 100%;
  height: 270px;
}

#access img {
  width: 80%;
}

#access .button {
  display: none;
}

#schedule {
  background: #f5f5f5;
  margin: 0 10px;
  padding: 0;
}

#schedule .fif {
  padding: 0 10px;
  margin-top: 10px;
}

.grey {
  margin: 10px 0 0 0;
  width: 100%;
  padding: 0px;
}

#access .grey {
  margin: 10px 0;
}

.pic img {
  width: 100%;
}

#schedule .c {
  /* padding: 0 0 10px 0; */
  margin: 0 0 1rem 0;
}

#schedule .calenders {
  padding: 0;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

#schedule .calender {
  width: 100%;
  padding: 0 10px;
}

#schedule .calender h4 {
  font-weight: bold;
  margin: 0.5rem;
}

#schedule .tab_item {
  width: 50%;
  height: 40px;
  border-bottom: 2px solid #cccccc;
  background-color: #f5f5f5;
  line-height: 40px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  margin: 0 auto;
  font-weight: normal;
}

#schedule .tab_item:hover {
  opacity: 0.75;
}

#schedule .tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

#ginza:checked ~ #schedule_ginza,
#shibuya:checked ~ #schedule_shibuya {
  display: block;
}

/*選択されているタブのスタイルを変える*/
#schedule input#ginza:checked + .tab_item {
  background-color: #d4b6b3;
  border-bottom: 2px solid #d4b6b3;
  color: #000;
}

#schedule input#shibuya:checked + .tab_item {
  background-color: #f2cf92;
  border-bottom: 2px solid #f2cf92;
  color: #000;
}

#schedule input {
  display: none;
}

#schedule h2 {
  font-weight: bold;
}

.pink {
  color: #d4b6b3;
  font-size: 1.2em;
}

.orange {
  color: #f2cf92;
  font-size: 1.2em;
}

.problem .picture {
  display: flex;
  margin-bottom: 10px;
}

.problem .picture:last-child {
  margin-bottom: 0;
}

.problem .picture .item.w2,
#slide .inner .item.w2,
.inside .item.w2 {
  margin: 0 5px;
}

.problem .picture .item.w2:nth-of-type(1) {
  margin-left: 0;
}

.problem .picture .item.w2:nth-of-type(3) {
  margin-right: 0;
}

.problem .item.w2 img,
.inside .item.w2 img,
#slide img,
#slide_menu img {
  width: 100%;
}

#slide {
  padding: 10px 5px 0 5px;
}

#slide_menu {
  padding-top: 10px;
  padding-bottom: 5px;
}

.inside {
  display: flex;
}

.inside .item.w2:nth-of-type(1) {
  margin-left: 0;
}

.inside .item.w2:nth-of-type(3) {
  margin-right: 0;
}

#news,
.news {
  background: #d4b6b3;
  padding: 1rem 0 0;
  border: 0;
}

#news p,
.news p {
  text-align: center;
  margin-bottom: 0;
  padding: 0 0.5rem 0;
}

.news .banner {
  margin: 7px 0 0;
}

.news > div.banner > a > img {
  width: 100%;
  margin: 0;
}

.newsand {
  padding-top: 10px;
}

#newsarea {
  overflow-y: scroll;
  /* overflow-y: hidden; */
  margin: 0 0 10px 0;
  height: 14em;
  background: #ffffff;
  border: 1px solid #dedede;
}

#newsarea .info {
  background: #ffffff;
  padding: 1rem;
  border-bottom: 1px solid #dedede;
  letter-spacing: 1px;
}

#menu #newsarea {
  height: 20rem;
}

#menu #newsarea .info {
  padding: 10px 10px 0 10px;
}

#newsarea .info:last-child {
  border-bottom: 0;
}

#newsarea .info p {
  text-align: left;
}

#newsarea .info_date {
  background: #d4b6b3;
  display: inline-block;
  padding: 5px;
  margin: 0 0 5px 0;
  color: #ffffff;
  line-height: 1;
  text-align: center;
}

#newsarea .info p:not(.info_date) {
  line-height: 1.5rem;
}

#newsarea .info ul {
  margin:1vw 5vw 2vw;
  list-style:circle;
}

#newsarea .info ul > li {
  line-height: 20px;
}

#newsarea .info h4 {
  letter-spacing: 0.5rem;
  font-size:1.5rem !important;
  font-weight: 400;
}

.align-center {
  text-align: center !important;
}

#newsarea::-webkit-scrollbar {
  background: #eee;
  width: 10px;
}

#newsarea::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 50px;
  height: 50px;
}

.news-title {
  font-weight: bold;
  margin: 0 !important;
  line-height: 1;
}

.rec-title {
  line-height: 1;
  margin: 10px 0 5px 0 !important;
  font-weight: bold;
}

.menu_rec {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.menu_rec a {
  width: calc(50% - 5px);
  margin-bottom: 10px;
}

.menu_rec a img {
  width: 100%;
}


/* page // */

.content h3,
#menu .content#ssed .fif h1 {
  font-weight: bold;
  line-height: 1em;
  font-size: 1.8rem;
  margin: 0 0 2rem 0;
  text-align: left;
}

.content h3 span,
#menu .content#ssed .fif h1 span {
  display: block;
  font-size: 1.2rem;
  color: #bababa;
  font-weight: bold;
  padding-left: 0;
}

#map {
  background: #CCCCCC;
  width: 100%;
  height: 270px;
}

.page h2,
.page h1 {
  font-size: 1.8rem;
  line-height: 1em;
  margin: 0 0 2rem 0;
  padding: 0.55rem 0;
  background: none !important;
}

.page h2 span,
.page h1 span {
  display: block;
  font-size: 1.2rem;
  color: #bababa;
  padding-left: 0;
  font-weight: bold;
}

#bonbon.page h2,
#menu .page h2,
#problem .page h2,
#price .page h2,
#reservation .page h2,
#faq .page h2,
#contact .page h2,
#recruit .page h2 {
  font-weight: bold;
}

.page h1 {
  font-weight: bold;
}

.page .fif {
  margin: 0 0 0 0;
}

section.content h3,
#menu .content#ssed .fif h1 {
  margin-bottom: 1rem;
}

#recruit section.content,
#problem section.content,
#price section.content,
#faq section.content,
#contact section.content,
#topics section.content,
#menu.menulist section.content {
  border-top: 1px solid #cccccc;
  padding-top: 1.5rem;
}

#new section.content {
  padding-top: 1.5rem;
}

#new h2 {
  font-weight: bold;
}

.vaccination .c i {
  font-size: 6rem;
}

main a {
  color: #000000;
}

.img {
  width: auto !important;
  max-width: 100%;
}

h4.title {
  border: 1px solid #000000 !important;
  padding: 0.75rem !important;
}

.sp {
  display: inline-block;
}

#nav ul.sub li.sp {
  display: block;
}

.pc {
  display: none;
}

.climgs {
  overflow: hidden;
}

.cpt {
  font-size: 1rem;
}

#ssed sup {
  line-height: 1;
}

/* // page */

/* table // */
table,
table th,
table td {
  border: none;
  margin: 0;
  padding: 0;
  line-height: 1.7em;
  font-size: 1.25rem;
}

table {
  width: 100%;
  margin: 0 auto 1rem auto;
}

table th {
  padding: 0 3rem 0.5rem 0;
  ;
  white-space: nowrap;
  font-weight: bold;
  width: 1%;
}

#menu table.frame.du th {
  white-space: normal;
}

table td {
  padding: 0 0 1rem 0;
}

table.schedule,
table.schedule th,
table.schedule td {
  text-align: center;
  padding: 0;
}

table.schedule {
  border-right: 1px solid #cccccc;
}

table.schedule th,
table.schedule td {
  border: 1px solid #000000;
  padding: 5px 0;
  background: #ffffff;
  text-decoration: none;
}

table.schedule td {
  /* font-size: 1.2rem;
  color: #d4b6b3; */
  width: calc(100% / 7);
  line-height: 1.4em;
}

table.schedule td:not(:empty),
table.schedule td.on {
  color: #000000;
  font-weight: bold;
}

table.schedule td.off,
table.schedule td.of {
  color: #999999;
  font-weight: normal;
}

table.schedule td {
  color: #000000;
}

table.schedule td:after {
  content: "\A　";
  white-space: pre;
  font-size: 1.6em;
}

table.schedule td.on:after,
table.schedule td:not(:empty):after {
  color: #d4b6b3;
  content: "\A●";
  white-space: pre;
  font-size: 1.6em;
}

#schedule_shibuya table.schedule td.on:after,
#schedule_shibuya table.schedule td:not(:empty):after {
  color: #f2cf92;
  content: "\A●";
  white-space: pre;
  font-size: 1.6em;
}

#schedule_ginza table.schedule td.off:after,
#schedule_ginza table.schedule td.of:after,
#schedule_shibuya table.schedule td.off:after,
#schedule_shibuya table.schedule td.of:after {
  color: #999999;
  content: "\A×";
  white-space: pre;
  font-size: 1.6em;
}

table.schedule td.strong:after {
  color: #945e58;
}

table.schedule th {
  font-weight: normal;
}

table.frame {
  margin: 0;
}

table.frame tr {
  border: 1px solid #cccccc;
}

table.frame th,
table.frame td {
  line-height: 1;
  display: block;
}

table.frame th {
  font-weight: normal;
  width: 100%;
  line-height: 1.5rem;
  padding: 0.75rem 0.75rem 0 0.75rem;
}

table.frame td {
  font-weight: bold;
  text-align: right;
  white-space: nowrap;
  width: 100%;
  font-size: 1.4rem;
  padding: 0.75rem;
}

table.frame td .we {
  font-weight: normal;
  font-size: 1.25rem;
  display: inline-block;
  margin: 0 1rem 0 0;
}

table.frame td .we.m {
  margin: 0 0.3rem 0 0;
}

table.frame.du td {
  margin-bottom: 0;
}

table.cell {
  margin: 0;
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
}

table.cell td,
table.cell th {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #cccccc;
  line-height: 1.3;
}

table.cell th {
  width: 1%;
  white-space: nowrap;
  background: #f3f3f3;
  text-align: center;
}

table.info {
  margin: 0 0 1rem 0;
}

table.info th,
table.info td {
  padding: 0.5rem;
  border-bottom: 1px dashed #cccccc;
}

table.info th {
  text-align: right;
  font-weight: normal;
  color: #000000;
  /* font-style: italic; */
}

table.info th:after,
table.flow th:after {
  content: '／';
  padding: 0 0 0 0.5rem;
}

table.com th,
table.com td {
  border: 1px solid #cccccc;
  padding: 0.5rem;
}

table.com th {
  background: #f3f3f3;
  width: auto;
  white-space: nowrap;
  text-align: center;
  font-weight: normal;
}

table.com td {
  width: 40%;
}

table th.em {
  background: #e3b0a6;
  font-weight: bold;
}

table td.em {
  background: #ffece8;
  font-weight: bold;
}

.lipo table.com th {
  width: 1%;
  vertical-align: middle;
}

#clinic .climg {
  float: left;
}

#clinic .climg img {
  width: 100%;
  border: 1px solid #ffffff;
}

#clinic .fif .climg {
  width: 50%;
}

#clinic {
  margin-top: 20px;
}

/* //clinic */

/* bonbon// */
#bonbon img.bonbon {
  width: 50%;
  margin: 1rem 0 3rem 0;
}

/* //bonbon */

/* price// */
#price h3 {
  margin-top: 1rem;
}

#price h4 {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0 0 0.75rem 0;
}

#price table.frame {
  margin: 0 0 1rem 0;
}

#price table.frame th {
  white-space: initial;
}

/* //price */

/* reserevation// */
#reservation .reserve_tel,
#reservation .reserve_line,
#reservation .reserve_web {
  text-align: center;
  margin-bottom: 1rem;

}

#reservation .reserve_tel a,
#reservation .reserve_line a,
#reservation .reserve_web a {
  display: inline-block;
  width: 100%;
  vertical-align: middle;
  text-decoration: none;
  line-height: 1em;
  font-size: 1.3rem;
  padding: 1.3rem 0;
  color: #ffffff;
}

.num {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 3rem;
}

#reservation .content {
  padding: 1rem 0;
  border-bottom: 1px solid #cccccc;
}

#reservation .content#schedule {
  padding: 0 0 1rem 0;
  border: none;
}

#reservation .content#access {
  border: none;
}


#reservation .content:last-child {
  border-bottom: none;
}

#reservation .content .fif {
  padding: 0 10px 10px 10px;
  /* border-bottom: 1px solid #cccccc; */
}

#reservation .content .fif:nth-of-type(2) {
  padding: 10px;
}

#reservation .content .fif:last-child {
  border-bottom: none;
  padding: 10px 10px 0 10px;
}

#reservation .lb {
  text-align: center;
  width: 100%;
  padding: 10px;
}


/* //reservation */

/* faq// */
#faq .q {
  background: #ebebeb;
  font-weight: bold;
  padding: 0.75rem;
  margin-bottom: 1rem
}

#faq .page:last-child {
  border-bottom: none;
}

#contact .content .fif {
  overflow: hidden;
  margin-bottom: 1rem;
}

#faq .a {
  margin-bottom: 3rem;
}

#faq .a a.button {
  display: inline-block;
  width: 100%;
  margin: 1rem 0 0 0;
}

/* //faq */

/* contact// */
#contact .content .fif div.c {
  float: left;
  width: 64px;
  text-align: center;
}

#contact .content .fif h3 {
  margin: 1.5rem 0 0 0;
  line-height: 1;
  font-size: 1.4rem;
}

#contact .content .fif h3:after {
  content: "\A";
  white-space: pre;
}

#contact .content .fif .c {
  text-align: left;
}

#contact .imginstagram img {
  width: 60px;
}

#contact .imgline img {
  width: 42px;
  margin: 9px;
}

#contact .fif a i {
  font-size: 4.5rem;
  color: #000000;
  margin: 0.5rem;
}

#contact section.content.caution {
  margin-top: 2rem;
  padding-top: 2.5rem;
}

#contact section.caution a.button {
  display: block;
}

/* //contact */

/* problem// */
#problem h4 {
  font-weight: bold;
  margin: 0 0 0.5rem 0;
}

#problem h4 span {
  font-weight: normal;
  display: inline-block;
  background: #cccccc;
  color: #ffffff;
  padding: 0 0.5rem;
  margin: 0 0.5rem 0 0;
}

#problem .content .fif {
  margin: 0 0 2.5rem 0;
}

#problem .content .fif:last-child {
  margin: 0;
}

/* //problem */

/* menu// */
#menu .page h2 {
  margin-bottom: 0;
  padding-bottom: 0;
}

#menu.menulist .page h2,
#menu.menulist .page h1 {
  font-size: 1.8rem;
  line-height: 1em;
  margin: 0 0 2rem 0;
  background: none !important;
  /* padding-bottom: 0;
  padding-top: 0.5; */
}

#menu .fif img {
  width: 100%;
  margin: 0;
}

#menu .fif img.cap {
  margin-bottom: 0.5rem;
}

#menu .fif img.normal {
  width: auto;
  float: right;
  margin: 0 0 0 1rem;
}

#menu .fif .sb {
  clear: both;
  margin: 0 0 3em 0;
}


#menu .fifsub img {
  width: auto;
  margin: 0 0 1rem 0;
}

#menu .fifsub50 {
  text-align: center;
}

#menu .fifsub50 img {
  width: 45%;
  height: 45%;
  margin: 0 0 1rem 0;
}

.imghalf {
  width: 50% !important;
}

#menu.menulist .fif {
  margin-bottom: 2rem;
}

#menu .content .fif h4,
#menu .content#ssed .fif h2 {
  font-weight: bold;
  font-size: 1.45rem;
  border-bottom: 1px solid #cccccc;
  margin: 2.5rem 0 1rem 0;
  padding: 0 0 0.5rem 0;
  text-align: left;
}

#menu .content#ssed .fif h3 {
  font-size: 1.3rem;
  line-height: 1.5;
}

#menu.menulist .content .fif h4 {
  border-bottom: 0;
  padding: 0;
}

#menu.menulist .fif h4 span {
  color: #bababa;
  /* font-weight: normal; */
  margin: 0 0 0 1rem;
  font-size: 1.3rem;
}

#menu .content .fif h4:first-child,
#menu .content#ssed .fif h2:first-child {
  margin: 0.5rem 0 1rem 0;
}


.site-content.ssed .entry-content h2 {
  font-weight: bold;
  font-size: 1.5em;
  text-align: left;
  margin-bottom: 0.5em;
  padding-top: 1em;
}

.site-content.ssed .entry-content h3 {
  font-weight: bold;
  font-size: 1.3em;
  text-align: left;
  margin-bottom: 0.5em;
  padding-top: 1em;
}

.site-content.ssed .entry-content h4 {
  font-weight: bold;
  text-align: left;
  margin-bottom: 0.5em;
  padding-top: 1em;
  font-size: 1.5rem;
}

.site-content.ssed .entry-content h4.last {
  margin-top: 3rem;
}

.site-content.ssed .entry-content ul {
  margin: 1.5em 0 1.5em 2.5em;
  ;
  list-style-type: circle;
}

.site-content.ssed .entry-content ul li {
  font-size: 1.5rem;
  line-height: 1.5;
}

.site-content.ssed .entry-content p {
  margin-bottom: 2rem !important;
}

#menu .fif a.button {
  margin-top: 2.5rem;
}

#menu.menulist .fif a.button {
  margin-top: 0;
}

#menu .fif p a {
  text-decoration: underline;
}

#menu .fif p a:hover {
  text-decoration: none;
}

#menu .content .fif h5 {
  font-weight: bold;
  margin: 0 0 0.5rem 0;
  display: inline-block;
  background: #dedede;
  padding: 0 0.75rem;
  font-size: 1.4rem;
}

#menu .content .fif h6 {
  font-weight: bold;
  margin: 0 0 0.75rem 0;
  font-size: 1.4rem;
}

#menu table.cell tr,
#menu table.cell th {
  display: block;
  width: 100%;
}

#menu table.cell td {
  line-height: 1.35em;
  display: block;
}

#menu table.lis {
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}

#menu table.lis th,
#menu table.lis td {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding: 0.3rem;
  font-size: 1.1rem;
  width: auto;
  vertical-align: middle;
}

#menu table.lis th {
  text-align: center;
}

#menu table.lis td.imgcell {
  width: 1%;
}

#menu table.lis td.titlecell {
  white-space: nowrap;
  width: 1%;
}

#menu table.lis td img {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

#menu table.flow th,
#menu table.flow td {
  display: block;
  width: 100%;
  text-align: left;
}

#menu table.flow th {
  border-bottom: 0;
  padding: 0;
  font-weight: normal;
}

#menu table.flow td {
  border-bottom: 1px dashed #cccccc;
  margin-bottom: 1rem;
}

#menu .pl {
  margin: 1rem 0 0 0;
}

.tax {
  font-size: 10px;
}

/* //menu */

/* topics */
#topics h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
}

#topics .topic h3 {
  margin-bottom: 1rem;
}

#topics section.content {
  padding-top: 0;
}

#topics p {
  margin: 0 0 0 0;
  padding-top: 1rem;
}

#topics .topic {
  border-bottom: 1px solid #cccccc;
  padding: 2rem 1rem;
  width: 100%;
}

#topics .topic:last-child {
  border-bottom: 0;
}

#topics .date {
  display: inline-block;
  padding: 0.5rem;
  line-height: 1;
  background: #f5f5f5;
  color: #696969;
  margin: 0 0 0.5rem 0;
}

#topics .topic a {
  text-decoration: underline;
}

#topics .topic a:hover {
  text-decoration: none;
}

#topics .topic a.button {
  text-decoration: none;
  margin-top: 3rem;
}

/* campaign miradry */
#campaign.miradry .sub_title {
  padding: 0 0 0 0;
}

#campaign.miradry h3 {
  padding: 0 0 20px 0;
  text-align: center;
  line-height: 1.3;
}

#campaign.miradry .sub_title h3:before {
  background: none;
  margin: 0;
  padding: 0;
}

#campaign.miradry .ex {
  margin: 20px auto 0 auto;
  text-align: center;
}

#campaign.miradry .ex p {
  text-align: left;
}

#campaign.miradry .number {
  display: block;
  text-align: center;
}

#campaign.miradry .number img {
  width: auto;
}

#campaign.miradry .ex img.img {
  margin: 0 0 20px 0;
}

#campaign.miradry .grey {
  padding: 20px;
  overflow: hidden;
}

#campaign.miradry .ce {
  text-align: center;
}

#campaign.miradry p {
  margin-bottom: 1rem;
}

#campaign.miradry #flow h3 {
  padding: 10px;
}

#campaign.miradry #flow h3 span {
  padding: 0 20px 0 0;
}

#campaign.miradry table.detail {
  margin: 0 auto;
  width: 100%;
  border-radius: 10px;
}

#campaign.miradry table.detail td,
#campaign.miradry table.detail th {
  padding: 10px;
  display: block;
  width: 100%;
}

#campaign.miradry table.detail th {
  border-radius: 10px 10px 0 0;
  white-space: nowrap;
  border-bottom: 1px dashed #999999;
  text-align: center;
  background: #cdcdcd;
}

#campaign.miradry table.detail td {
  border-radius: 0 0 10px 10px;
  margin-bottom: 10px;
  background: #dcdcdc;
}

#campaign.miradry .miradrybtn {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

#campaign.miradry .option {
  font-size: 0.8em;
}

#campaign.miradry .option {
  text-align: center;
  padding: 0 1rem;
}

#campaign.miradry .option p {
  font-size: 1.0rem;
  text-align: left;
  display: inline-block;
  margin: 1rem auto 0 auto;
  color: #797979;
}

#campaign.miradry .mpr {
  margin-bottom: 0;
  padding-bottom: 0;
  padding-top: 0;
}

#campaign.miradry .mpr table.frame {
  margin-bottom: 1rem;
}

#campaign.miradry .mpr table td,
#campaign.miradry .mpr table th {
  background: #ffffff;
}

#campaign.miradry .mimage img {
  width: 100%;
}

.formcontentp {
  border-top: 1px solid #cccccc;
}

.exform,
form.formrun {
  width: 100%;
}

form.formrun {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 1rem 0;
}

form.formrun .formitem {
  width: 50%;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  text-align: center;
}

form.formrun input {
  padding: 1rem;
  width: 80%;
  border: 2px solid #dddddd;
  font-size: 1.3rem !important;
  line-height: 1;
}

form.formrun label {
  text-align: left;
  line-height: 1;
}

.formwrapper {
  background: #d4b6b3;
  padding: 15px;
}

.formcontent,
.formcontentp {
  background: #ffffff;
  padding: 5px !important;
}

.formcontent p,
.formcontentp p {
  text-align: center;
  width: 100%;
  margin: 1rem 0 0 0;
  padding: 0 1rem;
}

.formcontent p {
  margin: 1rem 0 2rem 0;
}

.formcontent.thanks p,
.formcontentp.thanks p {
  margin: 0;
}

.formcontent p strong,
.formcontentp p strong {
  font-size: 1.4rem;
}

.down {
  text-align: center;
}

.down span {
  font-size: 4rem;
  padding: 0;
  line-height: 1;
}

#reservation .formcontent .fif {
  border-bottom: 0;
}

#reservation .content.formcontent,
#reservation .content.formcontentp {
  border: 0 !important;
}

#reservation .content.access {
  margin: 0 10px;
}


/* IE */
input:-ms-input-placeholder {
  color: #dddddd;
}

/* Edge */
input::-ms-input-placeholder {
  color: #dddddd;
}

form.formrun input::placeholder {
  color: #dddddd;
}

form.formrun button {
  margin-top: 2rem;
  font-size: 1.4rem !important;
  padding: 1rem 3rem;
  line-height: 1;
  border: 2px solid #dddddd;
}

form.formrun .formitem.bt {
  margin: 0 10px;
}

#reservation .content h3 {
  margin: 0 0 1rem 0;
}

.alert-success {
  color: #155724;
  background-color: #d4edda;
  border-color: #c3e6cb !important;
}

.alert {
  position: relative;
  padding: .75rem 1.25rem !important;
  margin: 1rem !important;
  border: 1px solid transparent;
  border-radius: .25rem;
  text-align: center;
}

.alert .icon {
  vertical-align: bottom;
}

.embed {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0px;
  position: relative;
}

.embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.np {
  font-weight: normal;
  display: inline-block;
  margin: 0.5rem 0 0 0;
  font-size: 1.25rem;
}

.np .tax {
  font-size: 9px;
}

/*選べる特典*/
/*
.gift {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  padding: 0 1rem;
  position: relative;
  margin-top: 30px;
  background: #dfdfdf;
}

.gift h3 {
  max-width: 328px;
  position: relative;
  top: -30px;
  margin: 0 auto;
}

.gift p {
  font-size: 1.3rem;
}

.gift ul {
  position: relative;
  top: -30px;
  margin-bottom: -60px;

}

.gift ul li {
  font-weight: bold;
  font-size: 1.4rem;
  width: 100%;
  margin: 0 0 -30px 0;
  line-height: 0;
  position: relative;
  overflow: hidden;
}

.gift ul li img {
  width: 60px !important;
  vertical-align: middle;
  position: relative;
}

.gift .bl img {
  z-index: 100;
}

.gift .gc {
  background: #ffffff;
  display: block;
  line-height: 1;
  width: 100%;
  position: relative;
  top: -40px;
  z-index: 10;
  border-radius: 5px;
  -ms-border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  font-size: 1.3rem;
}

.gift .gc strong {
  padding: 1.5rem 0.5rem 1.5rem 55px;
  display: inline-block;
}

.gift .ca {
  color: #4e4e4e;
  font-size: 1rem !important;
  padding: 0 0.5rem 1.5rem 0.5rem;
  margin: -20px 0 0 0;
}

.gift .funky {
  font-size: 2.4rem;
  line-height: 0;
  color: #ccbc85;
}

.gift sup {
  font-weight: normal;
  font-size: 1rem;
}

.gift {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  font-size: 1.4rem;
  padding: 0 1rem;
}
*/

#lp {
  margin-top: 0;
  padding-top: 0;
}

#lp .page img {
  width: 100%;
}

#lp .glp1copy {
  background: #823a90;
  text-align: center;
}

#lp .glp1item {
  text-align: center;
}

#lp .glp1price {
  border: 2px solid #823a90;
  text-align: center;
  padding: 1rem 0;
  margin: 0 10px;
}

#lp .glp1copy img {
  width: 100%;
}

#lp .glp1item img {
  width: 100%;
}

#lp .glp1price img {
  width: 100%;
}

#lp .glp1bt {
  margin: 2rem 0;
}

#lp .glp1bt img {
  width: 100%;
}

#lp .fif {
  margin: 0 auto;
}

#lp.glp1 section p {
  margin: 0 10px 0.6rem 10px;
  font-size: 1.2rem;
}

#lp.glp1 section {
  padding: 0;
}

#lp.glp1 + footer {
  padding-bottom: 0;
}

#reservation .content.dd {
  padding: 1rem;
}

/*video*/
#video {
  width: 100%;
  display: none;
}

#poster img {
  vertical-align: baseline;
}

/*timetable*/
.timetable {
  padding: 10px;
}

.timetable h4 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 0.5rem;
}

.timetable img {
  width: 100%;
}

#nav ul li a.pc {
  display: none;
}

#nav ul li a.sp {
  display: block;
}

.spec {
  margin: 0 auto;
}

.spec img {
  width: 100%;
}

.latest {
  padding: 0;
}

#price div.pl.set,
div.pl.set {
  margin: 0 0 1rem 0;
}

#price div.pl .plp {
  margin: 0;
}

.bod {
  border: 1px solid #dddddd;
  padding: 1em;
  margin: 1em;
}

ol.steps {
  margin: 1em 0 0 2rem;
}

ol.steps li {
  margin: 0 0 1em 0;
}

ol.steps ul {
  border: 2px solid #cccccc;
  padding: 0.7em;
  margin: 1rem 0;
  background: #f2f2f2;
  font-size: 0.9em;
}

ol.steps ul li:last-child {
  margin: 0;
}

ol.steps ul li:first-child {
  font-weight: bold;
}

p.di {
  margin: 0 0 0.5em 0;
}

table.dt {
  width: auto;
}

table.dt th,
table.dt td {
  border: 1px solid #bcbcbc;
  padding: 1em 0.75em;
  line-height: 1;
  vertical-align: middle;
  font-size: 1.2rem;
}

table.dt th {
  text-align: center;
}

span.rest {
  font-size: 1.4em;
  font-weight: bold;
  margin: 0 0.5rem 0 0;
}

#route {
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 2em;
  text-align: center;
}

#route h2 {
  font-weight: bold;
}


#route .zj:after {
  content: "\e5db";
  font-family: 'material icons';
  font-weight: bold;
  color: #d4b6b3;
  font-size: 5rem;
  display: block;
  text-align: center;
  height: 5rem;
}

#route img {
  width: 300px;
  margin-bottom: 1rem;
}

.recruit h3 {
  font-size: 1.3rem;
  font-weight: bold;
  padding: 1.5rem 0 1rem 0;
  border-top: 1px solid #ccc;
  margin: 2rem 0 0 0;
  text-align: center;
}

.recruit {
  padding-bottom: 1.5rem;
}

h2.bran {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
}

/* PC // */
@media screen and (min-width: 980px) {

  header,
  header.on {
    display: block;
    width: 100%;
    top: 0;
    position: relative;
    height: auto;
  }

  .menu-trigger,
  .menu-trigger span {
    border: 0;
  }

  #fixed {
    position: relative;
    width: 980px;
    margin: 0 auto;
    border: none;
    padding: 0;
  }

  #fixed h1 {
    width: 100%;
    text-align: center;
    padding-left: 240px;
  }

  #fixed h1 img {
    margin: 27px 0 0 0;
    /*margin: 13px 0 0 0;*/
    width: 200px;
    height: auto;
  }

  #trigger {
    display: none;
  }

  header #nav,
  header.on #nav {
    margin-top: 32px;
    border-top: 1px solid #cccccc;
    position: relative;
    animation: none;
    display: flex !important;
    justify-content: space-between;
  }

  header h1 a {
    display: inline-block;
  }

  .sp {
    display: none;
  }

  .pc {
    display: inline-block;
  }

  header .pc {
    padding: 0 0 0 0;
  }

  header #reserve .pc,
  header #reserve2 .pc {
    padding: 0;
  }

  #instagram {
    margin-top: 13px;
    height: 20px;
  }

  header #instagram {
    width: 40px;
  }

  header #instagram img {
    width: 36px;
  }

  header #shop {
    margin-top: 15px;
    width: 320px;
    text-align: right;
  }

  header #reserve {
    position: absolute;
    left: 0;
    width: 320px;
    /* overflow: hidden; */
    margin-top: 12px;
    /* align-items: center; */
  }

  header #reserve2 {
    position: absolute;
    left: 0;
    top: 28px;
    width: 320px;
    margin-top: 12px;
  }

  header #reserve div,
  header #reserve2 div {
    display: inline-block;
  }

  header #reserve .reserve_tel,
  header #reserve2 .reserve_tel {
    width: 160px;
  }

  /* //header */

  /* nav// */
  #nav {
    overflow: visible;
  }

  #nav a,
  a.button,
  footer ul a {
    transition: background-color 0.5s
  }

  #nav a:hover,
  a:hover.button,
  footer ul a:hover {
    background: #dddddd;
    text-decoration: none;
  }

  #nav ul {
    display: flex;
    justify-content: space-between;
    border: none;
    width: 980px;
    margin: 0 auto;
  }

  #nav ul li {
    display: inline-block;
    border: none;
  }

  #nav ul li a {
    border: none;
    font-size: 1.2rem;
    line-height: 1;
  }

  #nav ul li a.hassub {
    cursor: pointer;
  }

  #nav ul li a:after,
  #nav ul li a.hassub:after {
    content: "";
  }

  #nav ul li span {
    display: none;
    padding: 0 0 0 1rem;
  }

  #nav ul li a.hassub {
    position: relative;
    /* width: auto; */
  }

  #nav ul li ul.sub,
  #nav ul li.btm ul.sub {
    display: none;
    width: auto;
    position: absolute;
    /* z-index: 99999; */
    top: 3rem;
    background: #ffffff;
    padding: 0;
  }

  #nav ul li li.btm {
    position: relative;
  }

  #nav ul li ul.subm {
    display: none;
    position: absolute;
    left: 10rem;
    top: 0;
    z-index: 99999;
  }

  #nav ul li ul.sub li {
    display: block;
    background: #f5f5f5;
  }

  #nav ul li ul.sub li span {
    display: inline;
  }

  #nav ul.sub li.btm ul.subm li {
    border: 0;
    background: #d7b6b3;
    white-space: nowrap;
  }

  #nav ul.sub li.btm ul.subm li a:hover {
    background: #cd9994;
  }

  #nav ul.sub li.btm {
    border: 0;
  }

  #nav ul li a.pc {
    display: block;
  }

  #nav ul li a.sp {
    display: none;
  }

  /* //nav */

  /* main //*/
  main a {
    text-decoration: none;
  }

  main a:hover {
    text-decoration: underline;
  }

  section {
    width: 980px;
    margin: 0 auto;
    padding: 0;
  }

  section#mv {
    width: 100%;
  }

  section h1 {
    font-size: 6rem;
    line-height: 6rem;
  }

  main#index {
    margin-top: 0;
  }

  section#movie {
    width: 100%;
    background: #000000;
  }

  #index .itemcontents .w1,
  #index #cam .w1 {
    padding: 0 0 10px 0;
  }

  #itemcontents {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }

  #index #twocolumn .item,
  .itemcontents .w1 {
    padding-right: 0;
    padding-left: 0;
  }

  #twocolumn .row {
    display: flex;
  }

  #twocolumn .row .menu {
    padding: 0 5px;
  }

  #twocolumn .row .menu:nth-child(odd) {
    padding-left: 0;
  }

  #twocolumn .row .menu:nth-child(even) {
    padding-right: 0;
  }

  #index #twocolumn .item img {
    width: 100%;
    border: none;
  }

  #twocolumn .w1 {
    padding: 0 0 10px 0;
  }

  #index #twocolumn .item.title:nth-of-type(odd) {
    padding-left: 5px;
  }

  #index #twocolumn .item.title:nth-of-type(even) {
    padding-right: 5px;
  }

  #index #twocolumn .item:nth-of-type(odd) {
    padding-right: 5px;
  }

  #index #twocolumn .item:nth-of-type(even) {

    padding-left: 5px;
  }

  section#itemcontents .w1,
  section#itemcontents .w2 {
    width: calc(980px / 5);
  }

  section.content,
  section.content#access .grey {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  section.content#schedule {
    display: block;
  }

  section.content h2,
  section.content h3 {
    width: 100%;
  }

  section.pic {
    padding: 0;
  }

  #price section.content {
    display: block;
    overflow: hidden;
  }

  #price section.content table.frame,
  #price section.content div.pl {
    float: right;
  }

  #displaypanel {
    margin: 0;
    border-top: 1px solid #cccccc;
  }

  #clinic .fif {
    float: none;
    margin: 0 auto;
  }

  #slide,
  #slide_menu {
    width: 990px;
    padding: 10px 0 0 0;
  }

  /* #schedule {
    margin: 1rem auto;
  } */
  #access .button {
    margin: 10px auto;
    display: block;
  }

  #clinic .wrap {
    width: 100%;
  }

  .fif {
    width: 48%;
  }

  table.fif {
    margin: 0 0 1rem 0;
  }

  .btm {
    align-self: flex-end;
  }

  #map {
    width: 48%;
  }

  .page .fif {
    width: 50%;
    margin: 0 auto;
  }

  section a.button {
    width: 50%;
    margin: 2rem auto 0 auto;
  }

  #access {
    background: #f5f5f5;
  }

  #access .box {
    padding: 10px 20px 0 20px;
  }

  #access .text,
  #access .building {
    width: 25%;
  }

  #access .map {
    width: 50%;
  }

  #access .map iframe {
    background: #CCCCCC;
    width: 100%;
    height: 270px;
  }

  #access img {
    width: 98%;
  }

  #schedule .c {
    padding: 0;
  }

  #schedule .fif {
    padding: 0 20px;
    float: left;
  }

  #schedule .calender {
    width: 50%;
    padding: 0 20px;
  }


  #web img {
    width: auto;
  }

  /* //main */

  /* table// */
  table.frame {
    margin-bottom: 1rem;
  }

  table.frame th,
  table.frame td {
    padding: 1rem;
  }

  table.cell th,
  table.cell td {
    padding: 1rem 2rem;
  }

  table.info {
    margin-bottom: 1rem;
  }

  table.info tr {
    display: table-row;
  }

  table.info th,
  table.info td {
    width: auto;

  }

  table.info th {
    border-right: none;
    white-space: nowrap;
    width: 1rem;
    text-align: right;
    padding: 1rem 0 1rem 1rem;
  }

  table.info td {
    border-left: none;
    padding: 1rem;
  }

  /* //table */

  /* reserve // */
  #reserve div a,
  #reserve2 div a {
    padding: 0;
    line-height: 2.5em;
    width: auto;
    white-space: nowrap;
    display: inline-block;
    height: 100%;
  }

  #reserve .reserve_tel,
  #reserve2 .reserve_tel {
    /* flex-basis: auto; */
    padding: 0 1rem;
    width: 160px;
  }

  #reserve .reserve_tel a,
  #reserve2 .reserve_tel a {
    margin: 0;
  }

  .reserve_line {
    background: none;
    /* background: #00b900; */
    background: #06c755;
    height: 32px;
  }

  #reserve .reserve_line,
  #reserve2 .reserve_line {
    /* flex-basis: auto; */
    /* width: 80px; */
    width: 160px;
  }

  #reserve2 .reserve_tel,
  #reserve .reserve_tel {
    background: #000000;
    height: 32px;
    width: 100px;
  }

  #reserve .reserve_web,
  #reserve2 .reserve_web {
    /* flex-basis: auto; */
    width: 80px;
    background: #d4b6b3;
    height: 32px;
  }

  .reserve_line a {
    display: block;
    color: #ffffff;
  }

  .reserve_tel a,
  a.telnum {
    pointer-events: none;
    text-decoration: none;
  }

  /* //reserve */

  /* items // */
  .items {
    margin: 2rem 0 0 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-around;
  }

  a.item {
    background: none;
    text-align: left;
    line-height: none;
  }

  .item {
    width: 50%;
    border-radius: 0;
    padding: 0;
    float: left;
  }

  .item .img {
    width: 100%;
    overflow: hidden;
  }

  .item img {
    width: 100%;
  }

  .item:after {
    content: "";
  }

  .item h3 {
    color: #000000;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.3;
  }

  .item .pr {
    line-height: 1;
    font-size: 1.3rem;
    margin: 0.75rem 0 0 0;
  }

  .item .de {
    font-size: 1.25rem;
    line-height: 1.4;
    color: #999999;
  }

  .item .op {
    margin-bottom: 0.5rem;
  }

  /* clinic// */
  #clinic {
    margin-top: 0;
  }

  /* clinic// */

  /* price// */
  #price h4 {
    width: 20%;
  }

  #price table.frame {
    width: 78%;
    clear: both;
    margin: 0 0 2rem 0;
  }

  #price table.w100 {
    width: 100%;
  }

  #price div.pl {
    width: 78%;
    clear: both;
    margin: 0 0 1rem 0;
  }

  #price div.pl.set,
  div.pl.set {
    margin: 0 0 2rem 0;
  }

  /*  //price  */

  /* reservation// */
  #reservation .reserve_tel {
    display: none;
  }

  #reservation .reserve_line a,
  #reservation .reserve_web a {
    display: inline-block;
    width: 100%;
    vertical-align: middle;
    text-decoration: none;
    line-height: 1em;
    font-size: 1.3rem;
    padding: 1.3rem 0;
    color: #ffffff;
    text-indent: 0px;
  }

  #reservation .reserve_line {
    background: #00B800 url(/img/line.png) left 1rem center no-repeat;
    background-size: 36px;
    width: 100%;
    text-indent: 0px;
    height: auto;
    margin-bottom: 1rem;
  }

  #reservation .reserve_web {
    margin-bottom: 1rem;
  }

  #reservation .content .fif,
  #reservation .content .fif:last-child {
    border-bottom: none;
    padding: 1rem 10px 2rem 10px;
  }

  #reservation .formwrapper section {
    width: auto;
  }

  .alert {
    width: 50%;
    margin: 0 auto 1em auto !important;
  }

  #reservation .formwrapper {
    width: 980px;
    margin: 0 auto 1rem auto;
  }

  #reservation .content.access {
    margin: 10px auto;
  }

  /* //reservation */

  /* faq// */
  #faq .content {
    padding: 2rem 10px;
  }

  #faq .q {
    margin-bottom: 3rem
  }

  #faq .a {
    margin-bottom: 0;
  }

  #faq .a a.button {
    margin: 1rem 0 4rem 0;
  }

  /* //faq */

  /*  contact// */
  #contact .content {
    padding: 0 10px 2rem 10px;
  }

  #contact .content .fif {
    padding: 1rem 0 2rem 0;
    display: flex;
    flex-wrap: wrap;
  }

  #contact .content .fif h3 {
    text-align: center;
    margin-bottom: 0;
    order: 1;
    width: 100%;
    font-size: 1.8rem;
  }

  #contact .content .fif div.c {
    order: 2;
    width: 100%;
    float: none;
  }

  #contact .content .fif p.c {
    order: 3;
    width: 100%;
    text-align: center;
  }

  #contact .imginstagram img {
    width: auto;
  }

  #contact .imgline img {
    width: 62px;
    margin: 13px;
  }

  #contact .fif a i {
    font-size: 6rem;
    color: #000000;
    margin: 0.75rem 0;
  }

  #contact .telnum {
    cursor: default;
  }

  #contact .caution .fif {
    width: 100%;
    margin: 0 auto;
  }

  #contact .caution .button {
    margin-top: 0;
  }

  /* //contact */

  /* recruit// */
  #recruit section.content {
    padding: 20px 10px;
  }

  #recruit section:last-child {
    padding: 20px 10px;
    border-top: 1px solid #cccccc;
  }

  /* //recruit */

  /* problem// */
  #problem .content {
    padding: 2rem 10px;
  }

  #problem .content .fif {
    padding: 0 0 2.5rem 0;
  }

  #problem .content .fif:last-child {
    padding: 0;
  }

  #problem .content .fif a.button {
    width: 100%;
  }

  /* //problem */

  /* menu// */
  #menu .content {
    padding: 2rem 10px;
  }

  #menu .fif a.button {
    width: 100%;
  }

  #menu .fif.center {
    margin: 0 auto;
  }

  #menu table.cell td {
    display: table-cell;
    width: 50%;
    padding: 1rem;
  }

  #menu table.cell td:last-child {
    border-left: 1px solid #f0f0f0;
  }

  #menu table.lis tr td {
    padding: 1rem;
  }

  #menu.menulist section a.button {
    padding: 1rem;
  }

  #menu.menulist section a.button span {
    line-height: 1rem;
    color: #999999;
  }

  #menu.menulist section a.button:after {
    line-height: 1rem;
  }

  #menu.menulist section a.button span:before {
    content: '';
    white-space: nowrap;
    margin-left: 0.5rem;
  }

  #menu .hor {
    display: flex;
    width: auto;
    margin: 0 0 20px 0;
  }

  #menu .hor img {
    width: 50%;
  }

  #menu img.nor {
    width: auto;
  }

  /* //menu */

  /* footer// */

  .linebanner {
    margin: 0 auto 2em auto;
    text-align: center;
  }

  .linebanners {
    display: flex;
    justify-content: space-between;
  }

  .linebanner img {
    width: 490px;
  }

  .linebanners .linebanner img {
    width: 480px;
  }

  #index .linebanners {
    width: 980px;
    margin: 0 auto;
  }

  #index .linebanner {
    margin: 1rem 0;
  }

  #totop {
    right: 15px;
    bottom: 15px;
  }

  footer {
    padding: 0;
    border-top: none;
  }

  footer #footer_logo,
  footer ul {
    display: inline-flex;
    vertical-align: middle;
  }

  footer #footer_logo {
    padding: 10px;
  }

  footer #footer_logo img {
    width: 50px;
  }

  footer ul,
  footer ul li {
    margin: 0;
    padding: 0;
    border: none;
  }

  footer ul li {
    width: auto;
  }

  footer ul li a {
    padding: 10px;
  }

  footer p#r {
    border-top: 1px solid #cccccc;
  }

  /* //footer */
  #campaign.miradry .ex .number {
    text-align: center;
    margin: 0 0 10px 0;
    display: block;
  }

  #campaign.miradry .ex {
    overflow: hidden;
  }

  #campaign.miradry .ex p {
    float: left;
    width: 480px;
  }

  #campaign.miradry .ex img.img {
    float: right;
    margin: 0 20px 0 0;
  }

  #campaign.miradry #flow p {
    padding: 0 180px;
  }

  #campaign.miradry table.detail {
    margin: 0 auto;
    width: 580px;
    border-radius: 10px;
  }

  #campaign.miradry table.detail td,
  #campaign.miradry table.detail th {
    padding: 20px;
    display: table-cell;
    width: auto;
  }

  #campaign.miradry table.detail th {
    border-radius: 10px 0 0 10px;
    white-space: nowrap;
    border-right: 1px dashed #999999;
    border-bottom: 4px solid #f5f5f5;
    text-align: center;
    background: #cdcdcd;
  }

  #campaign.miradry table.detail td {
    border-radius: 0 10px 10px 0;
    border-bottom: 4px solid #f5f5f5;
    background: #dcdcdc;
  }

  #campaign.miradry .option {
    text-align: center;
  }

  #campaign.miradry .option p {
    font-size: 1.1rem;
    text-align: left;
    display: inline-block;
    margin: 1rem auto 0 auto;
    color: #797979;
  }

  form.formrun button {
    margin-top: 2rem;
    font-size: 1.4rem !important;
    width: 50%;
    padding: 1rem;
    line-height: 1;
    border: 2px solid #dddddd;
  }

  form.formrun .formitem.bt {
    margin: 0
  }
/*
  .gift {
    width: 980px;
    margin: 0 auto 30px auto;
  }

  .gift h3 {
    text-align: center;
    display: block;
    margin: 0 auto;
  }

  .gift h3 img {
    width: 100%;
  }

  .gift ul {
    display: flex;
  }

  .gift ul li {
    margin: 1rem;
  }
*/
  #lp .glp1copy img {
    width: auto;
    height: 52px;
  }

  #lp .glp1item img {
    width: 501px;
  }

  #lp .glp1price img {
    height: 122px;
    width: auto;
  }

  #lp .glp1price {
    border: 2px solid #823a90;
    text-align: center;
    padding: 1rem 0;
  }

  #lp.glp1 section p {
    margin: 0 0 0.6rem 0;
    font-size: 1.2rem;
  }

  #reservation .content.dd .fif {
    padding: 1rem;
  }

  #newsarea .info {
    padding: 20px;
  }

  #nav ul.sub li.sp {
    display: none;
  }

  #route .stp {
    overflow: hidden;
    margin-bottom: 1em;
    text-align: left;
  }

  #route .stp img {
    float: left;
    margin-right: 1em;
    width: 300px;
  }

  #schedule {
    background: #f5f5f5;
    margin: 0 auto;
    padding: 0;
  }

}

main#campaign {
  padding-top: 0;
  margin-top: 0;
}

#campaign .page h2 {
  font-size: 3.6rem;
  background-color: #999999 !important;
  border-radius: 42.5px;
  padding: 25px 0;
  color: #ffffff;
  font-weight: bold;
}

#campaign h3 {
  font-size: 2rem;
  font-weight: bold;
}

#campaign section p {
  font-size: 1.4rem;
}

.line_reservation {
  text-align: center;
  padding: 40px 0;
}

#campaign .grey {
  border-radius: 20px;
}

#campaign p {
  margin: 0;
}

#hair .grey,
#flow .grey {
  padding: 30px 0;
}

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

.circle {
  display: inline-block;
  vertical-align: middle;
}

.sub_title h3 {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  padding: 0 0 0 3.5rem;
  line-height: 3rem;
  position: relative;
}

#campaign .sub_title h3::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -40px;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  background: url(/img/campaign/hairremovalwomen/circle_1.png) top left no-repeat;
  background-size: 60px 60px;
}

#campaign .sub_title.s2 h3::before {
  background: url(/img/campaign/hairremovalwomen/circle_2.png) top left no-repeat;
}

#campaign .sub_title.s3 h3::before {
  background: url(/img/campaign/hairremovalwomen/circle_3.png) top left no-repeat;
}

#campaign .sub_title.s4 h3::before {
  background: url(/img/campaign/hairremovalwomen/circle_4.png) top left no-repeat;
}

#campaign .in {
  overflow: hidden;
  padding: 0 20px;
}

#campaign .in p {
  margin: 0 0 1rem 0;
}

#hair .in img,
img.side {
  width: 50%;
  float: right;
  margin: 0 0 10px 20px;
}

.in span,
.qa_pink span {
  font-weight: bold;
}

#hair2 h2 {
  margin-top: 40px
}

#hair2 .in {
  padding: 30px 20px;

}

#hair2 .in p,
#hair2 .in_img {
  width: 100%;
}

.center_img {
  text-align: center;
  margin: 20px 0 30px 0;
}

.menu_img {
  text-align: center;
  margin: 20px 0;
}

#course .grey {
  padding: 20px 10px;
}

.course {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 100%;
  margin: 2rem 0 0 0;
}

.course_img:nth-child(odd) {
  padding: 0 5px 10px 0;
}

.course_img:nth-child(even) {
  padding: 0 0 10px 5px;
}

.course_img:nth-child(5) {
  padding: 0 5px 0 0;
}

.course_img:nth-child(6) {
  padding: 0 0 0 5px;
}

.miradry .course_img:nth-child(odd),
.men .course_img:nth-child(odd) {
  width: 50%;
}

.miradry .course_img:nth-child(even),
.men .course_img:nth-child(even) {
  width: 50%;
}

.course_img img {
  width: 100%;
}

.course_img2 {
  width: 33%;
  margin: 1rem 0 0 0;
}

.course_img2 img {
  width: 100%;
}

#course .r {
  text-align: right;
  padding: 25px 0 0 0;
}

#course .cp {
  background: #ffffff;
  margin: 0 auto;
  text-align: center;
  padding: 10px 0;
  border-radius: 20px;
  width: 50%;
  font-size: 1.5rem;
}

.pay5000 {
  text-align: center;
  padding: 25px 0 40px 0;
}

#campaign #qa table td,
#campaign #qa table th {
  font-size: 1.4rem;
}

#campaign .qa_pink {
  /* background: #d4b6b3; */
  background: #f5f5f5;
  padding: 30px 180px;
  border-radius: 20px;
  margin: 0 0 20px 0;
}

#campaign .q {
  position: relative;
  padding: 0 0 0 60px;
}

#campaign .q,
#campaign .a {
  position: relative;
  padding: 0 0 40px 60px;
  font-size: 14px;
}

#campaign .a {
  padding: 0 0 0 60px;
}

#campaign .q::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 10px;
  width: 40px;
  height: 40px;
  margin-top: -40px;
  background: url(/img/campaign/hairremovalwomen/q.png) top left no-repeat;
  background-size: 40px 40px;
}

#campaign .a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 10px;
  width: 40px;
  height: 40px;
  background: url(/img/campaign/hairremovalwomen/a.png) top left no-repeat;
  background-size: 40px 40px;
}

#campaign #qa .center {
  text-align: center;
  margin: 0;
}

#flow h2 {
  margin-top: 40px;
}

#flow h3 {
  border: solid 1px #606060;
  text-align: center;
  padding: 10px;
  margin: 0 20px 20px 20px;
}

#flow h3 span {
  font-family: serif;
  font-style: italic;
  padding: 0 30px 0 0;
}

#flow .box {
  padding: 0 180px;
}

.line-tel {
  display: flex;
  padding: 20px 0;
}

.line {
  padding: 0 10px 0 0;
}

.tel {
  padding: 0 0 0 10px;
}

.buil {
  display: flex;
  padding: 0 0 30px 0;
}

.buil img {
  width: 100%;
}

.buil_img {
  margin: 0 0 0 10px;
}

.buil_img:nth-of-type(1) {
  margin-left: 0;
}

#campaign #schedule .grey {
  border-radius: 0;
}

.marker_yellow {
  background: #ffec85;
  font-weight: bold;
}

#campaign.miradry .page2 {
  margin: 0 auto 10px auto;
  width: 50%;
  font-size: 1.2rem;
}

#campaign.miradry .grey2 {
  padding: 10px 20px;
  margin: 0;
}

#campaign.miradry .page2 .grey2 p.sm {
  font-size: 1.2rem;
}

#campaign.miradry h4.lat {
  font-weight: bold;
  font-size: 1.45rem;
  border-bottom: 1px solid #cccccc;
  margin: 2.5rem 0 1rem 0;
  padding: 0 0 0.5rem 0;
  text-align: left;
}

#campaign.miradry .grey p {
  margin: 0;
}

/*** 料金テーブル ***/
h2.price-header {
  display: flex;
  flex-wrap: nowrap;
  height: 60px;
  width: 100%;
  padding: 0 0 0 0 !important;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.1rem;
  font-size: 2em !important;
  font-weight: 450 !important;
  background-color: #accae2;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
  position: relative;
}
h6.subtitle {
  padding-top: 5px !important;
  color: #666 !important;
}
h2.price-header > div:not(.icon) {
  margin: 10px 0 0 0 !important;
  text-align: center;
}

h2.price-header > div.icon {
  display: inline-flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  aspect-ratio: 1;
}

h2.price-header > div.icon > p {
  display: flex;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px #000 solid;
  justify-content: center;
  align-items: center;
  text-align: center;
  letter-spacing: 0.5px;
  font-weight: 900;
  font-size: 1.4rem;
  color: #fff;
  background-color: #000;
}

/*# 料金表の区分 */
div.price-table {
  width: 100%;
  margin-bottom: 5rem;
}

div.price-table hr {
  width: 100%;
  border: none;
  border-top: 2px #999 dotted;
  margin: 1rem auto 2rem;
}
div.price-table b {
  font-weight: 800;
}

div.price-table m {
  font-size: 95%;
  font-weight: 600;
}

div.price-table n {
  font-size: 95%;
  font-weight: 400;
}

div.price-table table {
  border-collapse: separate;
  border-top: 2px #333 solid;
  border-right: 2px #333 solid;
  border-bottom: 2px #333 solid;
  border-left: 2px #333 solid;
  border-radius: 15px;
  table-layout: fixed;
  font-weight: 600;
}

div.price-table table tr > th {
  font-size: 75% !important;
  white-space: normal;
  word-wrap: break-word;
  word-break: keep-all;
}

div.price-table table tr > th,
div.price-table table tr > td {
  display: table-cell;
  height: 38px;
  padding: 0;
  vertical-align: middle;
  font-size: clamp(48%, 2vw, 120%) !important;
}

div.price-table table > caption {
  font-size: 120% !important;
  font-weight: 900;
}

div.price-table table > tbody > tr > td > label {
  margin-right: 2%;
  font-size: clamp(10px, 2vw, 12px);
  font-weight: 400;
}

@media screen and (min-width:980px) {
  div.price-table table tr > th {
    font-size: 75% !important;
  }

  div.price-table table tr > td {
    font-size: 70% !important;
  }

  div.price-table table > caption {
    font-weight: 650;
    font-size: 100% !important;
  }

  div.price-table table > tbody > tr > td > label {
    margin-right: 2%;
    font-size: 8px;
    font-weight: 500;
  }
}

div.price-table table > tbody > tr > th,
div.price-table table > tbody > tr > td {
  position: relative;
  font-weight: 800;
  word-break: keep-all;
}

div.price-table table > tbody > tr > th:first-child > span {
  display: block;
  font-size: 80% !important;
  font-weight: 400;
}

div.price-table table > tbody > tr > td:not(:first-child) > span {
  display: none;
  letter-spacing: 0;
  font-size: clamp(60%, 1vw, 65%) !important;
  font-weight: 400;
}

div.price-table table > thead > tr > th:nth-child(2),
div.price-table table > tbody > tr > td:nth-child(2) {
  background-color: #e9f0f6;
}

div.price-table table > thead > tr > th:nth-child(3),
div.price-table table > tbody > tr > td:nth-child(3) {
  background-color: #d4e2ed;
}

div.price-table table > thead > tr > th:nth-child(4),
div.price-table table > tbody > tr > td:nth-child(4) {
  background-color: #bfd4e5;
}

div.price-table table > thead > tr > th:nth-child(5),
div.price-table table > tbody > tr > td:nth-child(5) {
  background-color: #a9c5db;
}

div.price-table table > thead > tr > th:nth-child(6),
div.price-table table > tbody > tr > td:nth-child(6) {
  background-color: #9db9cf;
}

div.price-table table > tbody > tr:last-child > th,
div.price-table table > tbody > tr:last-child > td {
  border-bottom: 0;
}

div.price-table table > tbody > tr:last-child > th:first-child {
  border-left: 0;
}

div.price-table table > thead > tr > th:last-child {
  border-right: 0;
  border-top-right-radius: 15px;
}

div.price-table table > tbody > tr > td:last-child {
  border-right: 0;
}

div.price-table table > tbody > tr:last-child > td:last-child {
  border-right: 0;
  border-bottom-right-radius: 15px;
}

div.price-table table > thead > tr > th {
  border-right: 1px #333 solid;
  border-bottom: 1px #333 solid;
  text-align: center;
}

div.price-table table > tbody > tr > th {
  border-right: 1px #333 solid;
  border-bottom: 1px #333 dotted;
  padding: 0 10px 0;
  text-align: right;
}

div.price-table table .left {
  margin: 0;
  padding: 0;
  text-align: left;
  white-space: nowrap;
  word-break: keep-all;
}

div.price-table table .center {
  margin: 0;
  padding: 0;
  text-align: center;
  white-space: nowrap;
  word-break: keep-all;
}

div.price-table table .right {
  margin: 0;
  padding: 0;
  text-align: right;
  white-space: nowrap;
  word-break: keep-all;
}

div.price-table table > tbody > tr > th > span.rating {
  display: flex;
  transform: rotate(-15deg);
  position: absolute;
  top: 0;
  left: -15px;
  height: 100%;
  aspect-ratio: 1/1;
  justify-content: center;
  align-items: center;
  line-height: 100%;
  letter-spacing: -0.1rem;
  font-weight: 600;
  color: #ffec85;
  background-image: url('/img/menu/rating.png');
  background-size: contain;
}

div.price-table table > tbody > tr > td {
  border-right: 1px #333 solid;
  border-bottom: 1px #333 dotted;
  text-align: right;
  padding-right: 0.3vw;
}

div.price-table div.inline {
  display: flex;
  gap: 2.5%;
}

div.price-table div.inline > table {
  flex: 1;
}

div.price-table ul {
  max-width: 385px;
  min-width: 380px;
  margin: 0 auto 0;
  list-style: none;
}

div.price-table ul > li::before {
  content: '※';
  margin-right: 3px;
}

div.price-table ul > li {
  word-break: keep-all;
  line-height: 140%;
  letter-spacing: 0;
  font-size: 80%;
  font-weight: 600;
}

div.price-table table.non-caption > caption {
  visibility: hidden;
}

div.price-table table.non-head > thead {
  display: none;
  visibility: hidden;
}

div.price-table table.non-head > thead > tr:first-child > th:first-child,
div.price-table table.non-head > tbody > tr:first-child > th:first-child {
  border-top-left-radius: 15px;
}

div.price-table table.non-head > thead > tr:first-child > th:last-child,
div.price-table table.non-head > tbody > tr:first-child > td:last-child {
  border-top-right-radius: 15px;
}
div.price-table table.cell-2 > thead > tr > th,
div.price-table table.cell-2 > tbody > tr > th,
div.price-table table.cell-2 > thead > tr > td,
div.price-table table.cell-2 > tbody > tr > td {
  width: 50%;
}

div.price-table table.cell-3 > thead > tr > th:first-child {
  width: 40%;
}

div.price-table table.cell-3 > thead > tr > th:not(:first-child) {
  width: 30%;
}

div.price-table table.cell-3 > tbody > tr > th {
  font-weight: 550 !important;
}

div.price-table table.cell-3 > tbody > tr > td {
  font-size: 105% !important;
  padding: 0 1rem !important;
}

div.price-table table.cell-3 > tbody > tr > td > label {
  font-size: 85% !important;
  font-weight: 400 !important;
}

/*** よくある質問(アコーディオン) ***/
.accordion {
  margin: 0 0 1rem 0;
}

.accordion label {
  display: block;
  margin: 0 0 1rem 0;
}

.accordion label .answer{
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
}

.accordion label input:checked + .answer {
  max-height: 400px;
}

.accordion .question {
  display: flex;
  align-items: flex-start;
  justify-content: left;
  flex-direction: row;
  gap: 0.25rem;
  padding: 0.75rem;
  background-color: #ebebeb;
  font-weight: bold;
  font-size: 120%;
  color: rgba(0, 0, 0, 1);
  cursor: pointer;
}

.accordion .question:hover {
  color: rgba(0, 0, 0, 0.5);
}

.accordion .question::before {
  content: 'Q.';
  display: block;
  min-width: 20px;
  text-align: center;
}

.accordion .answer a {
  text-decoration: underline;
}

.accordion .answer > div {
  display: flex;
  align-items: flex-start;
  justify-content: left;
  flex-direction: row;
  gap: 0.25rem;
  padding: 0.75rem;
}

.accordion .answer > div p,
.accordion .answer > div div {
  font-size: 120%;
  line-height: 1.5em;
}

.accordion .answer > div::before {
  content: 'A.';
  display: block;
  min-width: 20px;
  text-align: center;
  font-size: 120%;
  line-height: 1.5em;
}

/*** PC ***/


/*** SP ***/
@media screen and (max-width: 980px) {

  #reserve,
  #reserve2 {
    height: 40px;
  }

  #reserve {
    bottom: 40px;
  }

  #campaign img {
    width: 100%;
  }

  #campaign h3 {
    font-size: 1.5rem;
  }

  .line_reservation {
    padding: 20px 10px;
  }

  #campaign .page h2 {
    margin: 0 0 1rem 0;
    padding: 20px 10px;
    font-size: 2rem;
    line-height: 1.2;
  }

  #hair .grey,
  #flow .grey {
    padding: 20px 0;
  }

  #campaign .circle img {
    width: 70%;
  }

  .sub_title {
    text-align: left;
    padding: 0 10px 20px 10px;
  }

  #campaign .sub_title h3::before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    background: url(/img/campaign/hairremovalwomen/circle_1.png) top left no-repeat;
    background-size: 40px 40px;
  }

  #campaign .sub_title.s2 h3::before {
    background: url(/img/campaign/hairremovalwomen/circle_2.png) top left no-repeat;
    background-size: 40px 40px;
  }

  #campaign .sub_title.s3 h3::before {
    background: url(/img/campaign/hairremovalwomen/circle_3.png) top left no-repeat;
    background-size: 40px 40px;
  }

  #campaign .sub_title.s4 h3::before {
    background: url(/img/campaign/hairremovalwomen/circle_4.png) top left no-repeat;
    background-size: 40px 40px;
  }

  #campaign .sub_title h3 {
    font-size: 1.6rem;
    padding: 0 0 0 50px;
    line-height: 1.5em;
  }

  #hair2 .in {
    padding: 20px 10px;
  }

  .center_img {
    margin: 10px 0;
  }

  .menu_img {
    margin: 10px 10px 20px 10px;
  }

  .course_img {
    padding: 10px;
    width: 50%;
  }

  .pay5000 {
    padding: 15px 10px 20px 10px;
  }

  #campaign .qa_pink {
    padding: 20px 10px 20px 0;
    margin: 0 0 10px 0;
  }

  #campaign.miradry .qa_pink.mpr {
    padding: 0;
  }

  #campaign #qa table th {
    width: 18%;
  }

  #campaign .a {
    padding: 0 0 0 60px;
  }

  #campaign #flow h2 {
    padding-top: 20px;
  }

  #flow .box {
    padding: 0 10px;
  }

  #flow h3 {
    margin: 0 10px 10px 10px;
  }

  .line-tel {
    padding: 10px 0;
  }

  .buil {
    padding: 0 0 10px 0;
  }

  .q::before {
    margin-top: -34px;
  }

  .in {
    padding: 0 10px;
  }

  #campaign #hair h2,
  #campaign #hair2 h2 {
    margin: 1rem 0;
  }

  .line {
    padding: 0 5px 0 0;
  }

  .tel {
    padding: 0 0 0 5px;
  }

  #campaign h2 .br {
    font-size: 2rem;
    color: #ffffff;
    display: inline-block;
  }

  #course .r {
    text-align: center;
    padding: 10px 0 0 0;
    font-size: 1.2rem;
  }

  #course .cp {
    width: 100%;
  }

  #campaign .grey,
  #campaign .qa_pink {
    border-radius: 10px;
  }

  #campaign section#qa {
    margin: 0 0 2rem 0;
  }

  .sp_50 {
    /* width: 50%; */
    margin: 0.5rem 0 0 0;
  }

  .course {
    margin: 1rem 0 0 0;
  }

  /*video*/
  #video,
  #poster {
    width: 100%;
    padding-bottom: 0px;
  }

  #campaign.miradry .page2 {
    margin: 0 auto 10px auto;
    width: 100%;
    font-size: 1.2rem;
  }

}