/* リセット */

body {
  padding: 0;
  margin: 0;
  position: relative;
  font-family: "ヒラギノ明朝", "MS P明朝", "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Times", "Hiragino serif", 'Old Standard TT', serif;
}

.container {
  width: 100%;
}

main {
  display: block;
  position: relative;
  /*追加*/
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
  color: var(--pinkred);
}

a:hover {
  opacity: 0.5;
}

/* リセット */

/* base
============================ */

html {
  font-size: 16px;
  color: var(--gray);
}

@media (max-width: 900px) {
  html {
    font-size: calc(100vw / 1184 * 16);
  }
}



/* base
============================ */

:root {
  --gray: #444;
  --pink: #f0bdcc;
  --pink-light: rgb(240, 189, 204, 0.2);
  --pinkred: #cd7271;
  --pinkred-shadow: #9D5E5E;
  --beigepink: #fcf7f5;
  --gray-light: #777;
  --greengray: #FAFCFB;
  --whitegray: #fdfdfd;
  --whitegray2: rgb(252, 248, 248);
  --beige: #E0DDDC;
  --beige-light: rgba(234, 221, 220, 0.18);
}

.container {
  width: 700px;
  margin: 50px auto;
}

.page--container {
  margin-top: 100px;
}

.c-wrapper {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

.c-flex {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.c-flex-wrap {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.c-center {
  margin: 0 auto;
  text-align: center;
}

.c-right {
  margin-right: 0px;
  text-align: right;
}

.c-strong {
  border-bottom: solid 3px var(--pink);
}

.c-strong-box {
  background-color: var(--pink);
  padding: 5px 10px;
}

@media (max-width: 900px) {
  .container {
    width: 100%;
  }

  .c-wrapper {
    position: relative;
    z-index: 0;
    overflow: hidden;
    top: 0px;
  }

  .c-flex {
    flex-direction: column;
    max-width: 500px;
    /* padding: 0 20px; */
  }

  .c-flex-wrap {
    display: flex;
    justify-content: space-around;
    margin: 0 auto;
    flex-wrap: wrap;
  }
}

/* 追加 */

.c-pointer {
  width: 300px;
  width: 18.75rem;
}

.c-pointer:hover {
  opacity: 0.5;
}

.line--gray {
  height: 1px;
  max-width: 100%;
  background-color: var(--gray);
  margin: 30px 0;
}

/* ＝header＝＝＝＝＝＝＝＝＝＝＝＝＝ */

header {
  position: fixed;
  background-color: #f8fbfff3;
  width: 100%;
  z-index: 3;
}

.header--pc {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 100px;
}

.header--pc li {
  display: inline;
  list-style: none;
  padding: 0 18px;
}

.header--pc li a {
  color: var(--gray);
  font-size: 13px;
  letter-spacing: 0.1rem;
  text-decoration: none;
}

.header--pc img {
  padding: 0 20px;
}

.header--sp {
  display: none;
}

@media (max-width: 1000px) {
  .header--pc {
    display: none;
  }

  .header--sp {
    display: flex;
    padding-top: 10px;
    height: 0px;
    z-index: 5;
  }

  header {
    position: fixed;
    background-color: unset;
    width: 100%;
    z-index: 3;
    top: 0px;
  }
}

/* スマホメニュー */

.sp-menu {
  margin-left: 0;
}

.sp-menu #open {
  position: absolute;
  color: var(--pink);
  padding: 30px 10px;
  padding: 1.875rem 0.625rem;
  top: 0px;
  right: 0px;
  font-size: 32px;
  line-height: 64px;
  cursor: pointer;
}

.sp-menu #open.hide {
  display: none;
}

.header--sp--close {
  display: flex;
}

.overlay {
  z-index: 5;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #f8fbff;
  text-align: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s;
  height: 520px;
}

.overlay.show {
  opacity: 1;
  pointer-events: auto;
}

.overlay #close {
  position: absolute;
  color: var(--pink);
  padding: 30px 10px;
  padding: 1.875rem 0.625rem;
  top: 0px;
  right: 0px;
  font-size: 32px;
  line-height: 64px;
  cursor: pointer;
}

.overlay ul {
  list-style-type: none;
  margin: 30px 0 0;
  padding: 0;
}

.overlay li {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .3s, transform .3s;
}

.overlay li a {
  font-size: 15px;
  line-height: 35px;
  color: var(--gray-light);
  letter-spacing: 0.1rem;
}

.overlay li a:hover {
  color: #f0bdcc;
}

.overlay.show li {
  opacity: 1;
  transform: none;
}

/* 奇数指定 */

.overlay.show li:nth-child(odd) {
  transition-delay: .2s;
}

/* 偶数指定 */

.overlay.show li:nth-child(even) {
  transition-delay: .1s;
}


@media (max-width: 500px) {
  .overlay {
    height: 500px;
  }

  .overlay li a {
    font-size: 14px;
    line-height: 30px;
  }
}



/* プルダウン＝＝＝＝＝ */

.menu-item-7852 {
  position: relative;
  overflow: hidden;
}

.menu-item-7852 a {
  padding: 0 0 30px;
}

.sub-menu {
  display: none;
  background-color: var(--pink);
  padding: 20px;
  position: absolute;
  right: -20px;
  top: 30px;
}

.header--pc li:hover .sub-menu {
  display: block;
}

/* ＝footer＝＝＝＝＝＝＝＝＝＝＝＝＝ */

footer {
  position: relative;
  overflow: hidden;
  margin-top: 200px;
  background-color: #1c1c1c;
  padding-top: 20px;
  color: #fff;
  text-align: center;
}

.footer__contents--sns-menu {
  max-width: 860px;
}

.footer__contents {
  background-image: url(../img/bodytuning_10.svg);
  background-repeat: repeat-x;
  background-position: center;
  height: 250px;
}

.footer__contents--sns {
  position: absolute;
  right: 50px;
}

.footer__contents--sns a img {
  width: 60px;
  margin: 20px 10px 0;
}

.footer--ttl {
  font-size: 16px;
  letter-spacing: 0.3rem;
  color: #fff;
  position: relative;
  top: -40px;
}

a div.footer--ttl:hover {
  opacity: 0.5;
}


footer ul {
  display: flex;
  justify-content: center;
  text-align: center;
  flex-wrap: wrap;
}

footer .menu li {
  text-align: center;
  letter-spacing: 0.1rem;
  font-size: 13px;
  line-height: 25px;
  padding: 5px 10px;
}

footer .menu li a {
  color: #fff;
}

.footer--copyright {
  font-size: 12px;
  line-height: 25px;
  color: #fff;
  letter-spacing: 0.1rem;
  margin: 30px 0 20px;
}

@media (max-width: 900px) {
  .footer__contents {
    background-image: url(../img/bodytuning_10.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 180px;
  }

  .footer__contents--sns {
    position: absolute;
    right: 0;
  }

  .footer__contents--sns a img {
    width: 40px;
    margin: 20px 10px 0;
  }

  .footer__txt {
    color: #fff;
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.1rem;
    padding-bottom: 20px;
  }

  .footer--ttl {
    font-size: 16px;
    letter-spacing: 0.3rem;
  }

  .footer--copyright {
    font-size: 12px;
    letter-spacing: 0.1rem;
  }
}

@media (max-width: 500px) {
  footer ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    flex-wrap: nowrap;
  }

  footer .menu li {
    text-align: center;
    letter-spacing: 0.1rem;
    font-size: 13px;
    line-height: 25px;
    padding: 0;
  }
}

/* contents共通==================== */

section {
  margin: 0 auto 200px;
}

.btn--001 {
  display: block;
  text-align: center;
  margin: 100px 0 200px;
}

.btn--001 a {
  font-size: 17px;
  letter-spacing: 0.1rem;
  color: var(--gray);
  border: 1px solid var(--gray);
  padding: 25px 50px;
}

.btn--001 a:hover {
  color: var(--pink);
  border: 1px solid var(--pink);
}

.btn--002 {
  display: block;
  text-align: center;
  position: absolute;
  bottom: 80px;
  left: 68px;
}

.btn--002 a {
  font-size: 17px;
  letter-spacing: 0.1rem;
  color: var(--gray);
  border: 1px solid var(--gray);
  padding: 25px 50px;
  background-color: white;
}

.btn--002 a:hover {
  color: var(--pink);
  border: 1px solid var(--pink);
}

.btn--004 {
  display: block;
  text-align: center;
  margin: 100px 0 50px;
}

.btn--004 a {
  font-size: 17px;
  letter-spacing: 0.1rem;
  color: var(--gray);
  border: 1px solid var(--gray);
  padding: 25px 50px;
  background-color: white;
}

.btn--004 a:hover {
  color: var(--pink);
  border: 1px solid var(--pink);
}

@media (max-width: 900px) {
  .btn--002 {
    margin-bottom: 50px;
  }
}

@media (max-width: 450px) {
  .btn--001 a {
    font-size: 14px;
    padding: 22px 35px;
  }

  .btn--002 {
    display: block;
    text-align: center;
    position: absolute;
    bottom: 80px;
    /* left: 96px; */
  }

  .btn--002 a {
    font-size: 14px;
    padding: 22px 35px;
  }

  .btn--004 {
    display: block;
    text-align: center;
    margin: 50px 0;
  }

  .btn--004 a {
    font-size: 14px;
    padding: 22px 35px;
  }

}


.contents--title {
  display: block;
  margin-top: 150px;
  margin-bottom: 45px;
}

.contents--title--category-top {
  margin-top: 200px;
}

/* ヘッダーが消えるタイミング */

@media (max-width: 999px) {
  .contents--title {
    margin-top: 100px;
  }
}

@media (max-width: 400px) {
  .contents--title {
    margin-top: 50px;
    margin-bottom: 30px;
  }

}

.contents--title--main {
  font-size: 70px;
  letter-spacing: 0.05rem;
  font-family: 'Old Standard TT', serif;
}

.contents--title--small {
  font-size: 15px;
  letter-spacing: 0.15rem;
  margin-top: 10px;
  margin-bottom: 15px;
}

.c-line-pink {
  width: 40px;
  height: 4px;
  background-color: var(--pink);
}

.c-line-pink--center {
  width: 40px;
  height: 4px;
  background-color: var(--pink);
  margin: 0 auto;
}

.c-line-pink--right {
  width: 40px;
  height: 4px;
  background-color: var(--pink);
  margin: 0 0 0 auto;
}

.c-line-gray {
  width: 40px;
  height: 4px;
  background-color: var(--gray);
}

.contents--img {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-top: 100px;
  margin-bottom: 100px;
}

.contents--img img {
  width: 1000px;
  margin: 0 auto;
  display: block;
}

.contents--img2 {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-top: 100px;
  margin-bottom: 100px;
}

.contents--img2 img {
  display: block;
  width: 1200px;
  margin: 0 auto;
  height: auto;
}

.contents--img3 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.contents--img3 img {
  width: 100%;
  margin: 0 auto;
  display: block;
}

@media (max-width: 900px) {
  section {
    margin: 100px auto 0;
  }

  .section--container {
    padding: 0 60px;
  }

  .contents--img {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .contents--img img {
    display: block;
    width: 100%;
    height: auto;
  }

  .contents--img2 {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .contents--img2 img {
    display: block;
    width: 100%;
    margin: 0 auto;
    height: auto;
  }

  .contents--img3 {
    margin-top: 50px;
    margin-bottom: 50px;
  }

  .contents--title--main {
    font-size: 45px;
    letter-spacing: 0.05rem;
  }

  .contents--title--small {
    font-size: 15px;
    letter-spacing: 0.15rem;
    margin-top: 0;
    margin-bottom: 10px;
  }

  .c-line-pink {
    width: 40px;
    height: 4px;
  }
}

@media (max-width: 600px) {
  .section--container {
    padding: 0 40px;
  }
}

@media (max-width: 400px) {
  .section--container {
    padding: 0 20px;
  }

  .contents--title--main {
    font-size: 40px;
    letter-spacing: 0.05rem;
    font-family: 'Old Standard TT', serif;
  }
}

/* fv==================== */

.fv__inner {
  background-color: #f8fbff;
}

.fv__inner img {
  display: block;
  margin: auto;
  max-width: 1000px;
}

@media (max-width: 900px) {
  .fv__inner {
    background-color: none;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
  }

  .fv__inner img {
    display: block;
    width: 100%;
    height: auto;
  }
}

/* newsinformation==================== */

.s01--newsinformation__inner {
  padding: 0 20px;
}

a .s01--newsinformation {
  max-width: 500px;
  background-color: var(--pink);
  padding: 12px 50px;
  font-size: 20px;
  letter-spacing: 0.2rem;
  color: var(--gray);
  font-weight: bold;
  text-align: center;
  margin: 100px auto;
  border-radius: 5px;
}

a .s01--newsinformation:hover {
  opacity: 0.5;
}

@media (max-width: 700px) {
  a .s01--newsinformation {
    background-color: var(--pink);
    max-width: 300px;
    padding: 12px 10px;
    font-size: 16px;
    letter-spacing: 0.1rem;
    margin: 100px auto;
    border-radius: 5px;
  }
}

/* section
============================ */

.s01, .s02, .s03, .s04, .s05, .s06, .s07 {
  max-width: 860px;
}

@media (max-width: 900px) {
  .s01, .s02, .s03, .s04, .s05, .s06, .s07 {
    max-width: 500px;
  }
}

/* s01
============================ */

.s01 {}

.s01__inner {
  margin-top: 100px;
}

.s01__inner--02 {
  margin-top: 35px;
}

.s01__inner__contets {}

.s01__inner__contets img {
	width:410px;
}

.s01__inner__contets--ttl {
  padding-left: 35px;
  padding-top: 10px;
}

.s01__inner__contets--ttl h3 {
  font-size: 25px;
  line-height: 40px;
  letter-spacing: 0.2rem;
  margin-bottom: 40px;
  font-weight: bold;
}

.s01__inner__contets--txt {
  font-size: 15px;
  line-height: 28px;
  letter-spacing: 0.01rem;
  text-align: justify;
  margin-bottom: 15px;
	/* max-width:415px; */
}

.s01__inner__contets--gray {
  background-color: #f9f9f9;
  padding: 60px 0;
  width: 410px;
  text-align: center;
}

.gray--02 {
  margin-top: 40px;
  background-color: #f9f9f9;
  padding: 60px 0;
  width: 100%;
  text-align: center;
}

.s01__inner__contets--gray h3 {
  font-size: 60px;
  letter-spacing: 0.25rem;
  margin-bottom: 20px;
}

.s01__inner__contets--gray h4 {
  font-size: 15px;
  letter-spacing: 0.05rem;
  margin-bottom: 20px;
}

.s01__inner__contets--gray--txt {
  font-size: 20px;
  letter-spacing: 0.1rem;
  line-height: 35px;
  margin-top: 25px;
}

.s01__inner__contets--3point {
  width: 284px;
  margin: 0 auto;
  text-align: center;
  padding-top: 20px;
}

.s01__inner__contets--3point img {
  display: block;
  margin: 0 auto;
  margin-bottom: 25px;
  height: 14px;
}

.s01__inner__contets--3point h3 {
  font-size: 23px;
  letter-spacing: 0.1rem;
  margin-bottom: 35px;
}

.s01__inner__contets--3point--txt {
  font-size: 14px;
  letter-spacing: 0.2rem;
  line-height: 25px;
}

.s01__inner img {}

@media (max-width: 900px) {
  .s01__inner {
    margin-top: 50px;
  }

  .s01__inner__contets {
    margin: 0 auto;
  }

  .s01__inner__contets img {
    width: 500px;
  }

  .s01__inner__contets--ttl {
    padding-left: 0;
    margin-top: 50px;
  }

  .s01__inner__contets--gray {
    margin-top: 40px;
    padding: 40px 0;
    width: 100%;
  }

  .gray--02 {
    margin-top: 40px;
    padding: 40px 0;
    width: 100%;
  }

  .s01__inner__contets--gray h3 {
    font-size: 35px;
    letter-spacing: 0.25rem;
    margin-bottom: 10px;
  }

  .s01__inner__contets--gray h4 {
    font-size: 12px;
    letter-spacing: 0.05rem;
    margin-bottom: 15px;
  }

  .s01__inner__contets--gray--txt {
    font-size: 15px;
    letter-spacing: 0.1rem;
    line-height: 28px;
    margin-top: 20px;
  }

  .s01__inner__contets--3point {
    margin: 20px auto 50px;
  }
}

@media (max-width: 520px) {
  .s01__inner__contets img {
    width: 100%;
  }
}

/* s02
============================ */

.s02 {}

.s02__inner {
  margin-top: 100px;
  text-align: center;
}

.s02__inner--anime {
  position: relative;

}

.s02__inner--anime--move {
  display: flex;
  width: 100vw;
  height: 350px;
  overflow: visible;
  /* 初期値、はみ出して表示されます。 */
  position: absolute;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.s02__inner--anime--move img {
  width: auto;
  height: 100%;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }

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

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

.s02__inner--anime--move img:first-child {
  animation: loop 50s -25s linear infinite;
}

.s02__inner--anime--move img:last-child {
  animation: loop2 50s linear infinite;
}

.s02__inner--anime--txt {
  position: relative;
  padding-top: 270px;
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.2rem;
  line-height: 40px;
  z-index: 1;
}

.s02__inner h3 {
  font-size: 32px;
  letter-spacing: 0.2rem;
  margin-bottom: 10px;
}

.s02__inner p {
  font-size: 20px;
  letter-spacing: 0.1rem;
}

.s02__inner__contents {}

.s02__inner__contents img {
  margin: 40px auto 10px;
  width: 600px;
  display: block;
}

.s02__inner__contents img:hover {
  opacity: 0.5;
}

@media (max-width: 900px) {
  .s02__inner__contents img {
    margin: 20px auto 0;
    width: 80%;
  }

  .s02__inner--anime--txt {
    padding-top: 150px;
    font-size: 16px;
    letter-spacing: 0.1rem;
    line-height: 30px;
  }

  .s02__inner p {
    font-size: 16px;
  }

  .s02__inner--anime--move img {
    height: 230px;
  }
}

@media (max-width: 410px) {
  .s02__inner--anime--txt {
    font-size: 12px;
    letter-spacing: 0rem;
    line-height: 30px;
    font-weight: bold;
  }

  .s02__inner__contents img {
    margin: 15px auto 0;
    width: 100%;
  }

}

/* s03
============================ */

.s03 {
  max-width: 860px;
}

.contents--title--s03 {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.2rem;
  margin-bottom: 60px;
}

.s03__inner {
  padding: 0 50px;
}

.s03__inner__contents {
  position: relative;
}

.s03__inner__contents img {
  width: 350px;
}

@media (max-width: 900px) {
  .s03 {}

  .contents--title--s03 {
    text-align: center;
    font-size: 25px;
    letter-spacing: 0.2rem;
    margin-bottom: 20px;
  }

  .s03__inner__contents {
    margin: 0 auto;
  }

  .s03__inner {
    padding: 0;
  }

  .s03__inner__contents img {
    margin-bottom: 50px;
  }
}

@media (max-width: 450px) {
  .s03__inner__contents img {
    width: 100%;
  }
}

/* s04
============================ */

.s04 {}

.c-line-pink {}

.s04__inner {
  margin-top: 50px;
}

.s04__inner__contents {
  width: 410px;
}

.contents--img--s04 {
  position: relative;
  left: -70px;
  right: 70px;
}

.s04__inner__contents img {}

.s04__inner__contents--ttl-01 {
  font-size: 40px;
  letter-spacing: 0.2rem;
  margin-bottom: 5px;
}

.s04__inner__contents--ttl-02 {
  font-size: 17px;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}

.s04__inner__contents--ttl-03 {
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}

.s04__inner__contents--ttl-04 {
  font-size: 12px;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}

.s04__inner__contents--ttl-05 {
  font-size: 15px;
  line-height: 25px;
  letter-spacing: 0.01rem;
  text-align: justify;
  margin-bottom: 10px;
}

.s04__inner__contents--instructor {}

.s04__inner__contents--name {
  font-size: 30px;
  letter-spacing: 0.2rem;
  margin-top: 10px;
  margin-bottom: 5px;
}

.s04__inner__contents--txt {
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.1rem;
}

@media (max-width: 900px) {
  .s04__inner__contents {
    width: 100%;
  }

  .contents--img--s04 {
    position: relative;
    left: 0;
    right: 0;
  }

  .s04__inner__contents img {
    width: 500px;
  }

  .s04__inner__contents--ttl-01 {
    font-size: 40px;
    letter-spacing: 0.2rem;
    margin-bottom: 5px;
    margin-top: 50px;
  }

  .s04--top--instructor--flex {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }

  .s04__inner__contents--instructor {
    margin: 0 5px 30px;
    max-width: 100%;
  }

  .s04__inner__contents--instructor img {
    max-width: 100%;
  }

  .s04__inner__contents--name {
    font-size: 25px;
    letter-spacing: 0.2rem;
  }

  .s04__inner__contents--txt {
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.05rem;
  }

}

@media (max-width: 520px) {
  .s04__inner__contents img {
    width: 100%;
  }

  .s04__inner__contents--name {
    font-size: 20px;
    letter-spacing: 0.2rem;
  }

  .s04__inner__contents--txt {
    font-size: 10px;
    line-height: 15px;
    letter-spacing: 0.05rem;
  }
}

/* s05
============================ */

.s05 {}

.s05__inner {}

.s05__inner a {
  color: var(--gray);
}

.s05__inner__contents {
  width: 265px;
  margin: 0 auto;
}

.s05__inner__contents--img {}

.s05__inner__contents--img img {
  display: block;
  width: 100%;
}

.s05__inner__contents--ttl {
  text-align: left;
  font-size: 22px;
  letter-spacing: 0.1rem;
  line-height: 25px;
  margin: 20px 0;
  /* padding: 0 10px; */
}

.s05__inner__contents--txt {
  text-align: justify;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  padding: 0 0 20px;
}

@media (max-width: 900px) {
  .s05__inner__contents {
    width: 80%;
    margin-top: 50px;
  }

  .s05__inner__contents--img img {
    display: block;
    margin: 0 auto;
    width: 100%;
  }
}

/* s06
============================ */

.s06 {}

.s06__inner {}

.s06__inner a {
  color: var(--gray);
}

.s06__inner__contents {
  width: 265px;
  margin: 0 auto;
}

.s06__inner__contents--img {}

.s06__inner__contents--img img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
  /* サイズにフィットさせる */
}

.s06__inner__contents--ttl {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1rem;
  line-height: 30px;
  margin: 20px 0;
}

.s06__inner__contents--txt {
  text-align: justify;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  padding: 0 0 20px;
}

@media (max-width: 900px) {
  .s06__inner__contents {
    width: 80%;
    margin-top: 50px;
  }

  .s06__inner__contents--img img {
    display: block;
    height: 300px;
    width: 100%;
  }
}

@media (max-width: 400px) {
  .s06__inner__contents--img img {
    height: 180px;
  }
}

/* s07
============================ */

.s07 {}

.s07__inner {}

.s07__inner__contents {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}

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

.contents--movie--explain {
  font-size: 15px;
  letter-spacing: 0.1rem;
  line-height: 20px;
  margin-top: 20px;
}

@media (max-width: 900px) {
  .s07__inner__contents img {
    width: 100%;
  }
}

/* program ================ */

.s01-program {
  max-width: 860px;
}

.s02-program {
  max-width: 750px;
}

@media (max-width: 900px) {
  .s01-program {
    width: 100%;
    /* padding: 0 20px; */
  }

  .s02-program {
    width: 90%;
  }
}

@media (max-width: 450px) {
  .s01-program {
    max-width: 100%;
    /* padding: 0 10px; */
  }

  .s02-program {
    width: 100%;
  }
}

/* program ================ */

.s01-program__inner {
  margin-top: 130px;
}

.s01-program__inner h3 {
  font-size: 40px;
  line-height: 60px;
  letter-spacing: 0.2rem;
  text-align: center;
}

.s01-program__inner--txt {
  margin-top: 30px;
  background-color: var(--beigepink);
  padding: 50px 30px;
  text-align: center;
}

.s01-program__inner--txt-01 {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.2rem;
}

.s01-program__inner--txt-01 span {
  font-size: 25px;
}

.s01-program__inner--txt-02 {
  margin-top: 30px;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1rem;
}

.s01-program__inner--txt-03 {
  margin-top: 30px;
  font-size: 20px;
  letter-spacing: 0.2rem;
}

.program__contents--img {
  margin-top: 150px;
}

.program__inner {}

.contents--title--program {
  text-align: center;
  font-size: 40px;
  letter-spacing: 0.25rem;
  margin-bottom: 100px;
}

.contents--title--program span {
  font-size: 15px;
  line-height: 10px;
  letter-spacing: 0.05rem;
}

.program__inner--img01 img {
  width: 100%;
  padding: 0;
  bottom: -5px;
  position: relative;
}

.program__inner__contents {
  background-color: var(--beige-light);
  padding: 37px 50px 50px;
}

.program__inner--img02 {
  margin-bottom: 30px;
}

.program__inner__contents--txt {
  font-size: 15px;
  letter-spacing: 0.1rem;
  line-height: 25px;
  text-align: justify;
  margin-bottom: 70px;
}

.p-contents {
  margin-bottom: 13px;
  margin-top: 25px;
}

.program__inner__contents--ttl {
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.1rem;
  padding: 7px 30px;
  background-color: var(--pink);
}

.program__inner__contents--txt-02 {
  font-size: 25px;
  letter-spacing: 0.2rem;
}

.program__inner__contents--txt-02 span {
  font-size: 16px;
  letter-spacing: 0.1rem;
}

.program__inner__contents--icon {
  margin-top: 50px;
  display: none;
}

.program__inner__contents--icon--txt {
  text-align: center;
  color: var(--pinkred);
  font-size: 12px;
  width: 115px;
  padding: 5px 0;
  border: solid 1px var(--pinkred);
  border-radius: 5px;
  display: none;
}

.option-menu {
  text-align: center;
  font-size: 16px;
  margin-top: 30px;
}

.btn--003 {
  display: block;
  text-align: center;
  margin: 80px 0 40px;
}

.btn--003 a {
  display: inline-block;
  width: 300px;
  height: auto;
  font-size: 20px;
  letter-spacing: 0.1rem;
  color: #fff;
  padding: 15px 40px;
  background-color: var(--pinkred);
  border-radius: 50px;
  box-shadow: 0 6px 0 0 var(--pinkred-shadow);
  /*影*/
  transform: translateY(-6px);
  /*上に移動*/
  transition: 0.3s all;
  /*状態変化時の動作を制御*/
}

.btn--003 a:hover {
  box-shadow: 0 1px 0 0 var(--pinkred-shadow);
  /*hoverしたら影が縦に減る*/
  transform: translateY(-1px);
  /*影下に移動*/
}

@media (max-width: 900px) {
  .program__contents--img {
    margin-top: 80px;
  }

  .contents--title--program {
    text-align: center;
    font-size: 25px;
    letter-spacing: 0.2rem;
    margin-bottom: 60px;
  }

  .program__inner__contents--icon--txt {
    margin-bottom: 15px;
  }
}

@media (max-width: 700px) {
  .program__inner__contents {
    background-color: #F9F9F9;
    padding: 16px 30px 25px;
  }

  .s01-program__inner h3 {
    font-size: 30px;
    line-height: 45px;
  }
}

@media (max-width: 450px) {
  .s01-program__inner h3 {
    font-size: 23px;
    line-height: 35px;
    letter-spacing: 0.1rem;
  }

  .program__inner__contents {
    background-color: #F9F9F9;
    padding: 16px 20px 25px;
  }

  .btn--003 a {
    display: inline-block;
    width: 200px;
    height: auto;
    font-size: 16px;
    letter-spacing: 0.1rem;
    color: #fff;
    padding: 10px 30px;
    background-color: var(--pinkred);
    border-radius: 30px;
    box-shadow: 0 6px 0 0 var(--pinkred-shadow);
    /*影*/
    transform: translateY(-6px);
    /*上に移動*/
    transition: 0.3s all;
    /*状態変化時の動作を制御*/
  }

  .program__inner__contents--ttl {
    font-size: 14px;
    padding: 7px 30px;
  }

  .program__inner__contents--txt {
    margin-bottom: 30px;
  }

  .program__inner__contents--txt-02 {
    font-size: 20px;
    letter-spacing: 0.1rem;
  }

  .program__inner__contents--txt-02 span {
    font-size: 12px;
    letter-spacing: 0.05rem;
  }

  .program__inner__contents--icon {
    margin-top: 30px;
  }

  .program__inner__contents--icon--txt {
    font-size: 12px;
    padding: 5px 0;
    border: solid 1px var(--pinkred);
    border-radius: 3px;
  }
}

/* about ================ */

.s01-about {
  max-width: 600px;
}

@media (max-width: 640px) {
  .s01-about {
    max-width: 80%;
  }
}

.s02-about, .s03-about {
  max-width: 860px;
}

@media (max-width: 900px) {
  .s02-about {
    max-width: 500px;
    padding: 0 20px;
  }

  .s03-about {
    max-width: 100%;
    padding: 0 20px;
  }
}

/* about ================ */

.contents--title--about {
  margin-top: 150px;
}

@media (max-width: 400px) {
  .contents--title--about {
    margin-top: 80px;
  }
}

.contents--title--about--txt01 {
  font-size: 40px;
  letter-spacing: 0.1rem;
}

.contents--title--about--txt02 {
  font-size: 14px;
  letter-spacing: 0.05rem;
  margin: 10px 0 50px;
}

.about__inner {
  margin: 0 auto;
}

.about__inner__contents {
  display: flex;
  font-size: 16px;
}

.about__inner__contents--ttl {
  flex: 1;
  padding-left: 20px;
}

.about__inner__contents--txt {
  flex: 3;
  padding-right: 20px;
}

.about__inner__contents--txt li {
  padding-left: 1em;
  text-indent: -1em;
}

.about__inner__contents--ttl-00 {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  margin: 20px 0;
}

.about__inner__contents--ttl-01 {
  font-size: 40px;
  letter-spacing: 0.2rem;
  margin-bottom: 5px;
  margin-top: 30px;
}

.about__inner__contents--ttl-02 {
  font-size: 17px;
  letter-spacing: 0.1rem;
  margin: 20px 0;
}

.about__inner__contents--ttl-03 {
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}

.about__inner__contents--ttl-04 {
  font-size: 10.5px;
  letter-spacing: 0.01rem;
  line-height: 18px;
  margin-bottom: 20px;
  padding-top: 10px;
}

.about__inner__contents--ttl-05 {
  font-size: 13px;
  line-height: 20px;
  letter-spacing: 0.03rem;
  text-align: justify;
  margin-bottom: 15px;
}

.s02-about__inner__contents {
  width: 420px;
}

.s02-about__inner__contents img {
  width: 420px;
}

.s03-about__inner__contents--ttl-big {
  font-size: 33px;
  line-height: 50px;
  letter-spacing: 0.2rem;
  font-weight: bold;
  margin-bottom: 35px;
}

.s03-about__inner__contents--ttl {
  font-size: 23px;
  line-height: 35px;
  letter-spacing: 0.15rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.s03-about__inner__contents--txt {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.15rem;
  text-align: justify;
  margin-top: 30px;
}

.s03-about__inner__contents--ttl-02 {
  font-size: 28px;
  line-height: 40px;
  letter-spacing: 0.2rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.s03-about__inner__contents--txt-02 {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.15rem;
  text-align: justify;
  margin-bottom: 80px;
}

@media (max-width: 900px) {
  .contents--title--about--txt01 {
    font-size: 35px;
    letter-spacing: 0.1rem;
  }

  .about__inner__contents {
    font-size: 14px;
  }

  .about__inner__contents--ttl {
    padding-left: 5px;
  }

  .about__inner__contents--txt {
    padding-right: 5px;
  }

  .s02-about__inner__contents {
    margin-top: 40px;
    width: 100%;
  }

  .s02-about__inner__contents img {
    width: 100%;
  }

  .s03-about__inner__contents--ttl {
    font-size: 22px;
    line-height: 35px;
    letter-spacing: 0.1rem;
    font-weight: bold;
    margin-bottom: 25px;
  }

  .s03-about__inner__contents--txt {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.15rem;
    text-align: justify;
    margin-top: 30px;
  }

  .s03-about__inner__contents--ttl-02 {
    font-size: 22px;
    line-height: 40px;
    letter-spacing: 0.25rem;
    font-weight: bold;
    margin-bottom: 20px;
  }

  .s03-about__inner__contents--txt-02 {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.1rem;
    text-align: justify;
    margin-bottom: 80px;
  }
}

/* instructor ================ */

.s01-instructor, .s02-instructor {
  max-width: 860px;
}

@media (max-width: 900px) {
  .s01-instructor, .s02-instructor {
    max-width: 100%;
    padding: 0 20px;
  }
}

.s01-instructor__inner {
  max-width: 750px;
}

.s01-instructor__inner--contents {
  margin-top: 100px;
  text-align: center;
  border: solid 1px var(--gray);
  padding: 50px 0;
  border-radius: 10px;
  width: 350px;
}

.s01-instructor__inner--contents--ttl {
  font-size: 30px;
  letter-spacing: 0.1rem;
  line-height: 40px;
}

.s01-instructor__inner--contents--txt {
  font-size: 12px;
  letter-spacing: 0.1rem;
  line-height: 20px;
  margin-top: 20px;
}

.contents--title--instructor {
  font-size: 40px;
  letter-spacing: 0.1rem;
  text-align: center;
  margin: 0 0 50px;
}

@media (max-width: 900px) {
  .s01-instructor__inner--contents {
    margin: 0 auto;
    margin-top: 50px;
  }

  .s01-instructor__inner--contents--ttl {
    font-size: 30px;
    letter-spacing: 0.1rem;
    line-height: 40px;
  }

  .s01-instructor__inner--contents--txt {
    font-size: 12px;
    letter-spacing: 0.1rem;
    line-height: 20px;
    margin-top: 20px;
  }

  .contents--title--instructor {
    font-size: 40px;
    letter-spacing: 0.1rem;
    text-align: center;
    margin: 0 0 50px;
  }
}

@media (max-width: 430px) {
  .contents--title--instructor {
    font-size: 25px;

  }
}

@media (max-width: 380px) {
  .s01-instructor__inner--contents {
    width: 100%;
  }
}

/* instructor grid================ */

.glid__contents__flex {
  display: flex;
  justify-content: space-around;
}

.glid__contents__flex--ver2 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.glid__contents {
  width: 270px;
}

.glid__contents--ver2 {
  width: 200px;
}

.glid__contents img {
  width: 100%;
  height: auto;
  position: relative;
  top: 5px;
}

.glid__contents--ver2 img {
  width: 100%;
  height: auto;
  position: relative;
  top: 5px;
}

.grid {
  background-color: var(--beige-light);
  padding: 20px 15px;
  height: 400px;
}

.grid--ver2 {
  background-color: var(--beige-light);
  padding: 20px 15px;
  height: 350px;
}

.grid-name {
  font-size: 33px;
  letter-spacing: 0.2rem;
  margin-bottom: 10px;
}

.grid-name--ver2 {
  font-size: 22px;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
}

.grid-txt-01 {
  font-size: 11.5px;
  letter-spacing: 0.05rem;
  margin-bottom: 25px;
}

.grid-ttl {
  margin-bottom: 15px;
}

.grid-ttl span {
  font-size: 14px;
  color: var(--pinkred);
}

.grid-txt-02 {
  font-size: 14px;
  letter-spacing: 0.1rem;
  line-height: 25px;
  text-align: justify;
}

.grid-txt-02--ver2 {
  font-size: 12px;
  letter-spacing: 0.05rem;
  line-height: 20px;
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}

.grid-txt-02--ver2 ul li {
  margin-bottom: -15px;
}

.btn--grid {
  display: block;
  text-align: center;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.btn--grid a {
  font-size: 13px;
  letter-spacing: 0.1rem;
  color: var(--gray);
  background-color: var(--beige);
  padding: 12px 19px;
  position: relative;
  bottom: 70px;
}

.btn--ver2 {
  margin-bottom: 80px;
}

.btn--grid a:hover {}

@media (max-width: 900px) {
  .glid__contents__flex {
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .glid__contents__flex--ver2 {
    justify-content: center;
  }

  .glid__contents {
    margin-bottom: 80px;
    width: 400px;
  }

  .glid__contents--ver2 {
    margin: 0 20px;
    margin-bottom: 80px;
  }

  .grid {
    padding: 20px 15px;
  }

  .grid--ver2 {
    padding: 20px 15px;
  }
}

@media (max-width: 520px) {
  .glid__contents__flex--ver2 {
    justify-content: center;
    flex-direction: column;
  }

  .glid__contents--ver2 {
    margin: 0 20px;
    margin-bottom: 80px;
    width: 400px;
  }

  .grid-name--ver2 {
    font-size: 22px;
    letter-spacing: 0.1rem;
    margin-bottom: 10px;
  }
}

@media (max-width: 400px) {
  .glid__contents, .glid__contents--ver2 {
    margin: 0;
    margin-bottom: 50px;
    width: 275px;
  }

  .grid {
    padding: 20px 15px;
    height: 330px;
  }

  .grid--ver2 {
    padding: 20px 15px;
    height: 280px;
  }

  .btn--ver2 {
    margin-bottom: 0;
  }

  .btn--grid a {
    bottom: 50px;
  }
}

/* wroks ================ */

.s01-works, .s02-works {
  max-width: 860px;
}

@media (max-width: 900px) {
  .s01-works, .s02-works {
    max-width: 100%;
    padding: 0 20px;
  }
}

.s01-wroks__inner {}

.s01-wroks__inner--contents {
  margin-top: 100px;
  text-align: center;
  border: solid 1px var(--gray);
  padding: 50px 0;
  border-radius: 10px;
  width: 350px;
}

.s01-works__inner--contents--txt {
  margin-top: 100px;
}

.s01-works__inner--contents--txt span {
  font-size: 40px;
  color: var(--gray-light);
  letter-spacing: 0.1rem;
  line-height: 20px;
  border: solid 1px var(--gray-light);
  padding: 10px 30px;
}

@media (max-width: 900px) {
  .s01-works__inner--contents {
    margin: 0 auto;
    margin-top: 50px;
  }

  .s01-works__inner--contents--txt {
    font-size: 12px;
    letter-spacing: 0.1rem;
    line-height: 20px;
  }
}

.grid__inner--works {}

.glid__contents--works {}

.grid--works {
  position: relative;
  background-color: #fabfb31a;
  max-width: 500px;
  padding: 80px 60px;
  margin: 60px auto;
}


.grid--works-no {
  font-size: 30px;
}

@media (max-width: 740px) {
  .grid--works-no {
    font-size: 23px;
  }
}

@media (max-width: 400px) {
  .grid--works-no {
    font-size: 16px;
  }
}

.grid--works-ttl-01 {
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.1rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.grid--works-ttl-02 {
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 0.2rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.grid--works-txt-01 {
  margin-top: 15px;
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.1rem;
}

.grid--works-txt-02 {
  margin-top: 17px;
  font-size: 10px;
  letter-spacing: 0.05rem;
}

.grid--works-1col {
  margin-bottom: 50px;
}

.grid--works-1col img {
  display: block;
  width: 100%;
}

@media (max-width: 500px) {
  .grid--works {
    position: relative;
    background-color: #fabfb31a;
    max-width: 500px;
    padding: 40px 20px;
  }

  .grid--works-ttl-01 {
    font-size: 13px;
    line-height: 25px;
    letter-spacing: 0.1rem;
    font-weight: bold;
    margin-bottom: 10px;
  }

  .grid--works-ttl-02 {
    font-size: 18px;
    line-height: 35px;
    letter-spacing: 0.1rem;
    font-weight: bold;
    margin-bottom: 20px;
  }

  .grid--works-txt-01 {
    margin-top: 15px;
    font-size: 14px;
    line-height: 25px;
    letter-spacing: 0.1rem;
  }

  .grid--works-txt-02 {
    margin-top: 17px;
    font-size: 10px;
    letter-spacing: 0.05rem;
  }

  .grid--works-1col {
    margin-bottom: 30px;
  }
}

/* voice ================ */

.s01-voice, .s02-voice {
  max-width: 860px;
}

@media (max-width: 900px) {
  .s01-voice, .s02-voice {
    max-width: 100%;
    padding: 0 20px;
  }
}

.s01-voice__inner {}

.s01-voice__inner--contents {
  margin-top: 100px;
  text-align: center;
  border: solid 1px var(--gray);
  padding: 50px 0;
  border-radius: 10px;
  width: 350px;
}

.s01-voice__inner--contents--txt {
  margin-top: 100px;
}

.s01-voice__inner--contents--txt span {
  font-size: 40px;
  color: var(--gray-light);
  letter-spacing: 0.1rem;
  line-height: 20px;
  border: solid 1px var(--gray-light);
  padding: 10px 30px;
}

@media (max-width: 900px) {
  .s01-voice__inner--contents {
    margin: 0 auto;
    margin-top: 50px;
  }

  .s01-voice__inner--contents--txt {
    font-size: 12px;
    letter-spacing: 0.1rem;
    line-height: 20px;
  }
}

.grid__inner--voice {}

.glid__contents--voice {}

.grid--voice {
  position: relative;
  max-width: 550px;
  margin: 200px auto 10px;
}

.grid--voice--inner {
  position: relative;
}

.grid--voice-no {
  position: absolute;
  font-size: 300px;
  left: -60px;
  top: -160px;
  opacity: 0.1;
  font-style: italic;
}

.grid--voice-age {
  position: absolute;
  font-size: 80px;
  right: -30px;
  top: -30px;
  opacity: 0.2;
  color: var(--pink);
  font-style: italic;
}

.grid--voice-ttl-01 {
  font-size: 60px;
  line-height: 40px;
  letter-spacing: 0.2rem;
  font-weight: bold;
  margin-bottom: 30px;
}

.grid--voice-ttl-02 {
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 0.1rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.grid--voice-txt-01 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1rem;
  text-align: justify;
  margin-bottom: 30px;
  margin-top: 10px;
}

.grid--voice-txt-02 {
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.1rem;
  margin-bottom: 20px;
}

.grid--voice-txt-03 {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  margin-bottom: 5px;
  color: var(--pinkred);
}

.grid--voice-txt-04 {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
  color: var(--pinkred);
}

.grid--voice-txt-05 {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1rem;
  background-color: #fcd5e51a;
  padding: 30px;
  border-radius: 0 8px 8px 8px;
}

@media (max-width: 670px) {
  .grid--voice-no {
    position: absolute;
    font-size: 300px;
    left: 0px;
    top: -130px;
    opacity: 0.07;
    font-style: italic;
  }

  .grid--voice-age {
    position: absolute;
    font-size: 70px;
    right: -10px;
    top: -30px;
    opacity: 0.2;
    color: var(--pink);
    font-style: italic;
  }

  .grid--voice-ttl-01 {
    font-size: 40px;
    line-height: 60px;
    letter-spacing: 0.2rem;
    font-weight: bold;
    margin-bottom: 0px;
  }

  .grid--voice-ttl-02 {
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.1rem;
    font-weight: bold;
    margin-bottom: 10px;
  }

  .grid--voice-txt-01 {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.1rem;
    text-align: justify;
    margin-bottom: 30px;
    margin-top: 20px;
  }

}

@media (max-width: 400px) {
  .grid--voice-no {
    font-size: 250px;
  }

  .grid--voice-age {
    font-size: 50px;
    right: 0px;
    top: -20px;
  }

  .grid--voice-ttl-01 {
    font-size: 33px;
    line-height: 50px;
    letter-spacing: 0.1rem;
    font-weight: bold;
    margin-bottom: 0px;
  }

  .grid--voice-ttl-02 {
    font-size: 18px;
    line-height: 25px;
  }
}

/* media ================ */

.s01-media {
  max-width: 860px;
}

.s02-media {
  max-width: 700px;
  top: -100px;
  position: relative;
}

@media (max-width: 900px) {
  .s01-media, .s02-media, .s03-media {
    max-width: 100%;
    top: 0;
    padding: 0 20px;
  }
}

.glid__media-contents {
  margin: 0 0 30px;
  background-color: var(--beigepink);
  padding: 20px 30px;
  display: flex;
}

.glid__blog-contents {
  background-color: var(--whitegray);
}

.glid__media-contents--img {}

.glid__media-contents--img img {
  width: 200px;
  height: 130px;
  object-fit: cover;
  /* サイズにフィットさせる */
}

.glid__media-contents--ttl {
  width: 100%;
  padding-top: 10px;
  padding-left: 15px;
}

.glid__media-contents--ttl a {
  color: var(--gray);
}

.glid__media-contents--ttl a:hover {
  color: var(--gray-light);
}

.glid__media-contents--ttl--flex {
  display: flex;
  position: relative;
  justify-content: space-between;
}

.glid__media-contents--ttl--flex02 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 90px;
}

.glid__media-contents--ttl-01 {
  font-size: 15px;
  letter-spacing: 0.1rem;
  color: var(--pinkred);
}

.glid__media-contents--ttl-02 {
  font-size: 13px;
  letter-spacing: 0.05rem;
}

.glid__media-contents--ttl-03 {
  margin-top: 10px;
  font-size: 16px;
  letter-spacing: 0.03rem;
  font-weight: bold;
}

.glid__media--btn {
  padding-left: 4px;
  font-size: 10px;
  letter-spacing: 0.08rem;
}

@media (max-width: 500px) {
  .glid__media-contents {
    background-color: var(--beigepink);
    padding: 30px;
    display: flex;
    flex-direction: column;
    max-width: 260px;
    margin: 0 auto 30px;
  }

  .glid__blog-contents {
    background-color: var(--whitegray);
  }

  .glid__media-contents--img img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 130px;
    object-fit: cover;
    /* サイズにフィットさせる */
  }

  .glid__media-contents--ttl {
    width: auto;
    padding: 10px;
  }

  .glid__media-contents--ttl--flex {
    display: flex;
    position: relative;
    justify-content: space-between;
  }

  .glid__media-contents--ttl--flex02 {
    height: auto;
  }

  .glid__media-contents--ttl-01 {
    font-size: 13px;
    letter-spacing: 0.1rem;
    color: var(--pinkred);
  }

  .glid__media-contents--ttl-02 {
    font-size: 10px;
    letter-spacing: 0.05rem;
  }

  .glid__media-contents--ttl-03 {
    margin-top: 10px;
    font-size: 13px;
    line-height: 20px;
    letter-spacing: 0.03rem;
  }

  .glid__media--btn {
    margin-top: 20px;
    padding-left: 0;
    font-size: 10px;
    letter-spacing: 0.08rem;
    text-align: center;
  }
}

@media (max-width: 400px) {
  .glid__media-contents {
    padding: 20px;
  }
}

/* category===================== */

.category__contents {
  max-width: 600px;
  position: relative;
  top: -150px;
  text-align: justify;
}

.category__contents__inner {
  display: flex;
}

.category__contents--ttl {
  font-size: 16px;
  letter-spacing: 0.1rem;
  line-height: 50px;
  background-color: var(--greengray);
  margin-bottom: 20px;
}

.category__contents--ttl a {
  display: block;
  background-color: var(--greengray);
  padding: 10px 20px;
  color: var(--gray);
  margin: 10px;
}

.category__contents--ttl2 {
  font-size: 16px;
  letter-spacing: 0.1rem;
  line-height: 50px;
  background-color: var(--beigepink);
  margin-bottom: 20px;
}

.category__contents--ttl2 a {
  display: block;
  background-color: var(--beigepink);
  padding: 10px 20px;
  color: var(--gray);
  margin: 10px;
}

/* post__member ================ */

.post__member {
  margin-top: 150px;
  margin-bottom: 50px;
}

.post__member__contents {}

.post__member__contents--img img {
  display: block;
  width: 400px;
  margin: 0 auto;
}

.post__member__contents--txt {
  margin: 50px 0;
  background-color: var(--beige-light);
  padding: 30px;
}

.post__member--txt-01 {
  font-size: 33px;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
}

.post__member--txt-02 {
  font-size: 16px;
  letter-spacing: 0.1rem;
  margin-bottom: 30px;
}

.post__member--txt-03 {
  margin-bottom: 20px;
}

.post__member--txt-03 span {
  background-color: var(--pink);
  padding: 7px 20px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1rem;
}

@media (max-width: 450px) {
  .post__member {
    margin-top: 100px;
  }

  .post__member__contents--img img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  .post__member--txt-03 span {
    padding: 7px;
    font-size: 13px;
  }
}

.post__member--txt-04 {
  font-size: 15px;
  letter-spacing: 0.05rem;
  margin-bottom: 30px;
  padding-left: 1em;
  text-indent: -1em;
}

.post__member--txt-04 ul li {}

.post__member--sns {
  display: flex;
  align-items: center;
}

.post__member--txt-05 a {
  font-size: 16px;
  padding-left: 20px;
  vertical-align: center;
  color: var(--pinkred);
}

.post__member--txt-06 {
  font-size: 28px;
  letter-spacing: 0.2rem;
  border-bottom: solid 2px var(--pink);
  margin-bottom: 25px;
}

.post__member--txt-07 {
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.15rem;
  margin-bottom: 50px;
  text-align: justify;
}

.post__member--txt-08 {
  font-size: 16px;
  line-height: 25px;
  letter-spacing: 0.15rem;
  margin-bottom: 50px;
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}

.post__member--txt-08 ul li {
  margin-bottom: -15px;
}

/* post__details ================ */

.post__detail {
  margin-bottom: 50px;
}

.post__detail--contents--ttl-01 {
  text-align: center;
  font-size: 18px;
  margin: 0 0 20px;
}

.post__detail--contents--ttl-02 {
  text-align: center;
  font-size: 35px;
  line-height: 50px;
  letter-spacing: 0.2rem;
  margin-bottom: 30px;
}

.post__detail--menu {
  background-color: var(--whitegray2);
  padding: 30px 30px 10px;
  text-align: center;
}

.post__detail--menu--contents {
  display: inline-block;
  margin: auto;
}

.detail--menu--flex {
  display: flex;
  font-size: 18px;
  letter-spacing: 0.15rem;
  margin-bottom: 10px;
}

.post__detail--menu-ttl {
  padding-right: 10px;
  margin-bottom: 10px;
}

.post__detail--menu-txt {
  text-align: left;
}

.post__detail--menu-txt-02 {
  text-align: left;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.05rem;
  margin: auto 0;
}

.post__detail--menu-txt span {
  font-size: 13px;
}

@media (max-width: 500px) {
  .post__detail--contents--ttl-01 {
    font-size: 16px;
    margin: 0 0 20px;
  }

  .post__detail--contents--ttl-02 {
    font-size: 25px;
    line-height: 40px;
    letter-spacing: 0.2rem;
    margin-bottom: 30px;
  }

  .post__detail--menu {
    padding: 20px 10px;
  }

  .post__detail--menu--contents {
    display: inline-block;
    margin: auto;
  }

  .detail--menu--flex {
    display: flex;
    font-size: 17px;
    letter-spacing: 0.2rem;
  }

  .post__detail--menu-ttl {
    font-size: 14px;
    padding-right: 10px;
    margin-bottom: 10px;
  }

  .post__detail--menu-txt {}

  .post__detail--menu-txt span {
    font-size: 13px;
  }

  .post__detail--menu-txt-02 {
    text-align: left;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.05rem;
    margin: auto 0;
  }

}

.post__detail__contents {
  margin-top: 150px;
  text-align: justify;
}

.post__detail__contents div {
  margin-bottom: 40px;
}

.post__detail--ttl {
  margin-top: 100px;
  font-size: 25px;
  letter-spacing: 0.1rem;
  padding: 10px;
  border-bottom: solid 2px var(--gray-light);
  border-left: solid 2px var(--gray-light);
  font-weight: bold;
}

.post__detail--txt-01 {
  text-align: center;
  font-size: 20px;
  line-height: 40px;
  letter-spacing: 0.1rem;
}

.post__detail--txt-02 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1rem;
  background-color: var(--beigepink);
  text-align: justify;
  padding: 30px 30px 40px;
}

.post__detail--txt-03, .post__detail--txt-04 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.05rem;
}

.post__detail--txt-05 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.1rem;
  background-color: var(--beigepink);
  padding: 30px 30px 40px;
}

.post__detail--txt-05 ul li, .post__detail--txt-02 ul li {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: -15px;
}

.post__detail--txt-06 {
  font-size: 16px;
  line-height: 40px;
  letter-spacing: 0.1rem;
  background-color: var(--greengray);
  padding: 30px;
}

.post__detail--txt-07 {
  text-align: center;
  font-size: 20px;
  line-height: 40px;
  letter-spacing: 0.15rem;
  border: solid 10px var(--greengray);
  border-radius: 5px;
  padding: 30px;
}

.post__detail__contents--voice--inner {
  font-size: 16px;
  line-height: 40px;
  letter-spacing: 0.05rem;
  background-color: var(--whitegray);
  padding: 30px;
  text-align: justify;
}

.post__detail--voice-ttl {
  padding: 0 100px 0 0;
  font-size: 15px;
  letter-spacing: 0.1rem;
  margin-bottom: 10px;
}

.post__detail--voice-txt-01 {
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.2rem;
}

.post__detail--voice-txt-02 {
  font-size: 13px;
}

.post__detail--voice-txt-03 {
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.05rem;
}

.post__detail__contents--voice--inner div {
  margin-top: 30px;
}

@media (max-width: 500px) {
  .post__detail--ttl {
    font-size: 20px;
  }
}

@media (max-width: 450px) {
  .post__detail__contents {
    margin-top: 100px;
  }

  .post__detail__contents div {
    margin-bottom: 40px;
  }


  .post__detail--txt-01 {
    font-size: 16px;
    line-height: 30px;
  }

  .post__detail--txt-02 {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.05rem;
    background-color: var(--beigepink);
    padding: 30px 20px 40px;
  }

  .post__detail--txt-03, .post__detail--txt-04 {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.05rem;
  }

  .post__detail--txt-05 {
    font-size: 16px;
    line-height: 30px;
    padding: 30px 20px 40px;
  }

  .post__detail--txt-06 {
    font-size: 16px;
    line-height: 30px;
    padding: 30px 20px;
  }

  .post__detail--txt-07 {
    font-size: 18px;
    line-height: 40px;
    letter-spacing: 0.05rem;
    border: solid 5px var(--greengray);
    border-radius: 5px;
    padding: 30px 20px;
  }

  .post__detail__contents--voice--inner {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.05rem;
    background-color: var(--whitegray);
    padding: 30px 20px;
    text-align: justify;
  }

  .post__detail--voice-ttl {
    position: relative;
    display: inline-block;
    padding: 0 30px 0 0;
    font-size: 15px;
    letter-spacing: 0.1rem;
    margin-bottom: 10px;
  }

  .post__detail--voice-txt-01 {
    font-size: 18px;
    line-height: 30px;
    letter-spacing: 0.05rem;
  }

  .post__detail--voice-txt-02 {
    font-size: 13px;
  }

  .post__detail--voice-txt-03 {
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 0.05rem;
  }

  .post__detail__contents--voice--inner div {
    margin-top: 30px;
  }
}

/* post__information ================ */

.post__information {
  margin-bottom: 50px;
  max-width: 855px;
}

.post__information--ttl {
  text-align: center;
  font-size: 35px;
  line-height: 50px;
  letter-spacing: 0.2rem;
  margin-top: 100px;
  margin-bottom: 60px;
}

.post__information .newsinformation {
  margin: 20px auto 50px;
}

.post__information--contents--ttl-01 {
  text-align: center;
  font-size: 16px;
  margin: 0 0 20px;
}

.post__information--contents--ttl-02 {
  text-align: center;
  font-size: 35px;
  line-height: 50px;
  letter-spacing: 0.2rem;
  margin-bottom: 30px;
}

.post__information--menu {
  text-align: center;
}

.post__information--menu--contents {
  margin: auto;
  text-align: justify;
}

.information--menu--flex-01 {
  display: flex;
  font-size: 16px;
  letter-spacing: 0.05rem;
  background-color: var(--pink-light);
}

.information--menu--flex-02 {
  display: flex;
  font-size: 16px;
  letter-spacing: 0.05rem;
}

.post__information--menu-ttl {
  width: 20%;
  padding: 20px;
  font-weight: bold;
}

.post__information--menu-txt {
  width: 80%;
  padding: 20px;
}

@media (max-width: 450px) {
  .information--menu--flex-01 {
    display: flex;
    font-size: 16px;
    letter-spacing: 0.05rem;
    background-color: var(--pink-light);
    flex-direction: column;
  }

  .information--menu--flex-02 {
    display: flex;
    font-size: 16px;
    letter-spacing: 0.05rem;
    flex-direction: column;
  }

  .post__information--menu-ttl {
    padding: 20px 20px 0px;
  }

  .post__information--menu-txt {
    padding: 5px 20px 10px;
  }

}


/* posts ================ */

.post-header {
  margin-bottom: 15px;
  text-align: center;
  color: var(--gray);
}

.post-header h2 {
  font-size: 30px;
  letter-spacing: 0.2rem;
  padding: 30px 0 20px;
}

.post-date {
  margin-top: 30px;
  font-size: 12px;
  letter-spacing: 0.1rem;
}

.post-body, .post-body p {
  font-size: 16px;
  line-height: 40px;
  letter-spacing: 0.1rem;
  text-align: justify;
}

.post-image {
  margin-bottom: 50px;
}

.post-image img {
  display: block;
  margin: 0 auto;
  width: 80%;
  height: 350px;
  object-fit: cover;
  /* サイズにフィットさせる */
}

.post-body h2 {
  /* text-align: center; */
  color: var(--gray);
  font-size: 20px;
  letter-spacing: 0.1rem;
  line-height: 30px;
  margin: 50px 0 40px;
}

.post-body h3 {
  font-size: 25px;
  margin: 100px 0 60px;
  border-bottom: solid var(--gray) 2px;
}

.post-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 30px auto;
}

iframe {
  display: block;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .post-image img {
    height: 300px;
  }

  .post-header .post-date {
    margin-top: 20px;
  }

  .post-body {
    padding: 0 20px;
  }

  .post-body h2 {
    font-size: 18px;
    line-height: 30px;
  }

  .post-body h3 {
    font-size: 17px;
    line-height: 30px;
  }

  .post-body, .post-body p {
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.05rem;
  }
}

@media (max-width: 500px) {
  .post-header h2 {
    font-size: 20px;
    letter-spacing: 0.2rem;
    padding: 0;
    margin-bottom: 20px;
  }

  .post-body {
    padding: 0 10px;
  }
}

/* post-grid
============================ */

.post-grid {
  max-width: 855px;
  margin: 50px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.post-grid li {
  background-color: white;
  width: 300px;
  margin: 0 0 50px;
}

.post-grid--front li {
  background-color: #fff;
  margin: 0 0 50px;
}

.post-grid--front--02 li {
  margin: 0 0 20px;
}

.post-grid--top {
  justify-content: center;
  margin-top: 50px;
  margin-bottom: 0px;
}

.post-grid-back {
  padding: 10px;
}

p.post-grid-ttl {
  font-size: 20px;
  line-height: 25px;
  letter-spacing: 0.2rem;
}

p.post-grid-ttl-02 {
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.05rem;
}

p.post-grid-date {
  padding: 5px 0 0 0;
  font-size: 13px;
  letter-spacing: 0.05rem;
}

.date {
  font-size: 12px;
  color: var(--gray);
}

@media (max-width: 630px) {
  .post-grid {
    max-width: 100%;
    margin: 100px auto 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    align-content: center;
  }

  p.post-grid-ttl-02 {
    font-size: 12px;
    font-size: 3rem;
    line-height: 20px;
    letter-spacing: 0.05rem;
  }

  .date {
    font-size: 2rem;
  }

  .post-grid--top {
    margin-top: 20px;
    margin-bottom: 0px;
  }

  .post-grid li {
    background-color: white;
    width: 250px;
    margin: 0 0 50px;
  }

  .post-grid--front li {
    background-color: white;
    width: 100%;
    margin: 0 0 50px;
  }

  .post-image, .post-header h2 {
    padding: 0 10px;
  }

  .post-grid--front li img {
    height: auto;
    width: 100%;
  }
}

/* navigation */

.navigation {
  overflow: hidden;
  font-size: 12.5px;
}

.navigation a {
  color: var(--pinkred);
}

.navigation-wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 100px 0 0;
}

.navigation-left {
  text-align: left;
  padding: 10px 0;
  color: var(--gray);
}

.navigation-right {
  text-align: right;
  padding: 10px 0;
  color: var(--gray);
}

/*** ページネーション ***/



.pagination-wrap {
  width: 100%;
  text-align: center;
  margin: 100px 0 0;
}

.pagination {
  margin: 0;
}

.archive-pagination-wrap {
  width: 100%;
  text-align: center;
  margin: 100px 0 0;
}

.archive-pagination {
  margin: 0;
}



ul.page-numbers {
  border-radius: 0;
  background-color: unset;
  width: 0;
  height: 0;
  line-height: 0;
  margin-left: 0;
  margin-right: 0;
  font-size: 0;
  font-weight: bold;
}

.archive-pagination-wrap ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 0 auto;
}

.page-numbers {
  border-radius: 50%;
  background-color: var(--pinkred);
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  font-size: 14px;
  font-weight: bold;
}

span.page-numbers {
  color: #fff;
}

a.page-numbers {
  color: #fff;
}

a.page-numbers:hover {
  text-decoration: none;
}

.page-numbers.current {
  border-radius: 50%;
  background-color: var(--pinkred);
  color: var(--pink);
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
}

a.prev {
  color: var(--pinkred);
  line-height: 40px;
  background-color: transparent;
  width: auto;
  margin-right: 15px;
  font-weight: normal;
  letter-spacing: 0.1rem;
}

a.next {
  color: var(--pinkred);
  line-height: 40px;
  background-color: transparent;
  width: auto;
  margin-left: 15px;
  font-weight: normal;
  letter-spacing: 0.1rem;
}

/* contact & access========= */

.s01-contact {
  max-width: 860px;
}

.s01-access {
  max-width: 600px;
}

@media (max-width: 900px) {
  .s01-contact, .s01-access {
    max-width: 100%;
    padding: 0 20px;
  }
}

.ct-btn-flex {
  max-width: 600px;
  display: flex;
  justify-content: space-between;
  margin: 200px auto 100px;
}

.ct-btn--txt01 {
  text-align: center;
  border: solid 3px var(--gray-light);
  padding: 50px 0;
  border-radius: 10px;
  width: 150px;
}

.s01-contact__inner, .s01-access__inner {
  max-width: 750px;
}

.s01-instructor__inner--contents--ttl {
  font-size: 30px;
  letter-spacing: 0.1rem;
  line-height: 40px;
}

.access__inner {
  margin: 50px auto;
}

.access__inner__contents {
  display: flex;
  font-size: 16px;
}

.access__inner__contents--ttl {
  flex: 1;
  padding-left: 20px;
}

.access__inner__contents--txt {
  flex: 3;
  padding-right: 20px;
}

.access__inner--iframe {
  margin-top: 50px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.access__inner--iframe iframe {
  margin: 0 auto;
  display: block;
  width: 860px;
  height: 400px;
}

@media (max-width: 900px) {
  .contents--title--access--txt01 {
    font-size: 35px;
    letter-spacing: 0.1rem;
  }

  .access__inner__contents {
    font-size: 14px;
  }

  .access__inner__contents--ttl {
    padding-left: 5px;
  }

  .access__inner__contents--txt {
    padding-right: 5px;
  }
}

@media (max-width: 859px) {
  .access__inner--iframe iframe {
    display: block;
    width: 90%;
    height: 300px;
  }
}

/* contact&reserve form========= */

.contact__form {
  width: 550px;
  margin: 0 auto;
}

.contact__form p {
  padding-bottom: 0;
  color: var(--gray-light);
}

.contact--name {
  margin-bottom: 30px;
}

.contact--ttl {
  margin-bottom: 5px;
}

.contact__form .contact--ttl {
  font-weight: normal;
  line-height: 1.8em;
  font-size: 16px;
  padding-left: 5px;
  letter-spacing: 0.05rem;
}

.contact__form .contact--ttl .contact--ttl-require {
  color: #fff;
  font-size: 12px;
  padding: 5px 10px;
  background-color: var(--pinkred);
  border-radius: 5px;
  margin-left: 10px;
}

.contact__form .contact--field {
  font-size: 16px;
}

.contact--field-select select {
  width: 500px;
  height: 50px;
  padding-left: 10px;
  color: var(--gray-light);
  font-size: 17px;
  letter-spacing: 0.05rem;
  border: 2px solid var(--beigepink);
}

.contact--field-flex {
  display: flex;
  width: 330px;
  justify-content: space-between;
}

.contact__form .contact--field-flex .contact--field input {
  width: 100px;
  padding: 0.5rem;
}

.contact--field-time {
  margin-top: 10px;
}

span.ct {
  position: relative;
  bottom: -35px;
}

.contact__form .contact--field input, .contact__form .contact--field textarea {
  font-size: 17px;
  letter-spacing: 0.05rem;
  display: block;
  width: 100%;
  padding-left: 10px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  line-height: 1.8em;
  color: var(--gray-light);
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border: 2px solid var(--beigepink);
  border-radius: 5px;
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.contact__form .contact--field input:focus, .contact__form .contact--field textarea:focus, .contact__form .contact--field-select select:focus {
  outline-color: var(--beigepink);
  color: var(--gray-light);
  background-color: #fff;
  border-color: var(--beigepink);
  outline: 0;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(246, 235, 238, 0.5);
  box-shadow: 0 0 0 0.2rem rgba(246, 235, 238, 0.5);
}

.contact__form .mwform-tel-field input[type="text"] {
  width: 100px;
}

@media(max-width: 600px) {
  .contact__form {
    width: 400px;
    margin: 0 auto;
  }

  .contact--field-select select {
    width: 400px;
    height: 50px;
    padding-left: 10px;
    color: var(--gray-light);
    font-size: 16px;
    letter-spacing: 0.05rem;
    border: 2px solid var(--beigepink);
  }
}

@media(max-width: 450px) {
  .contact__form {
    width: 280px;
    margin: 0 auto;
  }

  .contact--field-select select {
    width: 290px;
    height: 50px;
    padding-left: 10px;
    color: var(--gray-light);
    font-size: 13px;
    letter-spacing: 0.05rem;
    border: 2px solid var(--beigepink);
  }

  div.ui-datepicker, .ui-widget, .ui-widget-content, .ui-helper-clearfix, .ui-corner-all {
    width: 280px;
    height: auto;
    font-size: 16px;
  }
}

@media(max-width: 374px) {
  .contact__form .mwform-tel-field input[type="text"] {
    width: 80px;
  }
}

/* ボタン======================= */

.contact__form .contact--label--btn {
  margin-top: 43px;
  text-align: center;
}

.contact__form .contact--label--btn input {
  margin-top: 10px;
  display: inline-block;
  background-color: var(--pinkred);
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: normal;
  padding: 15px 50px;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  -o-transition: all .3s;
  border-color: inherit;
  border-radius: 5px;
}

@media (max-width: 767px) {
  .contact__form .contact--label--btn input {
    padding: 15px 40px;
  }
}

@media (max-width: 374px) {
  .contact__form .contact--label--btn input {
    padding: 15px 25px;
  }
}

.contact__form .contact--label--btn input:hover, .contact__form .contact--label--btn input:active {
  background-color: #7d7a7a;
}

.contact__form .contact--label--btn input:focus {
  outline: none;
}

.contact__form .contact--label--btn input[name="submitBack"] {
  background-color: #9c9898;
}

.contact__form .contact--label--btn input[name="submitBack"]:hover, .contact__form .contact--label--btn input[name="submitBack"]:active {
  background-color: #7d7a7a;
}

/* 
sp  base
==================================== */

@media (min-width: 900px) {
  .is-pc {
    display: block;
  }

  .is-sp {
    display: none !important;
  }
}

@media (max-width: 901px) {
  .is-pc {
    display: none !important;
  }

  .is-sp {
    display: block;
  }
}

@media (min-width: 400px) {
  .is-400pc {
    display: block;
  }

  .is-400sp {
    display: none !important;
  }
}

@media (max-width: 401px) {
  .is-400pc {
    display: none !important;
  }

  .is-400sp {
    display: block;
  }
}

/* 
cta btn
==================================== */

.cta {
  margin-top: 100px;
}

.cta a {
  padding: 10px;
}

.cta img {
  display: block;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .cta {
    margin-top: 50px;
  }

  .cta img {
    max-width: 300px;
  }
}

#access {
  padding-top: 40px;
  margin-top: -40px;
}

.sorry {
  text-align: center;
  padding-top: 250px;
}

/* #s01-program, #s02-program, #s03-program, #s04-program, #s05-program, #s06-program, #s07-program {
  padding-top: 100px;
  margin-top: -100px;
    } */