/* 共通 */
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: url(../images/bg.jpg) !important;
}

a { text-decoration: none; }

.inner_head {
  width: 1064px;
  margin: 0 auto;
}

.inner {
  width: 1024px;
  margin: 0 auto;
}

#side_free {
  position: fixed;
  top: 12vw;
  right: 0;
  z-index: 9999999;
}

#side_free img:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie用 */
}

#side_free img {
  -webkit-transition: .6s;
  transition: .6s;
}

.pc { display: block; }
.sp { display: none; }

.pb16 { padding-bottom: 16px; }
.mt20 { margin-top: 20px; }
.mt26 { margin-top: 26px; }
.mt40 { margin-top: 40px; }
.mt80 { margin-top: 80px; }
.mb14 { margin-bottom: 14px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb26 { margin-bottom: 26px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb60 { margin-bottom: 60px; }
.mb80 { margin-bottom: 80px; }
.ml16 { margin-left: 16px; }

.red { color: #d91119;}
.blue { color: #3a4b9f;}

#page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  font-size: 77%;
}

#page-top a {
  display: block;
  width: 100px;
  text-align: center;
  text-decoration: none;
  border-radius: 5px;
  transition: opacity 5s;
  opacity: 1;
}

#page-top img:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie用 */
}

#page-top img {
  transition: .6s;
}

/* fa */
.fa {
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  font-family: FontAwesome;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1;
}

.fa-sitemap:before {
  content: "\f0e8";
}

/* ヘッダー */
.head_area {
  position: fixed !important;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100px;
}

#head_top {
  position: relative;
  z-index: 300;
  padding: 8px 0;
  font-weight: bold;
  font-size: 12px;
  border-bottom: 1px solid #504e4b;
  background-color: #48332d;
}

#head_top .inner {
  width: 95%;
  margin: 0 auto;
}

#head_top h1 {
  float: left;
  font-weight: normal;
  font-size: 10px;
  line-height: 2.5;
  text-align: left;
  color: #fff;
}

.top_contact {
  float: right;
  color: #fff;
}

.top_contact a {
  color: #fff;
}

.top_contact a:link {
  color: #fff;
}

.top_tel {
  float: left;
}

.top_link {
  float: left;
}

.top_contact a:hover {
  text-decoration: underline;
}

#header {
  position: relative;
  z-index: 200;
  border-bottom: 1px solid #6f5e58;
  background-color: #48332d;
}

#header:before {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 70%;
  height: 100%;
  background-color: #fff6e5;
  content: "";
  /*border-bottom: 2px solid #F2EFE9;*/
}

#header a {
  color: #48342d;
  transition: .5s;
}

#header a:hover {
  color: #040046;
}

#header_on {
  position: relative;
  z-index: 200;
  border-bottom: #dbdbdb 1px solid;
  background-color: #191819;
}

/*ヘッダーcss*/
.menu {
  position: relative;
  width: 100%;
  height: 55px;
}

.menu > li {
  position: relative;
  float: left;
  display: block;
  width: 110px;
  height: 55px;
  line-height: 55px;
  text-align: center;
  border-right: 1px solid #f2efe9;
  background: #fff6e5;
  list-style-type: none;
}

.menu > li a {
  display: block;
  font-weight: bold;
}



.menu > li:hover {
  background: #fbfffe;
  transition: all .5s;
}

.menu li {
  display: block;
}

/*サブナビ部分*/
.sel_navi {
  position: fixed;
  z-index: 100;
  width: 100%;
  padding: 30px 0;
  background-color: rgba(0, 0, 0, .65);
}

.sel_navi li {
  display: inline-block;
  padding: 0 20px;
}

.sel_navi ul {
  width: 1020px;
  text-align: center;
}

.sel_navi ul a {
  display: block;
  transition: opacity .3s;
  opacity: 1;
}

.sel_navi ul a:hover {
  color: #fff;
  opacity: .8;
}

.sel_navi li p.en_ttl {
  font-weight: bold;
  font-size: 15px;
  text-align: center;
  color: #fff;
}

.sel_navi li p.ja_ttl {
  font-size: 12px;
  text-align: center;
  color: #f2efe9;
}

.sel_navi02 {
  position: fixed;
  z-index: 100;
  width: 100%;
  padding: 30px 0;
  font-feature-settings: "palt";
  background-color: rgba(0, 0, 0, .65);
}

.sel_navi02 li {
  display: inline-block;
  padding: 0 17px;
}

.sel_navi02 ul {
  width: 878px;
  margin: 0 auto;
  text-align: center;
}

.sel_navi02 ul a {
  display: block;
  transition: opacity .3s;
  opacity: 1;
}

.sel_navi02 ul a:hover {
  opacity: .8;
}

.sel_navi02 li p.en_ttl {
  font-weight: bold;
  font-size: 17px;
  text-align: center;
  color: #fff;
}

.sel_navi02 li p.ja_ttl {
  font-size: 12px;
  text-align: center;
  color: #f2efe9;
}

/*スライダー*/
.slider {
  width: 100%;
}

.slider img {
  width: 100%;
}

/*下層のトップの画像のところ*/
.top_bg {
  position: relative;
  height: 160px;
  background-image: url(../images/common/top_bg.jpg);
  background-size: cover;
}

.top_bg p.top_ttl {
  position: absolute;
  top: 50px;
  width: 100%;
  font-weight: bold;
  font-size: 38px;
  text-align: center;
  text-shadow: 4px 2px 5px #000;
  color: #fff;
}

.top_bg2 {
  position: relative;
  height: 160px;
  background-image: url(../images/common/top_bg2.jpg);
  background-size: cover;
}

.top_bg2 p.top_ttl {
  position: absolute;
  top: 50px;
  width: 100%;
  font-weight: bold;
  font-size: 40px;
  text-align: center;
  text-shadow: 4px 2px 5px #000;
  color: #fff;
}

/***********************
main-under-bnr
******************************/
.main-under-bnr {
  padding: 24px 0;
  text-align: center;
}

.main-under-bnr .flex {
  display: flex;
  justify-content: center;
}

.main-under-bnr .one-bnr {
  box-sizing: border-box;
  width: 24%;
  padding: 10px;
}

.main-under-bnr .one-bnr img {
  width: 100%;
}

@media (max-width: 640px) {
  .main-under-bnr .flex {
    flex-wrap: wrap;
  }

  .main-under-bnr {
    padding: 12px 0;
  }

  .main-under-bnr .one-bnr {
    width: 50%;
    padding: 4px;
  }

  .main-under-bnr {
    width: 100%;
  }

  .main-under-bnr img {
    width: 100%;
  }
}

/*コンテンツのタイトル*/
.conttl_bg {
  position: relative;
  height: 56px;
  background-image: url(../images/common/conttl_bg.jpg);
  background-size: contain;
}

.conttl_bg p.con_ttl {
  position: absolute;
  top: 16px;
  left: 34px;
  width: 100%;
  font-size: 23px;
  font-feature-settings: "palt";
  color: #fff;
}

.conttl_bg p.con_ttl span {
  margin-left: 10px;
  vertical-align: middle;
  font-size: 14px;
}

.conttl_bg2 {
  position: relative;
  height: 55px;
  background-image: url(../images/common/conttl_bg2.jpg);
  background-size: contain;
}

.conttl_bg2 p.con_ttl {
  position: absolute;
  top: 10px;
  left: 34px;
  width: 100%;
  font-size: 23px;
  font-feature-settings: "palt";
  color: #fff;
}

.conttl_bg2 p.con_ttl span {
  margin-left: 10px;
  vertical-align: middle;
  font-size: 14px;
}

/*ニュースエリア*/
.n_ttl {
  background-color: #162c55;
}

.n_ttl p {
  padding: 10px 0;
  font-size: 24px;
  text-align: center;
  color: #fff;
}

.news_area {
  padding: 50px 0 80px 0;
}

.news_box {
  position: relative;
  float: left;
  width: 328px;
}

.m_news {
  position: absolute;
  top: 0;
  z-index: 777;
  padding: 8px;
  font-size: 10px;
  color: #fff;
  box-shadow: 4px 4px 0 0 #d8d8d8;
  background-color: #5475a5;
}

.m_notice {
  position: absolute;
  top: 0;
  z-index: 777;
  padding: 8px;
  font-size: 10px;
  color: #fff;
  box-shadow: 4px 4px 0 0 #d8d8d8;
  background-color: #3e9b7b;
}

.m_event {
  position: absolute;
  top: 0;
  z-index: 777;
  padding: 8px;
  font-size: 10px;
  color: #fff;
  box-shadow: 4px 4px 0 0 #d8d8d8;
  background-color: #75578f;
}

.m_colum {
  position: absolute;
  top: 0;
  z-index: 777;
  padding: 8px;
  font-size: 10px;
  color: #fff;
  box-shadow: 4px 4px 0 0 #d8d8d8;
  background-color: #ea3b83;
}

.bg_colum {
  background-color: #ea3b83;
}

.news_box span {
  display: block;
  min-height: 50px;
  padding-bottom: 10px;
  font-weight: bold;
  font-size: 15px;
  color: #000;
}

.news_box:nth-child(2) {
  margin: 0 20px;
}

.news_box p {
  display: inline-block;
  font-size: 14px;
  color: #080808;
}

.news_area ul li {
  float: left;
}

.news_area ul li:nth-child(even) {
  float: left;
  margin: 0 2px;
}

.news_area a {
  transition: .6s;
}

.news_area a:hover {
  filter: alpha(opacity=80);
  opacity: .8;
  /* Ie用 */
}

a.btn-navy {
  padding: 14px 78px;
  font-size: 16px;
  color: #fff;
  background-color: #162d55;
}

/* NEWS.html */
.in_news_box:first-child {
  border-top: #dbdbdb 1px solid;
}

.in_news_box {
  display: block;
  width: 710px;
  padding: 40px 0;
  border-bottom: #dbdbdb 1px solid;
}

.in_news_box .txt_area {
  width: 396px;
}

.in_news_box a {
  display: block;
  transition: .6s;
}

.in_news_box a:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie用 */
}

.in_news_box p {
  display: inline-block;
  padding: 0 20px;
  font-size: 14px;
  color: #fff;
}

.news_img_area {
  position: relative;
  float: left;
  display: block;
  width: 280px;
  height: 100%;
  margin-right: 20px;
  margin-left: 14px;
}

.news_pic {
  display: block;
  height: 210px;
  background-position: center center;
  background-repeat: no-repeat;
}

.news_img_area2 {
  position: relative;
  float: left;
  display: block;
  width: 280px;
  height: 396px;
  margin-right: 20px;
  margin-left: 14px;
}

.news_pic2 {
  display: block;
  height: 396px;
  background-position: center center;
  background-repeat: no-repeat;
}

.txt_area {
  float: left;
  min-height: 120px;
}

.mark {
  margin-bottom: 6px;
}

.bg_news   { background-color: #5475a5; }
.bg_notice { background-color: #3e9b7b; }
.bg_event  { background-color: #75578f; }
.bg_colum  { background-color: #ea3b83; }

.news_date {
  font-size: 13px;
  color: #080808;
}

.news_ttl {
  max-width: 738px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
  line-height: 22px;
  word-break: break-all;
  color: #48332d;
}

.news_txt {
  max-width: 434px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 14px;
  line-height: 22px;
  word-break: break-all;
  color: #080808;
}

ul.pagenav {
  margin: 40px 0 0 0;
}

ul.pagenav li {
  display: inline;
  margin: 0 1px;
  padding: 0;
}

ul.pagenav li span a {
  display: inline-block;
  padding: 5px 7px;
  vertical-align: middle;
  text-decoration: none;
  color: #444 !important;
  color: #222;
  border: 1px solid #6d6d6d;
  background-color: #eee;
}

ul.pagenav li b a {
  display: inline-block;
  margin: 5px 0;
  padding: 5px 7px;
  vertical-align: middle;
  color: #fff !important;
  border: 1px solid #181818;
  background-color: #333;
}

ul.pagenav li a:hover {
  color: #fff !important;
  border: 1px solid #ccc;
  background-color: #dbdbdb;
}

ul.pagenav li strong {
  display: inline-block;
  margin: 5px 0;
  padding: 5px 7px;
  vertical-align: middle;
  color: #fff;
  border: 1px solid #e4e4e4;
  background-color: #fe9f00;
}

#sns_box {
  float: right;
  margin-bottom: 10px;
}

.sharebtn li {
  float: left;
}

.sharebtn li:nth-child(even) {
  float: left;
  margin: 0 6px;
}

/* 2つの特徴  */
.special_intro .ttl {
  margin-bottom: 12px;
  padding: 6px 0;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #fff;
  border-radius: 12px;
  background-color: #112138;
}

#special {
  margin: 0 auto 60px;
  padding-top: 40px;
  border-top: 2px solid #172e54;
}

.special_ttl {
  margin-bottom: 14px;
  text-align: center;
}

.special_box {
  float: left;
  width: 498px;
  margin-right: 26px;
  margin-bottom: -500px;
  padding-bottom: 500px;
  background-color: #fff;
}

.special_box02 {
  float: right;
  width: 498px;
  margin-bottom: -500px;
  padding-bottom: 500px;
  background-color: rgba(7, 16, 56, .7);
}

.s_box_txt {
  margin: 0 auto;
  padding: 20px;
  font-size: 15px;
  background-color: #fff;
}

.s_box_ttl {
  padding: 4px 0;
  font-weight: bold;
  font-size: 24px;
  text-align: center;
  color: #fff;
  background-color: #48342d;
}

.s_box_ttl span {
  font-size: 18px;
}

#web360 {
  padding: 80px 0;
  background-color: #281400;
  background-size: cover;
}

.web360_ttl {
  margin-bottom: 12px;
  text-align: center;
}

.web360_txt {
  font-size: 18px;
  line-height: 2em;
  text-align: center;
  text-shadow: 0 1px 4px #000;
  color: #fff;
}

.web360_btn {
  margin-top: 32px;
  text-align: center;
}

.web360_btn a {
  -webkit-transition: .6s;
          transition: .6s;
}

.web360_btn a:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie用 */
}

/*SNSエリア*/
#sns_area {
  padding: 80px 0;
  background-image: url(../images/top/sns_bg.png);
  background-repeat: repeat;
}

.sns_i {
  margin-bottom: 30px;
  text-align: center;
}

.sns_l {
  float: left;
  width: 478px;
}

.sns_r {
  float: right;
  width: 478px;
}

#sns_area02 {
  padding: 80px 0;
  background-repeat: repeat;
}

#sns_area02 .insta_loading {
  padding: 40px 0;
  text-align: center;
}

#insta_area {
  display: none;
  opacity: 0;
}

#insta_area li {
  float: left;
  width: 154px;
  height: 154px;
  /*background-color:#C85456;*/
  margin: 0 20px 20px 0;
}

#insta_area li:nth-child(6),
#insta_area li:nth-child(12) {
  margin: 0 0 20px 0;
}

#insta_area li img {
  float: left;
  width: 154px;
  height: 154px;
  /*background-color:#C85456;*/
  margin: 0 20px 20px 0;
}

/*アクセスエリア*/
#access_area {
  width: 100%;
}

.map_ttl {
  position: absolute;
  bottom: 2vw;
  left: 13.5vw;
  padding: 26px;
  background-color: #162d55;
  transition: .3s;
}

.map_ttl a {
  display: block;
  color: #fff;
}

.map_ttl a:hover {
  background-color: #bb941d;
  transition: .5s;
}

.map_ttl:hover {
  background-color: #bb941d;
  transition: .3s;
}

.map_ttl h3 {
  font-size: 18px;
}

/**/
.u_con {
  width: 1024px;
  margin: 0 auto;
}

.u_main {
  float: left;
  width: 750px;
  padding-bottom: 100px;
}

.u_right {
  float: right;
  width: 246px;
}

div#program {
  margin-top: -100px;
  padding-top: 100px;
}

div#schedule {
  margin-top: -100px;
  padding-top: 100px;
}

div#admission {
  margin-top: -100px;
  padding-top: 100px;
}

div#experience {
  margin-top: -100px;
  padding-top: 100px;
}

div#access {
  margin-top: -100px;
  padding-top: 100px;
}

div#web_360 {
  margin-top: -100px;
  padding-top: 100px;
}

/* サイドバー */

.u_side {
  float: right;
  width: 244px;
  background-color: #fff;
}

.u_side_inner {
  padding-bottom: 30px;
  border: 1px solid #48342d;
  background-color: #f9f9f9;
}

.u_side a {
  font-weight: bold;
  color: #ff9f00;
}

.u_side a:hover {
  text-decoration: underline;
}

.shop_number {
  margin-top: 12px;
  font-weight: bold;
  font-size: 22px;
  text-align: center;
}

.side_inner {
  margin: 0 12px;
  font-size: 15px;
}

.side_midashi {
  margin-top: 10px;
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 1px solid#d3d3d1;
}

.side_inner span:not([class]) {
  display: block;
  margin-left: 10px;
}

.side_inner .address {
  display: flex;
  flex-wrap: wrap;
}

.side_inner .street-address {
  margin-inline-start: .5em;
}

.side_inner .add_sche {
  display: block;
  margin-top: 10px;
}

.bnr img:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie逕ｨ */
}

.bnr img {
  transition: opacity .6s;
}

p.midashi_mini {
  margin-bottom: 5px;
  padding-left: 6px;
  border-left: 1px solid #868686;
}

/*下層ページ*/
.inner02 {
  width: 710px;
  margin: 0 auto;
}

/*ぱん*/
.pan {
  /*font-weight: bold;*/
}

.pan a {
  color: #191819;
  transition: color .5s;
}

.pan a:hover {
  color: #a18700;
}

.sankaku {
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-top: 20px solid #48332d;
}

.sankaku_contact {
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-top: 20px solid #48332d;
}

.u_right {
  float: right;
  width: 246px;
}

#schedule {
  margin-top: -100px;
  padding-top: 100px;
}

#admission {
  margin-top: -100px;
  padding-top: 100px;
}

#experience {
  margin-top: -100px;
  padding-top: 100px;
}

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

#web_360 {
  margin-top: -100px;
  padding-top: 100px;
}

#link_area {
  margin: 60px 0;
}

#link_area ul {
  display: flex;
  justify-content: center;
}

#link_area ul li {
  margin: 0 16px;
}

#link_area ul li img {
  transition: .3s;
}

#link_area ul li:hover {
  opacity: .7;
}

@media (max-width: 640px) {
  #link_area {
    margin: 32px 0;
  }

  #link_area ul {
    justify-content: space-between;
  }

  #link_area ul li {
    width: 48%;
    margin: 0;
  }

  #link_area ul li img {
    width: 100%;
  }
}

/* ACCESS  */
#access_place li {
  float: left;
}

#access_place li:nth-child(even) {
  float: left;
  margin: 0 16px;
}

.rute {
  display: block;
  width: 100%;
  margin-top: 20px;
  font-size: 15px;
}

.rute span {
  color: #d91219;
}

/* about.php*/
div#aboutk1 {
  margin-top: -100px;
  padding-top: 100px;
}

div#representative {
  margin-top: -100px;
  padding-top: 100px;
}

div#trainers {
  margin-top: -100px;
  padding-top: 100px;
}

div#fighter {
  margin-top: -100px;
  padding-top: 100px;
}

div#member {
  margin-top: -100px;
  padding-top: 100px;
}

div#qa {
  margin-top: -100px;
  padding-top: 100px;
}

.about_intro {
  margin-bottom: 20px;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
}

.about_intro span {
  font-weight: bold;
  color: #ff9f00;
}

.about_txt {
  font-size: 16px;
}

.about_txt span {
  color: #fe9f00;
}

.box {
  padding-bottom: 80px;
}

.left_img_area {
  float: left;
  margin-right: 20px;
}

.right_txt_area {
  float: right;
  width: 390px;
  font-size: 16px;
  line-height: 1.8;
}

span.name {
  float: right;
  display: block;
}

.trainer_box {
  float: left;
  padding: 20px 0;
}

.voice_box {
  float: left;
  padding: 6px 0 20px 0;
}

.t_left {
  float: left;
  margin-right: 30px;
}

.t_right {
  float: right;
}

.t_top {
  float: left;
  width: 378px;
  margin-bottom: 16px;
  border-bottom: #707070 1px solid;
}

.t_sns ul li {
  float: left;
  margin-right: 4px;
}

.t_name {
  float: left;
}

.t_name span {
  margin-left: 8px;
  font-weight: bold;
  font-size: 18px;
  color: #040000;
}

.t_sns {
  float: right;
}

table.trainers_txt {
  width: 378px;
  font-size: 14px;
  border-collapse: separate;
  border-spacing: 0;
}

table.trainers_txt th {
  width: 32%;
  padding: 8px 4px;
  vertical-align: top;
  text-align: left;
  color: #444;
  border-bottom: 1px solid #ccc;
}

table.trainers_txt td {
  width: 68%;
  padding: 8px 4px;
  border-bottom: 1px solid #ccc;
}

table.trainers_txt .bb-none {
  border-bottom: none;
}

table.trainers_txt a {
  text-decoration: underline;
  color: #db0811;
}

table.trainers_txt a:hover {
  text-decoration: none;
}

.t_name_v {
  float: left;
}

.t_name_v span {
  font-weight: bold;
  font-size: 18px;
  color: #48342d;
}

.v_right {
  float: right;
  width: 378px;
}

.voice_area {
  float: left;
  width: 378px;
  font-size: 14px;
}

.voice_area dt {
  padding: 4px 0 4px 4px;
  color: #fff;
  background-color: #8e6a5d;
}

.voice_area dd {
  margin-bottom: 8px;
  padding: 4px 0 4px 4px;
  line-height: 1.8;
}

.v_top {
  float: left;
  width: 378px;
  margin-bottom: 20px;
  border-bottom: #48342d 1px solid;
}

.qa_area {
  font-size: 14px;
}


.qa_area tr {
  display: block;
  border: #a99a9a 1px solid;
}

.qa_area tr:nth-child(even) {
  margin-bottom: 20px;
  border-top: none;
}

.qa_area td.red_q1 {
  padding: 10px 19px;
  font-weight: bold;
  font-size: 17px;
  color: #fff;
  background-color: #d91119;
}

.qa_area td.blue_a1 {
  padding: 10px 20px;
  font-weight: bold;
  font-size: 17px;
  color: #fff;
  background-color: #3a4b9f;
}

.qa_area th {
  padding: 10px;
}

.qa_area a {
  color: #d91119;
}

.qa_area a:hover {
  text-decoration: underline;
}

/* admission.php */
.sub_ttl {
  font-weight: bold;
  font-size: 26px;
  border-bottom: 2px solid #7a7a7a;
}

.p_box {
  float: left;
  width: 710px;
}

.price_bar {
  margin-bottom: 20px;
  padding: 5px 10px;
  font-size: 15px;
  color: #fff;
  background-color: #112138;
}

.price_bar span {
  display: block;
  padding: 5px 10px;
  color: #fff;
  border-left: 3px solid #fff;
}

.adult_sc th.classTh {
  padding: 10px;
  font-weight: bold;
  text-align: left;
  color: #000;
  border-bottom: 1px solid #c9c9c9;
  background-color: #f0f0f0;
}

.p_ttl {
  margin-bottom: 12px;
  padding: 6px 0;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 1px solid #48342d;
}

.p_ttl img {
  vertical-align: middle;
}

.p_img {
  float: left;
  width: 346px;
  margin-right: 20px;
  margin-bottom: 14px;
}

.p_txt {
  float: left;
  width: 342px;
  font-size: 14px;
}

/**********
ヨガ
****************/
.class-blc {
  margin-bottom: 16px;
}

.class-blc .koka span {
  margin-right: 6px;
  padding: 6px;
  color: #fff;
  border-radius: 6px;
  background-color: #5c443c;
}

.class-blc .exp {
  margin: 4px 0 10px;
  font-size: 15px;
}

.point-list-ttl {
  margin-bottom: 10px;
  padding-bottom: 4px;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 1px solid #000;
}

ul.point-list {
  margin: 16px 0 20px;
  font-size: 15px;
  line-height: 1.8;
}

.link_btn {
  margin: 40px 0;
  text-align: center;
}

.link_btn a:hover {
  filter: alpha(opacity=80);
  opacity: .8;
  /* Ie用 */
}

.link_btn img {
  transition: .6s;
}

.sche_txt {
  margin-top: 12px;
  font-size: 15px;
}

.sche_txt_r {
  margin-top: 12px;
  font-size: 15px;
  color: #d91119;
}

table.open {
  width: 100%;
  font-size: 15px;
}

table.open td {
  display: block;
  padding: 6px 8px;
}

table.open th {
  padding-right: 16px;
  vertical-align: top;
}

table.open td.name {
  width: 378px;
  color: #fff;
  background: #0f2238;
}

.adult_sc {
  width: 100%;
  margin-bottom: 40px;
  font-size: 14px;
  background-color: #fff;
}

.adult_sc th {
  font-weight: bold;
  line-height: 2.3em;
  text-align: center;
  color: #fff;
  border: 1px solid #e9e9e9;
  background-color: #5d524e;
}

table.adult_sc th,
table.adult_sc table td {
  width: 25%;
  border: 1px solid #c9c9c9;
}

.adult_sc td {
  padding: 10px;
  line-height: 1.3em;
  border: 1px solid #c9c9c9;

  :is(.address, .address__wrapper) {
    display: flex;
    flex-wrap: wrap;
    column-gap: .5em;
  }
}

.nyukai {
  font-size: 14px;
}

.nyukai dl {
  overflow: hidden;
  margin-bottom: 15px;
  border: 1px solid #c9c9c9;
  background-color: #f1f1f1;
}

.nyukai dl dt {
  float: left;
  display: block;
  width: 20%;
  line-height: 1.5em;
}

.nyukai dl dd {
  float: right;
  width: 79%;
  margin: 0 !important;
  padding: 0 !important;
  border-left: 1px solid #c9c9c9;
  background: #fff;
}

.nyukai dl dt span {
  display: block;
  padding: 15px;
  font-weight: bold;
}

.nyukai dl dd ul {
  padding: 15px;
}

/*フッター*/
.foot_link {
  padding: 30px 0;
  background-image: url(../images/foot_inq.jpg);
  background-size: cover;
}

.foot_link_inner {
  width: 830px;
  margin: 0 auto;
}

.foot_link_inner table {
  float: left;
  margin-top: 40px;
}

.foot_link th {
  display: inline-block;
  margin-right: 12px;
  font-size: 30px;
  color: #fff;
}

.foot_link img:hover {
  filter: alpha(opacity=80);
  opacity: .8;
  /* Ie用 */
}

.foot_link img {
  transition: opacity .6s;
}

.foot_link_txt {
  display: inline-block;
  font-size: 22px;
  line-height: 1.3;
  color: #fff;
}

.tel_mail {
  float: right;
}

.footer {
  padding: 50px 0;
  font-size: 13px;
  font-family: "Josefin Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", Helvetica, Arial, sans-serif;
  color: #fff;
  border-top: #fff 1px solid;
  background-color: #212035;
}

.footer_copy {
  padding: 16px 0;
  line-height: 1.7;
  text-align: center;
  color: #fff;
  background-color: #48332d;
}

.footer_copy a {
  color: #fff;
  transition: color .5s;
}

.footer_copy a:hover {
  text-decoration: underline;
  color: #efefef;
}

.foot_logo {
  margin-bottom: 24px;
}

.footerNav .foot_l {
  display: inline-block;
  padding: 2px 0 0 5px;
  font-weight: bold;
  border-left: 3px solid #c3ab35;
}

.footerNav {
  float: left;
  font-size: 12px;
}

.footerNav a {
  color: #fff;
}

.footerNav a:hover {
  text-decoration: underline;
}

.footerNav ul {
  float: left;
  width: 350px;
}

.footerNav li {
  float: left;
  width: 232px;
  margin-top: 10px;
  line-height: 1.4;

  :is(.address, .address__wrapper) {
    display: flex;
    flex-wrap: wrap;
  }
}

.footerNav li ul {
  float: left;
  overflow: hidden;
  margin-left: 9px;
}

.footerNav .foot_l {
  float: left;
}

.footerNav .foot_m {
  display: inline-block;
  padding: 2px 0 0 5px;
  font-weight: bold;
  border-left: 3px solid #d30606;
}

.footerNav .foot_m li span {
  display: block;
  font-size: 10px;
}

span.triangle {
  font-size: 8px;
}

.footerNav .foot_r {
  display: inline-block;
  padding: 2px 0 0 5px;
  font-weight: bold;
  border-left: 3px solid #0054ff;
}

.foot_sns {
  float: left;
  padding-left: 25px;
  border-left: 1px solid #333;
}

.foot_sns dl {
  width: 154px;
  margin-bottom: 18px;
}

.foot_sns a {
  display: block;
  transition: .5s;
}

.icon {
  float: left;
  margin-right: 12px;
}

/*運営会社*/
.overview {
  overflow: hidden;
  width: 710px;
  word-wrap: break-word;
  word-break: break-all;
}

.overview th {
  overflow: hidden;
  width: 30%;
  padding: 8px 8px 8px 30px;
  vertical-align: top;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  color: #13131e;
  border-top: solid 1px #d3d3d1;
  background-color: #f0f0f0;
}

.overview th.oth_last {
  overflow: hidden;
  width: 30%;
  padding: 8px 8px 8px 30px;
  vertical-align: top;
  font-style: normal;
  font-weight: bold;
  font-size: 100%;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  color: #13131e;
  border-bottom: solid 1px #d3d3d1;
  background-color: #e4f1d7;
}

.overview td.otd_last {
  overflow: hidden;
  vertical-align: middle;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  color: #595960;
  border-bottom: solid 1px #d3d3d1;
  background-color: #fff;
}

.overview td {
  overflow: hidden;
  padding-left: 12px;
  vertical-align: middle;
  font-size: 15px;
  text-align: left;
  word-wrap: break-word;
  word-break: break-all;
  color: #595960;
  border-top: solid 1px #d3d3d1;
  background-color: #fff;
}

h2.ttl {
  font-weight: bold;
  font-size: 26px;
  color: #343334;
  background-image: url(../images/common/ttl_under.png);
  background-position: bottom;
  background-repeat: repeat-x;
}

.foot_con {
  font-size: 15px;
}

.foot_con strong {
  display: block;
  margin-bottom: 10px;
  font-size: 16px;
  color: #48342d;
  border-bottom: 1px solid #8f8f8f;
}

.foot_con a {
  color: #db1d27;
}

.foot_con a:hover {
  text-decoration: underline;
}

/*  お問い合わせ  */
p.contact_txt {
  font-size: 14px;
}

p.contact_txt a {
  font-weight: bold;
  color: #fe9f00;
}

p.contact_txt a:hover {
  text-decoration: underline;
}

.gold_txt {
  display: block;
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 18px;
  color: #a18700;
}

table.exp_area {
  width: 708px;
  font-size: 14px;
}

table.exp_area th {
  float: left;
  margin-right: 26px;
}

table.exp_area td {
  vertical-align: top;
}

table.exp_area tr:first-child {
  border-top: 1px solid #dbdbdb;
}

table.exp_area tr {
  display: block;
  padding: 20px 0 16px 0;
  border-bottom: 1px solid #dbdbdb;
}

.number {
  float: left;
  font-weight: bold;
  font-size: 30px;
  color: #ac961f;
}

.btn_contact a {
  transition: opacity .6s;
}

.btn_contact a:hover {
  filter: alpha(opacity=50);
  opacity: .5;
  /* Ie用 */
}

.btn_contact {
  float: right;
  margin-left: 28px;
}

.form {
  width: 700px;
  margin: 0 auto 16px;
}

.form th .req {
  color: #ff9f00;
}

.form p.error {
  color: #f00;
}

/* UI */
.form input[type=text],
.form textarea,
.form select {
  margin-bottom: 3px;
  padding: 8px;
  border: 1px solid #525252;
  border-radius: 5px;
  background-color: #fff;
}

.form input[type=text]:focus,
.form textarea:focus {
  border: 1px solid #000;
  background: #f0f0f0;
}

.form input[type=text].error,
.form textarea.error,
.form select.error {
  border-width: 2px;
  border-color: #f99;
}

.form textarea {
  width: 95%;
  height: 150px;
}

.form input.max {
  width: 95%;
}

.form input.min {
  width: 70px;
}

.form th,
.form td {
  padding: 16px;
  vertical-align: top;
  font-size: 13px;
  border-bottom: 1px solid #b6b6b6;
}

.form th {
  width: 180px;
  vertical-align: middle;
  color: #fff;
  background: #122138;
}

.form td label {
  display: block;
  margin: 5px;
}

form .btns {
  margin: 32px;
  text-align: center;
}

form .btns button {
  width: 300px;
  padding: 16px 0;
  font-size: 18px;
  color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  background-color: #fe9f00;
}

form .btns button:hover {
  opacity: .75;
}

.line-contact {
  text-align: center;
}

.line-contact img {
  zoom: .5;
}

.line-contact a:hover {
  opacity: .7;
}

.form_inner {
  width: 700px;
  margin: auto;
  padding: 2% 5% 5% 2%;
}

/*20170404 -問い合わせ-*/
p.contact-time {
  margin-bottom: 10px;
  color: red;
}

input.myType {
  margin-right: 8px;
}

input.min span {
  margin: 0 10px;
}

.form-outro {
  margin-top: 20px;
}

@media (max-width: 640px) {
  body {
    padding: 0 !important;
    -webkit-text-size-adjust: 100%;
  }

  .pc { display: none; }
  .sp { display: block; }

  .mb20 { margin-bottom: 2vw; }
  .mb60 { margin-bottom: 8%; }

  #wrap {
    overflow: hidden;
    width: 100%;
    max-width: 640px;
  }

  .fb-like-box,
  .fb-like-box span,
  .fb-like-box iframe {
    width: 100% !important;
  }

  #page-top {
    left: 77vw;
    z-index: 999;
  }

  #page-top img {
    width: 50%;
  }

  img#side_free {
    display: none;
  }

  #sns_box {
    padding: 0 4%;
  }

  /*===============================================================
  header
================================================================*/
  .header {
    position: fixed;
    z-index: 997;
    width: 100%;
    border-bottom: 1px solid #2e2d2d;
    background-color: #fff;
  }

  s.head_logo_sp {
    position: absolute;
  }

  .head_logo_sp img {
    width: 35%;
  }

  .sp_head_txt {
    height: 19px;
    padding: 3px 17px 3px 0;
    padding-right: 16px;
    font-weight: bold;
    text-align: right;
    color: #fff;
    background-color: #48342d;
  }

  .header .header__btnMenu {
    position: absolute;
    top: 34px;
    right: 0;
    width: 36px;
    height: 36px;
  }

  .header__btnMenu a {
    color: #a18700;
  }

  .menu-trigger img {
    width: 7vw;
  }

  .head_number {
    position: absolute;
    top: 10px;
    left: 208px;
    line-height: 1.3;
    text-align: center;
  }

  .menu-trigger,
  .menu-trigger span {
    box-sizing: border-box;
    display: inline-block;
    transition: all .4s;
  }

  .menu-trigger {
    position: relative;
    width: 50px;
    height: 44px;
  }

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

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

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

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

  /*===============================================================
  gNav
================================================================*/
  .gNav {
    z-index: 999;
    overflow: scroll;
    background: #fff;
    -webkit-overflow-scrolling: touch;
  }

  .gNav .gNav__list li {
    box-sizing: border-box;
    width: 100%;
    border-bottom: 1px solid #ccc;
  }

  .gNav .gNav__list li a {
    z-index: 999;
    display: block;
    padding: 12px 10px;
    text-decoration: none;
    color: #333;
  }

  .gNav__list li.close_nav {
    background-color: #48342d;
  }

  .gNav__list li.close_nav a {
    color: #fff;
  }

  .gNav .gNav_col li {
    float: left;
    box-sizing: border-box;
    width: 50%;
    border-bottom: 1px solid #ccc;
  }

  .gNav .gNav_col li a {
    z-index: 999;
    display: block;
    padding: 15px 10px;
    font-feature-settings: "palt";
    text-decoration: none;
    color: #333;
  }

  .nav_bnr_area ul {
    display: table;
  }

  .nav_bnr_area li {
    display: table-cell;
    vertical-align: middle;
  }

  .nav_bnr_area img {
    width: 100%;
  }

  /*===============================================================
  news
================================================================*/
  a {
    color: #000;
  }

  .box_sp {
    padding: 4vw 2vw;
  }

  .sp_news_box {
    position: relative;
    display: table;
    width: 96vw;
    padding: 4vw 0;
    border-bottom: 1px solid #dcdcdc;
  }

  .sp_news_box_in {
    position: relative;
  }

  .sp_news_box p {
    font-weight: bold;
    line-height: 1.2;
  }

  .sp_news_img {
    float: left;
  }

  .sp_news_box img {
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: top;
  }

  .sp_news_box .txt {
    display: inline-block;
    width: 60%;
    margin-left: 3%;
    vertical-align: middle;
  }

  .news_date {
    margin-bottom: 0;
    font-size: 11px;
  }

  .sp_news_img {
    position: relative;
    float: left;
    display: block;
    width: 98px;
  }

  .sp_top_news_img_in {
    display: block;
    height: 98px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  /*===============================================================
  top_bnr_area
================================================================*/
  .top_bnr_area ul {
    display: table;
    border-bottom: 1px solid #7f7e7d;
  }

  .top_bnr_area li {
    display: table-cell;
    vertical-align: middle;
  }

  .top_bnr_area img {
    width: 100%;
  }

  /*===============================================================
  news_area
================================================================*/
  .n_ttl p {
    padding: 4px 0 4px;
    font-size: 5vw;
  }

  .news_area {
    padding: 4vw 0;
  }

  .m_news {
    padding: 4px;
  }

  .news_box {
    position: relative;
    float: left;
    width: 100%;
    max-width: 600px;
    border-top: 1px solid #ededed;
    border-bottom: 1px solid #ededed;
  }

  .news_box:nth-child(2) {
    margin: 0;
  }

  .news_box img {
    width: 100px;
    height: 100px;
  }

  .news_pic {
    display: block;
    width: 100%;
    height: 100px;
    background-position: center center;
    background-repeat: no-repeat;
  }

  .in_news_box {
    width: 100%;
    padding: 4vw 0;
  }

  .news_img_area {
    position: relative;
    float: left;
    display: block;
    width: 100%;
    height: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-bottom: 4vw;
  }

  .in_news_box .txt_area {
    float: left;
    width: 98% !important;
    max-width: 600px;
    margin: auto;
  }

  .txt_area {
    float: left;
    width: 100%;
    max-width: 960px;
    margin: auto;
  }

  .m_news {
    position: inherit !important;
    top: 0;
    z-index: 777;
    display: -webkit-inline-box;
    margin-bottom: 0;
    padding: 1% 2%;
    font-size: 10px;
    color: #fff !important;
    box-shadow: none;
    background-color: #5475a5;
  }

  .m_notice {
    position: inherit !important;
    top: 0;
    z-index: 777;
    display: -webkit-inline-box;
    margin-bottom: 0;
    padding: 1% 2%;
    font-size: 10px;
    color: #fff !important;
    box-shadow: none;
    background-color: #3e9b7b;
  }

  .m_event {
    position: inherit !important;
    top: 0;
    z-index: 777;
    display: -webkit-inline-box;
    margin-bottom: 0;
    padding: 1% 2%;
    font-size: 10px;
    color: #fff !important;
    box-shadow: none;
    background-color: #75578f;
  }

  .m_colum {
    position: inherit !important;
    top: 0;
    z-index: 777;
    display: -webkit-inline-box;
    margin-bottom: 0;
    padding: 1% 2%;
    font-size: 10px;
    color: #fff !important;
    box-shadow: none;
    background-color: #ea3b83;
  }

  .n_ttl img {
    width: 20vw;
  }

  .sp_news_all {
    width: 70%;
    margin: 0 auto;
    font-size: 4vw;
    text-align: center;
    color: #fff;
    background-color: #162d55;
  }

  .sp_news_all a {
    display: block;
    padding: 2% 4% 2%;
    color: #fff;
  }

  .news_img_area2 {
    position: relative;
    float: left;
    display: block;
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-left: 0;
    padding-bottom: 6vw;
  }

  .inner {
    width: 94%;
    max-width: 600px;
  }

  .slider {
    width: 100%;
    max-width: 640px;
    padding-top: 17.9vw;
  }

  .special_ttl {
    margin-bottom: 2vw;
    text-align: center;
  }

  .special_ttl img {
    width: 100%;
  }

  .special_intro .ttl {
    margin-bottom: 12px;
    padding: 6px;
    font-size: 15px;
  }

  .sp_img100 {
    width: 100%;
  }

  #special {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 0;
    padding: 8vw 0 0;
    border-top: none;
    background-size: cover;
  }

  .special_box {
    width: 100%;
    max-width: 640px;
    margin-right: 0;
    margin-bottom: 6vw;
    padding-bottom: 0;
  }

  .special_box02 {
    width: 100%;
    max-width: 640px;
    margin-bottom: 6vw;
    padding-bottom: 0;
  }

  #sns_area {
    padding: 8vw 0;
    background-image: url(../images/top/sns_bg.png);
    background-repeat: repeat;
  }

  .s_box_ttl span {
    float: none;
    display: block;
    margin-right: 0;
    font-size: 14px;
    text-align: center;
  }

  .s_box_ttl span {
    float: none;
    display: block;
    margin-right: 0;
    text-align: center;
  }

  .s_box_ttl {
    padding: 4px;
    font-size: 18px;
  }

  .s_box_ttl span img {
    width: 10vw;
  }

  .s_box_txt .effect {
    font-size: 13px;
  }

  .s_box_txt {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 10px;
    padding-top: 2vw;
    padding-bottom: 7vw;
    font-size: 1.1em;
  }

  #web360 {
    width: 100%;
    padding: 7vw 0;
    background-position: center left;
  }

  #web360 img {
    width: 70vw;
  }

  .web360_txt {
    box-sizing: border-box;
    width: 100%;
    margin: auto;
    margin-top: 2vw;
    font-size: 1.2em;
  }

  .i_view {
    padding: 0 6%;
  }

  img.snslogo {
    display: block;
    width: 50%;
    margin: auto;
  }

  #insta_area li a {
    width: 100%;
    height: 100%;
  }

  #insta_area li:nth-child(odd) {
    float: left;
    width: 48%;
    height: 48%;
    margin: 0 2% 4% 0 !important;
  }

  #insta_area li:nth-child(even) {
    float: left;
    width: 48%;
    height: 48%;
    margin: 0 0 4% 2% !important;
  }

  #insta_area li img {
    float: left;
    width: 100%;
    min-height: 45vw;
    /* background-color: #C85456; */
    margin: 0 2% 4% 0;
  }

  .sp_fb {
    margin-bottom: 6%;
  }

  #sns_area02 {
    padding: 10vw 0;
    background-image: url(../images/top/sns_bg02.png);
    background-repeat: repeat;
  }

  .u_side {
    display: none;
  }

  .u_side_inner {
    display: none;
  }

  /* お問い合わせ */
  .form {
    width: 100%;
  }

  .form_inner {
    width: 94%;
    padding: 0 3%;
  }

  .form th,
  .form td {
    display: block;
    width: 95%;
    padding: 8px;
  }

  /*===============================================================
  下層
================================================================*/
  div#aboutk1 {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#representative {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#trainers {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#fighter {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#member {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#qa {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#program {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#schedule {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#admission {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#experience {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#access {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  div#web_360 {
    margin-top: -17vw;
    padding-top: 17vw;
  }

  .top_bg {
    height: 14vw;
    background-image: url(../images/common/top_bg.jpg);
    background-position: center center;
    background-size: cover;
  }

  .top_bg p.top_ttl {
    position: absolute;
    top: 4vw;
    width: 100%;
    font-weight: bold;
    font-size: 5vw;
    text-align: center;
    text-shadow: 3px 0 6px #000;
    color: #fff;
  }

  .top_bg2 {
    height: 14vw;
    background-image: url(../images/common/top_bg2.jpg);
    background-position: center center;
    background-size: cover;
  }

  .top_bg2 p.top_ttl {
    position: absolute;
    top: 4vw;
    width: 100%;
    font-weight: bold;
    font-size: 5vw;
    text-align: center;
    text-shadow: 3px 0 6px #000;
    color: #fff;
  }

  .conttl_bg {
    position: relative;
    height: 8vw;
    background-image: url(../images/common/conttl_bg.jpg);
    background-size: cover;
  }

  .conttl_bg p.con_ttl {
    position: absolute;
    top: calc(4 / 375 * 100vw);
    left: 6%;
    width: 100%;
    font-weight: bold;
    font-size: 5vw;
    color: #fff;
  }

  .conttl_bg p.con_ttl span {
    margin-left: 10px;
    vertical-align: middle;
    font-size: .5em;
  }

  .conttl_bg2 {
    position: relative;
    height: 8vw;
    background-image: url(../images/common/conttl_bg2.jpg);
    background-size: cover;
  }

  .conttl_bg2 p.con_ttl {
    position: absolute;
    top: 6%;
    left: 6%;
    width: 100%;
    font-weight: bold;
    font-size: 1.7em;
    color: #fff;
  }

  .conttl_bg2 p.con_ttl span {
    margin-left: 10px;
    vertical-align: middle;
    font-size: .5em;
  }

  .pan {
    margin-top: 4%;
  }

  .mb40 {
    margin-bottom: 3%;
  }

  .box {
    width: 100%;
    max-width: 640px;
    padding-bottom: 36px;
  }

  .con1 {
    padding-top: 17.9vw;
  }

  .sankaku,
  .sankaku_contact {
    display: none;
  }

  .inner02 {
    width: 94%;
    max-width: 600px;
  }

  .about_intro {
    margin-bottom: 4vw;
    padding: 0 2%;
    font-size: 3.8vw;
    text-align: left;
  }

  .about_txt p {
    font-size: 3.8vw;
    line-height: 1.8;
  }

  .sub_ttl {
    margin-bottom: 4vw;
    font-weight: bold;
    font-size: 1.5em;
    border-bottom: 1px solid #7a7a7a;
  }

  .u_con {
    width: 100%;
    max-width: 640px;
  }

  .u_main {
    float: none;
    width: 100%;
    max-width: 640px;
    padding-bottom: 0;
  }

  .left_img_area {
    float: none;
    margin-right: 0 !important;
    margin-bottom: 20px;
  }

  .left_img_area img {
    display: block;
    width: 50%;
    margin: auto;
  }

  .right_txt_area {
    float: none;
    width: 100%;
    font-size: 3.8vw;
  }

  .trainer_box {
    float: none;
    padding: 6vw 0;
  }

  table.trainers_txt td {
    background: none;
  }

  .voice_box {
    float: none;
    padding: 6vw 0;
  }

  .t_left img {
    display: block;
    width: 50%;
    margin: auto;
  }

  span.mossa {
    margin-left: 0;
    vertical-align: middle;
    font-size: .7em !important;
  }

  .t_left {
    float: none;
    margin-right: 0;
    margin-bottom: 4%;
  }

  .t_right {
    float: none;
  }

  .t_top,
  .v_top {
    float: none;
    width: 100%;
    margin-top: 4%;
    margin-bottom: 2vw;
  }

  .t_name img {
    width: 5vw;
  }

  .t_name span,
  .t_name_v span {
    font-size: 3.8vw;
  }

  table.trainers_txt {
    width: 100%;
    font-size: 3.8vw;
  }

  .v_right {
    float: none;
    width: 100%;
  }

  .voice_area {
    float: none;
    width: 100%;
    font-size: 3.8vw;
  }

  .p_box {
    float: none;
    width: 100%;
    max-width: 640px;
    margin-bottom: 6%;
  }

  .p_ttl {
    margin-bottom: 2vw;
    padding: 2vw 0 1vw;
    font-size: 3.8vw;
    text-align: left;
    border-top: none;
  }

  .p_box:nth-child(even) {
    margin-left: 0;
  }

  .p_img {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 14px;
  }

  .p_img img {
    display: block;
    width: 50%;
    margin: auto;
  }

  .p_txt {
    float: none;
    width: 100%;
    font-size: 3.5vw;
  }

  .qa_area {
    font-size: 3.8vw;
  }

  .qa_area td.red_q1,
  .qa_area td.blue_a1 {
    padding: 2vw;
  }

  .red_q1 img,
  td.blue_a1 img {
    width: 3vw;
  }

  .qa_area td.red_q1,
  .qa_area td.blue_a1 {
    display: block;
  }

  .sche_txt_r {
    width: 94%;
    max-width: 600px;
    margin: auto;
    margin-top: 12px;
    padding-top: 4%;
    font-size: 15px;
    color: #d91119;
  }

  .sche_txt {
    width: 94%;
    max-width: 600px;
    margin: auto;
  }

  table.open th,
  table.open img {
    display: block;
    width: 80%;
    max-width: 640px;
    margin: auto;
  }

  table.open th {
    margin-bottom: 2%;
  }

  table.open td {
    margin-left: 0;
    padding: 6px 0 6px 8px;
  }

  table.open td.name {
    box-sizing: border-box;
    width: 100%;
    margin-top: 2%;
  }

  .map_ttl {
    position: absolute;
    bottom: 10vw;
    left: 6.5vw;
    padding: 18px;
    transition: .3s;
  }

  .ggmap {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: 30px;
    padding-bottom: 56.25%;
  }

  .ggmap iframe:not(.map),
  .ggmap object,
  .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .gNav__list li.gold {
    background-color: #a18700;
  }

  .gNav__list li.gold a {
    color: #fff;
  }

  ul.gNav_in {
    margin-left: 4vw !important;
  }

  ul.gNav_in li a {
    padding: 6px 10px !important;
  }

  /*アコーディオン*/
  ul.accordion_ul section h1,
  ul.accordion_ul dt {
    position: relative;
    padding: 12px 10px;
    cursor: pointer;
    color: #333;
  }

  section h1:before,
  ul.accordion_ul dt:before {
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    width: 10px;
    height: 10px;
    margin-top: -8px;
    background: #e6e6e6;
    content: "";
    transform: rotate(45deg);
  }

  ul.accordion_ul section h1:after,
  ul.accordion_ul dt:after {
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    width: 10px;
    height: 10px;
    margin-top: -13px;
    background: #fff;
    content: "";
    transform: rotate(45deg);
  }

  ul.accordion_ul section h1.active:before,
  dt.active:before {
    margin-top: -2px;
  }

  ul.accordion_ul section h1.active:after,
  ul.accordion_ul dt.active:after {
    margin-top: 3px;
  }

  ul.accordion_ul section li,
  ul.accordion_ul dd {
    padding: 8px 0 8px 24px;
    border-bottom: solid 1px #d6d6d6;
    background-color: #fdfdfd;
  }

  ul.accordion_ul section li a {
    position: relative;
    display: block;
    padding: 4px 10px !important;
  }

  ul.accordion_ul section li a:before {
    position: absolute;
    top: 50%;
    right: 17px;
    display: block;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #e6e6e6;
    content: "";
    transform: rotate(45deg);
  }

  ul.accordion_ul section li a:after {
    position: absolute;
    top: 50%;
    right: 22px;
    display: block;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #fff;
    content: "";
    transform: rotate(45deg);
  }

  ul.accordion_ul ul.accordion_ul li ul li a {
    padding: 0 !important;
  }

  /*QA*/

  /*===============================================================
  access
================================================================*/

  table.exp_area {
    width: 100%;
    max-width: 640px;
    font-size: 14px;
  }

  table.exp_area th {
    float: none;
    margin-right: 3%;
  }

  table.exp_area th img {
    width: 50px;
  }

  table.exp_area td {
    width: 82%;
    vertical-align: top;
  }

  .gold_txt {
    display: block;
    margin-bottom: 1vw;
    font-weight: bold;
    font-size: 1.3em;
    color: #a18700;
  }

  .number {
    display: block;
    margin-bottom: 2%;
    font-size: 1.7em;
  }

  .btn_contact {
    float: none;
    margin-left: 0;
  }

  #access_place li {
    float: left;
    width: 30%;
  }

  #access_place img {
    width: 100%;
  }

  #access_place li:nth-child(even) {
    float: left;
    margin: 0 5%;
  }

  .nyukai dl dt {
    width: 100%;
  }

  .nyukai dl dd {
    width: 100%;
  }

  .overview {
    width: 100%;
  }

  .overview th,
  .overview td {
    display: block;
    width: 98%;
    padding: 8px;
    border: none;
  }

  /*===============================================================
  foot_bnr_area
================================================================*/
  .footer {
    padding: 12vw 0;
  }

  .footerNav li {
    width: 100%;
    line-height: 1.6;
    text-align: center;

    :is(.address, .address__wrapper) {
      display: grid;
    }
  }

  .footerNav .foot_l {
    float: none;
    display: inline-block;
    padding: 2px 0 0 0;
    font-weight: bold;
    border-bottom: 2px solid #c3ab35;
    border-left: none !important;
  }

  .footerNav ul {
    float: none;
    width: 100%;
  }

  .footerNav ul:nth-child(1) {
    width: 100% !important;
    font-size: 1.3em;
  }

  .footerNav ul:nth-child(2) {
    width: 100% !important;
  }

  .footerNav ul:nth-child(3) {
    width: 100% !important;
  }

  .footerNav ul:nth-child(4) {
    width: 100% !important;
  }

  .footerNav ul:nth-child(5) {
    width: 100% !important;
  }

  .footerNav li ul {
    margin-left: 0 !important;
  }

  li.arrange_sp {
    float: left;
    width: 96vw;
    text-align: left;
  }

  li.arrange_sp a {
    float: left;
    display: block;
    width: 44%;
    padding: 14px 10px;
    font-size: 2.5vw;
    color: #48342d;
    border-top: 1px solid #252525;
    border-bottom: 1px solid #252525;
    background-color: #fff;
  }

  li.arrange_sp a:nth-child(odd) {
    float: left;
    display: block;
    width: 41vw;
    padding: 14px 10px;
    border-right: 1px solid #252525;
    border-bottom: 1px solid #252525;
    border-left: 1px solid #252525;
  }

  li.arrange_sp a:nth-child(even) {
    float: left;
    display: block;
    width: 44%;
    padding: 14px 10px;
    border-left: none;
  }

  li.arrange_sp a:hover {
    text-decoration: none;
  }

  u.footerNav li ul {
    margin-left: 0 !important;
  }

  .foot_logo {
    margin-bottom: 4vw;
    text-align: center;
  }

  .foot_logo2 {
    margin-top: 8vw;
    margin-bottom: 8px;
  }

  .foot_bnr_area ul {
    display: table;
    border-bottom: 1px solid #7f7e7d;
  }

  .foot_bnr_area li {
    display: table-cell;
    vertical-align: middle;
  }

  .foot_bnr_area img {
    width: 100%;
  }

  .footer_copy p {
    font-size: 1em;
  }
}

/*add 0721*/
.in_news_box_detail {
  display: block;
  width: 750px;
  padding-bottom: 40px;
}

.in_news_box_detail .txt_area {
  width: 714px;
}

.news_ttl_all {
  max-width: 738px;
  margin-bottom: 10px;
  padding: 10px 0;
  font-weight: bold;
  font-size: 20px;
  line-height: 22px;
  word-break: break-all;
  color: #d20a0a;
  border-top: 1px solid #dbdbdb;
  border-bottom: 1px solid #dbdbdb;
}

.news_txt_all {
  width: 714px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 14px;
  line-height: 26px;
  word-break: break-all;
  color: #080808;
}

.news_txt_all a {
  color: #fe9f00;
}

.news_detail_top {
  text-align: right;
}

.mark {
  margin-bottom: 6px;
}

.news_img_area2 {
  position: relative;
  display: block;
  width: 714px;
  height: 100%;
  margin-bottom: 24px;
}

.in_news_box_detail .news_date {
  float: none;
  padding: 0 8px;
  color: #191819;
}

.in_news_box_detail p {
  display: inline-block;
  padding: 0 20px;
  font-size: 14px;
  color: #fff;
}

#sns_box {
  float: right;
  margin-bottom: 10px;
  margin-left: 10px;
}

.top_news_img {
  position: relative;
  display: block;
  width: 328px;
  height: 200px;
  margin-bottom: 10px;
}

.top_news_img {
  position: relative;
  display: block;
  width: 328px;
  height: 200px;
  margin-bottom: 10px;
}

.top_news_img_in {
  display: block;
  height: 200px;
  background-position: center center;
  background-repeat: no-repeat;
}

/*みちのり*/
table.access_route {
  width: 100%;
}

table.access_route td {
  padding-bottom: 20px;
  font-size: 14px;
}

table.access_route td.txt {
  vertical-align: initial;
}

/***************
女性
*******************************/
.s_box_txt .effect {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 15px;
}

.s_box_txt .top-lady {
  margin-bottom: 10px;
  padding: 4px 0;
  text-align: center;
  color: #fff;
  border: 2px solid #48342d;
  background-color: #122038;
}

.s_box_txt .top-lady span {
  font-weight: bold;
  font-size: 17px;
  color: #fff705;
}

.s_box_txt .effect-list {
  line-height: 1.7;
}

.special_box03 .ttl {
  margin-top: 24px;
  padding: 6px 0 6px;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #fff;
  background-color: #48342d;
}

.special_box03 .list {
  padding: 20px;
  background-color: #fff;
}

.special_box03 .list ul {
  margin-bottom: 18px;
}

.special_box03 .list ul li {
  float: left;
  width: 214px;
  margin: 6px;
  padding: 4px 10px;
  font-size: 16px;
  color: #fff;
  border-radius: 9px;
  background-color: #735147;
}

.special_box03 .detail {
  padding: 10px;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.8;
  border: 2px solid #48352d;
  /* color: #fff; */
  border-radius: 10px;
  background-color: #fff;
}

@media (max-width: 640px) {
  /****
女性専用サイト追加
*********/
  .special_box03 .ttl {
    margin-top: 0;
    padding: 4px;
    font-size: 18px;
  }

  .s_box_txt .effect {
    font-size: 13px;
  }

  .special_box03 .list {
    padding: 10px;
  }

  .s_box_txt .top-lady span {
    font-size: 16px;
  }

  .special_box03 .list ul li {
    float: left;
    box-sizing: border-box;
    width: 48%;
    margin: 0 2% 10px 0;
    padding: 6px;
    font-size: 14px;
    color: #fff;
    border-radius: 9px;
    background-color: #735147;
  }

  .special_box03 .list ul li:nth-child(2n) {
    margin-right: 0;
  }

  .special_box03 .detail {
    font-size: 14px;
  }

  table.access_route {
    width: 100%;
  }

  table.access_route td {
    display: block;
    width: 100%;
    padding-bottom: 2%;
    font-size: 14px;
  }

  table.access_route td.txt {
    margin-bottom: 4%;
    padding-left: 0;
    vertical-align: initial;
  }

  table.access_route img {
    display: block;
    width: 100%;
    margin: auto;
    text-align: center;
  }

  .foot_bnr_area li {
    display: table-cell;
    width: 33.3%;
    vertical-align: middle;
  }

  .point-list-ttl {
    font-size: 16px;
  }

  .class-blc .koka span {
    display: inline-block;
    margin-bottom: 6px;
    padding: 4px;
  }
}

@media (max-width: 640px) {
  .in_news_box_detail {
    width: 100%;
    padding-bottom: 4vw;
  }

  .in_news_box_detail .txt_area {
    float: left;
    width: 98% !important;
    max-width: 600px;
    margin: auto;
  }

  #sns_box {
    float: none;
    padding-top: 10px;
    padding-right: 0;
  }

  #sns_box ul {
    float: right;
  }

  .news_img_area2 {
    position: relative;
    float: left;
    display: block;
    width: 100%;
    height: auto;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding-bottom: 6vw;
  }

  .news_img_area2 img {
    width: 100%;
  }

  .news_ttl_all {
    margin-bottom: 2vw;
    padding: 2vw 0;
    font-size: 4vw;
    word-break: break-all;
  }

  .news_txt_all {
    width: 100%;
    font-size: 3.5vw;
  }

  .sp_top_news_img_in {
    display: block;
    height: 60px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  /**/
  .price_bar {
    font-size: 3.8vw;
  }

  .adult_sc {
    margin-bottom: 6vw;
    font-size: 3.5vw;
  }

  .nyukai {
    font-size: 3.4vw;
    line-height: 1.6;
  }

  .nyukai dl dt span {
    display: block;
    padding: 2vw;
    font-weight: bold;
  }

  table.open {
    font-size: 3.5vw;
  }

  table.exp_area tr {
    padding: 4vw 0;
  }

  p.contact_txt {
    font-size: 3.5vw;
    line-height: 1.4;
  }

  form .btns {
    margin: 24px 0 16px;
  }

  form .btns button {
    padding: 4vw 6vw;
    font-size: 3.8vw;
  }

  form .btns button:first-child {
    margin-bottom: 2vw;
  }

  .line-contact {
    margin-bottom: 32px;
  }

  .voice_area dd {
    padding: 2vw 0 2vw 2vw;
    font-size: 3.5vw;
    line-height: 1.7;
  }

  #scedule img {
    width: 100%;
  }

  /*201704044*/
  .form input.min {
    width: 15vw;
  }

  .form-outro {
    margin-top: 6vw;
  }
}

/* 翻訳
*********************************/
/*--lang.css--*/
/* Google Translate */
#gTransWrap {
  float: right;
  width: 335px;
  margin: 10px 0 0;
}

a.gflag {
  float: left;
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px 4px 0;
  padding: 1px 0;
  background-image: url(../images/flags.png);
  background-repeat: no-repeat;
}

a.gflag.english {
  background-position: 0 50%;
}

a.gflag.chinese {
  background-position: 0 4px;
}

a.gflag.spanish {
  background-position: 0 -49px;
}

#goog-gt-tt {
  display: none !important;
}

.goog-te-banner-frame {
  display: none !important;
}

.goog-te-menu-value:hover {
  text-decoration: none !important;
}

body {
  top: 0 !important;
}

#google_translate_element {
  display: none !important;
}

/* Select Box */
.dd-container {
  position: relative;
  float: right;
  display: block;
}

.dd-select {
  height: 31px;
  font-weight: 700;
  line-height: 31px;
  text-indent: 10px;
  cursor: pointer;
  color: #fff;
}

.dd-select a,
.dd-select a:visited {
  color: #fff;
}

.dd-select a label {
  height: 31px;
  font-weight: 700;
  line-height: 31px;
  color: #fff;
}

ul.dd-options {
  position: absolute;
  z-index: 999;
  margin: 0;
  padding: 0;
  background: rgb(27, 88, 167);
  list-style: none outside none;
}

ul.dd-options li {
  clear: both;
  overflow: hidden;
  display: block;
  height: 26px;
  margin: 0 4px 3px;
  line-height: 26px;
  cursor: pointer;
}

ul.dd-options li a {
  display: block;
  height: 26px;
  line-height: 26px;
}

ul.dd-options li a label {
  display: block;
  height: 31px;
  padding: 0 6px;
  font-weight: 700;
  font-size: 12px;
  line-height: 29px;
  cursor: pointer;
  color: #fff;
}

ul.dd-options li a:hover label {
  color: #000;
}

ul.dd-options li:hover a,
ul.dd-options li a:hover {
  text-decoration: none;
  background: #f8ad27;
}

/*--/lang.css--*/
/*add 4.26*/
select.bg-white {
  float: right;
  width: 112px;
  height: 22px;
  margin-left: 6px;
  background-color: #fff;
  -webkit-appearance: normal !important;
          appearance: normal !important;
}

.top_contact {
  float: right;
  line-height: 2.1;
  color: #fff;
}

.goog-te-combo,
#google_translate_element2 {
  display: none;
}

.find {
  line-height: 2.2;
}

@media (max-width: 640px) {
  .find {
    float: left;
    line-height: 1.5;
  }

  .inq {
    float: right;
    line-height: 1.5;
  }
}

/*===============================================================
  スライダー
================================================================*/
.bx-wrapper .bx-viewport {
  left: 0 !important;
}

.bx-wrapper .bx-controls-direction a {
  z-index: 1000;
}



/*===============================================================
インスタ
================================================================*/
ul#instafeed {
  width: 1024px;
  margin: 0 10px 20px;
}

.insta_imgArea ul li {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 20px;
}

.insta_imgArea ul li img {
  width: 154px;
  height: 154px;
  transition-duration: .3s;
  object-fit: cover;
}

.insta_imgArea ul li img:hover {
  transition-duration: .3s;
  transform: scale(1.1);
}

.insta_imgArea ul li:nth-child(6n),
#top_insta .insta_imgArea ul li:nth-child(12n) {
  margin-right: 0;
}

@media (max-width: 640px) {
  ul#instafeed {
    width: 100%;
    margin: 0 auto 20px;
  }

  .insta_imgArea ul li {
    display: inline-block;
    width: 30vw;
    height: 30vw;
    margin-right: 2%;
    margin-bottom: 2%;
  }

  .insta_imgArea ul li {
    display: inline-block;
    margin-right: 2%;
    margin-bottom: 2%;
  }

  .insta_imgArea ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .insta_imgArea ul li:nth-child(3n),
  #top_insta .insta_imgArea ul li:nth-child(6n) {
    margin-right: 0;
  }
}

/*===============================================================
  footer 翻訳エリア
================================================================*/
@media (max-width: 640px) {
  #head_translate {
    background-color: #f8f8f8;
  }

  #head_translate-inner {
    box-sizing: border-box;
    width: 72vw;
    margin: 0 auto;
    padding: 4vw 2vw;
  }

  #head_translate-inner select.bg-white {
    width: 60%;
  }

  #foot_translate {
    background-color: #f8f8f8;
  }

  #foot_translate-inner {
    box-sizing: border-box;
    width: 80vw;
    margin: 0 auto;
    padding: 4vw 0;
  }

  #foot_translate-inner select.bg-white {
    width: 64%;
  }
}


@media (max-width: 640px) {
  ul.under-nav {
    position: fixed;
    bottom: 0;
    z-index: 98;
    width: 100%;
    font-size: 0;
  }

  ul.under-nav li {
    display: inline-block;
    width: 50%;
  }

  ul.under-nav li a {
    display: block;
    padding: 3vw 0;
    font-size: 4vw;
    text-align: center;
    color: #fff;
  }

  ul.under-nav li a.c-free-t {
    color: #fff;
    background-color: #00b901;
  }

  ul.under-nav li a.c-access {
    background-color: #5d5d5d;
  }

  .footer_copy {
    padding-bottom: 16vw;
  }
}

/*===============================================================
  TOPページMAP部分
================================================================*/
#access_area {
  background-image: url(../images/top/bg-map.jpg);
  background-position: center center;
  background-size: 100%;
}

#map_canvas {
  height: 520px;
}

#access_area .mapImg {
  position: absolute;
}

@media (max-width: 640px) {
  #access_area {
    background-image: url(../images/top/bg-map_sp.jpg);
    background-size: 100%;
  }

  #map_canvas {
    height: 410px;
  }

  .map_ttl {
    position: absolute;
    bottom: 10vw;
    left: 6.5vw;
    box-sizing: border-box;
    width: 86%;
    padding: 2.7vw 3vw;
    background-color: #dac73d;
    transition: .3s;
  }
}

/*********
初回体験レッスンお申し込み追加
**************************/
p.contact_txt span.campaign-txt {
  display: block;
  padding: 6px;
  font-weight: bold;
  font-size: 15px;
  text-align: center;
  color: #fff;
  border: 2px solid #4b312c;
  background-color: #4b312c;
}

p.contact_txt span.campaign-txt span.check {
  font-size: 16px;
  border-bottom: 2px solid #fff;
}

.entry-txt {
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  margin-top: 12px;
  font-size: 15px;
  border: 1px solid #4f302b;
  background-color: #fff;
}

.form .entry-txt {
  font-size: 13px;
}

p.txt-indent {
  margin-bottom: 6px;
  padding-left: 1em;
  line-height: 1.7;
  text-indent: -1em;
}

.entry-txt .ttl {
  box-sizing: border-box;
  width: 100%;
  padding: 6px 8px;
  text-align: center;
}

@media (max-width: 640px) {
  .entry-txt .ttl {
    color: #fff;
    background-color: #4b312c;
  }
}

.entry-date {
  box-sizing: border-box;
  width: 100%;
  padding: 6px;
  line-height: 1.7;
}

.entry-date .red {
  color: #c52929;
}

.taiken-img li {
  float: left;
  width: 142px;
}

.taiken-img li img {
  width: 100%;
}

.gokigaru {
  margin-top: 16px;
  padding: 10px 6px;
  font-size: 16px;
  text-align: center;
  border: 2px solid #ff9b00;
  background-color: #fff;
}

@media (max-width: 640px) {
  p.contact_txt span.campaign-txt {
    display: block;
    padding: 6px;
    font-size: 3.5vw;
    text-align: left;
    border: 2px solid #4b312c;
  }

  p.contact_txt span.campaign-txt span.check {
    font-size: 3.7vw;
  }

  .taiken-img li {
    width: 33.33333%;
  }

  .gokigaru {
    font-size: 12px;
    text-align: left;
  }

  .entry-txt {
    font-size: 13px;
  }

  .special_box04 img {
    width: 100%;
  }
}

/*===============================================================
  TOPエリア・メイクスペース部分
================================================================*/

.special_box_clean {
  padding-bottom: 20px;
  background: #fff;
}

.special_box_clean .ttl {
  margin-top: 24px;
  margin-bottom: 30px;
  padding: 6px 0 6px;
  font-weight: bold;
  font-size: 28px;
  text-align: center;
  color: #fff;
  background-color: #122038;
}

.special_box_clean .special_box_clean_img {
  margin-bottom: 20px;
}

.special_box_clean .detail {
  margin: 0 10px;
  padding: 0 10px;
  /*
    border: 2px solid #122038;
  */
  font-weight: bold;
  font-size: 16px;
  line-height: 1.8;
  border-radius: 10px;
  background-color: #fff;
}

.special_box_clean .detail span {
  background: linear-gradient(transparent 50%, #ffff3f5e 54%);
}


@media (max-width: 640px) {
  .special_box_clean {
    padding-bottom: 10px;
  }

  .special_box_clean .ttl {
    margin-top: 0;
    margin-bottom: 10px;
    padding: 4px;
    font-size: 18px;
  }

  .special_box_clean .detail {
    margin: 0 10px;
    font-size: 14px;
  }

  .special_box_clean .special_box_clean_img {
    margin-bottom: 20px;
  }

  .special_box_clean .special_box_clean_img img {
    width: 100%;
  }
}
















































/* modules
-------------------------------------------------------------------------------- */
@media (max-width: 640px) {
  .sm-fz-14 {
    font-size: 14px;
  }
}

@media (min-width: 641px) {
  .md-fz-16 {
    font-size: 16px;
  }
}

/* SP header SNS [header override]
-------------------------------------------------------------------------------- */
@media (max-width: 640px) {
  .sp .header {
    --size: calc(44 / 375 * 100vw);
  }

  .header .head_logo_sp {
    block-size: var(--size);
  }

  .header .header__btnMenu {
    inset-block-start: 25px;
    inline-size: var(--size);
    block-size: var(--size);
  }

  .header .menu-trigger {
    display: grid;
    place-items: center;
    inline-size: var(--size);
    block-size: var(--size);
    transition: none;
  }

  .header-sns {
    position: absolute;
    inset-inline-end: calc(2.666666666666667vw + var(--size));
    inset-block-start: 25px;
    display: flex;
  }

  .header-sns__item {
    display: grid;
    place-items: center;
    inline-size: var(--size);
    block-size: var(--size);
  }

  .header-sns__icon {
    inline-size: calc(24 / 375 * 100vw);
    block-size: calc(24 / 375 * 100vw);
  }
}
