@charset "UTF-8";
/*schools-fitness*/

/*タブレットからPC*/
@media (min-width: 1025px) and (max-width: 1300px) {

/*終わり*/ }

/*タブレット*/
@media (max-width: 1024px) {

/*終わり*/ }

/*スマホ*/
@media (max-width: 599px) {

/*終わり*/ }

/*スマホ SE*/
@media (max-width: 380px) {

/*終わり*/ }

/* PC画面サイズ用（1025px～1920px） */
@media (min-width: 1025px) {

/*終わり*/ }


/* ================================
   school/fitness Styles

   01 common
   02 fitness
   03 detail
   04 plan

   =================================== */


/*-------------------------------------------------------
01 common
--------------------------------------------------------- */

/* == common == */
: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;
  --cwht: #ffffff;
  --ctxt: #3e3a39;
  --cbdr: #808080;
  --cbk1: #f8f8f8;
  --cred: #e61e28;
  --cpur: #a54a96;
  --cpub: #9E005D;
  --rFlex: flex;
  --r28: 28%;
}
@media screen and (min-width:1301px) {
  :root {
    --fs16: 16px;
    --fs17: 17px;
    --fs18: 18px;
    --fs20: 20px;
    --fs23: 23px;
    --fs26: 26px;
    --fs28: 28px;
    --fs30: 30px;
    --fs34: 34px;
    --fs40: 40px;
  }
}
@media screen and (max-width:1300px) {
  :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%;
  }
}
@media screen and (max-width:599px) {
  :root {
    --fs16: 12px;
    --fs17: 13px;
    --fs18: 14px;
    --fs20: 15px;
    --fs23: 16px;
    --fs26: 17px;
    --fs28: 20px;
    --fs30: 22px;
    --fs34: 24px;
    --fs40: 28px;
    --rFlex: block;
    --r28: 100%;
  }
}

section.parent {
	padding: 0;
	margin: 0;
}
section.parent section {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
  padding: 7em 0 10em;
  font-size: 0.833333333333333vw;
  letter-spacing: 0;
}
section.parent section a {
  transition: all .15s;
}
div.ctgpage img {
  width: 100%;
}
/*div.ctgpage img:nth-of-type(2) {
  display:none;
}*/
.footer-back-area {
  background-color: var(--cwht);
}
.resBR {
  display: none;
}
.resBRN {
  display: block;
}

@media screen and (max-width:1300px) {
	section.parent section {
    max-width: none;
		width: auto;
		margin: 0 20px;
  padding: 7em 0 5em;
	}
}
@media screen and (max-width:1024px) {
  section.parent section {
    font-size: 16px;
  }
  .resBR {
    display: block;
  }
  .resBRN {
    display: none;
  }
}
/*@media screen and (max-width:599px) {
  div.ctgpage img:nth-of-type(1) {
    display:none;
  }
  div.ctgpage img:nth-of-type(2) {
    display:block;
  }
}*/

/*-------------------------------------------------------
02 fitness
--------------------------------------------------------- */

section.parent section.fitness {
  padding-top: 4em;
  position: relative;
}
.fitness > hgroup {
  position: relative;
  margin: 0 auto 5em;
  width: 100%;
  max-width: 56em;
  text-align: center;
  font-size: var(--fs16);
}
.fitness > hgroup h2 {
  padding-bottom: .4em;
  margin-bottom: .4em;
  font-size: var(--fs40);
  font-weight: 700;
  border-bottom: 1px solid var(--ctxt);
}
.fitness > hgroup p {
  font-size: var(--fs28);
  letter-spacing: 0;
}
.fitness .fitness_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 2vw;
}
.fitness .fitness_list li {
	flex-shrink: 0;
	width: calc(50% - 2vw);
	margin-bottom: 2em;
}
.fitness .fitness_list li figure {
	margin-bottom: 2em;
}
.fitness .fitness_list li figure img {
	border-radius: 2em;
}
.fitness .fitness_list li h3 {
	margin-bottom: 1em;
	padding: .6em;
	border-radius: 3em;
	background: var(--cred);
	font-size: var(--fs26);
	color: var(--cwht);
	text-align: center;
}
.fitness .fitness_list li p {
	font-size: var(--fs18);
	padding: 0 1em;
}
.fitness .fitness_calender {
	position: absolute;
	top: -6em;
	left: -6em;
}
/*.fitness .fitness_calender a {
	display: block;
	background: var(--cred);
 border: 3px solid var(--cred);
	border-radius: 50%;
	width: 12em;
	height: 12em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center;
	color: var(--cwht);
}
.fitness .fitness_calender strong {
	width: 100%;
	margin-bottom: .6em;
	font-size: var(--fs19);
}
.fitness .fitness_calender img {
	width: 3em;
}*/

@media screen and (max-width:1500px) {
	.fitness .fitness_calender {
		position: absolute;
		top: -8em;
		left: 0em;
	}
/*	.fitness .fitness_calender a {
		display: block;
		background: var(--cred);
		border-radius: 50%;
		width: 13em;
		height: 13em;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		text-align: center;
		color: var(--cwht);
	}
	.fitness .fitness_calender strong {
		font-size: var(--fs20);
	}*/
}
@media screen and (max-width:1024px) {
 .fitness .fitness_calender{
		position: static;
  text-align: center;
 }
/*	.fitness .fitness_calender {
		position: static;
	}
	.fitness .fitness_calender a {
		margin: 0 auto;
	}*/
	.fitness .fitness_list {
		display: block;
	}
	.fitness .fitness_list li {
		width: auto;
		margin-bottom: 60px;
	}
}
@media screen and (max-width:599px) {

}

/*-------------------------------------------------------
03 detail
--------------------------------------------------------- */

.detail {
  position: relative;
	background: var(--cbk1);
	max-width: 100% !important;
	width: 100% !important;
  padding-top: .01em !important;
  padding-bottom: .0 !important;
	margin-left: calc(-49.95vw + 50%) !important;
	margin-right: calc(-49.95vw + 50%) !important;
}
.detail .inner {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
}

.detail .detail_tab {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: -25px 0 60px 0;
}
.detail .detail_tab li {
	flex-shrink: 0;
	width: 33.33%;
	border-radius: 3em;
	color: var(--cpur);
	text-align: center;
  border-radius: 5em;
	border: 2px solid var(--cpur);
	background: var(--cwht);
	padding: 1em 0;
	cursor: pointer;
}
.detail .detail_tab li:hover {
	background: rgba(165,74,150,.05);
}
.detail .detail_tab li.active {
	background: var(--cpur);
	color: var(--cwht);
}
.detail .detail_tab li h2 {
	font-size: var(--fs26);
}





.detail .detail_set {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
}
.detail .detail_set div {
  padding-bottom: 8em;
  display: none;
}
.detail .detail_set div:nth-of-type(1) {
  display: block;
}

/*スクール タブメニュー 初期値*/
.detail .detail_set .chushaku{
 font-size: var(--fs16);
 margin: auto;
}

.detail .detail_set .kome{
  text-indent: -1em;
  padding-left: 1em;
  display: inline-block;
}
.detail .detail_set .kome::before {
  content: '※';
}

/*スクール タブメニュー 一つめ*/
.detail .detail_set div:nth-of-type(1) {
  max-width: 960px;
  margin: auto;
  width: 100%;
  padding: 3em 0 5em;
  display: block;
}
/*スクール タブメニュー 基本料金 ここから*/
.detail .detail_set div:nth-of-type(1) dl.kihon_ryoukin {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 1em;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  border-bottom: 1px solid var(--cbdr);
}
.detail .detail_set div:nth-of-type(1) dl.kihon_ryoukin dt {
  color: var(--cpur);
  font-size: var(--fs26);
  letter-spacing: .05em;
  font-weight: 600;
}
.detail .detail_set div:nth-of-type(1) dl.kihon_ryoukin dd {
  font-weight: 600;
  font-size: var(--fs26);
  letter-spacing: .05em;
}
.detail .detail_set div:nth-of-type(1) dl.kihon_ryoukin dd:nth-of-type(1)::after {
  content: '／';
  margin-left: 1em;
}
.detail .detail_set div:nth-of-type(1) dl.kihon_ryoukin .chushaku{
 display: block;
 width: 100%;
 text-align: center;
}
/*スクール タブメニュー 基本料金 ここまで*/

.detail .detail_set div:nth-of-type(1) h3 {
	color: var(--cpur);
	font-size: var(--fs23);
}

.detail .detail_set div:nth-of-type(1) {
  display: block;
}
.detail .detail_set div:nth-of-type(1) dl {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 1em;
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  border-bottom: 1px solid var(--cbdr);
}
.detail .detail_set div:nth-of-type(1) dl dt {
  color: var(--cpur);
  font-size: var(--fs26);
  letter-spacing: .05em;
  font-weight: 600;
}
.detail .detail_set div:nth-of-type(1) dl dd {
  font-size: var(--fs26);
  letter-spacing: .05em;
}
.detail .detail_set div:nth-of-type(1) dl dd:nth-of-type(1)::after {
  content: '／';
  margin-left: 1em;
}

.detail .detail_set div:nth-of-type(1) dl p.chushaku{
  display: block;
  width: 100%;
  text-align: center;
}
.detail .detail_set div:nth-of-type(1) h3 {
	color: var(--cpur);
	font-size: var(--fs23);
}
.detail .detail_set div:nth-of-type(1) table {
	width: 100%;
}
.detail .detail_set div:nth-of-type(1) table th,
.detail .detail_set div:nth-of-type(1) table td {
	font-size: var(--fs18);
  padding: .5em;
  vertical-align: top;
}
.detail .detail_set div:nth-of-type(1) table td.sonota{
	display: flex;
}
.detail .detail_set div:nth-of-type(1) table th,
.detail .detail_set div:nth-of-type(1) table td span {
	font-size: var(--fs18);
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1),
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) {
	border-bottom: 1px solid var(--cbdr);
}
@media screen and (max-width:1024px) {
 .detail .detail_set .school_kaihi tr{
  display: flex;
  flex-wrap: wrap;
 }
}


.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th {
	color: var(--cpur);
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th{
  width: 10em;
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(1),
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(3){
  width: 25.5em;
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th strong,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th strong {
  display: block;
  background: var(--cpur);
  color: var(--cwht);
  border-radius: 3em;
  padding: .0em .8em .2em .8em;
  width: 10em;
  height: auto;
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span {
	display: inline-block;
}

@media screen and (max-width:1024px) {
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span {
	display: inline;
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td{
	text-align: right;
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(3) {
	letter-spacing: -1px;
}
 
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(1) {width: 11em;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(4) td span:nth-of-type(1) {width: 13em;}


/*.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td {position: relative;}*/
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span.family {width: 35em;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span.fulltime {width: 14em;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(3) td span.fulltime {width: 25.38em;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(4) td span.fulltime {width: 12.05em;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(2) {}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(3) {}

@media screen and (max-width:1024px) {
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(1) {width: inherit;}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span.fulltime {width: 7.5em;}
}
@media screen and (max-width:599px) {
.detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(1) {width: 14em;}
}


.detail .detail_set div:nth-of-type(1) table:nth-of-type(2),
.detail .detail_set div:nth-of-type(1) table:nth-of-type(3) {
	border-bottom: 1px solid var(--cbdr);
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(3) th {
  width: 14em;
	font-size: var(--fs18);
	color: var(--cpur);
  text-align: left;
}
@media screen and (max-width:1024px) {
 .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th,
 .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) th {
	font-size: var(--fs18);
   width: 13em;
 }
}
@media screen and (max-width:599px) {
 .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th,
 .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) th {
   width: 14em;
 }
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td strong,
.detail .detail_set div:nth-of-type(1) table:nth-of-type(3) td strong {
 color: var(--cpur);
	font-size: var(--fs18);
}
.detail .detail_set div:nth-of-type(1) table:nth-of-type(3) td strong {
 width: 23.5em;
}

@media screen and (max-width:1024px) {
  .detail .detail_tab {
    border-left: 2px solid var(--cpur);
   margin: 0;
  }
  .detail .detail_tab li {
    border-radius: 0;
    border-left: none;
  }
  .detail .detail_tab li h2 {
    font-size: var(--fs17);
  }
  .detail .detail_set {
    max-width: none;
    width: auto;
    margin: 0 2vw;
  }
  .detail .detail_set div:nth-of-type(2) {
    margin: 0 0 0 0;
  }
  .detail .detail_set div:nth-of-type(3) {
    margin-left: calc(-49.95vw + 50%) !important;
    margin-right: calc(-49.95vw + 50%) !important;
  }

  .detail .detail_set div:nth-of-type(1) table th,
  .detail .detail_set div:nth-of-type(1) table td {
    padding: 1.5em 0;
    font-size: var(--fs16);
  }
  .detail .detail_set div:nth-of-type(1) table td.sonota{
    padding: .5em 0 .5em 2.0em;
  }
  .detail .detail_set div:nth-of-type(1) table th,
  .detail .detail_set div:nth-of-type(1) table td span {
    font-size: var(--fs18);
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th,
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th {
    min-width: 100px;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th {
    display: block;
    width: 11em;
    padding: 1.5em 0 0 0;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td {
    display: block;
    padding: .5em 0 .5em 0;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th strong,
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) th strong {
    font-size: var(--fs18);
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(2),
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(4) {
    width: 100%;
    text-align: right;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) td strong {
   width: 15.4em;
  }
 
}


@media screen and (max-width:1024px) {

  .detail .detail_set div:nth-of-type(2) {
    padding: 3em 0 10em;
    max-width: 960px;
    margin: auto;
    width: 100%;
    height: 600px;
  }
  .detail .detail_set div:nth-of-type(2) iframe {
    max-width: 960px;
    margin: auto;
    width: 100%;
    height: 480px;
  }

  .detail .detail_set div:nth-of-type(3)  {
    padding: 3em 0 10em;
    background: var(--cbk1);
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
  .detail .detail_set div:nth-of-type(3)  iframe {
    display: block;
    max-width: 850px;
    width: 100%;
    height: 1300px;
    margin: 0 auto !important;
  }
 
}

@media screen and (max-width:599px) {
  .detail .detail_set {
    max-width: none;
    width: auto;
  }
  .detail .detail_set div {
    padding-bottom: 0em;
    display: none;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th,
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td {
    padding: .5em .5em !important;
  }
 
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) th {
    display: block;
    width: 15em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td {
    display: block;
    width: 100%;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) td span:nth-of-type(1) {display: block;width:auto;}
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(2) span:nth-of-type(3) {
    
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(1) span:nth-of-type(2) {
    padding-left: 7.5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(2) span:nth-of-type(2) {
    padding-left: 7.5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(3) span:nth-of-type(2) {
    padding-left: 7.5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(1) tr:nth-of-type(4) span:nth-of-type(2) {
    padding-left: 7.5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2),
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th,
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td {
    display: block;
    width: 100%;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th {
    padding-bottom: 0;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td {
    padding: .5em 0 .5em 2.0em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td strong {
    display: block;
    padding-bottom: .5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) tr {
    display: flex;
    flex-wrap: wrap;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) th {
    display: block;
    width: 100%;
     padding: 1.5em 0 0 0;
  }
 
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2),
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th,
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td {
    display: block;
    width: 100%;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) th {
    padding-bottom: 0;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td {
    padding-top: .8em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(2) td strong {
    display: block;
    padding-bottom: .5em;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(3) th {
    width: 10em !important;
  }
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(2),
  .detail .detail_set div:nth-of-type(1) table:nth-of-type(4) td span:nth-of-type(4) {
    width: 100%;
    text-align: right;
  }
}
.detail .detail_set div:nth-of-type(2) {
  padding: 3em 0 10em;
  max-width: 960px;
  margin: auto;
  width: 100%;
  height: 600px;
}
.detail .detail_set div:nth-of-type(2) iframe {
  max-width: 960px;
  margin: auto;
  width: 100%;
  height: 480px;
}

.detail .detail_set div:nth-of-type(3) {
  padding: 3em 0 10em;
  background: var(--cbk1);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}
.detail .detail_set div:nth-of-type(3) iframe {
  display: block;
  max-width: 850px;
  width: 100%;
  height: 1300px;
  margin: 0 auto !important;
}
/*-------------------------------------------------------
04 plan
--------------------------------------------------------- */
.plan {
  padding-top: 10em !important;
}
.plan hgroup {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 1em;
}
.plan hgroup + p {
  margin: 0 0 -.5em .5em;
  text-align: left;
  font-size: var(--fs16);
}
.plan hgroup h3 {
  border-radius: 3em;
  background: var(--cpur);
  color: var(--cwht);
  text-align: center;
  padding: .8em 0;
  font-size: var(--fs26);
  margin-bottom: 1em;
}
.plan hgroup h3 em {
  font-style: normal;
  font-size: var(--fs23);
}


.plan hgroup h3.monthly {
  border-radius: 3em;
  text-align: center;
  padding: 0.2em 0;
  font-size: var(--fs23);
  margin-bottom: 1em;
}
.plan hgroup h3.monthly em {
  font-style: normal;
  font-size: var(--fs23);
}
.plan hgroup h3.monthly em span{
  font-style: normal;
  font-size: var(--fs20);
}

.plan hgroup p {
  text-align: center;
  font-size: var(--fs18);
}

.plan hgroup + figure {
  width: 100%;
  /*overflow-x: scroll;*/
}
.plan .plan_table {
  max-width: 960px;
  width: 100%;
  margin: 0 auto 60px;
  border-collapse: collapse;
}

.plan .plan_table thead th {
  padding: .7em;
}
.plan .plan_table thead th strong {
  padding: .2em;
  display: block;
  border-radius: 5px;
  background: var(--cpub);
  color: var(--cwht);
  text-align: center;
  font-size: var(--fs18);
}
.plan .plan_table tbody {
}
.plan .plan_table tbody tr {
  border-bottom: 1px solid var(--cbdr);
}
.plan .plan_table tbody th {
  padding: .7em;
}
.plan .plan_table tbody th strong {
  display: block;
  border-radius: 3em;
  background: var(--cpur);
  color: var(--cwht);
  text-align: center;
  font-size: var(--fs18);
  padding: .3em 0;
}
.plan .plan_table tbody td {
  border-right: 1px sold var(--cbdr);
  padding: .7em;
  text-align: center;
  font-size: var(--fs20);
  width: 25%;
}
.plan .plan_table tbody td  strong {
  border-left: 1px solid var(--cbdr);
  display: block;
  text-align: center;
  margin-left: -.5em;
  padding-left: -.5em;
  color: var(--cpur);
  font-size: var(--fs28);
}

.plan .plan_button {
  width: 100%;
  max-width: 800px;
  margin: 100px auto 150px;
}
.plan .plan_button a {
  display: block;
  width: 90%;
  min-width: 460px;
  margin: 0 auto;
  text-align: center;
  border: 2px solid var(--cred);
  color: var(--cred);
  font-size: var(--fs34);
  padding: 1em 0;
  border-radius: 3em;
}
.plan .plan_button a:hover {
  background: var(--cred);
  color: #FFF;
}
.plan .plan_button + figure {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 100px;
}
.plan .plan_button + figure img {
  width: 100%;
  border-radius: 3em;
}

.plan .plan_facility {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.plan .plan_facility li {
  width: calc(50% - 20px);
  margin-bottom: 20px;
}
.plan .plan_facility li:nth-of-type(1) figure:nth-of-type(1) img {display: block;}
.plan .plan_facility li:nth-of-type(1) figure:nth-of-type(2) img {display: none;}
.plan .plan_facility li:nth-of-type(2) figure:nth-of-type(1) img {display: block;}
.plan .plan_facility li:nth-of-type(2) figure:nth-of-type(2) img {display: none;}
.plan .plan_facility li:nth-of-type(3),
.plan .plan_facility li:nth-of-type(4),
.plan .plan_facility li:nth-of-type(5) {
  width: calc(33% - 20px);
}
.plan .plan_facility li strong {
  display: inline-block;
  width: 12em;
  text-align: center;
  color: var(--cred);
  border: 2px solid var(--cred);
  border-radius: 3em;
  padding: .3em 0;
  font-size: var(--fs23);
  margin-bottom: 40px;
}

.plan .plan_facility + p {
  text-align: center;
  font-size: var(--fs18);
}


.plan .plan_banner-list {
  margin: 100px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}
.plan .plan_banner-list li {
  width: 154px;
}
.plan .plan_banner-list li a {
  opacity:0.80;
}

.plan .plan_prpgram {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 40px 40px;
  
}
.plan .plan_prpgram div {
  flex-shrink: 0;
  width: calc(50% - 30px);
}
.plan .plan_prpgram div ul {
  margin: 0 15px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 1em;
}
.plan .plan_prpgram div ul li {
  font-size: var(--fs18);
  margin-right: 1em;;
}
.plan .plan_prpgram div ul li:before {
  content: '●';
  color: var(--cpur);
  margin-right: .2em;
}
.plan .plan_prpgram div p {
  margin: 0 15px;
}
.plan .plan_prpgram + p {
  margin: 0 15px;
  text-align: right;
  font-size: var(--fs16);
}

@media screen and (max-width:1024px) {
  .plan {
    padding-top: 5em !important;
  }
  .plan hgroup + figure {
    position: relative;
    width: 100% !important;
    overflow: scroll !important;
    white-space: nowrap !important;
    margin: 0 0 60px;
  }
  .plan hgroup + figure p:nth-of-type(1){
    margin: 0em 0 0em;
    text-align: left;
    font-size: var(--fs16);
  }
  .plan .plan_table {
    max-width: none !important;
    width: 700px !important;
    height: auto;
    margin: 0 0 60px !important;
    border-collapse: collapse !important;
    white-space: nowrap !important;
  }
  .plan .plan_button {
    width: auto;
    margin: 0 0 100px;
  }
  .plan .plan_button a {
    display: block;
    width: 100%;
    min-width: auto;
    margin: 0;
    text-align: center;
    border: 2px solid var(--cred);
    color: var(--cred);
    font-size: var(--fs30);
    padding: 1em 0;
    border-radius: 3em;
  }
  .plan .plan_button + figure {
    display: block;
    width: auto;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
  .plan .plan_button + figure img {
    border-radius: 0;
  }
  .plan .plan_facility {
    display: block;
  }
  .plan .plan_facility li {
    width: 100% !important;
    margin-bottom: 50px;
  }
  .plan .plan_facility li:nth-of-type(2) {
    width: 100%;
    text-align: right;
  }
  .plan .plan_facility li:nth-of-type(2) strong {
    margin-bottom: 10px;
  }
  .plan .plan_facility li img {
    width: 100%;
  }
  .plan .plan_facility li:nth-of-type(1) figure:nth-of-type(1) img {display: none;}
  .plan .plan_facility li:nth-of-type(1) figure:nth-of-type(2) img {display: block;}
  .plan .plan_facility li:nth-of-type(2) figure:nth-of-type(1) img {display: none;}
  .plan .plan_facility li:nth-of-type(2) figure:nth-of-type(2) img {display: block;}

  .plan .plan_prpgram {
    display: block;
  }
  .plan .plan_prpgram div {
    width: 100%;
    margin-bottom: 50px;
  }
  .plan .plan_prpgram div p {
    font-size: var(--fs18);
  }
  .plan .plan_prpgram + p {
    width: 100%;
    text-align: left;
    padding-left: 0px;
    margin-top: 0px;
    font-size: var(--fs18);
  }
  .plan .plan_prpgram {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0px 0px;
    
  }
  .plan .plan_prpgram div ul li {
    font-size: var(--fs16);
    margin-right: 1em;
  }
  .plan .plan_prpgram div ul li::before {
    font-size: var(--fs16);
  }
  .plan .plan_prpgram div ul {
    margin: 0 .8em;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1em;
  }
}

@media screen and (max-width:599px) {

}
