h1,
h2,
h3,
h4,
h5,
p,
ul,
li,
dl,
dt,
dd,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  list-style-type: none;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-size: 24px;
  list-style: 1.4;
  font-family: "Hiragino Kaku Gothic ProN", "���S�V�b�N", YuGothic, Meiryo,
    sans-serif;
  -webkit-text-size-adjust: 100%;
}

a:link,
a:visited {
  color: #cc0000;
}

a:hover,
a:active {
  color: #cc9900;
}

img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

a:hover img {
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

br {
  letter-spacing: 0;
}

/*--- layout ---*/

.wrapper {
  position: relative;
  width: 100%;
  text-align: center;
  padding-bottom: 90px;
}

.container {
  margin: 0 auto;
  text-align: left;
}

.section {
  margin-bottom: 20px;
}

.contents {
  padding: 10px;
}

/*--- header ---*/

.header {
  background: url(../images/bg_header.jpg) repeat-x left bottom;
  padding: 5px 0px;
  overflow: hidden;
  border-bottom: solid 1px #ab770d;
}

.header .logo {
  float: left;
  padding-top: 5px;
}

.header .telno {
  float: right;
}

.header .pcview {
  float: right;
}

.footer {
  background: #fe68a5;
  color: #ffffff;
  text-align: center;
  padding: 10px;
}

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

.title2,
.title2_2 {
  width: 620px;
  background: url(../images/bg_title2.jpg) no-repeat left top;
  height: 70px;
  color: #fff;
  font-size: 32px;
  margin-bottom: 20px;
  vertical-align: middle;
  padding-left: 25px;
  display: table;
}

.title2_2 {
  background: url(../images/bg_title2_2.jpg) no-repeat left top;
  height: 100px;
  color: #fff;
  font-size: 28px;
}

.title2 span,
.title2_2 span {
  display: table-cell;
  vertical-align: middle;
}

.title3 {
  background: #f1eadb;
  padding: 10px;
  font-size: 32px;
  border-left: solid 10px #b7943c;
}

.title {
  background: url(../images/bg_title1.jpg) no-repeat left top;
  border-bottom: 4px solid #d1a9d4;
  border-top: 1px solid #999;
  height: 80px;
  line-height: 80px;
  text-indent: 30px;
  color: #1b4458;
  font-size: 36px;
  font-weight: bold;
}

.underline {
  text-decoration: underline;
}

/*----monitor_main_block--*/
.monitor_main_block {
  background: #faebf3;
  padding: 20px;
  margin-bottom: 20px;
}

.monitor_main_block dl {
  padding: 15px 0;
  width: 580px;
  margin: 0 auto;
  background: url(../images/after_arrow.png) no-repeat center 50px;
}

.monitor_main_block dl dt ul {
  overflow: hidden;
}

.monitor_main_block dl dt ul li {
  float: left;
}

.monitor_main_block dl dt ul li:last-child {
  float: right;
}

.monitor_main_block dl dd {
  padding-top: 10px;
  text-align: center;
}

/*---monitor_block---*/

.monitor_block {
  padding: 20px 20px 20px;
  margin: 0px 0 0px;
  background: #fbf7fe;
}

.monitor_block .box {
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px 2px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px 2px;
  -moz-box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 2px 2px;
  margin-bottom: 20px;
}

.monitor_block .box h3 {
  background: #de82b2;
  font-size: 28px;
  padding: 10px;
  color: #fff;
  text-align: center;
}

.monitor_block .box dl {
  padding: 15px 40px;
}

.monitor_block .box dl dt ul {
  overflow: hidden;
}

.monitor_block .box dl dt {
  background: url(../images/after_arrow.png) no-repeat center 25px;
}

.monitor_block .box dl dt ul li {
  width: 192px;
  float: left;
  padding-bottom: 40px;
  background: url(../images/type_before.jpg) no-repeat center bottom;
}

.monitor_block .box dl dt ul li:last-child {
  float: right;
  background: url(../images/type_after.jpg) no-repeat center bottom;
}

.monitor_block .box dl dd {
  text-align: center;
  padding-top: 10px;
  color: #ff0099;
  font-size: 24px;
}

.monitor_block .box dl dd p + p {
  margin-top: 10px;
}

.monitor_block .box dl dd .small {
  color: #333;
  font-size: 80%;
}

/*------flow-------------*/

.flow_block {
  margin-bottom: 50px;
}

.flow_block dl {
  margin-bottom: 20px;
}

.flow_block dl dt {
  border: solid 1px #ccc;
  padding: 15px 0 15px 15px;
  font-size: 30px;
  line-height: 80px;
  height: 80px;
  color: #333;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+15,fbeff5+100 */
  background: rgb(255, 255, 255); /* Old browsers */
  background: -moz-linear-gradient(
    top,
    rgba(255, 255, 255, 1) 15%,
    rgba(251, 239, 245, 1) 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 1) 15%,
    rgba(251, 239, 245, 1) 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1) 15%,
    rgba(251, 239, 245, 1) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#fbeff5',GradientType=0 ); /* IE6-9 */
  font-weight: bold;
}

.flow_block dl dt img {
  margin-top: 5px;
  vertical-align: middle;
  margin-right: 10px;
}
.flow_block dl dd h3 {
  padding-left: 20px;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-left: solid 5px #ff3599;
  border-bottom: solid 1px #ff3599;
}
.flow_block dl dd p {
  font-size: 20px;
}

.flow_block dl dd {
  padding: 15px 10px 0;
}

.flow_block .arrow {
  background: url(../images/flow_arrow.jpg) no-repeat center bottom;
  height: 24px;
  margin: 20px auto;
}

/*--- faq_block ---*/

.faq_block {
  margin-bottom: 40px;
}

.faq_block dl {
  margin: 0 10px 20px;
  overflow: hidden;
}

.faq_block dl dt {
  padding: 10px;
  padding-left: 60px;
  background: url(../images/faq_q.png) no-repeat 15px 15px;
  font-size: 18px;
  font-weight: bold;
}

.faq_block dl dd {
  padding: 15px 15px 10px;
  padding-left: 60px;
  background: url(../images/faq_a.png) #f3f1f1 no-repeat 15px 15px;
  min-height: 36px;
  line-height: 1.8;
  font-size: 18px;
  border: solid 1px #ccc;
}

/*-------contact--------*/

.contact_block {
  margin: 40px auto 80px;
}

.contact_block ul {
  overflow: hidden;
  zoom: 1;
}

.contact_block ul li {
  margin-top: 20px;
}

/*-------general-------*/

.alignC {
  text-align: center;
}
.alignR {
  text-align: right;
}
.alignL {
  text-align: left;
}

.pb0 {
  padding-bottom: 0px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb60 {
  padding-bottom: 60px;
}
.pb70 {
  padding-bottom: 70px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb90 {
  padding-bottom: 90px;
}
.pb100 {
  padding-bottom: 100px;
}

.mb0 {
  margin-bottom: 0px;
}
.mb05 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb60 {
  margin-bottom: 60px;
}
.mb70 {
  margin-bottom: 70px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb90 {
  margin-bottom: 90px;
}
.mb100 {
  margin-bottom: 100px;
}

.mt0 {
  margin-top: 0px;
}
.mt05 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt40 {
  margin-top: 40px;
}
.mt50 {
  margin-top: 50px;
}
.mt60 {
  margin-top: 60px;
}
.mt70 {
  margin-top: 70px;
}
.mt80 {
  margin-top: 80px;
}
.mt90 {
  margin-top: 90px;
}
.mt100 {
  margin-top: 100px;
}

.small {
  font-size: 80%;
}
.xs-small {
  font-size: 60%;
}

.em {
  color: #c6821d;
}

/*------pagetop---------*/

.pagetop-btn {
  margin: 20px;
  font-size: 28px;
  text-align: right;
}

.pagetop-btn a {
  background: rgba(0, 0, 0, 0.3);
  text-decoration: none;
  color: #fff;
  width: 200px;
  padding: 15px 0;
  text-align: center;
  display: inline-block;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
}

.pagetop-btn a:hover {
  text-decoration: none;
  background: #ff99cc;
}

/*fixed_btn
------------------------------------*/

#fixed_btn {
  width: 100%;
  position: fixed;
  bottom: 0px;
  display: none;
  z-index: 12;
}

#fixed_btn ul {
  text-align: center;
  width: 100%;
  height: 60px;
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 0px;
  margin-left: auto;
  background-image: url(../images/footer_bg.jpg);
  background-repeat: repeat-x;
  background-size: 3px 60px;
  border-top: 1px solid #fff;
  /* box-shadow */
  box-shadow: 0px 0px 7px 2px #a8a8a8;
  -moz-box-shadow: 0px 0px 7px 2px #a8a8a8;
  -webkit-box-shadow: 0px 0px 7px 2px #a8a8a8;
}

#fixed_btn ul li {
  display: block;
  font-size: 0;
  text-align: center;
}

#fixed_btn ul li:first-child {
  float: left;
  width: 35.9375%;
  box-sizing: border-box;
  text-align: center;
  margin: 4px 0 0 1.5625%;
}

#fixed_btn ul li:first-child img {
  width: 115px;
  height: 50px;
}

#fixed_btn ul li:last-child {
  float: right;
  width: 60.625%;
  box-sizing: border-box;
  text-align: center;
  background-image: url(../images/footer_cv_bg_r.jpg),
    url(../images/footer_cv_bg_l.jpg), url(../images/footer_cv_bg.png);
  background-position: right, left, left;
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-size: 11px 55px, 11px 55px, 5px 55px;
  margin: 4px 0.625% 0 0;
}

#fixed_btn ul li:last-child img {
  width: 170px;
  height: 55px;
}

/* --追加 --*/
body {
  font-size: 16px;
}
.bg-gray {
  background-color: #f3f3f3;
}
.bg-yellow {
  background-color: #fffde5;
}
header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 5px 10px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
  z-index: 99;
  opacity: 0.75;
}
header h1 {
  width: 150px;
}
header h1 img {
  display: block;
}

.box_p {
  padding: 0 3.125%;
}

.main_block {
  position: relative;
  margin-bottom: 105px;
}
.fv_btn {
  position: absolute;
  width: 96%;
  margin: 0 auto;
  bottom: -35px;
  left: 0;
  right: 0;
}
.introduction_cont h2.ttl {
  width: 90%;
  margin: 0 auto;
}
.introduction_cont .inner {
  position: relative;
  background-color: #fdedf3;
  padding: 85px 3.125% 20px;
}
.introduction_cont .inner::after {
  content: "";
  position: absolute;
  background: url(../images/img_introduction_triangle.webp) no-repeat center
    center;
  background-size: cover;
  width: 100%;
  height: 50px;
  top: 0;
  left: 0;
}
.introduction_cont .inner a {
  display: block;
}

.course-item {
  background-color: #e1d5e7;
  padding: 40px 3.125% 0;
}
.course-item05 {
  padding: 40px 3.125% 20px;
}
.course-item .course-item_box {
  position: relative;
  border: 4px solid;
  border-image: linear-gradient(-45deg, #f084ad, #9d73af) 1;
  background-color: #fff;
  padding: 40px 0 0;
}

.course-item .course-item_box .about {
  text-align: center;
}
.course-item .course-item_box .about p {
  font-size: 14px;
  text-align: left;
}
.course-item .course-item_box .about .sub_ttl span {
  display: inline-block;
  position: relative;
  font-size: 18px;
  text-align: center;
  color: #9d73af;
  line-height: 1.3em;
  white-space: nowrap;
}
.course-item .course-item_box .about .sub_ttl span::after {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 5px;
  background-color: #f084ad;
  opacity: 0.25;
  bottom: 8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.course-item .course-item_box .about .intro span {
  display: block;
  font-size: 16px;
  color: #f084ad;
  text-align: center;
}

.course-item .course-item_box .about .inner img {
  display: block;
  width: 80%;
  margin: 0 auto 10px;
}

.course-item01 .course-item_box .about .sub_ttl {
  white-space: nowrap;
}

.feature .feature_item .inner .txt {
  text-align: center;
}
.feature .feature_item .inner .txt h5 {
  font-size: 17px;
  color: #f084ad;
  text-align: center;
}
.feature .feature_item .inner .txt span {
  color: #f084ad;
  text-align: center;
}

.course-item .course-item_box p.point {
  padding: 0 3%;
}
.course-item .head_ttl {
  position: absolute;
  width: 94%;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: -20px;
}
.course-item .course-item_box .block {
  padding: 0 3%;
}
.course-item .course-item_box .price,
.course-item .course-item_box .detail {
  padding: 30px 3% 35px;
}
.course-item .course-item_box .btn_block {
  padding: 0 3% 30px;
}

.course-item02 .intro {
  padding: 0 3%;
}
.course-item02 .course-item_box .ttl {
  width: 100%;
  padding: 0 3%;
  margin: 0 auto 20px;
}
.course-item02 .feature .point01,
.course-item02 .feature .point02 {
  padding: 0 3%;
  margin-bottom: 30px;
}
.course-item02 .feature .point03 {
  padding: 0 3%;
  padding-bottom: 40px;
}

.course-item_cont {
  background-color: #4186ef;
  padding: 40px 3.125%;
}
.course-item_cont .course-item {
  margin-bottom: 40px;
}
.course-item_cont .course-item:last-of-type {
  margin-bottom: 0;
}
.course-item_cont .course-item_inner {
  position: relative;
}
.course-item_cont .course-item_inner a {
  display: block;
  width: 93%;
  position: absolute;
  bottom: 20px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

.course-item03 {
  padding-bottom: 20px;
}

.qa_cont {
  padding: 0 3.125%;
}
.qa_cont li {
  padding-left: 35px;
}
.qa_cont .q_item {
  font-size: 17px;
  font-weight: bold;
  color: #9d73af;
  position: relative;
}
.qa_cont .q_item::after {
  content: "";
  position: absolute;
  width: 23px;
  height: 22px;
  top: 2px;
  left: 7px;
  background: url(../images/icon_q.webp) no-repeat center center;
  background-size: cover;
}
.qa_cont .a_item {
  font-size: 15px;
  position: relative;
  background-color: #fdf2f7;
  padding: 10px 10px 10px 35px;
}
.qa_cont .a_item::after {
  content: "";
  position: absolute;
  width: 23px;
  height: 21px;
  top: 13px;
  left: 7px;
  background: url(../images/icon_a.webp) no-repeat center center;
  background-size: cover;
}

.mtitle {
  background-size: cover;
  background-position: center;
  height: 50px;
  font-size: 1.2em;
  line-height: 50px;
  margin-bottom: 30px;
  text-align: center;
}

.clinic_list_area .clinic_desc dl dt {
  padding: 20px;
  text-align: center;
}
.clinic_list_area .clinic_desc dl dt img {
  display: block;
  margin: 0 auto;
}
.clinic_list_area .clinic_desc dl dt span {
  display: inline-block;
  padding: 2px 5px;
  background: #ff4f94;
  color: #ffffff;
  margin-left: 0px;
  margin-top: 5px;
  font-size: 0.7em;
}
.clinic_list_area .clinic_desc dl dd {
  font-size: 0.7em;
  padding: 10px;
}

.clinic_list_area dl.clinic_accordion > dt {
  background: #ff8bb2;
  height: 40px;
  line-height: 40px;
  color: #ffffff;
  cursor: pointer;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 4px;
  padding-left: 20px;
  text-indent: 0;
}
.clinic_list_area dl.clinic_accordion > dt span {
  height: 40px;
  background-size: 20px;
}
.clinic_list_area dl.clinic_accordion > dt.open span {
  background-size: 20px;
}

.clinic_list_area .clinic_list dt h3 {
  font-size: 17px;
}
.clinic_list_area .clinic_list dd.tel {
  width: 160px;
}
.clinic_list_area .clinic_list dt,
.clinic_list dd {
  display: table-cell;
  vertical-align: middle;
  padding: 5px;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  font-size: 14px;
}
.clinic_list_area .clinic_list dd.tel a {
  padding-left: 10px;
  background-size: 15px;
  display: block;
  text-decoration: none;
  color: #ff4d94;
  font-weight: bold;
  font-size: 15px;
}
.clinic_list_area .clinic_list dd.tel a span {
  font-size: 13px;
}
.clinic_list_area .clinic_list dd.btn {
  width: 70px;
}

.pagetop-btn {
  margin: 15px;
  font-size: 16px;
}
.pagetop-btn a {
  width: 150px;
  padding: 10px 0;
}
