@charset "UTF-8";
/*!
Theme Name: totalbodycare
Theme URI: http://www.office-iwakiri.com/
Author: m.iwakiri
Author URI: http://www.office-iwakiri.com/
Description: Description
Version: 1.1.0
Text Domain: totalbodycare
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Common
# Header
# Navigation
# Content
    ## Toppage
    ## Movie
    ## Column
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Common
--------------------------------------------------------------*/
body {
  visibility: hidden;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 3.73333vw;
  line-height: 1.5;
  color: #605d5d;
  background: #ffffff;
  letter-spacing: 1px;
}

@media (min-width: 768px) {
  body {
    font-size: 1.09375vw;
    max-width: 1280px;
  }
}

@media (min-width: 1280px) {
  body {
    font-size: 14px;
  }
}

a {
  color: #333333;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=60);
  opacity: 0.6;
  text-decoration: none;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

a:visited {
  text-decoration: none;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    color: #333333;
    text-decoration: none;
  }
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

.visible-phone {
  display: inherit;
}

@media (min-width: 768px) {
  .visible-phone {
    display: none;
  }
}

.hidden-phone {
  display: none;
}

@media (min-width: 768px) {
  .hidden-phone {
    display: inherit;
  }
}

.hidden {
  display: none;
}

.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1em;
  position: relative;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignleft {
  float: left;
}

.alignright {
  float: right;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
header {
  width: 100%;
  height: 16vw;
  padding: 1em 0;
  position: fixed;
  top: 0;
  left: 0;
  background: #fcefbd;
  z-index: 50;
}

@media (min-width: 768px) {
  header {
    height: 6.17188vw;
  }
}

@media (min-width: 1280px) {
  header {
    height: 79px;
  }
}

header h1 {
  width: 50.13333vw;
}

@media (min-width: 768px) {
  header h1 {
    width: 29.375vw;
  }
}

@media (min-width: 1280px) {
  header h1 {
    width: 376px;
  }
}

header h1 img {
  display: block;
}

header a#menu-open {
  position: absolute;
  top: 0;
  right: 1em;
  line-height: 1;
  color: #000000;
}

@media (min-width: 768px) {
  header a#menu-open {
    display: none;
  }
}

header a#menu-open i {
  font-size: 6.4vw;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
#pc-navi {
  position: absolute;
  top: 0;
  right: 1em;
}

#pc-navi ul li {
  display: inline-block;
  position: relative;
}

#pc-navi ul li a {
  display: block;
  padding: 1em;
  color: #000000;
}

#pc-navi ul li a:hover {
  background: white;
  transition: 0.5s;
}

#pc-navi ul li .sub-menu {
  visibility: hidden;
  position: absolute;
  top: 3.5em;
  right: 0;
  height: 0;
}

#pc-navi ul li .sub-menu li {
  display: block;
}

#pc-navi ul li .sub-menu li a {
  display: block;
  width: 100%;
}

#pc-navi ul li:hover .sub-menu {
  visibility: visible;
  background: #fcefbd;
  height: auto;
  transition: 1s all ease 0s;
}

nav#main-navigation {
  position: fixed;
  top: 16vw;
  right: 0;
  background: #fcefbd;
  z-index: 100;
}

nav#main-navigation ul {
  padding: 0 0.5em;
}

nav#main-navigation ul li {
  display: block;
}

nav#main-navigation ul li a {
  display: block;
  padding: 1em 0.5em;
  border-bottom: 1px solid #ffffff;
  color: #000000;
}

nav#main-navigation ul li:last-of-type a {
  border: none;
}

nav#main-navigation ul li .sub-menu {
  padding-left: 0.5em;
}

nav#main-navigation ul li .sub-menu li a:before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5em;
}

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

@media (min-width: 768px) {
  .wp-pagenavi {
    margin-bottom: 4em;
  }
}

.wp-pagenavi > * {
  padding: 0 0.5em;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
#content {
  padding-top: 16vw;
}

@media (min-width: 768px) {
  #content {
    padding-top: 6.17188vw;
  }
}

@media (min-width: 1280px) {
  #content {
    padding-top: 79px;
  }
}

iframe.instagram-media {
  min-width: 320px !important;
}

main .title {
  text-align: center;
  margin: 2em 0 3em;
}

@media (min-width: 768px) {
  main .title {
    margin: 3em 0 4.5em;
  }
}

main .title img {
  display: block;
  margin: 0 auto 2em;
  width: 16vw;
}

@media (min-width: 768px) {
  main .title img {
    width: 9.375vw;
  }
}

@media (min-width: 1280px) {
  main .title img {
    width: 120px;
  }
}

main .title h2 {
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  main .title h2 {
    font-size: 2.1875vw;
  }
}

@media (min-width: 1280px) {
  main .title h2 {
    font-size: 28px;
  }
}

.wp-pagenavi {
  color: #2c4a8b;
  font-size: 4vw;
}

@media (min-width: 768px) {
  .wp-pagenavi {
    font-size: 1.40625vw;
  }
}

@media (min-width: 1280px) {
  .wp-pagenavi {
    font-size: 18px;
  }
}

.wp-pagenavi > * {
  padding: 1em;
}

#movie_wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
}

#movie_wrapper .movie_player {
  top: 50%;
  -webkit-transform: translate(0, 25%);
  -ms-transform: translate(0, 25%);
  transform: translate(0, 25%);
  width: 96vw;
  margin: 0 auto;
  padding: 2em;
  background: #ffffff;
  border-radius: 1em;
}

@media (min-width: 768px) {
  #movie_wrapper .movie_player {
    width: 80vw;
  }
}

#movie_wrapper .movie_player video {
  display: block;
  max-width: 100%;
  margin: 1em auto;
}

#movie_wrapper .movie_player a {
  display: block;
  text-align: center;
}

#movie_wrapper.on {
  background: rgba(0, 0, 0, 0.8);
  transition: 1s all ease 0s;
  z-index: 100;
}

.movie_list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.movie_list article {
  width: 47.5%;
  margin-right: 5%;
}

.movie_list article:nth-of-type(2n) {
  margin-right: 0;
}

@media (min-width: 768px) {
  .movie_list article {
    width: 23.5%;
    margin-left: 2%;
    margin-right: 0;
  }
  .movie_list article:nth-of-type(4n + 1) {
    margin-left: 0;
  }
}

.movie_list article .thumb {
  display: block;
  position: relative;
  width: 100%;
  height: calc((100vw - 2em) * 0.475);
  overflow: hidden;
  margin-bottom: 1em;
}

@media (min-width: 768px) {
  .movie_list article .thumb {
    height: calc((100vw - 2em) * 0.235);
  }
}

@media (min-width: 1280px) {
  .movie_list article .thumb {
    height: 294.22px;
  }
}

.movie_list article .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

.movie_list article .thumb img.play {
  z-index: 10;
  width: 3em;
  height: 3em;
}

@media (min-width: 768px) {
  .movie_list article .thumb img.play {
    width: 6em;
    height: 6em;
  }
}

.movie_list article p.label {
  display: inline-block;
  background: #2c4a8b;
  color: #ffffff;
  border-radius: 0.4em;
  padding: 0.3em 1em;
  margin-bottom: 0.5em;
}

.movie_list article h3 {
  font-weight: normal;
  margin-bottom: 2.5em;
}

.column_list {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.column_list article {
  width: 100%;
  margin: 0 0 3em;
}

@media (min-width: 768px) {
  .column_list article {
    width: 23.5%;
    margin-right: 2%;
  }
  .column_list article:nth-of-type(4n) {
    margin-right: 0;
  }
}

.column_list article .photo > a {
  display: block;
  width: 100%;
  height: calc((100vw - 2em) * 0.75);
  overflow: hidden;
  position: relative;
}

@media (min-width: 768px) {
  .column_list article .photo > a {
    height: calc((100vw - 2em) * 0.235 * 0.75);
  }
}

@media (min-width: 1280px) {
  .column_list article .photo > a {
    height: 220.665px;
  }
}

.column_list article .photo > a img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

.column_list article .text {
  border-left: 1px solid #eeeeee;
  border-right: 1px solid #eeeeee;
  border-bottom: 1px solid #eeeeee;
  padding: 1em 0.5em;
}

.column_list article .text .meta {
  margin-bottom: 0.5em;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
}

.column_list article .text .meta .date {
  display: block;
  text-align: left;
}

.column_list article .text .meta .view {
  display: block;
  text-align: right;
}

.column_list article .text h3 {
  font-weight: 600;
  margin-bottom: 0.5em;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  .column_list article .text h3 {
    font-size: 1.71875vw;
  }
}

@media (min-width: 1280px) {
  .column_list article .text h3 {
    font-size: 22px;
  }
}

.column_list article .text p {
  color: #999999;
}

/*--------------------------------------------------------------
## Toppage
--------------------------------------------------------------*/
main#main a.button {
  display: block;
  margin: 0 auto;
  background: #fcefbd;
  color: #000000;
  width: 15em;
  text-align: center;
  line-height: 1;
  padding: 0.75em 0;
  border-radius: 1.25em;
  position: relative;
}

@media (min-width: 768px) {
  main#main a.button {
    font-size: 1.40625vw;
  }
}

@media (min-width: 1280px) {
  main#main a.button {
    font-size: 18px;
  }
}

main#main a.button i {
  position: absolute;
  right: 2em;
  top: 0.75em;
  color: #000000;
}

main#main #stretch {
  margin: 0 auto 2em;
}

@media (min-width: 768px) {
  main#main #stretch {
    margin-bottom: 4em;
  }
}

main#main #column {
  margin: 0 auto 2em;
}

@media (min-width: 768px) {
  main#main #column {
    margin-bottom: 4em;
  }
}

main#main #faq {
  margin: 0 auto 2em;
}

@media (min-width: 768px) {
  main#main #faq {
    margin-bottom: 4em;
  }
}

main#main #faq dl {
  color: #999999;
}

main#main #faq dl dt {
  background: #f9f5f5;
  padding: 1em 1.5em;
  margin-bottom: 1.5em;
  width: 100%;
  letter-spacing: -1em;
  font-size: 4.26667vw;
}

@media (min-width: 768px) {
  main#main #faq dl dt {
    font-size: 1.25vw;
  }
}

@media (min-width: 1280px) {
  main#main #faq dl dt {
    font-size: 16;
  }
}

main#main #faq dl dt > * {
  display: inline-block;
  vertical-align: middle;
}

main#main #faq dl dt img {
  width: 14.13333vw;
}

@media (min-width: 768px) {
  main#main #faq dl dt img {
    width: 3em;
  }
}

main#main #faq dl dt span {
  letter-spacing: normal;
  width: 70.93333vw;
  padding-left: 1em;
}

@media (min-width: 768px) {
  main#main #faq dl dt span {
    width: calc(100% - 4em);
  }
}

main#main #faq dl dd {
  padding: 0 1.5em 2em;
  font-size: 4vw;
}

@media (min-width: 768px) {
  main#main #faq dl dd {
    font-size: 1.17188vw;
  }
}

@media (min-width: 1280px) {
  main#main #faq dl dd {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  main#main #faq dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  main#main #faq dl > div {
    width: 48%;
    margin-right: 4%;
  }
  main#main #faq dl > div:nth-of-type(2n) {
    margin-right: 0;
  }
}

main#main #specialist {
  margin: 0 auto 2em;
}

@media (min-width: 768px) {
  main#main #specialist {
    margin-bottom: 4em;
  }
}

main#main #specialist .profile {
  text-align: center;
}

main#main #specialist .profile img {
  display: block;
  margin: 0 auto 1em;
  width: 49.86667vw;
}

@media (min-width: 768px) {
  main#main #specialist .profile img {
    width: 29.21875vw;
    max-width: 374px;
  }
}

main#main #specialist .profile h3 {
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  main#main #specialist .profile h3 {
    font-size: 1.71875vw;
  }
}

@media (min-width: 1280px) {
  main#main #specialist .profile h3 {
    font-size: 22px;
  }
}

main#main #specialist .profile p.rome {
  margin-bottom: 1.5em;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  main#main #specialist .profile p.rome {
    font-size: 1.01562vw;
  }
}

@media (min-width: 1280px) {
  main#main #specialist .profile p.rome {
    font-size: 13px;
  }
}

main#main #specialist .profile p.profile_text {
  max-width: 550px;
  text-align: left;
  padding: 0 1.5em;
  margin: 0 auto 2em;
}

main#main #access {
  margin: 0 auto 2em;
}

@media (min-width: 768px) {
  main#main #access {
    margin-bottom: 4em;
  }
}

main#main #access .banner {
  display: block;
  margin: 0 auto 1.5em;
  width: 63.46667vw;
}

@media (min-width: 768px) {
  main#main #access .banner {
    width: 37.1875vw;
    max-width: 476px;
  }
}

main#main #access .line {
  display: block;
  margin: 0 auto 3em;
  width: 59.73333vw;
}

@media (min-width: 768px) {
  main#main #access .line {
    width: 35vw;
    max-width: 448px;
  }
}

main#main #access .button {
  margin-bottom: 3rem;
}

main#main #access .gmap {
  margin: 0 auto 3em;
  padding-top: 72.2388%;
  height: 0;
  position: relative;
}

@media (min-width: 768px) {
  main#main #access .gmap {
    padding-top: 40%;
  }
}

main#main #access .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------------------
## Movie
--------------------------------------------------------------*/
main#movie .select p {
  margin-bottom: 0.75em;
  font-size: 4.26667vw;
}

@media (min-width: 768px) {
  main#movie .select p {
    font-size: 1.40625vw;
  }
}

@media (min-width: 1280px) {
  main#movie .select p {
    font-size: 18px;
  }
}

main#movie .select .buttons {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  margin-bottom: 1em;
}

main#movie .select .buttons a {
  display: block;
  border-radius: 0.3em;
  border: #2c4a8b solid 1px;
  padding: 0.5em 0;
  text-align: center;
  width: 30%;
  color: #2c4a8b;
}

main#movie .select .buttons a.active {
  color: #ffffff;
  background: #2c4a8b;
}

/*--------------------------------------------------------------
## Column
--------------------------------------------------------------*/
@media (min-width: 768px) {
  main#column .column_list article {
    width: 32%;
    margin-right: 2%;
  }
  main#column .column_list article:nth-of-type(3n) {
    margin-right: 0;
  }
}

main#column .column_list article .photo > a {
  height: calc((100vw - 2em) * 0.75);
}

@media (min-width: 768px) {
  main#column .column_list article .photo > a {
    height: calc((100vw - 2em) * 0.32 * 0.75);
  }
}

@media (min-width: 1280px) {
  main#column .column_list article .photo > a {
    height: 300.48px;
  }
}

main#column.single {
  margin-bottom: 4em;
}

main#column.single .inner {
  max-width: 768px;
}

@media (min-width: 768px) {
  main#column.single .inner {
    padding: 0;
  }
}

main#column.single .title {
  width: 100%;
  margin: 0 0 2em;
}

main#column.single .title img {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto 1em;
}

@media (min-width: 768px) {
  main#column.single .title img {
    max-width: 768px;
  }
}

main#column.single .title .meta {
  margin-bottom: 0.5em;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
}

main#column.single .title .meta .date {
  display: block;
  text-align: left;
}

main#column.single .title .meta .view {
  display: block;
  text-align: right;
}

main#column.single .title h2 {
  text-align: left;
  font-size: 5.6vw;
}

@media (min-width: 768px) {
  main#column.single .title h2 {
    font-size: 2.1875vw;
  }
}

@media (min-width: 1280px) {
  main#column.single .title h2 {
    font-size: 28px;
  }
}

main#column.single .entry-body {
  margin-bottom: 4em;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  main#column.single .entry-body {
    font-size: 1.40625vw;
  }
}

@media (min-width: 1280px) {
  main#column.single .entry-body {
    font-size: 18px;
  }
}

main#column.single .entry-body p {
  margin-bottom: 1.5em;
  padding: 0 1em;
}

main#column.single .entry-body blockquote {
  color: #fcefbd;
  font-size: 4vw;
}

@media (min-width: 768px) {
  main#column.single .entry-body blockquote {
    font-size: 1.25vw;
  }
}

@media (min-width: 1280px) {
  main#column.single .entry-body blockquote {
    font-size: 16px;
  }
}

main#column.single .entry-body h2 {
  margin-bottom: 1.5em;
  padding: 0 0.5em;
  border-bottom: 3px solid #605d5d;
  font-size: 5.6vw;
}

@media (min-width: 768px) {
  main#column.single .entry-body h2 {
    font-size: 2.1875vw;
  }
}

@media (min-width: 1280px) {
  main#column.single .entry-body h2 {
    font-size: 28px;
  }
}

main#column.single .entry-body h3 {
  background: #f9f5f5;
  padding: 0.75em 0.5em;
  margin-bottom: 1em;
}

main#column.single #related h3 {
  margin-bottom: 1em;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  main#column.single #related h3 {
    font-size: 1.71875vw;
  }
}

@media (min-width: 1280px) {
  main#column.single #related h3 {
    font-size: 22px;
  }
}

main#column.single #related ul li {
  margin-bottom: 1em;
  padding: 1em;
  border: 1px solid #eeeeee;
  overflow: hidden;
  clear: both;
}

main#column.single #related ul li img {
  float: left;
  width: 29.33333vw;
}

@media (min-width: 768px) {
  main#column.single #related ul li img {
    width: 25%;
  }
}

main#column.single #related ul li .text {
  padding-left: 33.06667vw;
}

@media (min-width: 768px) {
  main#column.single #related ul li .text {
    padding-left: 28%;
  }
}

main#column.single #related ul li .text .meta {
  margin-bottom: 0.5em;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
}

main#column.single #related ul li .text .meta .date {
  display: block;
  text-align: left;
}

main#column.single #related ul li .text .meta .view {
  display: block;
  text-align: right;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer {
  text-align: center;
}

footer .logo {
  display: block;
  margin: 0 auto 1em;
  width: 61.6vw;
}

@media (min-width: 768px) {
  footer .logo {
    width: 36.09375vw;
    max-width: 462px;
  }
}

footer .text {
  margin-bottom: 2em;
  font-size: 4.26667vw;
}

@media (min-width: 768px) {
  footer .text {
    font-size: 1.25vw;
  }
}

@media (min-width: 1280px) {
  footer .text {
    font-size: 16px;
  }
}

footer address {
  font-size: 3.2vw;
  text-align: center;
  padding-bottom: 1em;
  color: #605d5d;
  font-style: normal;
}

@media (min-width: 768px) {
  footer address {
    font-size: 0.9375vw;
  }
}

@media (min-width: 1280px) {
  footer address {
    font-size: 12px;
  }
}
