@charset "UTF-8";
/* ====================================================
reset style
==================================================== */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;1,300;1,400&display=swap');
html {
  scroll-behavior: smooth;
  overflow-y: scroll;
  overflow-x: hidden;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #595656;
  font-size: 62.5%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  font-family: YuGothic,"Yu Gothic","游ゴシック体","游ゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 0;
}

h1, h2, h3, h4, h5, h6{
  font-family: "Shippori Mincho","游明朝",YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
}

.t-blue{color:#0065a3; }
.t-rouge{color:#e93842;}


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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

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

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

main {
  display: block;
}

section {
  position: relative;
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media screen and (min-width: 577px) {
  .sp-sm {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media screen and (max-width: 576px) {
  .pc-sm {
    display: none !important;
  }
}

#header {
	background-color:#fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 24px 62px 32px 38px;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}

@media screen and (max-width: 1280px) {
  #header {
    padding: 15px;
  }
}

@media screen and (max-width: 1024px) {
  #header {
    padding: 14px 13px 23px;
  }
}

#header.fixed {
  padding-top: 14px;
  padding-bottom: 15px;
  background: white;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.32);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.32);
}

#header .logo {
  display: inline-block;
}

@media screen and (max-width: 1280px) {
  #header .logo {
    max-width: 350px;
  }
}

#header .header-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/* @media screen and (max-width: 1024px) {
  #header .header-item {
    padding-right: 60px;
  }
} */

#header .header-item .item-orther {
  margin-left: 57px;
  padding: 11px 23px 11px 25px;
  letter-spacing: 1.5px;
  background: #333;
	border-radius:30px;
  font-size: 1.8rem;
  font-weight: 500;
  color: white;
}

@media screen and (max-width: 1280px) {
  #header .header-item .item-orther {
    margin-left: 15px;
  }
}

@media screen and (max-width: 1024px) {
  #header .header-item .item-orther {
    margin-left: 0;
    font-size: 1.3rem;
    padding: 9px 17px;
    border-radius: 30px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 0\0) {
  #header .header-item .item-orther {
    position: absolute;
    right: 65px;
    top: 14px;
  }
}

@media screen and (max-width: 1024px) {
  #header .nav-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 100vh;
    padding: 15px;
    overflow-y: scroll;
    background: white;
  }
  #header .nav-menu.active {
    display: block;
  }
}

#header .nav-menu .show-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#header .nav-menu .show-menu .item {
  margin-left: 6px;
}


@media screen and (max-width: 1024px) {
  #header .nav-menu .show-menu .item {
    width: 100%;
    margin: 0;
    text-align: center;
  }
}

#header .nav-menu .show-menu .item a {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
  color: #585656;
  padding: 15px 23px 9px 25px;
}

@media screen and (max-width: 1280px) {
  #header .nav-menu .show-menu .item a {
    padding: 15px 10px;
  }
}

#header .mobile-icon {
  width: 37px;
  height: 22px;
  -webkit-transition: background .5s;
  -o-transition: background .5s;
  transition: background .5s;
  position: absolute;
  right: 15px;
  top: 20px;
  z-index: 12;
  display: none;
}

@media screen and (max-width: 1024px) {
  #header .mobile-icon {
    display: block;
  }
}

#header .mobile-icon span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 1px;
  margin-top: -2px;
  background-color: #006eb0;
  font-size: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
  transition: background-color 0.3s;
  border-radius: 3px;
}

#header .mobile-icon span:before, #header .mobile-icon span:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  background: #006eb0;
  content: '';
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  border-radius: 3px;
}

#header .mobile-icon span:before {
  -webkit-transform: translateY(-250%);
  -ms-transform: translateY(-250%);
      transform: translateY(-250%);
  top: -5px;
}

#header .mobile-icon span:after {
  -webkit-transform: translateY(250%);
  -ms-transform: translateY(250%);
      transform: translateY(250%);
  bottom: -5px;
}

#header .mobile-icon.mobile-close span {
  background-color: transparent;
}

#header .mobile-icon.mobile-close span:before, #header .mobile-icon.mobile-close span:after {
  width: 100%;
  background: #006eb0;
}

#header .mobile-icon.mobile-close span:before {
  -webkit-transform: translateY(0) rotate(45deg);
  -ms-transform: translateY(0) rotate(45deg);
      transform: translateY(0) rotate(45deg);
  top: 2px;
}

#header .mobile-icon.mobile-close span:after {
  -webkit-transform: translateY(0) rotate(-45deg);
  -ms-transform: translateY(0) rotate(-45deg);
      transform: translateY(0) rotate(-45deg);
  bottom: -2px;
}

#header.header-strong.fixed {
  background: rgba(11, 11, 11, 0.64);
  -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.32);
          box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.32);
}

@media screen and (max-width: 1024px) {
  #header.header-strong .nav-menu {
    background: rgba(11, 11, 11, 0.64);
  }
}

#header.header-strong .nav-menu .show-menu a {
  color: white;
}

#header.header-strong .mobile-icon span {
  background-color: #e93842;
}

#header.header-strong .mobile-icon span:before, #header.header-strong .mobile-icon span:after {
  background-color: #e93842;
}

#header.header-strong .mobile-icon.mobile-close span {
  background-color: transparent;
}







#footer {
  background: black;
  padding: 55px 0 40px;
  font-size: 20px;
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
}

@media screen and (max-width: 768px) {
  #footer {
    padding: 14px 0;
    font-size: 10px;
    font-size: 1rem;
  }
}

#footer .logo {
  display: inline-block;
  margin-bottom: 33px;
}

@media screen and (max-width: 576px) {
  #footer .logo {
    margin-bottom: 15px;
  }
  #footer .logo img {
    max-width: 160px;
  }
}

#footer span {
  font-size: 24px;
  font-size: 1.6rem;
  color: #e93842;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  #footer span {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 380px) {
  #footer span {
    display: block;
    margin-bottom: 10px;
  }
}

#footer a {
  color: #e93842;
  letter-spacing: 1px;
  display: inline-block;
}

#footer .menu-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 37px;
}

@media screen and (max-width: 768px) {
  #footer .menu-footer {
    margin-top: 20px;
  }
}

#footer .menu-footer li {
  border-right: 1px solid #d0c9c9;
  padding: 0 28px;
}

@media screen and (max-width: 768px) {
  #footer .menu-footer li {
    padding: 0 15px;
    font-size: 1.3rem;
  }
}

#footer .menu-footer li:last-child {
  border-right: none;
}

#footer .menu-footer li a {
  display: block;
  color: #d0c9c9;
  font-weight: 400;
  letter-spacing: 0;
}

#footer.footer-pilates {
  background: white;
  border-top: 4px solid #006eb0;
  color: #656565;
}

@media screen and (max-width: 768px) {
  #footer.footer-pilates {
    border-top: 3px solid #006eb0;
    padding-top: 22px;
  }
}

#footer.footer-pilates span {
  color: #006eb0;
}

#footer.footer-pilates a {
  color: #006eb0;
}

#footer.footer-pilates .menu-footer li a {
  color: #9a9a9a;
}

.voice-box {
  position: relative;
  overflow: hidden;
}

#more {
  position: absolute;
  transform: translateY(100%);
  overflow: hidden;
  transform-origin: center;
  transition: .5s ease;
}

.read-more {
  padding: 15px 0;
  background: #fff;
  color: #333;
  border: 1px solid #333;
  border-radius: 50px;
}

.questionnaire {
  border: 1px solid #d7d7d7;
}
@media screen and (max-width: 769px) {
  .questionnaire {
    border: none;
  }
}
.questionnaire:hover {
  transform:scale(1.1,1.1);
  transition:0.3s all;
}