@charset "utf-8";
/* ------------------------------
 CSS Document
------------------------------ */

/* ------------------------------
 base
 rewrite
------------------------------ */

.area+.area {
  padding-top: 40px;
}

.area[class*="bg"]+.area,
.area[class*="relative"]+.area {
  padding-top: 80px;
}

.area+.area[class*="bg"],
.area+.area[class*="relative"] {
  padding: 80px 0;
}

@media only screen and (max-width: 1024px) {

  .area+.area {
    padding-top: 30px;
  }

  .area[class*="bg"]+.area,
  .area[class*="relative"]+.area {
    padding-top: 60px;
  }

  .area+.area[class*="bg"],
  .area+.area[class*="relative"] {
    padding: 60px 0;
  }
}

@media only screen and (max-width: 599px) {

  .area+.area {
    padding-top: 20px;
  }

  .area[class*="bg"]+.area,
  .area[class*="relative"]+.area {
    padding-top: 40px;
  }

  .area+.area[class*="bg"],
  .area+.area[class*="relative"] {
    padding: 40px 0;
  }
}

/* ------------------------------
 common
------------------------------ */

.bgc01 {
  background-color: #f7faf1;
}

.bgc02 {
  background-color: #f3f8fa;
}

.bg01 {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg01_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg01_02.png);
  background-repeat: no-repeat;
  background-position: left 1em top 1em, right 1em top 1em;
  background-size: 18% auto, 16% auto;
  background-color: #fff;
  padding: 3em 6em;
  border-radius: 2em;
}

.bg02 {
  position: relative;
}

.bg02:before {
  content: '';
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg02_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg02_02.png);
  background-repeat: no-repeat;
  background-position: left 8% center, right 8% center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: 1;
}

.bg03 {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg03_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg03_02.png), url(/import/tenant_1/160.16.53.65/html/images/bg03_03.png), url(/import/tenant_1/160.16.53.65/html/images/bg03_04.png);
  background-repeat: no-repeat;
  background-position: left 4% top 8%, right 4% top 8%, right 2% center, left -4% bottom 10%;
}

.bg04 {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg04_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg04_02.png);
  background-repeat: no-repeat;
  background-position: left 4% top 2em, right 4% top 10em;
}

.bg05 {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg05_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg05_02.png);
  background-repeat: no-repeat;
  background-position: left 4% top 4em, right 8% top 5em;
}

.bg06 {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/bg06_01.png), url(/import/tenant_1/160.16.53.65/html/images/bg06_02.png), url(/import/tenant_1/160.16.53.65/html/images/bg06_03.png);
  background-repeat: no-repeat;
  background-position: left 4% top 10%, left 6% bottom 8%, right 4% bottom 10%;
}

.fc01 {
  color: #57acbf;
}

.fc02 {
  color: #58c1ab;
}

.cmntit01:after {
  content: '';
  display: block;
  width: 9em;
  border-bottom: .1em solid #5a9cb5;
  margin: .5em auto;
}

.cmntit01 .jp {
  display: block;
}

.cmntit01 .en {
  display: block;
}

.cmntit02 .jp {
  display: inline-block;
  margin-right: 1em;
}

.cmntit02 .en {
  display: inline-block;
}

.more01 a {
  display: inline-block;
  max-width: 100%;
  opacity: 1;
}

.more01 .btn {
  display: inline-block;
  width: 270px;
  max-width: 100%;
  background-color: #57acbf;
  color: #fff;
  text-align: center;
  border-radius: 3em;
  padding: .5em 1em;
  border-bottom: .25em solid #666;
  -webkit-transition: .3s;
  transition: .3s;
}

.more01 .btn:hover {
  margin-top: .1em;
  border-bottom: .15em solid #666;
}

.more02 a {
  display: inline-block;
  max-width: 100%;
  opacity: 1;
}

.more02 .btn {
  display: inline-block;
  max-width: 100%;
  background-color: #58c1ab;
  color: #fff;
  text-align: center;
  border-radius: 3em;
  padding: .25em 1em;
  border-bottom: .25em solid #666;
  -webkit-transition: .3s;
  transition: .3s;
}

.more02 .btn:hover {
  margin-top: .1em;
  border-bottom: .15em solid #666;
}

.more03 a {
  display: inline-block;
  max-width: 100%;
  opacity: 1;
}

.more03 .btn {
  display: inline-block;
  max-width: 100%;
  background-color: #dddddd;
  text-align: center;
  border-radius: 3em;
  padding: 0 1em;
  border-bottom: .2em solid #666;
  -webkit-transition: .3s;
  transition: .3s;
}

.more03 .btn:hover {
  margin-top: .1em;
  border-bottom: .1em solid #666;
}

.more04 a {
  display: inline-block;
  max-width: 100%;
  opacity: 1;
}

.more04 .btn {
  display: inline-block;
  width: 150px;
  max-width: 100%;
  background-color: #58c1ab;
  color: #fff;
  text-align: center;
  border-radius: 3em;
  padding: .25em 1em;
  border-bottom: .25em solid #666;
  -webkit-transition: .3s;
  transition: .3s;
}

.more04 .btn:hover {
  margin-top: .1em;
  border-bottom: .15em solid #666;
}

.more05 a {
  display: inline-block;
  max-width: 100%;
}

.more05 .btn {
  display: inline-block;
  width: 600px;
  max-width: 100%;
  padding: .5em .5em;
  background-color: #70b8c9;
  color: #fff;
  border-radius: .5em;
  border-bottom: .25em solid #666;
  -webkit-transition: .3s;
  transition: .3s;
}

.more05 .btn:hover {
  margin-top: .1em;
  border-bottom: .15em solid #666;
}

.more05.type02 .btn {
  background-color: #fac968;
}

.bdrs01 {
  border-radius: 1.5em;
  overflow: hidden;
}

.bdrs02 {
  border-radius: 1em;
  overflow: hidden;
}

.bdrs03 {
  border-radius: 50%;
  overflow: hidden;
}

.marker01 {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fef0bc));
  background: linear-gradient(transparent 70%, #fef0bc 70%);
}

.back a {
  display: inline-block;
  width: 230px;
  max-width: 100%;
  padding: .5em 1em;
  background-color: #57acbf;
  color: #fff;
  text-align: center;
  border-radius: 3em;
}

@media only screen and (max-width:1024px) {

  .bg01 {
    padding: 3em 3em;
  }

  .bg02:before {
    background-size: 12% auto, 11% auto;
    background-position: top 4% left 2%, bottom 4% right 2%;
  }

  .bg03 {
    background-size: 22% auto, 15% auto, 10% auto, 15% auto;
  }

  .bg04 {
    background-size: 22% auto, 14% auto;
  }

  .bg05 {
    background-size: 22% auto, 15% auto;
  }

  .bg06 {
    background-size: 6% auto, 5% auto, 10% auto;
  }
}

@media only screen and (max-width:599px) {

  .bg01 {
    padding: 3em 1.5em;
  }
}

/* ------------------------------
 common layout
------------------------------ */

.table01 table {
  width: 100%;
  height: auto;
  border-collapse: collapse;
  background-color: #fff;
  border: 1px solid #ccc;
}

.table01 table * {
  vertical-align: middle;
}

.table01 thead {
  background-color: #58c1ab;
  color: #fff;
}

.table01 thead * {
  color: inherit
}

.table01 th {
  border: 1px solid #ccc;
  padding: .5em .5em;
  text-align: center;
  font-weight: 400;
  font-size: 18px;
}

.table01 td {
  text-align: center;
  border: 1px solid #ccc;
  padding: .5em .5em;
  font-size: 18px;
  font-weight: 400;
}

.table01 .bnr .item a {
  padding: .5em .25em;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: .25em;
  width: 200px;
  max-width: 100%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.table01 .bnr .item.tocontact a {
  background-color: #58c1ab;
  color: #fff;
}

.table01 .bnr .item.tel a {
  background-color: #fff;
  color: #58c1ab;
  border: 1px solid;
}

.table02 table {
  width: 100%;
  height: auto;
  border-collapse: collapse;
  background-color: #fff;
  border: 2px solid #71cab8;
}

.table02 table * {
  vertical-align: middle;
}

.table02 thead {
  background-color: #71cab8;
  color: #fff;
}

.table02 thead * {
  color: inherit
}

.table02 thead th {
  font-weight: 600;
  font-size: 18px;
  font-family: 'Noto Serif JP', serif;
}

.table02 tbody th {
  font-weight: 500;
  font-size: 18px;
  background-color: #f8fbf3;
}

.table02 th {
  border: 2px solid #71cab8;
  padding: .5em 1em;
  text-align: center;
}

.table02 td {
  border: 2px solid #71cab8;
  padding: 1em 2em;
  font-weight: 400;
  line-height: 1.4;
  width: 40%;
}

.backlist .prev,
.backlist .next {
  width: 28%;
}

.backlist .back {
  width: 40%;
}

.backlist .next {
  text-align: right;
}

.backlist .prev a,
.backlist .next a {
  display: inline-block;
  padding: .5em 1.5em;
  background-color: #f9c866;
  color: #fff;
  border-radius: 3em;
  width: 100px;
  max-width: 100%;
  text-align: center;
  position: relative;
  opacity: 1;
}

.backlist .prev a:after,
.backlist .next a:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  -webkit-transition: .3s;
  transition: .3s;
}

.backlist .prev a:after {
  content: '\f104';
  left: .75em;
}

.backlist .next a:after {
  content: '\f105';
  right: .75em;
}

.backlist .prev a:hover:after {
  left: .5em;
}

.backlist .next a:hover:after {
  right: .5em;
}

@media only screen and (max-width:1024px) {

  .table01 th {
    font-size: 16px;
  }

  .table01 td {
    font-size: 16px;
  }

  .table02 thead th {
    font-size: 16px;
  }

  .table02 tbody th {
    font-size: 16px;
  }

}

@media only screen and (max-width:599px) {
  .table01 th {
    font-size: 10px;
    padding: .5em .1em;
  }

  .table01 td {
    font-size: 10px;
    padding: .5em .1em;
  }

  .table01 .attbox {
    display: block;
  }

  .table01 .bnr {
    margin-top: 1.5em;
  }

  .table01 .bnr .list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .table01 .bnr .item {
    width: 48%;
  }

  .table02 table {
    border-width: 1px;
  }

  .table02 thead th {
    font-size: 14px;
  }

  .table02 tbody th {
    font-size: 14px;
  }

  .table02 th {
    padding: .5em .5em;
    border-width: 1px;
  }

  .table02 td {
    padding: 1em .5em;
    border-width: 1px;
  }
}

/* ------------------------------
 home
------------------------------ */



.home01box .box01 {
  padding: 2em 3em;
  border: 1px solid #6ec9b6;
  border-radius: 2em;
}

.home02 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(#fdf6ea), color-stop(15%, #fdf6ea), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, #fdf6ea, #fdf6ea 15%, rgba(255, 255, 255, 0));
}

.home03box .bnr {
  border-radius: .75em;
  border: .1em solid;
}

.home03box .bnr .tit a {
  display: block;
  padding: .75em .5em;
}

.home03box .bnr .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(#fdf6ea), color-stop(15%, #fdf6ea), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, #fdf6ea, #fdf6ea 15%, rgba(255, 255, 255, 0));
}

.home04list {
  width: calc(100% + 2em);
  margin-left: -1em;
}

.home04item {
  width: 20%;
  padding: 2em 1em;
  position: relative;
}

.home04item .recom {
  display: inline-block;
  background-color: #f9bf4e;
  color: #fff;
  border-radius: 3em;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  z-index: 1;
  padding: 0 1em;
}

.home04item .recom:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 2px 0 2px;
  border-color: #f9bf4e transparent transparent transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.home04item .circle {
  width: 180px;
  height: 180px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  background-color: #fff;
  border-radius: 50%;
}

.home04item a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 1em;
}

.home04item .ct {
  margin-top: .75em;
  margin-bottom: .25em;
}

.home04item .icon {
  text-align: center;
}

.home04item .subtit {
  text-align: center;
  line-height: 1.4;
  margin: .25em 0;
}

.home04item .arrow {
  color: #58c1ab;
  line-height: 1;
}

.home04item .arrow:before {
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.home04item [class*="heightLine"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: inherit;
}

.home05list {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.home05item .pbox .ofiImg {
  border-radius: 1.5em;
  overflow: hidden;
}

.home05item .tbox .tboxin {
  border-radius: 1.5em;
  padding: 1.5em;
  position: relative;
  z-index: 2;
}

.home05item .tbox .cattitbox * {
  color: inherit;
}

.home05list .home05item:nth-of-type(odd) .pbox .pic {
  width: 104%;
  margin-left: -4%;
}

.home05list .home05item:nth-of-type(even) .pbox .pic {
  width: 104%;
}

.home05list .home05item:nth-of-type(odd) .tbox .tboxin {
  width: 104%;
}

.home05list .home05item:nth-of-type(even) .tbox .tboxin {
  width: 104%;
  margin-left: -4%;
}

.home05list .home05item:nth-of-type(3n+1) .tbox .tboxin {
  background-color: rgba(248, 251, 243, .85);
}

.home05list .home05item:nth-of-type(3n+2) .tbox .tboxin {
  background-color: rgba(243, 248, 250, .85);
}

.home05list .home05item:nth-of-type(3n+3) .tbox .tboxin {
  background-color: rgba(254, 249, 238, .85);
}

.home05list .home05item:nth-of-type(3n+1) .tbox .cattitbox {
  color: #58c1ab;
}

.home05list .home05item:nth-of-type(3n+2) .tbox .cattitbox {
  color: #57acbf;
}

.home05list .home05item:nth-of-type(3n+3) .tbox .cattitbox {
  color: #f9bf4e;
}

.home05list .home05item:nth-of-type(3n+1) .tbox .btn {
  background-color: #58c1ab;
}

.home05list .home05item:nth-of-type(3n+2) .tbox .btn {
  background-color: #57acbf;
}

.home05list .home05item:nth-of-type(3n+3) .tbox .btn {
  background-color: #f9bf4e;
}

.hblog.home06item .listbox {
  border-color: #58c1ab;
}

.hblog.home06item .more02 .btn {
  background-color: #58c1ab;
}

.hnews.home06item .listbox {
  border-color: #57acbf;
}

.hnews.home06item .more02 .btn {
  background-color: #57acbf;
}

.home06item .titbox {
  padding: 0 1em;
}

.home06item .listbox {
  background-color: #fff;
  margin: 1em 0;
  border-top: 3px solid;
  border-bottom: 3px solid;
}

.home06item .list {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 400px;
  padding: 1.5em 1.5em;
}

.home06item .list::-webkit-scrollbar {
  height: .75em;
  width: .75em;
}

.home06item .list::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 30px;
}

.home06item .list::-webkit-scrollbar-track-piece {
  background: #eee;
}

.home06item .item a {
  display: block;
  opacity: 1;
}

.home07item {
  border-radius: 1.5em;
}

[data-element-id] .home07item a {
  height: auto;
}

.home07item a {
  display: block;
  height: 100%;
}

.home07item .tbox {
  padding: 3em 2em;
  color: #fff;
  height: 100%;
  background-color: rgba(87, 172, 191, .6);
  max-width: 50%;
}

.home07item .tbox * {
  color: inherit;
}

.home07list .home07item:nth-of-type(odd) .tbox {
  background-color: rgba(87, 172, 191, .6);
}

.home07list .home07item:nth-of-type(even) .tbox {
  background-color: #ffc5db;
}

.home07list .home07item .ofiImg.tc:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, .2);
}

@media only screen and (max-width:1024px) {

  .home01box .box01 {
    padding: 2em 2em;
  }

  .home04list {
    width: calc(100% + 1em);
    margin-left: -.5em;
  }

  .home04item {
    width: auto;
    padding: 2em .5em;
  }

  .home07item {
    width: 700px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width:599px) {

  .home04item .circle {
    width: 140px;
    height: 140px;
  }

  .home04item .subtit {
    font-size: 12px;
  }

  .home05list .home05item .pbox .pic {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .home05list .home05item .tbox .tboxin {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .home06item .list {
    height: 50vh;
  }

  .home07item .tbox {
    padding: 1.5em 1.5em;
  }

  .home07item .subtit {
    font-size: 16px;
  }
}

/* ------------------------------
 info
------------------------------ */

.info01box .table01 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.info03item {
  position: relative;
  padding-right: 4em;
  width: 25%;
  margin: 1% 0;
}

.info03list .info03item:last-of-type .pic:after {
  content: none !important;
}

.info03item .pic {
  position: relative;
}

.info03item .pic:after {
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: -2em;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1em;
  height: 1em;
  color: #71cab6;
  font-size: 150%;
  line-height: 1;
  display: inline-block;
}


@media only screen and (max-width:1024px) {

  .info03item {
    padding-right: 3em;
    width: calc(100% / 3);
  }

  .info03item .pic:after {
    right: -1.5em;
  }
}

@media only screen and (max-width:599px) {

  .info03item {
    width: calc(100% / 2);
  }
}

/* ------------------------------
 concept
------------------------------ */

.concept01box .box01 {
  padding: 2em 3em;
  border: 1px solid #6ec9b6;
  border-radius: 2em;
}

.concept01box .box01 .list .item {
  padding: 1em 0;
  border-bottom: 1px solid #6ec9b6;
}

.concept01box .box01 .item dt {
  width: 5em;
}

.concept01box .box01 .item dt+dd {
  width: calc(100% - 6em);
}

.concept02 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width:1024px) {
  .concept01box .box01 {
    padding: 2em 2em;
  }
}

@media only screen and (max-width:599px) {
  .concept01box .box01 .item dt {
    width: 100%;
    margin-bottom: .5em;
    font-weight: 700;
    text-decoration: underline;
    text-underline-position: under;
  }

  .concept01box .box01 .item dt+dd {
    width: 100%;
  }
}

/* ------------------------------
 flow
------------------------------ */

.flow01list .flow01item:last-of-type:after {
  content: none;
}

.flow01item {
  width: calc(100% / 6);
  padding: 1em;
  position: relative;
}

.flow01item .num {
  font-style: italic;
}

.flow01item:after {
  content: '\f101';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: -.5em;
  top: 1.5em;
  color: #58c1ab;
  font-size: 150%;
}

@media only screen and (max-width: 1024px) {
  .flow01item {
    width: calc(100% / 3);
  }
}

@media only screen and (max-width: 599px) {
  .flow01item {
    width: calc(100% / 2);
  }
}

/* ------------------------------
 medical-subjects
------------------------------ */

.medical-subjects01item {
  padding: 2em;
  border-radius: 1.5em;
  background-color: #fff;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ------------------------------
 athome
------------------------------ */

.athome02list {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.athome02item .pbox .ofiImg {
  border-radius: 1.5em;
  overflow: hidden;
}

.athome02item .tbox .tboxin {
  border-radius: 1.5em;
  padding: 1.5em;
  position: relative;
  z-index: 2;
}

.athome02item .tbox .cattitbox * {
  color: inherit;
}

.athome02list .athome02item:nth-of-type(odd) .pbox .pic {
  width: 104%;
  margin-left: -4%;
}

.athome02list .athome02item:nth-of-type(even) .pbox .pic {
  width: 104%;
}

.athome02list .athome02item:nth-of-type(odd) .tbox .tboxin {
  width: 104%;
}

.athome02list .athome02item:nth-of-type(even) .tbox .tboxin {
  width: 104%;
  margin-left: -4%;
}

.athome02list .athome02item:nth-of-type(odd) .tbox .tboxin {
  background-color: rgba(248, 251, 243, .85);
}

.athome02list .athome02item:nth-of-type(even) .tbox .tboxin {
  background-color: rgba(243, 248, 250, .85);
}

.athome02list .athome02item:nth-of-type(odd) .tbox .en {
  color: #58c1ab;
}

.athome02list .athome02item:nth-of-type(even) .tbox .en {
  color: #57acbf;
}

.athome02list .athome02item:nth-of-type(odd) .tbox .btn {
  background-color: #58c1ab;
}

.athome02list .athome02item:nth-of-type(even) .tbox .btn {
  background-color: #57acbf;
}

.athome03 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {

  .athome02list .athome02item .pbox .pic {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .athome02list .athome02item .tbox .tboxin {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 yobou
------------------------------ */

.yobou01box .numlist {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.yobou01box .numlist .numitem {
  position: relative;
  padding: 1em 0 1em 3em;
  border-bottom: 1px solid #58c1ab;
}

.yobou01box .numlist .numitem .num {
  position: absolute;
  left: 0;
  top: 0;
  font-style: italic;
}

.yobou02item {
  padding: 2em 3em;
  border-radius: 1.5em;
  background-color: #fff;
  border: .2em solid #57acbf;
}

.yobou02item .icon {
  display: inline-block;
  position: relative;
  padding: 0 1.75em;
}

.yobou02item .icon:before {
  content: '';
  position: absolute;
  left: 0;
  width: 1.25em;
  height: 2em;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.yobou02list .yobou02item:nth-of-type(2n+1) .icon:before {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/yobou/icon01.png);
}

.yobou02list .yobou02item:nth-of-type(2n+2) .icon:before {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/yobou/icon02.png);
}

.yobou03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.yobou03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.yobou04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}


@media only screen and (max-width: 1024px) {
  .yobou02item {
    padding: 2em 2em;
  }

  .yobou03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .yobou03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .yobou02item {
    padding: 2em 1.5em;
  }

  .yobou03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .yobou03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 palliative
------------------------------ */

.palliative-care02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.palliative-care02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.palliative-care02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.palliative-care02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/palliative-care/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.palliative-care02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.palliative-care02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.palliative-care03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.palliative-care03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.palliative-care04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {

  .palliative-care03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .palliative-care03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .palliative-care02item .subtit {
    padding: .5em 1.5em;
  }

  .palliative-care02item .subtit+.textbox {
    padding-left: 5em;
  }

  .palliative-care02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }

  .palliative-care03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .palliative-care03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 kanpou
------------------------------ */

.kanpou02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.kanpou02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.kanpou02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.kanpou02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/kanpou/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.kanpou02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.kanpou02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {

  .kanpou02item .subtit {
    padding: .5em 1.5em;
  }

  .kanpou02item .subtit+.textbox {
    padding-left: 5em;
  }

  .kanpou02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }
}

/* ------------------------------
 medical-fasting
------------------------------ */

.medical-fasting01box {
  padding: 3em 2em;
}

.medical-fasting01box .numlist {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.medical-fasting01box .numlist .numitem {
  position: relative;
  padding: 1em 0 1em 3em;
  border-bottom: 1px solid #58c1ab;
}

.medical-fasting01box .numlist .numitem .num {
  position: absolute;
  left: 0;
  top: 0;
  font-style: italic;
}

.medical-fasting01list .medical-fasting01item:nth-of-type(3n+1) {
  background-color: #f8fbf3;
}

.medical-fasting01list .medical-fasting01item:nth-of-type(3n+2) {
  background-color: #fef9ee;
}

.medical-fasting01list .medical-fasting01item:nth-of-type(3n+3) {
  background-color: #f3f8fa;
}

.medical-fasting01item {
  padding: 2em 1em;
  border-radius: 1.5em;
}

.medical-fasting02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.medical-fasting02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.medical-fasting02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.medical-fasting02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/medical-fasting/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.medical-fasting02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.medical-fasting02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.medical-fasting03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.medical-fasting03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.medical-fasting04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {

  .medical-fasting01item {
    width: 48%;
  }

  .medical-fasting03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .medical-fasting03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .medical-fasting01box {
    padding: 3em 1.5em;
  }

  .medical-fasting01item {
    width: 100%;
    padding: 3em 1.5em;
  }

  .medical-fasting02item .subtit {
    padding: .5em 1.5em;
  }

  .medical-fasting02item .subtit+.textbox {
    padding-left: 5em;
  }

  .medical-fasting02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }

  .medical-fasting03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .medical-fasting03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 time-waver
------------------------------ */

.time-waver01box .box01 {
  padding: 3em;
  border-radius: 1.5em;
  background-color: #f8fbf3;
}

.time-waver01box .box01 .subtit:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/time-waver/icon02.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  width: 2.6em;
  height: 2.6em;
}

.time-waver01box .box01 .subtit {
  position: relative;
  padding-left: 3.5em;
}

.time-waver01box .box01 .subtit+.text {
  padding-left: 3.5em;
}

.time-waver01box .box02 .item {
  padding: .5em 1em;
  border-radius: 1em;
  border: .2em solid #57acbf;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  line-height: 1.4;
  min-height: 4em;
}

.time-waver02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.time-waver02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.time-waver02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.time-waver02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/time-waver/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.time-waver02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.time-waver02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.time-waver03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.time-waver03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.time-waver04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {

  .time-waver01box .box01 .subtit {
    margin-bottom: 1.5em;
  }

  .time-waver01box .box01 .subtit+.text {
    padding-left: 0;
  }

  .time-waver03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .time-waver03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .time-waver01box .box01 {
    padding: 3em 1.5em;
  }

  .time-waver02item .subtit {
    padding: .5em 1.5em;
  }

  .time-waver02item .subtit+.textbox {
    padding-left: 5em;
  }

  .time-waver02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }

  .time-waver03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .time-waver03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 osteopathy
------------------------------ */

.osteopathy02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.osteopathy02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.osteopathy02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.osteopathy02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/osteopathy/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.osteopathy02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.osteopathy02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.osteopathy04list {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.osteopathy04item {
  padding: 3em 0;
  border-bottom: 1px solid #f9bf4e;
}

.osteopathy04item .que {
  padding-left: 4em;
  position: relative;
}

.osteopathy04item .que:before {
  content: 'Q';
  position: absolute;
  font-size: 3em;
  color: #f9bf4e;
  left: 0;
  top: -.25em;
  line-height: 1;
  font-weight: 700;
}

.osteopathy04item .ans {
  padding-left: 4em;
  padding-top: 1.5em;
  position: relative;
}

.osteopathy04item .ans:before {
  content: 'A';
  position: absolute;
  left: .75em;
  top: .1em;
  font-weight: 700;
  font-size: 3.25em;
  color: #e4f3f0;
  font-family: 'Noto Serif JP', serif;
  line-height: 1;
  z-index: -1;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {

  .osteopathy02item .subtit {
    padding: .5em 1.5em;
  }

  .osteopathy02item .subtit+.textbox {
    padding-left: 5em;
  }

  .osteopathy02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }
}

/* ------------------------------
 therapy-counseling
------------------------------ */

.therapy-counseling02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.therapy-counseling02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.therapy-counseling02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.therapy-counseling02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/therapy-counseling/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.therapy-counseling02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.therapy-counseling02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.therapy-counseling03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.therapy-counseling03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.therapy-counseling04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {

  .therapy-counseling03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .therapy-counseling03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .therapy-counseling02item .subtit {
    padding: .5em 1.5em;
  }

  .therapy-counseling02item .subtit+.textbox {
    padding-left: 5em;
  }

  .therapy-counseling02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }

  .therapy-counseling03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .therapy-counseling03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 supplement
------------------------------ */

.supplement01box .box01 {
  padding: 3em;
  border-radius: 1.5em;
  background-color: #f8fbf3;
}

.supplement01box .box01 .subtit:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/supplement/icon02.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  width: 1.5em;
  height: 3em;
}

.supplement01box .box01 .subtit {
  position: relative;
  padding-left: 2.5em;
}

.supplement01box .box01 .subtit+.text {
  padding-left: 2.5em;
}

.supplement02list {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.supplement02item .subtit {
  background-color: #f3f8fa;
  border-radius: 3em;
  padding: .5em 2em;
}

.supplement02item .subtit .icon {
  display: inline-block;
  position: relative;
  padding-left: 2.5em;
}

.supplement02item .subtit .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 1.5em;
  height: 1.5em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/supplement/icon01.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}

.supplement02item .subtit+.textbox {
  position: relative;
  padding-left: 8em;
  padding-top: 1em;
}

.supplement02item .subtit+.textbox:before {
  content: '';
  position: absolute;
  left: 4em;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2em 0 0 2em;
  border-color: #f3f8fa transparent;
}

.supplement03box .tbox .tboxin {
  width: 108%;
  margin-left: -8%;
  border-radius: 1.5em;
  padding: 2.5em;
  position: relative;
  z-index: 2;
  background-color: rgba(254, 249, 238, .85);
  min-height: 18em;
}

.supplement03box .pbox .pic {
  margin-left: calc((100vw - 1000px) / -2);
}

.supplement04 .ofiImg.tc:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, .85)), color-stop(15%, rgba(255, 255, 255, .85)), to(rgba(255, 255, 255, 0)));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .85) 15%, rgba(255, 255, 255, 0));
}

@media only screen and (max-width: 1024px) {

  .supplement01box .box01 .subtit {
    margin-bottom: 1.5em;
  }

  .supplement01box .box01 .subtit+.text {
    padding-left: 0;
  }

  .supplement03box .pbox .pic {
    margin-left: calc((100vw - 95vw) / -2);
  }

  .supplement03box .tbox .tboxin {
    padding: 2em;
  }
}

@media only screen and (max-width: 599px) {

  .supplement01box .box01 {
    padding: 3em 1.5em;
  }

  .supplement02item .subtit {
    padding: .5em 1.5em;
  }

  .supplement02item .subtit+.textbox {
    padding-left: 5em;
  }

  .supplement02item .subtit+.textbox:before {
    content: '';
    position: absolute;
    left: 2em;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2em 0 0 2em;
    border-color: #f3f8fa transparent;
  }

  .supplement03box .pbox .pic {
    width: 102vw;
    max-width: inherit;
    margin-right: 0 !important;
    margin-left: -5.5% !important;
  }

  .supplement03box .tbox .tboxin {
    padding: 2em 1.5em;
    width: 100% !important;
    margin-left: 0 !important;
  }
}

/* ------------------------------
 faq
------------------------------ */

.faq01list {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.faq01item {
  padding: 3em 0;
  border-bottom: 1px solid #f9bf4e;
}

.faq01item .que {
  padding-left: 4em;
  position: relative;
}

.faq01item .que:before {
  content: 'Q';
  position: absolute;
  font-size: 3em;
  color: #f9bf4e;
  left: 0;
  top: -.25em;
  line-height: 1;
  font-weight: 700;
}

.faq01item .ans {
  padding-left: 4em;
  padding-top: 1.5em;
  position: relative;
}

.faq01item .ans:before {
  content: 'A';
  position: absolute;
  left: .75em;
  top: .1em;
  font-weight: 700;
  font-size: 3.25em;
  color: #e4f3f0;
  font-family: 'Noto Serif JP', serif;
  line-height: 1;
  z-index: -1;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ------------------------------
 price
------------------------------ */

.price01item .table02 {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ------------------------------
 blog
------------------------------ */

.blogitem {
  background-color: #fff;
  overflow: hidden;
  border-radius: .5em;
}


.blogitem a {
  display: block;
}

.blogitem .tbox {
  padding: 1em 1em 3em;
}

.blogitem .tbox .bb {
  padding-bottom: .1em;
  border-bottom: .2em solid #ccc;
  line-height: 1.6;
}

.blogitem .tbox .bb.クリニックからのお知らせ {
  border-color: #57acbf;
}

.blogitem .tbox .bb.ブログ {
  border-color: #58c1ab;
}

.blogitem .tbox .bb.その他 {
  border-color: #f9bf4e;
}

.blogitem .tbox .tit {
  margin: 1em 0 0;
}

.blog_detail01box .singlebox {
  background-color: #fff;
  padding: 6em;
  background-image: url(/import/tenant_1/160.16.53.65/html/images/blog/blog_detail01_01.png), url(/import/tenant_1/160.16.53.65/html/images/blog/blog_detail01_02.png);
  background-repeat: no-repeat;
  background-position: left 1em top 1em, right 1em top 1em;
  border-radius: 1.5em;
}

.blog_detail01box .singlebox .single {
  padding: 3em 0;
  border-bottom: 1px solid #58c1ab;
}

.blog_detail02 .blogitem {
  -webkit-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
}

@media only screen and (max-width: 1024px) {
  .blog_detail01box .singlebox {
    background-size: 18% auto;
  }
}

@media only screen and (max-width: 599px) {
  .blog_detail01box .singlebox {
    padding: 6em 3em;
  }
}

/* ------------------------------
 contact
------------------------------ */

.contact01item .more05 .icon {
  padding: 0 1.5em 0 1.75em;
  position: relative;
  line-height: 1.4;
  display: inline-block;
}

.contact01item .more05.tel .icon:before {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/contact/icon01.png);
}

.contact01item .more05.type02 .icon:before {
  background-image: url(/import/tenant_1/160.16.53.65/html/images/contact/icon02.png);
}

.contact01item .more05.type02 span {
  line-height: 1.4;
}

.contact01item .more05 .icon:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% auto;
  width: 1.17em;
  height: 1.17em;
}

.contact01item .more05.type02 .icon:after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 100% auto;
  width: 1.17em;
  height: 1.17em;
  background-image: url('/upload/tenant_1/e97b780681af0a4bd3ad5de9013fec8d.png');
}

.contact01item .more05.type02 .br {
  display: none;
}

.contact-reserve-box {
  background: #F7FAF1;
  padding: 25px;
}

.contact-reserve-box .online a {
  display: inline-block;
  max-width: 600px;
}

.contact03listbox {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.contact03list .contact03item:nth-of-type(odd) {
  background-color: #f8fbf3;
}

.contact03list .contact03item:nth-of-type(even) {
  background-color: #f3f8fa;
}

.contact03item {
  padding: 3em;
  border-radius: 1.5em;
}

.contact03list .contact03item:nth-of-type(odd) dt {
  color: #58c1ab;
}

.contact03list .contact03item:nth-of-type(even) dt {
  color: #57acbf;
}

.contact03item .numlist {
  padding-left: 1em;
}

.contact03item .numitem dt {
  position: relative;
  padding-left: 30px;
}

.contact03item .numitem dt .num {
  position: absolute;
  left: 0;
}

.contact03item .numitem dt .bb {
  padding-bottom: .25em;
  border-bottom: 1px solid;
  display: block;
}

.contact03item .numitem dd {
  padding-left: 30px;
  margin: .5em 0;
}


@media only screen and (max-width: 1024px) {

  .contact03item .numitem dt {
    padding-left: 25px;
  }

  .contact03item .numitem dd {
    padding-left: 25px;
  }
}

@media only screen and (max-width: 599px) {

  .contact01item .more05 .icon {
    font-size: 18px;
  }

  .contact03item .numlist {
    padding-left: 0;
  }

  .contact-reserve-box {
    padding: 15px;
  }

  .contact01item .more05.type02 .br {
    display: block;
  }
}

.faddress {
  margin-bottom: 40px;
  font-size: 13px;
  text-align: center;
}

.faddress .tel {
  display: inline-block;
  margin-right: 10px;
}

.fonline {
  margin-bottom: 40px;
  text-align: center;
}

.supplement01box.info03tbox .box01 {
  background-color: #fff;
}

.supplement01box.info03tbox .box01 dl {
  margin-bottom: 20px;
}

.supplement01box.info03tbox .box01 .subtit.address:before {
  background-image: url(/upload/tenant_1/779503280e07fabf87e76328a59feffc.png);
}

.supplement01box.info03tbox .box01 .subtit.car:before {
  background-image: url(/upload/tenant_1/6478b9344918e3f51740c04976fb928a.png);
}

.supplement01box .box01 .subtit span {
  color: rgba(112, 184, 201, 1);
}

.supplement01box .box01 .text a {
  text-decoration: underline;
}

a.underline {
  text-decoration: underline;
}

.color-blue {
  color: #70b8c9;
}

.supplement01box.info03tbox .box01 .subtit.train:before {
  background-image: url(/upload/tenant_1/0b74716260a7921beaad61852adb7faa.png);
}

.main-site-bnr a {
  display: block;
}

.main-site-bnr .pbox {
  width: 50%;
  position: relative;
  z-index: 0;
}

.main-site-bnr .tbox {
  width: 50%;
  padding: 10px;
  position: relative;
  z-index: 2;
}

.main-site-bnr .ttl {
  font-weight: bold;
  margin-bottom: 10px;
}

.main-site-bnr .bnr-logo img {
  width: 85%;
}

.main-site-bnr {
  background: #fff;
  border: 1px solid #58c1ab;
}

.main-site-bnr .flex {
  position: relative;
}

.main-site-bnr .flex:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  background: rgb(255, 255, 255);
  background: rgb(255, 255, 255);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(35%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(255, 255, 255, 1)), to(rgba(255, 255, 255, 1)));
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 35%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 1) 100%);
}

.cookie-consent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 12px;
  color: #fff;
  background: rgba(0, 0, 0, .7);
  padding: 1.2em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  visibility: visible;
  z-index: 9999;
}

[data-element-id] .cookie-consent {
  position: static;
}

.cookie-consent a {
  color: #fff !important;
}

.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
  white-space: nowrap;
  margin-left: 10px;
}

.cookie-agree:hover {
  cursor: pointer;
}

.cookie-text {
  color: #fff;
}

/* 追従ボタン作り直し */
.ffix02 {
  position: fixed;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 20;
}
.ffix02.under-fix {
  z-index: 18;
}

.ffix02 a {
  display: block;
  width: 65px;
  padding: 1em 0.5em;
  -webkit-writing-mode: tb-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: tb-rl;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  background-color: #007bd0;
  border-radius: 1.5em;
  min-height: 123px;
  opacity: 0.8;
}

.ffix02 .access a {
  background-color: #91dbb9;
}
.ffix02 .access a:hover {
  background-color: #DB91B3;
}
.ffix02 .time a {
  background-color: #97d3e3;
}
.ffix02 .time a:hover {
  background-color: #E3A797;
}
.ffix02 .reserve a {
  background-color: #bfc2df;
}
.ffix02 .reserve a:hover {
  background-color: #DFDCBF;
}
.ffix02 .online a {
  background-color: #e7a5c9;
}
.ffix02 .online a:hover {
  background-color: #A5E7C3;
}

.ffix02.ab-test .access a {
  background-color: #339999;
}
.ffix02.ab-test .access a:hover {
  background-color: #993333;
}
.ffix02.ab-test .time a {
  background-color: #66cc99;
}
.ffix02.ab-test .time a:hover {
  background-color: #CC6699;
}
.ffix02.ab-test .reserve a {
  background-color: #cc9999;
}
.ffix02.ab-test .reserve a:hover {
  background-color: #99CCCC;
}
.ffix02.ab-test .online a {
  background-color: #cc6666;
}
.ffix02.ab-test .online a:hover {
  background-color: #66CCCC;
}

.ffix02 li {
  margin: 10px 0;
}

.ffix02 span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.ffix02.ab-test a {
  background-color: #F9C054;
}

[data-element-id] .ffix02.under-fix {
  position: relative;
  border: 1px solid #ccc;
  margin-top: 30px;
}
[data-element-id] .ffix02.under-fix:after {
  content: "↓削除しないでください。cookieオフが原因でABテストが表示されない時用です。↓";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(-100%);
  -webkit-transform: translateY(-100%);
  color: #fff;
  text-align: center;
  background-color: #ccc;
}

@media only screen and (max-width: 1024px) {
  .ffix02 {
    top: auto;
    bottom: 0;
    width: 100%;
    -webkit-transform: none;
    transform: none;
  }

  .ffix02 ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .ffix02 li {
    width: calc(25% - 1px);
    margin: 0;
  }

  .ffix02 a {
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    padding: 0.5em;
    width: 100%;
    height: 100%;
    border-radius: 0;
    min-height: auto;
    padding: 1em 0.5em;
    opacity: 0.9;
    font-weight: bold;
  }
  
  .ffix02.ab-test a {
    opacity: 0.8;
  }



  .ffix02 a:before {
    content: "\f3c5";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 30px;
    line-height: 1.2;
  }

  .ffix02 .time a:before {
    content: "\f017";
  }

  .ffix02 .reserve a:before {
    content: "\f274";

  }

  .ffix02 .online a:before {
    content: "\f3cd";

  }

  .ffix02 span {
    width: 100%;
    text-align: center;
    text-decoration: underline;

    line-height: 1.3;
    margin-top: 5px
  }
}

@media only screen and (max-width: 599px) {
  .ffix02 a:before {
    font-size: 20px;
  }
  
  .ffix02 a {
    padding: 0.5em 0.5em 0.7em;
  }

  .ffix02 span {
    font-size: 11px;
    line-height: 1;
  }
}

[data-element-id] .ffix02 {
  position: static;
  -webkit-transform: none;
  transform: none;
}


/* 下層ページの上部の余白を詰める */

.second main section:nth-of-type(2) {
  padding-top: 30px;
}


@media only screen and (max-width: 599px) {
.h1-heigt{
  line-height: 0 !important;
}

.homeSlide .tbox h2 {
        font-size: calc(30px + ((1vw - 10px) * 2));
        white-space: nowrap;
        text-align: center;
    }
    
    .supplement01box .box01 {
        padding: 1.5rem 1.5em;
    }
 
 .bg01 {
        padding: 1.5em 1.5em;
    }
 
 .supplement03box .tbox .tboxin {
    min-height: 12em;
}
 

 .contact03item {
    padding: 2em;
 }
 
     .therapy-counseling03box .tbox .tboxin {
        padding: 1em;
     }
 
 .therapy-counseling03box .tbox .tboxin {
    min-height: 13em;
}
 
 .fz20 {
        font-size: 20px;
    }

 .time-waver01box .box01 {
        padding: 2em 1.5em;
    }
 
.area[class*="bg"]+.area, .area[class*="relative"]+.area {
        padding-top: 30px;
    } 
 
.faq01item .ans {
    padding-top: 1em;
}
 
 .fz18 {
        font-size: 16px;
    }
    
.medical-fasting01item {
        padding: 2em 1.5em;
    }
 
}

.cont1000 {
    max-width: 1100px;
}

@media only screen and (max-width: 599px) {
      .home04item .subtit {
        font-size: 13px;
}

.fz16 {
        font-size: 16px;
    }


.bg01 {
        padding: 1.5em 0.5em;
    }

div{
font-size: 16px;
}

.athome02item .tbox .tboxin {
    padding: 1em 1.5rem;
}

    .therapy-counseling03box .tbox .tboxin {
        min-height: 12em;
    }
}
