@charset "utf-8";
/* CSS Document */
ul, li, dl, dt, dd, h1, h2, h3, h4, p, span {
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  margin: 0;
  padding: 0;
  line-height: 1.6;
}
ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p {
  color: #333;
}
img {
  vertical-align: bottom;
}
.camp-img-box {
  text-align: center;
}
.font-mincho {
  font-family: YuMincho, 'Yu Mincho', 'Hiragino Mincho ProN', 'serif';
}
.show-sp {
  display: none;
}
.underline{
  border-bottom: 1px #000 solid;
  line-height: 34px;
}
.mb20{
  margin-bottom: 20px;
}
.font-size20{
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .show-sp {
    display: inline-block;
  }
  .show-pc {
    display: none;
  }
}
.show-sp1200 {
  display: none;
}
@media screen and (max-width: 1199px) {
  .show-pc1200 {
    display: none;
  }
  .show-sp1200 {
    display: inline-block;
  }
}
.show-sp640 {
  display: none;
}
@media screen and (max-width: 640px) {
  .show-pc640 {
    display: none;
  }
  .show-sp640 {
    display: inline-block;
  }
}
.show-sp2 {
  display: none;
}
@media screen and (max-width: 480px) {
  .show-pc2 {
    display: none;
  }
  .show-sp2 {
    display: inline-block;
  }
}
.flex {
	display: flex;
}
.flex-gap-30{
  gap: 30px;
}
.flex-w25{
  width: 25%;
}
.flex-w65{
  width: 65%;
}
.flex-w75{
  width: 75%;
}
.font14 {
	font-size: 14px;
}
.font-bold {
  font-weight: bold;
}
.color-gold {
  color: #A28A6A;
}
.color-pink {
	color: #D6005C;
}
.camp-mv {
  margin-top: 30px;
}
.no-mb {
	margin-bottom: 0;
}
.mt10 {
  margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt90 {
	margin-top: 90px;
}
.mt20-spmt0 {
	margin-top: 20px;
}
.mb0-spmb20{
  margin-bottom: 0;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb30-spmb20 {
  margin-bottom: 30px;
}
.mt30-spmt20 {
  margin-top: 30px;
}
.mb50-spmt20 {
  margin-bottom: 50px;
}
.mr10{
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .mt0-spmt20{
    margin-top: 20px;
  }
  .mt20-spmt0 {
    margin-top: 0px;
  }
  .mb30-spmb20 {
    margin-bottom: 20px;
  }
  .mt30-spmt20 {
    margin-top: 20px;
  }
  .mb50-spmt20 {
    margin-bottom: 20px;
  }
  .mb0-spmb20{
    margin-bottom: 20px;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .order1 {
    order: 1;
  }
  .order2 {
    order: 2;
  }
  .order3 {
    order: 3;
  }
  .order4 {
    order: 4;
  }
  .flex{
    flex-direction: column;
  }
  .flex--flex{
    flex-direction: row;
  }
  .flex-w25,
  .flex-w75,
  .flex-w65{
    width: 100%;
  }
}
#headtext .header-logo {
  color: #666;
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 10px;
  font-weight: 500;
  line-height: 1.6;
  margin: 0;
  padding: 10px 0 0 0;
}
#headtext .header-logo span {
  display: block;
  font-size: 10px;
}
.fh5co-heading .campaign-h1ttl {
  color: #2F2F2F;
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 36px;
  letter-spacing: 0.06em;
  line-height: 1.5;
  margin-bottom: 20px;
  position: relative;
  text-transform: uppercase;
}
footer p, footer ul, footer li {
  font-family: 'Lustria', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 5px;
}
footer .copyright p {
  color: #fff;
  font-size: 14px;
}
/* タイトル・リード文 */
#heading-breadcrumbs.margin40 {
  margin-bottom: 0;
}
.campaign {
  background-color: #F9F7F3;
  padding-top: 40px;
}
.camp-logo {
  align-items: center;
  display: flex;
  font-weight: 700;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.campage-logo-text {
  font-size: 83px;
}
.campage-title {
  font-size: 33px;
}
.camp-lead {
  margin-bottom: 80px;
}
.campaign-ttl {
  background-color: #CEC5E4;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 30px;
  padding: 4px 20px;
  text-align: center;
}
.campaign-ttl span {
  color: #fff;
  font-size: 30px;
  font-weight: 700;
}
.camp-greeting-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
  width: 100%;
}
.pc-space-sp-br {
  padding-left: 1em;
}
.newyear-greeting {
  width: 57%;
}
.greeting-flower {
  width: 41%;
}
@media screen and (max-width: 1199px) {
  .camp-logo {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .camp-logo {
    justify-content: center;
  }
  .pc-space-sp-br {
    padding: 0;
  }
  .pc-space-sp-br::before {
    content: '\A';
    white-space: pre;
  }
  .camp-lead {
    margin-bottom: 45px;
  }
  .campaign-ttl, .campaign-ttl span {
    font-size: 20px;
  }
}
@media screen and (max-width: 480px) {
  .newyear-greeting {
    margin-bottom: 20px;
    width: 100%;
  }
  .greeting-flower {
    width: 100%;
  }
}

/* courses */
.course-flex-flex{
  display: flex;
  justify-content: space-between;
}
.course-flex-left, .course-flex-right {
  width: 48%;
}
.course4-02 .course-flex-left{
  margin-top: 7px;
}
.course5-01 .course-flex-right{
  margin-top: 12px;
}
.course-box {
  margin-bottom: 110px;
}
.course-title-flex {
	column-gap: 20px;
  display: flex;
  margin-bottom: 10px;
}
.course-title-flex.__mb0 {
  margin-bottom: 0px;
}
.course-title-flex.has-new  {
	align-items: flex-end;
	column-gap: 20px;
}
.course-title span{
  font-size: 20px;
}
.course2-01 .course-flex-right{
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.text-new {
	color: #D6005C;
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 6px;
}
.course-num {
  font-size: 68px;
  font-weight: 700;
  line-height: 1;
}
.course1-title-box .flex {
	align-items: center;
	column-gap: 20px;
	flex-wrap: nowrap;
}
.symptoms {
  background-color: #152436;
  color: #fff;
  font-size: 15px;
  padding: 2px 6px;
}
.course-added-notes {
  padding-left: 1em;
}
.course-title {
  font-size: 25px;
  letter-spacing: -1px;
}
.recommend-point {
  background-color: #fff;
  border: 1px solid #A28A6A;
  box-sizing: border-box;
  padding: 18px 30px;
}
.recommend-point.mb0{
  margin-bottom: 0;
}
.recommend-point-title {
  border-bottom: 1px solid #A28A6A;
  color: #A28A6A;
  font-size: 20px;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 12px;
  padding-bottom: 10px;
  text-align: center;
}
.recommend-point .inner{
  padding: 0 20px;
}
.recommend-point-flex{
  display: flex;
  max-width: 370px;
  margin-inline: auto;
}
.recommend-point-flexcont{
  width: 50%;
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}

.recommend-point-number{
  color: #fff;
  font-size: 13px;
  background-color: #A28A6A;
  text-align: center;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
}

.recommend-point-list{
  line-height: 2;
}

.course5-02 .recommend-point-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 991px){
  .recommend-point-flex{
    flex-direction: column;
    gap: 10px;
  }
  .recommend-point-flexcont{
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
	.course-flex-left, .course-flex-right {
    width: 100%;
	}
  .course-box {
    margin-bottom: 60px;
  }
  .course-title-flex {
    display: block;
    margin-bottom: 20px;
    position: relative;
  }
  .course-num {
    top: 39px;
    font-size: 28px;
    left: 0;
    position: absolute;
  }
  .course-title-box {
    position: relative;
    width: 100%;
  }
  .course-added-notes {
    padding-left: 0;
  }
  .course-added-notes::before {
    content: '\A';
    white-space: pre;
  }
  .course-title {
    font-size: 24px;
    margin-top: 4px;
    padding-left: 24px;
  }
	.course1-title-box .flex {
		column-gap: 15px;
	}
	.course1-title-box .flex span.color-gold {
		font-size: 16px;
	}
	.recommend-point {
		padding: 20px 15px;
	}
  .recommend-point-flex{
    flex-direction: column;
  }
  .recommend-point-flexcont{
    width: 100%;
  }
}
.course-contents-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 50px;
}

.course1-lead {
	font-size: 20px;
	line-height: 1.4;
	margin-bottom: 15px;
}
.explanation-title {
  border-bottom: 1px dashed #707070;
  font-size: 20px;
  font-weight: 700;
	line-height: 1.4;
  margin-bottom: 25px;
  padding-bottom: 6px;
  letter-spacing: -1px;
}
.explanation-title-flex {
  /* border-bottom: 1px dashed #707070; */
	box-sizing: border-box;
	column-gap: 20px;
	display: flex;
  /* margin-bottom: 25px; */
  /* padding-bottom: 6px; */
	width: 100%;
}
.explanation-title02 {
  font-size: 20px;
  font-weight: 700;	
  line-height: 1.6;
}
.explanation-title-flex > span.color-pink {
	font-size: 20px;
	line-height: 1.6;
}
.explanation-lead{
  font-size:18px;
  margin-bottom: 8px;
}
.fee-title {
  background-color: #A28A6A;
  color: #fff;
  margin-bottom: 10px;
  padding: 3px 10px;
}
.fee-detail {
  display: flex;
  flex-wrap: wrap;
  margin-top: 6px;
  width: 100%;
  line-height: 1.6;
  align-items: center;
}
.text-arrow {
  padding: 0 10px;
}

.camp-price {
  color: #D6005C;
  font-size: 20px;
  font-weight: 700;
}
.fee-notes {
  font-size: 14px;
  margin-bottom: 0;
}
.fee-title-flex {
	align-items: center;
	column-gap: 15px;
	/* display: flex; */
	margin-bottom: 15px;
}
.fee-title-flex .fee-title {
	margin-bottom: 0;
}
.fee-title-text {
	border: 1px solid #A28A6A;
	border-radius: 50vh;
	box-sizing: border-box;
	padding: 3px 25px 1px;
}
.course1-02 .recommend-point {
	margin-bottom: 0;
}
.course3-01 .course-flex-right{
  margin-top: 28px;
}

@media screen and (max-width: 991px) {
	.fee-title-flex {
		align-items: flex-start;
		flex-direction: column;
		row-gap: 10px;
	}
}
@media screen and (max-width: 768px) {
  .course-contents-flex {
    margin-bottom: 0;
    flex-direction: column-reverse;
  }
  .__noreverse{
    flex-direction: column!important;
  }
  .course-contents-flex.course2-01{
    flex-direction: column;
  }
	.course1-lead {
		font-size: 18px;
	}
  .explanation-title, .explanation-title02, .explanation-title-flex > span.color-pink {
    font-size: 18px;
  }
  .contents-text {
    margin-bottom: 20px;
  }
  .fee-title > span {
    display: inline-block;
    width: 100%;
  }
  .fee-title-flex{
    margin-bottom: 0;
  }
  .fee-detail{
    margin-top: 12px;
  }
 
	.course1 .course-flex-left {
		margin-bottom: 30px;
	}
	.course1-01 .course-flex-right,
  .course1-02 .course-flex-right,
  .course3-01 .course-flex-right,
  .course3-02 .course-flex-right,
  .course4-01 .course-flex-right,
  .course5 .course-flex-right {
		margin-bottom: 30px;
    margin-top: 0;
	}
  .course1-02 .course-flex-left,
  .course2-01 .course-flex-right {
		margin-bottom: 0;
	}
  .course2-01 .course-flex-left,
  .course3-01 .course-flex-left,
  .course4-01 .course-flex-left,
  .course4-02 .course-flex-left,
  .course5-01 .course-flex-left{
		margin-bottom: 30px;
    margin-top: 0;
	}
  .explanation-lead{
    font-size: 16px;
  }
}

.c-title-box-flex {
	align-items: center;
	column-gap: 20px;
	display: flex;
}
.c-title-box-flex > p.color-gold {
	font-size: 18px;
	line-height: 1.4;
}
.explanation h5.font-bold {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 10px;
	padding-left: 1.2em;
	position: relative;
}
.explanation h5.font-bold::before {
	content: '\025c6';
	left: 0;
	position: absolute;
}
.fee-addition {
	margin: 20px 0 10px;
}
.course2-02 .recommend-point-title {
	align-items: center;
	display: flex;
	justify-content: center;
}
.course2-02 .recommend-point-title img {
	height: 26px;
	margin-right: 5px;
	vertical-align: middle;
	width: auto;
}
.course2-02 .recommend-point-text {
	margin: 0 auto;
	width: 86%;
}
.course2-02 .recommend-point-text p {
	color: #152436;
	line-height: 2;	
}
.icon-circle {
	marign: 15px 0;
}
.icon-circle li {
	color: #152436;
	line-height: 2;
	padding-left: 1.2em;
	position: relative;
}
.icon-circle li::before {
	border: 6px solid #A28A6A;
	border-radius: 50%;
	content: '';
	height: 0;
	left: 0;
	position: absolute;
	top: 10px;
	width: 0;
}
@media screen and (max-width: 1199px) {
	.c-title-box-flex {
		align-items: flex-start;
		flex-direction: column;
		row-gap: 5px;
	}
}
@media screen and (max-width: 768px) {
	.course2 .course-num {
		top: 39px;
	}
	.explanation h5.font-bold {
		font-size: 18px;
	}
	.c-title-box-flex > p.color-gold {
		font-size: 16px;
		padding-left: 24px;
	}

}

.course4-01 .fee-title-text strong.font-bold {
	font-size: 18px;
}
.course4-01 .course-flex-left {
	position: relative;
}
.course4-01 .course-img {
	bottom: 0;
	position: absolute;
	right: 0;
}

@media screen and (max-width: 768px) {
	.course3 .course-num {
		top: 39px;
	}
  .course4 .course-num {
    top: 39px;
  }
  .course4-01 .fee-title-flex {
		align-items: center;
		flex-direction: row;
	}
	.course4-01 .course-img {
		margin: 20px 0 20px auto;
		position: static;
		text-align: right;
		width: 40%;
	}
  .point-box {
    padding: 15px;
  }
}

.for-troubles {
  width: 100%;
}
.for-troubles-title {
  background-color: #152436;
  box-sizing: border-box;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 10px 20px;
  text-align: center;
}
.for-troubles > div, .for-troubles ul {
  background-color: #fff;
  padding: 14px 30px;
}
.for-troubles > div > p, ul.use-checkicon li {
  background: url("../images/campaign/campaign-janfeb/icon-check.png") no-repeat left top 5px;
  color: #152436;
  padding-left: 25px;
  margin-top: 5px;
}
.for-troubles > div > p, ul.use-checkicon li.fs-s {
  font-size: 14px;
  background-size: 14px;
}
.for-troubles ul.use-dot li {
  color: #152436;
  padding-left: 1em;
  position: relative;
}
.for-troubles ul.use-dot li::before {
  content: '\02022';
  left: 0;
  position: absolute;
}
.course5-01 .explanation h5.font-bold {
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.course5 .course-num {
		top: 39px;
	}
  .for-troubles-title {
    font-size: 18px;
    padding: 5px 15px;
  }
  .for-troubles > div, .for-troubles ul {
    padding: 15px;
  }
	.campaign-mechanism li:last-child {
		border-bottom: 1px solid #D1D1D1;
		margin-bottom: 30px;
	}
	.campaign-mechanism li {
		padding: 12px 8px 12px 28px;
	}
	.campaign-mechanism li::before {
		left: 8px;
	}
}

.explanation-subtitle {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 25px;
}
.treatment-flow-flex {
  box-sizing: border-box;
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}
.treatment-flow-flex:not(:last-child) {
  margin-bottom: 30px;
  position: relative;
}
.treatment-flow-flex > span.font-bold {	
	align-items: center;
	background-color: #F3E7D5;
	display: flex;
	justify-content: center;
	position: relative;
	text-align: center;
}
.treatment-flow-flex > span.font-bold::after, .treatment-flow-flex:nth-child(4)::after {
  border: 15px solid transparent;
  border-top-color: #F3E7D5;
  bottom: -28px;
  content: '';
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
.treatment-flow-flex > span, .treatment-flow-flex > p {
  color: #152436;
  box-sizing: border-box;
  padding: 10px 20px;
  width: 50%;	
}
.treatment-flow-flex > p {
	align-items: center;
  background-color: #fff;
	display: flex;
}
.treatment-flow-flex.font-bold {
	background-color: #F3E7D5;
  box-sizing: border-box;
	color: #152436;
	justify-content: center;
  padding: 10px 20px;
	text-align: center;
}
@media screen and (max-width: 768px) {
  .explanation-subtitle {
		font-size: 18px;
    margin: 30px 0 15px;
  }
	.course6 .course-num {
		top: 39px;
	}
	.course6 .course-flex-right {
		margin-bottom: 30px;
	}

}

.recommend-box {
  display: inline-block;
  background-color: #fff;
  border: 1px solid #A28A6A;
  box-sizing: border-box;
  padding: 5px 10px;
  margin-bottom: 30px;
}
.recommend-box ul{
  display: flex;
  color:#A28A6A;
}
.recommend-box ul li {
  border-left: 0px solid #A28A6A;
  border-right: 0px solid #A28A6A;
  padding-right: 10px;
  color:#A28A6A;
}
.recommend-box ul li+ li {
  padding-left: 10px;
  padding-right: 0;
  border-right: 0;
  border-left: 1px solid #A28A6A;
}
.recommend-box ul li .special{
  background: url("../images/campaign/sepoct2024/ico01.png") no-repeat left center ;
  background-size: 16px;
  padding-left: 20px;
}
.ico-smooth_big{
  background: url("../images/campaign/sepoct2024/ico01.png") no-repeat left center ;
  background-size: 20px;
  padding-left: 24px;
  font-size: 20px;
}
.ico-smooth{
  background: url("../images/campaign/sepoct2024/ico02.png") no-repeat left center ;
  background-size: 16px;
  padding-left: 24px;
  font-size: 20px;
}
.ico-present{
  background: url("../images/campaign/sepoct2024/ico03.png") no-repeat left center ;
  background-size: 16px;
  padding-left: 24px;
  font-size: 20px;
}
.for-troubles > div > p, ul.use-list li {
  color: #152436;
  position: relative;
  padding-left: 20px;
}
.for-troubles > div > p, ul.use-list li:before {
  content: "";
  position: absolute;
  top: .4em;
  left: 0;
  width: 12px;
  height: 12px;
  background-color: #A28A6A;
  border-radius: 50%;
}

.price-flex{
  display: flex;
}
.price-list{
  width: 100%;
}
.price-list p{

  display: flex;
  justify-content: flex-end;
}

.camp-price_b {
  font-weight: 700;
}
/* plan */
.plan{
  border: 1px solid #A28A6A;
	background: #fff;
}
.plan .inner{
  padding: 30px 20px 10px 20px;
}
.plan-title {
  color: #fff;
  font-size: 20px;
  font-weight:  normal;
  line-height: calc(24 / 20);
  text-align: center;
  background-color:#B49F83 ;
  padding: 0.7em 0.5em;
}
.plan-title img{
  width: 40px;
  vertical-align: middle;
  margin-left: 15px;
}
.plan-title span{
  font-size: 14px;
  padding-left: 20px;
  font-weight: 300;
}
.plan-title.__left {
  text-align: left;
}
.plan-flex {
  padding:1em;
  background-color: #fff;
}
.plan-flex-left{
  border-right: 1px solid #A28A6A; 
}
.plan-flex-left,
.plan-flex-right {
  align-items: center;
  width: 50%;
}
.plan-flex-title {
  color: #A28A6A;
  font-size: 20px;
  border-bottom: 1px solid #A28A6A;
  padding: 0 1em 0.5em 1em;
  text-align: center;
  display: block;
}
.plan-flex-list {
  padding:0 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plan-flex-item{
  padding: 0.5em;
}
.flex-first{
  width: 75px;
}
.flex-end{
  display: flex;
  align-items: end;
}
.flex-reverse{
  flex-direction: row-reverse;
}
.flex-arrow{
  display: flex;
  justify-content: center;
  margin-left: 10px;
}
.flex-arrow-box{
  display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 1em;
    margin: 0px;
    width: 107px;
    height: 93px;
    box-sizing: border-box;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
}
.flex-arrow-box::before,
.flex-arrow-box::after{
  position: absolute;
  content: "";
}
.flex-arrow-box::before{
  top: 50%;
  right: -14px;
  /* z-index: -1; */
  transform: translateY(-50%) scaleX(0.5) rotate(45deg);    
  width: 120px;
  height: 120px;
  border: 1px solid #A28A6A;
  border-left: none;
  border-bottom: none;
}
.flex-arrow-box:after{
  top: 0px;
  left: 0px;
  bottom: 0px;
  /* z-index: -1; */
  width: 80px;
  border:1px solid #A28A6A;
  border-right: none;
}



@media screen and (max-width: 1199px) {
  .plan-flex-left,
  .plan-flex-right {
    width: 100%;
  }
  .plan-flex.flex{
    flex-direction: column;
  }
  .plan-flex-item.flex{
    flex-direction: row;
  }
  .plan-flex-list{
    align-items: start;
  }
  .plan-flex-left{
    border-right: transparent;
  }
  .plan-title span{
    padding-left: 0px;
  }
}


@media screen and (max-width: 768px){
  .flex-reverse{
    flex-direction: column-reverse;
  }
  
}

.list-style1 li{
  margin-left: 8px;
}
.list-style1 li::before {
  position: relative;
  top: 0px;
  left: -6px;

  display: inline-block;

  width: 12px;
  height: 12px;

  content: '';

  border-radius: 100%;
  background: #333333;
}

.foot-section{
  margin-top: 50px;
  padding: 50px 55px 5px;
  background-color: #ffffff;
}
.foot-section h2{
 text-align: center;
}
.foot-section h2 img{
  width: 100%;
  height: auto;
  max-width: 581px;
 }

 @media screen and (max-width: 768px){
  .foot-section{
    margin-top: 40px;
    padding: 20px 25px 5px;
  }
  
}
.specialbox{
  padding: 10px 12px;
  background-color: #fff;
  border : 1px #A28A6A solid;
  width: 100%;
}
.specialbox_title{
  display: flex;
  justify-content: space-between;
}
.specialbox_title_left{
  font-size: 16px;
  color: #A28A6A;
  font-weight: 900;
  background-image: url(../images/campaign/2501/icon.png);
  background-repeat: no-repeat;
  background-position: left center;
  line-height: 28px;
  padding-left: 25px;
  padding-right: 15px;
}
.specialbox_title_right{
  font-size: 18px;
  color: #A28A6A;
  font-weight: 900;
  border-left: 1px #A28A6A solid;
  padding-left: 15px;
}

@media screen and (max-width: 768px){
  .course-flex-flex{
    flex-wrap: wrap;
  }
  .course-flex-flex-left{
    width: 100%;
  }
  .specialbox{
    margin-bottom: 15px;
  }
  .specialbox_title{
    justify-content: flex-start;
  }
}
.border-dotted{
  border-bottom: 1px dashed #707070;
  padding-bottom: 5px;
  margin-bottom: 14px!important;
}
.list{
  margin: 10px 0 20px;
}
.list li{
  list-style: disc;
  margin-left: 20px;
}
.symptoms-right{
	margin-left: 10px;
	display: inline-block;
}
.camp-img-box2{
	border: 1px solid #A28A6A;
}
.recomment-point-after{
	border-radius: 60px;
	padding: 3px 12px;
	background: #fff;
	border: 1px solid #A28A6A;
	font-size: 14px;
	display: inline-block;
	margin-top: 8px;
}
.explanation-title-after{
	margin-top: 35px;
}
.use-flex{
	display: flex;
	gap:15px;
}
.use-flex li{
    width: 50%;
}
.exo01{
	margin: 10px 0;
}
.exo01 h5{
	display: inline-block;
	margin-right: 15px;
	font-size: 16px;
}
.exo01 span{
	display: inline-block;
	margin-right: 3px;
	border: 1px solid #A28A6A;
	padding: 3px 6px;
	vertical-align: middle;
	font-size: 15px;
	color: #333;
	border-radius: 66px;
}
.exo01 p{
	display: inline-block;
	vertical-align: middle;
	font-size: 15px;
	color: #333;
}
.exo02{
	margin: 10px 0 30px 0;
	display: flex;
}
.exo02 div:first-child{
	width: 15%;
}
.exo02 div:last-child{
	width: 85%;
	padding-top: 4px;
}
.exo02 span{
	display: inline-block;
	margin-right: 3px;
	padding: 3px 8px;
	vertical-align: middle;
	font-size: 15px;
	color: #fff;
	border-radius: 66px;
	background: #A28A6A;
	margin-bottom: 5px;
}
.inner-pl p{
	margin: 0 10% 20px 10%;
}
.hiamb{
	padding: 10px 0 40px ;
}
.c5mt{
	margin-top: 12px;
}
.mtmi{
	margin-top: -1px;
}


@media screen and (max-width: 1200px){
	.exo01 h5{
		display: block;
	}
	.exo02{
		display: block;
		margin-top: 25px;
	}
	.exo02 div:first-child{
		width: auto;
	}
	.exo02 div:last-child{
		width: auto;
		margin: 0;
	}
	.use-flex {
		display: block;
	}
	
	.use-flex li{
		width: auto;
	}
}
@media screen and (max-width: 768px){
	.hiamb2{
		padding-bottom: 0;
	}
	.symptoms-right {
		margin-left: 0px;
		display: block;
	}
	.course1-title-box{
		padding: 0 !important;
	}
	.course1-title-box .course-title{
		padding-left: 30px;
	}
	.course1 .course-num {
        top: 96px;
    }
	
	.course2 .course-title-box{
	}
	.course2 .course-title{
		padding-left: 24px;
	}
	.course2 .course-num {
        top: 64px;
    }
	.course5 .course-title-box{
	}
	.course5 .course-title{
		padding-left: 24px;
	}
	.course5 .course-num {
        top: 64px;
    }
	.course6 .course-num {
        top: 64px;
    }
	.inner-pl p{
		margin: 0 0 20px 0;
	}
	.plan-title img {
		width: 26px;
		display: block;
		margin: 4px auto 0 auto;
	}
	.mb30sp{
		margin-bottom: 0;
	}
	.ximgsp{
		width: 200px;
		margin: 0;
	}
}
.menu-contents-detail-flex {
  align-items: flex-start;
  display: flex;
  margin-bottom: 15px;
}
.mayjune2-02 .menu-contents-detail-flex:last-of-type {
  margin-bottom: 30px;
}
.menu-contents-detail-flex dt {
  background-color: #fff;
  border: 1px solid #A28A6A;
  box-sizing: border-box;
  color: #A28A6A;
  font-weight: normal;
  padding: 2px 4px;
  text-align: center;
  width: 112px;
}
.menu-contents-detail-flex dd {
  line-height: 1.6;
  margin-left: 10px;
  width: calc(100% - 122px);
}

.course3-01 .course-flex-left {
	position: relative;
}
.course3-01 .course-img {
  text-align: right;
}
.course3-01 .course-img img {
  max-width: 100px;
}
@media screen and (min-width: 769px){
  .course3-01 .course-img {
    bottom: 0;
    position: absolute;
    right: 0;
  }
  .course3-01 .course-img img {
    max-width: 180px;
  }
}

.label {
  background-color: #fff;
  border: 1px solid #A28A6A;
  box-sizing: border-box;
  color: #A28A6A;
  font-weight: normal;
  padding: 2px 4px;
  text-align: center;
  width: 112px;
}

.treatment-flow-flex {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	position: relative;	
}
.treatment-flow-flex:not(:last-child) {
	margin-bottom: 30px;
}
.treatment-flow-flex:not(:last-child)::after {
	border: 15px solid transparent;
  border-top-color: #F3E7D5;
	bottom: -28px;
	content: '';
	left: 25%;
	position: absolute;
	transform: translateX(-50%);
}
.treatment-flow-flex > span {
	align-items: center;
	background-color: #F3E7D5;
	box-sizing: border-box;
	display: flex;
	font-weight: bold;
	justify-content: center;
	padding: 10px 20px;
	text-align: center;
	width: 50%;
}
.treatment-flow-flex > p {
	background-color: #fff;
	color: #152436;
	box-sizing: border-box;
	padding: 10px 20px;
	width: 50%;
}
.treatment-flow-flex:last-child::after {
  display: none;
}
@media screen and (max-width: 768px) {
	.course-box-mid-title {
		font-size: 18px;
	}
	.treatment-flow-flex:not(:last-child)::after {
		border-top-color: #fff;
		left: 50%;
	}
	.treatment-flow-flex > span, .treatment-flow-flex > p {
		width: 100%;
	}
}

.course5-01 .course-flex-right {
  margin-top: 0;
}

@media screen and (max-width: 768px){
	.course1 .course-num {
    top: 38px;
  }
	.course2 .course-num {
    top: 38px;
  }
	.course5 .course-num {
    top: 38px;
  }
  .course3-01 .course-flex-left {
    position: relative;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .course-contents-flex {
    margin-bottom: 0;
    flex-direction: column;
  }
}

.compaign-3col{
  display: grid;
  grid-template-columns: 30% 30% 30%;
  gap: 3%;
  margin: 40px 0 60px;
}
.compaign-3col p{
  margin-top: 20px;
}

.price-desc__area{
  background-color: #fff;
  padding: 10px 5px;
  margin-top: 10px;
  width:80%;
}
.price-desc{
  position:relative;
  padding-left:35px;
  font-size: 14px;
}
.price-desc:before{
content: '';
display: block;
width: 25px; 
height: 25px;
background-image: url(../images/campaign/julaug2025/price-desc.png);
background-size: contain;
background-repeat:no-repeat;
position:absolute;
top:-2px;
left:0;
}
.bui-flex{
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
}
.pc-none{
  display: none;
}
@media screen and (max-width: 768px) {
 .compaign-3col{ 
    display: block;
  }
   .compaign-3col h5{
     margin-top: 20px;
}
.price-desc__area{
  width: 100%;
}
.pc-none{
  display: block!important;
}
.bui-flex{
   display: flex;
  justify-content: space-between;
  margin-bottom: 0px;
}
}
