@charset "utf-8";
/*-------------------------------------------------------

01. base style
02. font
03. table
04. input
05. display
06 .Clearfix
07. ADD STYLE

-------------------------------------------------------*/

/*-------------------------------------------------------
01. base style
-------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  font-size: 100%;
}
body {
  margin: 0;
  padding: 0;
  color: #333333;
  font: 13px/1.231 "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
*font-size: small;
*font: x-small;
}
h1, h2, h3, h4, h5, h6, p, pre, blockquote {
  font-weight: 700;
  margin: 0;
  padding: 0;
}
fieldset, img {
  border: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}
hr, legend {
  display: none;
}
img {
  border: none;
  vertical-align: bottom;
  zoom: 1;
}
ul, ol, li {
  list-style: none;
}
p {
  text-justify: inter-ideograph;
  -webkit-text-size-adjust: none;
}
sup {
  vertical-align: text-top;
  font-size: 72%;
}
sub {
  vertical-align: text-bottom;
  font-size: 72%;
}
/*-------------------------------------------------------
02. font
-------------------------------------------------------*/
.b {
  font-weight: 700;
}
.fn {
  font-weight: 400;
}
.xxxs {
  font-size: 70%;
}
.xxs {
  font-size: 77%;
}
.xs {
  font-size: 85%;
}
.s {
  font-size: 93%;
}
.m {
  font-size: 100%;
}
.l {
  font-size: 108%;
}
.xl {
  font-size: 116%;
}
.xxl {
  font-size: 131%;
}
.px17 {
  font-size: 131%;
}
.px18 {
  font-size: 138.5%;
}
.px19 {
  font-size: 146.5%;
}
.px20 {
  font-size: 153.9%;
}
.px21 {
  font-size: 161.6%;
}
.px22 {
  font-size: 167%;
}
.px23 {
  font-size: 174%;
}
.px24 {
  font-size: 182%;
}
.px25 {
  font-size: 189%;
}
.px26 {
  font-size: 197%;
}
/*-------------------------------------------------------
03. table
-------------------------------------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}
table th, table td {
  word-wrap: break-word;
  word-break: break-all;
  border-collapse: collapse;
  border-spacing: 0;
}
table td div {
  word-wrap: break-word;
  word-break: break-all;
  overflow: hidden;
}
* html table {
  font-size: 100%; /* for IE6 table */
}
/*-------------------------------------------------------
04. input
-------------------------------------------------------*/
input, textarea {
  margin: 0;
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
input, textarea, select {
*font-size:93%;
}
.focus {
  color: #333;
}
*:first-child+html input {
  line-height: 1.3;
  padding: 3px 0;
  margin: 3px;
}
*:first-child+html .chkbox {
  width: 18px;
}
*html input {
  line-height: 1.3;
  padding: 3px 0;
}
/*-------------------------------------------------------
05. display
-------------------------------------------------------*/
.display_none {
  display: none;
}
.display_block {
  display: block;
}
.hide {
  visibility: hidden;
}
/*-------------------------------------------------------
06 .Clearfix
--------------------------------------------------------- */
.clfix:after {
  content: "";
  clear: both;
  display: table;
}

/* 1:Layout Element
================================================*/
.pc {
	display: none;
}

.sp {
	display: block;
}


@media screen and (min-width: 768px) {
.pc {
	display: block;
}

.sp {
	display: none !important;
}

}


/*-------------------------------------------------------
07-01. common
--------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;700;&display=swap');


.article {
  position: relative;
}
.article > .pc {
  display: block;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 620px;
  left: 0;
  right: 0;
  background: var(--cbk1);
  z-index: 999;
  width: 834px;
  margin: 0 auto;
}
.fitness .article > .pc {
  background: #f8f8f8;
}
body {
  background: var(--cbk1);
  font-size: 16px;
  line-height: 1.7;
  color: #222;
  letter-spacing: 0.05em;
  font-family: 'Zen Maru Gothic', serif !important;
  font-weight: 600;
}
body.fitness {
  background: #f8f8f8;
}
body * {
  font-family: 'Zen Maru Gothic', serif !important;
}
.pageTitle {
  display: none !important;
}
label .pc {
  display: none !important;
}
label .sp {
  display: block !important;
}
label .sp_ {
  display: none !important;
}
p.fr {
  display: none !important;
}
@media (min-width: 1025px) {
  body {
      font-size: 0.833333333333333vw;
  }
}

@media screen and (max-width:1024px) {
  .article > .pc {
    display: block;
    width: 100% !important;
    top: 44em;
  }
  .article > .pc #map_canvas {
    display: block;
    width: 100% !important;
  }
}
@media screen and (max-width:599px) {
  .article > .pc {
    display: block;
    width: 100% !important;
    top: 700px;
  }
  .article > .pc #map_canvas {
    display: block;
    width: 100% !important;
  }
}



/*-------------------------------------------------------
07-02. root
--------------------------------------------------------- */

:root {
  --fs16: 0.8vw;
  --fs17: 0.85vw;
  --fs18: 0.9vw;
  --fs20: 1.0vw;
  --fs23: 1.15vw;
  --fs26: 1.3vw;
  --fs28: 1.4vw;
  --fs30: 1.5vw;
  --fs34: 1.7vw;
  --fs40: 2.0vw;
  --ctxt: #3e3a39;
  --cbdr: #808080;
  --cbk1: #FFFAE0;
  --cpl1: #bbe2f1;
  --cpl2: #008db7;
  --cpl3: #a0d8ef;
  --cpl4: #008db7;
  --cred: #e61e28;
  --ccya: #E95513;
  --cgor: #c9a138;
  --cora: #e95513;
  --cgre: #009844;
  --cpur: #a54a96;
  --credH: #ff0019;
  --rFlex: flex;
  --r28: 28%;
}
@media screen and (max-width:1280px) {
  :root {
    --fs16: 1.0vw;
    --fs17: 1.0vw;
    --fs18: 1.1vw;
    --fs20: 1.2vw;
    --fs23: 1.4vw;
    --fs26: 1.5vw;
    --fs28: 1.7vw;
    --fs30: 1.9vw;
    --fs34: 2.1vw;
    --fs40: 2.5vw;
  }
}
@media screen and (max-width:1024px) {
  :root {
    --fs16: 13px;
    --fs17: 14px;
    --fs18: 15px;
    --fs20: 16px;
    --fs23: 19px;
    --fs26: 21px;
    --fs28: 22px;
    --fs30: 23px;
    --fs34: 26px;
    --fs40: 30px;
    --rFlex: block;
    --r28: 100%;
  }
}



/*-------------------------------------------------------
07-03. tabs_1st_01
--------------------------------------------------------- */

.tabs_1st_01 > li > .contents {
  display: none;
  position: absolute;
  top: 4em;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 200px;
  text-align: center;
}
#tab1-1:checked ~ .contents,
#tab1-2:checked ~ .contents,
#tab1-3:checked ~ .contents,
#tab1-4:checked ~ .contents,
#tab1-5:checked ~ .contents,
#tab1-6:checked ~ .contents,
#tab1-7:checked ~ .contents {
  display: block;
}
ul.tabs_2nd input[id^=tab1-]:checked ~ .contents {
  display: block;
}
ul.tabs_2nd input[id^=tab1_]:checked ~ .contents {
  display: block;
}
#tab1-1:checked + label ,
#tab1-2:checked + label ,
#tab1-3:checked + label ,
#tab1-4:checked + label ,
#tab1-5:checked + label ,
#tab1-6:checked + label ,
#tab1-7:checked + label  {
  background: #fff;
  border: 2px solid  var(--cgor);
  color: var(--cgor);
}
.fitness #tab1-1:checked + label ,
.fitness #tab1-2:checked + label ,
.fitness #tab1-3:checked + label ,
.fitness #tab1-4:checked + label ,
.fitness #tab1-5:checked + label ,
.fitness #tab1-6:checked + label ,
.fitness #tab1-7:checked + label  {
  background: #fff;
  border: 2px solid  var(--cpur);
  color: var(--cpur);
}
.mapbtn input:checked + label  {
  background: var(--ctxt);
  color: #fff !important;
}

ul.tabs_2nd input[id^=tab1-]:checked + label {
  background: var(--cgor);
  color: #fff;
}
.fitness ul.tabs_2nd input[id^=tab1-]:checked + label {
  background: var(--cpur);
  color: #fff;
}
ul.tabs_2nd input[id^=tab1_]:checked + label {
  background: var(--cgor);
  color: #fff;
}
.fitness ul.tabs_2nd input[id^=tab1_]:checked + label {
  background: var(--cpur);
  color: #fff !important;
}



.tabs_1st_01 {
  background: var(--cbk1);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5em;
  position: relative;
}
.fitness .tabs_1st_01 {
  background: #f8f8f8;
}
.tabs_1st_01 > li {
  font-family: 'Zen Maru Gothic', serif;
}
.tabs_1st_01 > li > input {
  display: none;
}
.tabs_1st_01 > li > label {
  display: block;
  width: 3em;
  height: 3em;
  border: 2px solid var(--cgor);
  background-color: var(--cgor);
  font-size: var(--fs18);
  color: #fff;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  cursor: pointer;
}
.tabs_1st_01 > li > label:hover {
  border: 2px solid var(--cgor);
  background: #fff;
  color: var(--cgor);
}
.fitness .tabs_1st_01 > li > label {
  border: 2px solid var(--cpur);
  background-color: var(--cpur);
}
.fitness .tabs_1st_01 > li > label:hover {
  background-color: #fff;
  color: var(--cpur);
}


.tabs_1st_01 > li > .contents .select-read {
  display: block;
  position: static;
  font-size: var(--fs18);
  padding: 1em 0;
}


.tabs_1st_01 > li ul li .contents {
  display: none;
  position: absolute;
  top: 4em;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 100px;
  text-align: center;
}
.tabs_1st_01 > li ul {
  position: relative;
  display: flex;
  justify-content :space-around ;
  flex-wrap: wrap;
  gap: 15px;
  padding: 10px 60px;
}

@media screen and (max-width:1024px) {
  .tabs_1st_01 > li ul {
    padding: 20px 30px;
  }}
.tabs_1st_01 > li ul li {
  width: calc(33.33% - 10px);
}


.tabs_1st_01 > li ul li input {
  display: none;
}
.tabs_1st_01 > li ul li label {
  display: block;
  background: #fff;
  padding: .2em 0;
  font-size: var(--fs18);
  color: var(--cgor);
  font-weight: 700;;
  border: 1px solid var(--cgor);
  border-radius: 3em;
  -webkit-border-radius: 3em;
  -moz-border-radius: 3em;
  cursor: pointer;
}
.tabs_1st_01 > li ul li .ggmap label {
  color: var(--ctxt);
}
.tabs_1st_01 > li ul li label:hover {
  background: var(--cgor);
  color:#fff;
}
.fitness .tabs_1st_01 > li ul li label:hover {
  background: var(--cpur);
  color:#fff;
}
.tabs_1st_01 > li ul li .ggmap label:hover {
  background: var(--ctxt);
  color:#fff;
}
.fitness .tabs_1st_01 > li ul li label {
  color: #a54a96;
  border: 1px solid #a54a96;
}
.fitness .tabs_1st_01 > li ul li .mapbtn label {
  color: var(--ctxt);
  border: 1px solid #a54a96;
}
.fitness .tabs_1st_01 > li ul li .ggmap label:hover {
  background: var(--ctxt);
  color:#fff;
}
.tabs_1st_01 > li ul li label br:nth-child(2) {
  display: none;
}
.tabs_1st_01 > li ul li .contents {
  position: absolute;
  top: 10em;
  left: 0;
  right: 0;
  display: none;
  justify-content: center;
  flex-wrap: wrap;

}
#main #course .tabs_1st_01 > li ul li .pc {
  display: flex;
  justify-content :space-between;
  flex-wrap: wrap;
  gap: 15px;
  padding: 0 100px;
  margin-top: 4em;
}
#main #course .tabs_1st_01 > li ul li .sp {
  display: none;
}

#main #course .tabs_1st_01 > li ul li .mapbtn {
  float: none;
  flex-shrink: 0;
  width: calc(33.33% - 10px);
  margin: 0;
  border: none;
  background: var(--cgor);
  color: #fff;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: .1em 0 .3em;
  border-radius: 3em;
  -webkit-border-radius: 3em;
  -moz-border-radius: 3em;
}
#main #course .fitness .tabs_1st_01 > li ul li .mapbtn {
  background: #a54a96;
}
#main #course .tabs_1st_01 > li ul li .mapbtn:not(:has(input)) {
  width: 100%;
  min-height: 50px;
  background: none;
  font-size: var(--fs18);
  font-weight: 700;
  color: var(--cgor);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
#main #course .fitness .tabs_1st_01 > li ul li .mapbtn:not(:has(input)) {
  background: none;
  color: #a54a96;
}

#main #course .tabs_1st_01 > li ul li .mapbtn span.corse {
  flex-shrink: 0;
  width: 100%;

  font-size: var(--fs16);
  font-weight: 700;
  margin: 0 0 .2em 0;
  padding-top: .2em !important;
}
#main #course .tabs_1st_01 > li ul li .mapbtn span.corse + span,
#main #course .tabs_1st_01 > li ul li .mapbtn span.corse + span + span {
  flex-shrink: 0;
  width: 36%;
}
.button {
  position: absolute;
  top: 36em;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 500px;
  /*background: var(--cbk1);*/
}
.button img{
 width: 100%;
 height: auto;
}
.fitness .button {
  text-align: center;
  background: #f8f8f8;
}
/*.button a {
  text-align: center;
  background: #e61e28 url(icon-bus.svg) no-repeat left 30px center;
  background-size: 22px;
  color: #fff;
  display: inline-block;
  padding: .8em 0;
  min-width: 320px;
  border-radius: 3em;
  text-decoration: none;
}
*/

@media screen and (max-width:599px) {
  .tabs_1st_01 > li > .contents {
    top: 2em;
  }
  #main #course .tabs_1st_01 > li ul li .pc {
    display: flex;
    justify-content :space-around ;
    flex-wrap: wrap;
    gap: 15px;
    padding: 0 10px;
  }
  
  .button {
    position: absolute;
    top: 36em;
    text-align: center;
    background: var(--cbk1);
    width: 80%;
    left: 0;
    right: 0;
    margin: 10px auto;
  }
  .button img{
   max-width: 500px;
   width: 90%;
   margin: auto;
  }
  .tabs_1st_01 {
    gap: .7em;
  }
  .tabs_1st_01 > li > label {
    display: block;
    width: 2.4em;
    height: 2.4em;
    background-color: var(--cgor);
    font-size: var(--fs16);
    color: #fff;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    cursor: pointer;
  }
  .fitness .tabs_1st_01 > li > label {
    background-color: #a54a96;
  }
  .tabs_1st_01 > li ul {
    position: relative;
    display: block;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0px;
    margin-left: 0px;
  }
  .tabs_1st_01 > li ul li {
    width: 15em;
    margin: 0 auto 1em auto;
  }
  .tabs_1st_01 > li ul li .contents {
    position: absolute;
    top: 15em;
    left: 0;
    right: 0;
    display: none;
    justify-content: center;
    flex-wrap: wrap;

  }
  #main #course .tabs_1st_01 > li ul li .pc {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0px;
    margin: 0 10px;
  }
  #main #course .tabs_1st_01 > li ul li .mapbtn {
    float: none;
    flex-shrink: 0;
    width: calc(50% - 10px);
    margin: 0 5px 10px;
    border: none;
    background: var(--cgor);
    color: #fff;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: .2em 0 0.5em;
    border-radius: 3.0em;
  }
  #main #course .fitness .tabs_1st_01 > li ul li .mapbtn {
    background: #a54a96;
  }
  #main #course .tabs_1st_01 > li ul li .mapbtn span.corse {
    margin: .05em 0 .2em 0;
  }
  #main #course .tabs_1st_01 > li ul li .mapbtn span.corse + span, #main #course .tabs_1st_01 > li ul li .mapbtn span.corse + span + span {
    flex-shrink: 0;
    width: 36%;
  }
  .tabs_1st_01 > li ul li label {
    display: block;
    background: #fff;
    padding: .2em 0;
    font-size: var(--fs16);
    color: var(--cgor);
    font-weight: 700;;
    border: 1px solid var(--cgor);
    border-radius: 3em;
    -webkit-border-radius: 3em;
    -moz-border-radius: 3em;
    cursor: pointer;
  }
  .fitness .tabs_1st_01 > li ul li label {
    color: #a54a96;
    border: 1px solid #a54a96;
  }

}
