@charset "UTF-8";
/*フォント
----------------------------------------------------*/
/*基本設定
----------------------------------------------------*/
body {
  margin: 0;
  padding: 0;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", sans-serif;
  color: #333;
  line-height: 1.85;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  position: relative;
}

html {
  overflow-y: scroll;
}

a {
  color: #0065b2;
  text-decoration: underline;
}

a:hover {
  color: #0065b2;
  text-decoration: none;
  opacity: 0.8;
}

img {
  border: 0;
}

h1, h2, h3, h4, h5, p {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ul, li, dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

table {
  width: 100%;
  border: 0;
}

figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.clear {
  clear: both;
}

.bold {
  font-weight: bold;
}

.fix {
  min-height: 1px;
}

.fix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

* html .fix {
  height: 1px;
  /*\*/
  /*/
height: auto;
overflow: hidden;
/**/
}

.red {
  color: #f73609;
}

.img01 {
  line-height: 0;
}

.img01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.img_f-r {
  float: right;
  margin-left: 30px;
  margin-bottom: 15px;
}

.img_f-r img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.tac {
  text-align: center;
}

.strong01 {
  font-weight: bold;
}

.strong02 {
  font-size: 18px;
  font-weight: bold;
  color: #f2621f;
}

.strong03 {
  font-size: 18px;
  font-weight: bold;
}

.strong04 {
  font-weight: bold;
  color: #f2621f;
}

.strong05 {
  font-size: 1.6em;
  font-weight: bold;
  color: #7fb700;
  background: linear-gradient(transparent 60%, #f8f5b4 60%);
}

.strong06 {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #f8f5b4 60%);
}

.strong07 {
  color: #cf0700;
}

.strong08 {
  color: #de5421;
}

.ttl01 {
  background: #0065b2;
  box-sizing: border-box;
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 16px;
}

.ttl01 span {
  display: block;
  border-left: 4px solid #fff;
  padding-left: 12px;
  padding-top: 4px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
}

.ttl02 {
  background: #0065b2;
  box-sizing: border-box;
  padding: 16px 24px;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 32px;
}

.ttl03 {
  display: block;
  width: 100%;
  font-size: 15px;
  border-bottom: 1px dotted #cfcfc5;
  padding-bottom: 4px;
  margin-bottom: 12px;
}

.ttl04 {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 16px;
}

.ttl05 {
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px dashed #0065b2;
  padding-bottom: 4px;
  margin-bottom: 12px;
  line-height: 1.5;
}

.ttl06 {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 12px;
}

.tbl01 {
  border: 1px solid #d4d0c5;
  border-collapse: collapse;
  margin-bottom: 1em;
}

.tbl01 tbody tr {
  border: 1px solid #d4d0c5;
}

.tbl01 tbody tr th {
  background: #f5f8fa;
}

.tbl01 tbody tr th p {
  font-weight: bold;
}

.tbl01 tbody tr th, .tbl01 tbody tr td {
  border: 1px solid #d4d0c5;
  box-sizing: border-box;
  padding: 12px;
}

.tbl01 tbody tr th .br, .tbl01 tbody tr td .br {
  display: block;
}

/*header
----------------------------------------------------*/
#header {
  background: #fff;
  padding: 16px 0 48px;
}

.h_wrap {
  width: 95%;
  max-width: 1240px;
  margin: 0 auto;
}

.h_h1-t h1 {
  font-size: 13px;
  letter-spacing: 0.025em;
}

.h_conts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}

.h_logo img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.h_logo .h_logo-sp {
  display: none;
}

.h_access {
  margin-top: 32px;
}

.h_access p {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.025em;
}

.h_conts-r {
  display: flex;
  flex-direction: column;
  margin-top: -2em;
}

.h_conts-r-tb {
  width: 100%;
}

.h_conts-tel {
  padding: 0 8px;
  box-sizing: border-box;
  border-bottom: 1px solid #dfdad6;
  margin-right: 16px;
}

.h_conts-tel-text {
  width: 100%;
  position: relative;
  text-align: center;
  line-height: 1;
}

.h_conts-tel-text:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #dfdad6;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.h_conts-tel-text span {
  display: inline-block;
  font-size: 17px;
  font-weight: bold;
  color: #544124;
  box-sizing: border-box;
  padding: 0 12px;
  line-height: 1.25;
  background: #fff;
  position: relative;
}

.h_conts-tel-num {
  box-sizing: border-box;
  margin: 6px 0 8px;
  line-height: 1;
}

.h_conts-tel-num img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.h_conts-r-t {
  display: flex;
  justify-content: center;
}

.h_conts-r-b {
  margin-top: 12px;
}

.h_conts-r-b dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.h_conts-r-b dl:last-of-type {
  margin-bottom: 0;
}

.h_conts-r-b dl dt, .h_conts-r-b dl dd {
  font-size: 14px;
  letter-spacing: 0.025em;
  line-height: 1.75;
  white-space: nowrap;
  color: #544124;
}

.h_conts-r-b dl dt {
  font-weight: bold;
}

.h_conts-btnlist {
  display: flex;
  flex-wrap: wrap;
}

.h_conts-btn {
  margin-left: 12px;
}

.h_conts-btn a {
  width: clamp(100px, 13vw, 160px);
  max-width: 160px;
  min-height: 66px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
  text-decoration: none;
}

.h_conts-btn a img {
  margin-right: 8px;
}

.h_conts-btn-reserve a {
  background: #0d6eb2;
}

.h_conts-btn-line a {
  background: #3ca28c;
}

/*nav
----------------------------------------------------*/
#nav {
  padding: 8px 0;
}

.nav_wrap {
  width: 95%;
  max-width: 1240px;
  margin: 0 auto;
}

.nav_wrap ul {
  display: flex;
  justify-content: space-between;
}

.nav_wrap ul li {
  width: calc(100% / 7);
  border-right: 1px solid #eee9e0;
}

.nav_wrap ul li:first-of-type {
  border-left: 1px solid #eee9e0;
}

.nav_wrap ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(14px, 1.25vw, 16px);
  color: #333;
  text-decoration: none;
  padding: 16px 0;
}

.nav_wrap ul li a:hover {
  opacity: 1;
}

.nav_sp {
  display: none;
}

/*main
----------------------------------------------------*/
#main {
  display: block;
  width: 95%;
  max-width: 1240px;
  background: #fff;
  margin: 64px auto 120px;
  box-sizing: border-box;
}

.main_wrap {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

#conts {
  width: 720px;
}

/*conts
----------------------------------------------------*/
.conts01 {
  margin-top: 48px;
}

.conts01.mt0 {
  margin-top: 0;
}

/*キャンペーン
----------------------------------------------------*/
.campaign {
  width: 100%;
  position: relative;
}

.campaign_ttl {
  line-height: 0;
}

.campaign_ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.campaign_conts {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  border: 4px solid #f0eedf;
  border-top: none;
  box-sizing: border-box;
  padding: 48px 22px 24px;
  margin-top: -22px;
}

.campaign_offer {
  position: relative;
  min-height: 158px;
}

.campaign_offer-limit {
  text-align: center;
  position: relative;
  top: -12px;
}

.campaign_offer-limit span {
  display: inline-block;
  position: relative;
  font-size: 26px;
  font-weight: bold;
  padding: 0 16px;
  line-height: 1.25;
}

.campaign_offer-limit span:before, .campaign_offer-limit span:after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #333;
  position: absolute;
  bottom: 0;
}

.campaign_offer-limit span:before {
  left: 0;
  transform: rotate(-35deg);
}

.campaign_offer-limit span:after {
  right: 0;
  transform: rotate(35deg);
}

.campaign_offer-price {
  position: absolute;
  bottom: 0;
  text-align: center;
  left: 0;
  right: 0;
}

.campaign_offer-price img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.campaign_offer-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cb4212;
  box-sizing: border-box;
  padding: 12px;
  background: #fcfbd9;
  margin: 12px auto 10px;
}

.campaign_offer-detail p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

.campaign_offer-text01 {
  display: flex;
  justify-content: center;
}

.campaign_offer-text01 p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}

.campaign_offer-text01 p.campaign_offer-text01-memo {
  position: relative;
  padding-left: 1em;
  color: #cf0700;
}

.campaign_offer-text01 p.campaign_offer-text01-memo:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.campaign_message {
  border-top: 2px dotted #c9c9c9;
  margin-top: 16px;
  padding-top: 28px;
  display: flex;
  justify-content: space-between;
}

.campaign_message-ttl {
  text-align: center;
  margin-bottom: 12px;
  line-height: 1;
}

.campaign_message-ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.campaign_message-text {
  width: calc(100% - 104px);
  margin-right: 24px;
}

.campaign_message-img {
  width: 100%;
  max-width: 104px;
}

/*驚きの変化！ あなたも実感してください！
----------------------------------------------------*/
.ba {
  background: url("../images/top/bg_ba01.png") repeat left top;
  box-sizing: border-box;
  padding: 24px;
}

.ba_ttl {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}

.ba_mainttl,
.ba_subttl {
  text-align: center;
  margin-bottom: 0 !important;
  line-height: 1;
}

.ba_mainttl {
  margin-top: -16px;
}

.ba_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.ba_area {
  background: #fff;
  box-sizing: border-box;
  padding: 48px 24px 12px;
  margin-top: 12px;
}

.ba_conts-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.ba_conts-ba {
  width: auto;
}

.ba_conts01 {
  margin-top: 96px;
}

.ba_conts02 {
  margin-top: 144px;
}

.ba_conts02 .ba_conts-ba {
  max-width: 230px;
}

.ba_conts03 {
  margin-top: 144px;
}

.ba_conts03 .ba_conts-ba {
  max-width: 230px;
}

.ba_conts-text {
  box-sizing: border-box;
  padding: 12px;
  text-align: center;
}

.ba_conts-text-before {
  background: #0065b2;
}

.ba_conts-text-after {
  background: #fff200;
}

.ba_conts-arrow {
  width: auto;
  max-width: 52px;
  margin: 0 20px;
}

.ba_conts-text01 {
  margin-bottom: 0 !important;
  line-height: 1;
}

.ba_conts-text01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.ba_conts-img img,
.ba_conts-arrow-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.ba_conts-a {
  position: relative;
}

.ba_conts-fukidashi {
  position: absolute;
}

.ba_conts-fukidashi img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.ba_conts-fukidashi01 {
  right: -20%;
  top: -110px;
  width: 50vw;
  height: 100%;
  max-width: 326px;
  max-height: 145px;
}

.ba_conts-fukidashi02 {
  right: -10%;
  top: -112px;
  width: 50vw;
  height: 100%;
  max-width: 265px;
  max-height: 145px;
}

.ba_conts-fukidashi03 {
  right: -25%;
  top: -120px;
  width: 50vw;
  height: 100%;
  max-width: 394px;
  max-height: 145px;
}

.ba_conts-memo {
  margin-top: 48px;
  text-align: right;
  font-size: 14px;
  position: relative;
}

.ba_conts-memo p {
  position: relative;
}

.ba_conts-memo p:before {
  content: "※";
}

/*お客様の声
----------------------------------------------------*/
.voice_ttl {
  background: #0065b2;
  box-sizing: border-box;
  padding: 36px 40px;
  position: relative;
}

.voice_ttl:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 36px solid transparent;
  border-top: 28px solid #0065b2;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.voice_memo {
  margin: 12px 0;
}

.voice_memo p {
  font-size: 14px;
  line-height: 1.5;
  text-align: right;
}

.voice_contslist {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 16px;
}

.voice_conts {
  width: calc(50% - 24px);
  margin-right: 48px;
  margin-bottom: 24px;
  box-sizing: border-box;
  border: 6px solid #0065b2;
  padding: 32px 27px;
  position: relative;
}

.voice_conts:nth-of-type(2n) {
  margin-right: 0;
}

.voice_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.voice_text {
  margin: 20px 0 12px;
}

.voice_text p {
  font-size: 18px;
  font-weight: bold;
  color: #0065b2;
  line-height: 1.5;
}

.voice_info {
  display: flex;
  justify-content: center;
  background: #e8f2f8;
  box-sizing: border-box;
  padding: 12px;
}

.voice_info p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  color: #0065b2;
}

.voice_message {
  margin-top: 16px;
}

.voice_message img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*推薦の声
----------------------------------------------------*/
.recommend_ttl {
  background: url("../images/top/recommend_bg01.png") repeat left top;
  box-sizing: border-box;
  padding: 32px;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}

.recommend_ttl01,
.recommend_ttl02 {
  text-align: center;
  line-height: 1;
}

.recommend_ttl01 img,
.recommend_ttl02 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.recommend_ttl02 {
  margin-bottom: 20px;
}

.recommend_mainconts {
  background: #fcfbd9;
  box-sizing: border-box;
  padding: 32px;
}

.recommend_img {
  float: right;
  padding-left: 16px;
  background: #fcfbd9;
}

.recommend_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.recommend_text-ttl {
  background: url("../images/top/recommend_stamp.png") no-repeat left top;
  padding-left: 129px;
  min-height: 113px;
  padding-top: 12px;
  border-bottom: 1px solid #c8c7a3;
  padding-bottom: 0;
  margin-bottom: 16px;
}

.recommend_text-ttl-info,
.recommend_text-ttl-name {
  line-height: 1.5;
}

.recommend_text-ttl-info {
  font-size: 20px;
  font-weight: bold;
}

.recommend_text-ttl-name {
  font-size: 1.45em;
  font-weight: bold;
}

/*お悩みリスト
----------------------------------------------------*/
.nayami {
  background: #d7edfa;
  box-sizing: border-box;
  padding: 24px;
}

.nayami_wrap {
  background: #fff;
  box-sizing: border-box;
  padding: 32px 32px 0;
}

.nayami_ttl {
  width: 100%;
  text-align: center;
  margin-bottom: 24px;
  line-height: 1;
}

.nayami_ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.nayami_conts {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-end;
}

.nayami_img {
  width: 100%;
  max-width: 180px;
  margin-left: 32px;
}

.nayami_text {
  width: calc(100% - 180px);
}

.naymai_list {
  margin-bottom: 40px;
}

.naymai_list li {
  background: url("../images/top/icon_check01.png") no-repeat left 3px;
  padding-left: 32px;
  border-bottom: 2px dotted #eeeeea;
  padding-bottom: 8px;
  margin-bottom: 8px;
}

.naymai_list li strong {
  color: #cb4212;
}

.nayami_ans {
  margin-top: 24px;
}

.nayami_ans-text {
  margin-top: 32px;
}

.nayami_ans-text p {
  margin-bottom: 1em;
}

.nayami_ans-text p:last-of-type {
  margin-bottom: 0;
}

/*5つの安心をお約束
----------------------------------------------------*/
.promise {
  background: url("../images/top/bg_promise.png") repeat left top;
  box-sizing: border-box;
  padding: 40px;
}

.promise_mainttl {
  text-align: center;
  line-height: 1;
}

.promise_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.promise_conts {
  background: #fff;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 56px;
  margin-top: 32px;
}

.promise_conts:last-of-type {
  margin-bottom: 0;
}

.promise_conts-ttl {
  position: absolute;
  left: -24px;
  top: -24px;
}

.promise_conts-ttl-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background: #fff200;
  box-sizing: border-box;
  border-radius: 100px;
  font-size: 36px;
  font-weight: bold;
  color: #0065b2;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
}

.promise_conts-ttl-text {
  width: 280px;
  height: 100%;
  max-height: 56px;
  background: #0065b2;
  box-sizing: border-box;
  padding: 12px;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
  position: relative;
  left: 40px;
  top: 8px;
  display: flex;
  align-items: center;
  line-height: 1;
  padding-left: 48px;
}

.promise_conts-ttl-text:before, .promise_conts-ttl-text:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-right: 20px solid #0065b2;
  position: absolute;
  right: -19px;
}

.promise_conts-ttl-text:before {
  top: -20px;
  transform: rotate(45deg);
}

.promise_conts-ttl-text:after {
  bottom: -20px;
  transform: rotate(-45deg);
}

.promise_conts-wrap {
  box-sizing: border-box;
  padding: 56px 32px 32px;
  box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.16);
  display: flex;
  flex-direction: row-reverse;
}

.promise_conts-img {
  width: 100%;
  max-width: 193px;
}

.promise_conts-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.promise_conts-text {
  width: calc(100% - 193px);
  margin-right: 24px;
}

/*リプラス整体院であなたが得られる3つの未来！
----------------------------------------------------*/
.mirai_ttl {
  text-align: center;
  margin-bottom: 24px;
  line-height: 1;
}

.mirai_ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mirai_img {
  text-align: center;
  line-height: 1;
}

.mirai_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mirai_infomovie {
  margin-top: 20px;
}

.mirai_infomovie-ttl {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  line-height: 1.35;
  color: #0065b2;
  margin-bottom: 12px;
}

.mirai_infomovie-ttl .mirai_infomovie-strong01 {
  font-size: 1.15em;
  background: linear-gradient(transparent 60%, #fff200 60%);
}

.mirai_infomovie-memo {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 32px;
}

.mirai_movie iframe {
  width: 100%;
  height: 100%;
  min-height: 380px;
}

/*このようなお悩みの方が来られています
----------------------------------------------------*/
.top_link-ttl {
  background: #0065b2;
  box-sizing: border-box;
  padding: 32px;
  position: relative;
}

.top_link-ttl:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 32px solid transparent;
  border-top: 32px solid #0065b2;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.top_link-mainttl {
  text-align: center;
  line-height: 1;
}

.top_link-mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.top_link-list {
  margin-top: 56px;
}

.top_link-list ul {
  display: flex;
  flex-wrap: wrap;
}

.top_link-list ul li {
  width: calc(100% / 3 - 14px);
  max-width: 225px;
  margin-right: 21px;
  margin-bottom: 21px;
  line-height: 1;
}

.top_link-list ul li:nth-of-type(3n) {
  margin-right: 0;
}

.top_link-list ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*リプラス整体院は「根本改善」を目指す整体院です
----------------------------------------------------*/
.konpon {
  background: #d7edfa;
  box-sizing: border-box;
  padding: 32px 24px;
}

.konpon_ttl {
  border-top: 3px solid #0065b2;
  box-sizing: border-box;
  padding: 24px 0;
  border-bottom: 3px solid #0065b2;
}

.konpon_mainttl {
  text-align: center;
  line-height: 1;
}

.konpon_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.konpon_mainttl-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 36px;
  font-weight: 900;
  color: #0065b2;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.05em;
}

.konpon_mainttl-text .strong04 {
  font-weight: 900;
}

.konpon_textarea {
  background: #fff;
  box-sizing: border-box;
  padding: 32px 16px;
  margin-top: 24px;
}

.konpon_textarea p {
  margin-bottom: 2em;
}

.konpon_textarea p:last-of-type {
  margin-bottom: 0;
}

/*こんな間違いをしていませんか？
----------------------------------------------------*/
.mistake_ttl {
  background: #0065b2;
  box-sizing: border-box;
  padding: 24px 16px;
}

.mistake_mainttl {
  text-align: center;
  line-height: 0;
}

.mistake_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mistake_listconts {
  border: 1px solid #0065b2;
  box-sizing: border-box;
  padding: 32px;
}

.mistake_listconts li {
  background: url("../images/top/icon_mistake.png") no-repeat left top;
  min-height: 37px;
  padding-left: 48px;
  font-size: 20px;
  margin-bottom: 16px;
  padding-top: 2px;
}

.mistake_listconts li:last-of-type {
  margin-bottom: 0;
}

.mistake_listconts li span {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #fff200 60%);
}

.arrow_conts {
  margin: 24px auto;
}

.mistake_text01 {
  text-align: center;
}

.mistake_text01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mistake_reason {
  margin-top: 112px;
  background: url("../images/top/bg_mistake01.png") repeat left top;
  box-sizing: border-box;
  padding: 24px;
  position: relative;
}

.mistake_reason-ttl {
  margin-top: -80px;
}

.mistake_reason-mainttl {
  line-height: 0;
}

.mistake_reason-mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.mistake_reason-list {
  background: #fff;
  box-sizing: border-box;
  padding: 64px 32px 32px;
  position: relative;
}

.mistake_reason-list-text01 {
  position: absolute;
  right: 80px;
  top: -40px;
}

.mistake_reason-listarea ul {
  counter-reset: num;
}

.mistake_reason-listarea ul li {
  font-size: 28px;
  font-weight: bold;
  color: #0065b2;
  line-height: 1.5;
  position: relative;
  min-height: 70px;
  border-bottom: 3px dotted #ededea;
  padding-left: 86px;
  padding-top: 14px;
  margin-bottom: 20px;
  padding-bottom: 5px;
}

.mistake_reason-listarea ul li:last-of-type {
  margin-bottom: 10px;
}

.mistake_reason-listarea ul li:before {
  content: counter(num);
  counter-increment: num;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  background: #0065b2;
  color: #fff;
  border-radius: 100px;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
}

.mistake_reason-listarea ul li span {
  background: linear-gradient(transparent 60%, #fff200 60%);
  line-height: 1.25;
}

.mistake_reason-text {
  margin-top: 28px;
  background: #66a3d1;
  box-sizing: border-box;
  padding: 32px 16px;
  text-align: center;
  line-height: 1;
  border-radius: 8px;
}

.mistake_reason-text img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*こんな痛みや不調でお困りではありませんか？ 
----------------------------------------------------*/
.condition {
  margin-top: 64px;
}

.condition_conts01 {
  background: url("../images/top/bg_condition01.png") repeat left top;
  box-sizing: border-box;
  padding: 32px;
}

.condition_ttl {
  display: flex;
  justify-content: center;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: -56px;
}

.condition_mainttl img,
.condition_subttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.condition01_list {
  margin-top: 20px;
}

.condition01_list ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 642px;
  margin: 0 auto;
}

.condition01_list ul li {
  width: calc(50% - 12px);
  max-width: 309px;
  margin-right: 24px;
  margin-bottom: 16px;
  line-height: 1;
}

.condition01_list ul li:nth-of-type(2n) {
  margin-right: 0;
}

.condition01_list ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(5px 5px 12px rgba(0, 0, 0, 0.24));
}

.condition_cause-ttl {
  background: #66a3d1;
  box-sizing: border-box;
  padding: 24px 24px 0;
  position: relative;
}

.condition_cause-ttl:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 36px solid transparent;
  border-top: 36px solid #66a3d1;
  position: absolute;
  bottom: -72px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.condition_cause-ttl-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -56px;
}

.condition_cause-mainttl,
.condition_cause-subttl {
  line-height: 0;
}

.condition_cause-mainttl img,
.condition_cause-subttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.condition_cause-mainttl {
  position: relative;
  top: 24px;
}

.condition_cause-conts {
  background: linear-gradient(to bottom, #fffddb 0%, #fffddb 70%, #ffffff 100%);
  box-sizing: border-box;
  padding: 56px 24px 24px;
}

.condition_cause01,
.condition_cause02 {
  text-align: center;
}

.condition_cause01 img,
.condition_cause02 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.condition_cause02 {
  margin-top: 32px;
}

.condition_result-ttl {
  border-top: 2px dotted #b8d4ea;
  border-bottom: 2px dotted #b8d4ea;
  box-sizing: border-box;
  padding: 24px 0;
  text-align: center;
  line-height: 0;
}

.condition_result-ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.condition_result-conts {
  margin: 24px auto;
  text-align: center;
  line-height: 0;
}

/*回復のスイッチを入れるリプラス（Re＋）サイクル！ 
----------------------------------------------------*/
.detail_mainttl {
  background: #0065b2;
  position: relative;
  padding: 48px 12px 12px;
  margin-bottom: 64px;
}

.detail_mainttl:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 32px solid transparent;
  border-top: 32px solid #0065b2;
  position: absolute;
  bottom: -64px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.detail_mainttl-main {
  text-align: center;
}

.detail_mainttl-main img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.detail_mainttl-sub {
  width: 100%;
  text-align: center;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.detail_mainttl-sub img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.detail_conts {
  margin-top: 40px;
}

.detail_conts:first-of-type {
  margin-top: 0;
}

.detail_conts-ttl {
  width: 100%;
  position: relative;
}

.detail_conts-ttl-num {
  width: 88px;
  height: 88px;
  background: #0065b2;
  border-radius: 100px;
  font-size: 36px;
  font-weight: bold;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.detail_conts-ttl-text {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 32px;
  width: calc(100% - 40px);
  max-width: 680px;
  box-sizing: border-box;
  margin-left: 40px;
  min-height: 88px;
}

.detail_conts-ttl-text01,
.detail_conts-ttl-text02 {
  font-size: 24px;
  font-weight: bold;
  color: #0065b2;
  box-sizing: border-box;
  padding: 12px;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.detail_conts-ttl-text01 p,
.detail_conts-ttl-text02 p {
  text-align: center;
  font-weight: bold;
  line-height: 1;
}

.detail_conts-ttl-text01 {
  width: 50%;
  background: #d7edfa;
  position: relative;
  box-sizing: border-box;
  padding-left: 48px;
}

.detail_conts-ttl-text01:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 28px solid transparent;
  border-left: 32px solid #d7edfa;
  position: absolute;
  right: -58px;
  top: 0;
}

.detail_conts-ttl-text02 {
  width: 50%;
  background: #fff200;
  padding-left: 48px;
}

.detail_conts-area-img {
  text-align: center;
  margin-bottom: 8px;
}

.detail_conts-area-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*最適な施術を正しい順序で行うことで、身体は痛みや緊張を手放して『回復のサイクル』に入ります！ 
----------------------------------------------------*/
.curecycle {
  background: url("../images/top/curecycle_bg.png") no-repeat left top/cover;
  width: 100%;
  height: 100%;
  min-height: 242px;
}

.curecycle_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

.curecycle_text,
.curecycle_img {
  position: relative;
  line-height: 0;
}

.curecycle_text img,
.curecycle_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.curecycle_text {
  margin-right: -32px;
  z-index: 2;
}

.curecycle_img {
  z-index: 1;
}

/*認定
----------------------------------------------------*/
.authorization {
  background: #d7edfa;
  box-sizing: border-box;
  padding: 32px;
}

.authorization_wrap {
  display: flex;
  justify-content: space-between;
}

.authorization_text {
  width: calc(100% - 223px);
  margin-right: 32px;
}

.authorization_text p:last-of-type {
  margin-bottom: 0 !important;
}

.authorization_img {
  width: 100%;
  max-width: 223px;
  position: relative;
}

.authorization_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.authorization_icon {
  position: absolute;
  right: -40px;
  top: -56px;
}

/*DRT整体
----------------------------------------------------*/
.drtseitai_conts {
  box-sizing: border-box;
  padding: 24px;
  margin-top: 32px;
}

.drtseitai_conts:first-of-type {
  margin-top: 0;
}

.drtseitai_conts02 {
  box-sizing: border-box;
}

.drtseitai01 {
  background: url("../images/top/drtseitai01_bg.png") repeat-y left top/cover;
}

.drtseitai02 {
  background: url("../images/top/drtseitai02_bg.png") repeat-y left top/cover;
}

.drtseitai03 {
  background: url("../images/top/drtseitai03_bg.png") repeat-y left top/cover;
}

.drtseitai_conts-wrap {
  display: flex;
  flex-direction: column;
}

.drtseitai_mainttl {
  display: flex;
  flex-direction: column-reverse;
  margin-bottom: 32px;
}

.drtseitai_mainttl-sub {
  display: flex;
  justify-content: center;
}

.drtseitai_mainttl-subttl {
  font-family: "Noto Serif JP", system-ui;
  font-size: 28px;
  font-weight: 700;
  color: #0065b2;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  text-align: center;
}

.drtseitai_mainttl-subttl span.br {
  display: block;
}

.drtseitai_mainttl-main {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
}

.drtseitai_mainttl-mainttl01 {
  font-family: "Noto Serif JP", system-ui;
  font-size: 60px;
  font-weight: 800;
  letter-spacing: 0.075em;
  line-height: 1.25;
  text-shadow: 0 0 5px white, 0 0 10px white, 0 0 15px white, 0 0 20px white, 0 0 25px white, 0 0 30px white, 0 0 35px white;
}

.drtseitai_mainttl-mainttl01-drtseitai02 {
  font-size: 36px;
}

.drtseitai_mainttl-mainttl02 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0065b2;
  box-sizing: border-box;
  padding: 16px 1em;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  border-radius: 100px;
  line-height: 1;
  height: 2.5em;
  margin: auto 24px auto 0;
  position: relative;
  top: 4px;
}

.drtseitai_sec {
  margin-bottom: 32px;
}

.drtseitai_about {
  box-sizing: border-box;
  padding: 24px;
  border-radius: 15px;
}

.drtseitai_about01 {
  background: #d7edfa;
}

.drtseitai_about02 {
  background: #fffddb;
}

.drtseitai_about-wrap {
  display: flex;
  justify-content: space-between;
}

.drtseitai_about-text {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
}

.drtseitai_about-text p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 19px;
  font-weight: bold;
  color: #0065b2;
  text-align: center;
  line-height: 1.65;
}

.drtseitai_about-text p .br {
  display: block;
}

.drtseitai_about-text p strong {
  font-size: 25px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #fff 60%);
}

.drtseitai_about-img {
  position: relative;
}

.drtseitai_about-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.drtseitai_about-img02 {
  position: absolute;
  right: -16px;
  top: 0;
}

.drtseitai_info-ttl {
  background: #0065b2;
  box-sizing: border-box;
  padding: 20px 16px 16px;
  border-radius: 14px 14px 0 0;
}

.drtseitai_info-ttl-text {
  font-size: 26px;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  text-align: center;
}

.drtseitai_info-ttl-text span.drtseitai_info-ttl-text-point01 {
  font-size: 22px;
  vertical-align: middle;
}

.drtseitai_info-ttl-text span.br {
  display: block;
}

.drtseitai_info-textarea {
  background: #fff;
  box-sizing: border-box;
  padding: 24px 32px;
  border: 1px solid #0065b2;
  border-radius: 0 0 14px 14px;
}

.drtseitai_info-textarea p strong {
  font-size: 1.15em;
  font-weight: bold;
  line-height: 1.75;
  color: #de5421;
}

.drt_result {
  background: #fff;
  box-sizing: border-box;
  padding: 36px 24px;
  border-radius: 14px;
}

.drt_result-mainttl {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  color: #de5421;
  line-height: 1.5;
  margin-bottom: 32px;
}

.drt_result-mainttl02 {
  font-feature-settings: "Noto Sans JP", sans-serif;
  font-size: 36px;
  color: #0065b2;
}

.drt_result-mainttl02 span {
  background: linear-gradient(transparent 60%, #fff200 60%);
}

.drt_result-img,
.drt_result-img01,
.drt_result-img02,
.drtseitai_jta-img01 {
  text-align: center;
  line-height: 1;
}

.drt_result-img img,
.drt_result-img01 img,
.drt_result-img02 img,
.drtseitai_jta-img01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.drt_result-img02 {
  margin-top: 24px;
}

.drt_result-conts {
  margin-top: 36px;
}

.drt_result-ttl01 {
  display: block;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  line-height: 1.85;
  color: #0065b2;
  text-decoration: underline;
  text-decoration-color: #fff200;
  text-decoration-thickness: 12px;
  text-underline-offset: -4px;
  box-sizing: border-box;
}

.drt_result-ttl01 .br {
  display: block;
}

.drt_result-textarea {
  box-sizing: border-box;
  padding: 0 32px;
}

.drt_result-text01 {
  font-family: "Noto Serif JP", system-ui;
  font-size: 30px;
  font-weight: bold;
  color: #0065b2;
  letter-spacing: 0.025em;
  line-height: 1.5;
}

.drt_result-text01 span {
  display: block;
}

.drt_result-img {
  margin: 1em auto;
  line-height: 0;
}

.drt_result-text02 {
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.025em;
}

.drt_result-text03 p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 23px;
  font-weight: bold;
  color: #0065b2;
  letter-spacing: 0.025em;
  text-align: center;
}

.drt_result-text03 p .br {
  display: block;
}

.drtseitai_official-mainttl {
  position: relative;
}

.drtseitai_official-mainttl-text {
  width: calc(100% - 64px);
  margin: 0 auto;
  background: #005ba0;
  box-sizing: border-box;
  padding: 5px 0;
  position: relative;
  z-index: 2;
}

.drtseitai_official-mainttl-text span {
  display: block;
  width: 100%;
  border-top: 1px solid #faf8d0;
  border-bottom: 1px solid #faf8d0;
  box-sizing: border-box;
  padding: 16px 0;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 38px;
  font-weight: bold;
  line-height: 1.25;
  background: linear-gradient(to bottom, #e0ce54 0%, #fffbe0 50%, #fffbe0 50%, #fffbe0 50%, #e0ce54 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.drtseitai_official-mainttl-l,
.drtseitai_official-mainttl-r {
  position: absolute;
  bottom: -19px;
  z-index: 1;
  line-height: 0;
}

.drtseitai_official-mainttl-l {
  left: 0;
}

.drtseitai_official-mainttl-r {
  right: 0;
}

.drtseitai_official-textarea {
  width: 100%;
  max-width: 576px;
  box-sizing: border-box;
  padding: 32px;
  margin: 0 auto;
  border-radius: 0 0 10px 10px;
}

.drtseitai_official-textarea01 {
  background: linear-gradient(to bottom, #ffffff 0%, #d7edfa 100%);
}

.drtseitai_official-textarea02 {
  background: linear-gradient(to bottom, #ffffff 0%, #fffddb 100%);
}

.drtseitai_official-conts01-wrap {
  display: flex;
  justify-content: space-between;
}

.drtseitai_official-conts01-text p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #0065b2;
  text-align: center;
}

.drtseitai_official-conts01-text span {
  display: block;
}

.drtseitai_official-conts01-text .drtseitai_official-strong01 {
  color: #de5421;
}

.drtseitai_official-conts01-text .drtseitai_official-strong02 {
  background: linear-gradient(transparent 60%, #fff200 60%);
}

.drtseitai_official-conts02 {
  margin-top: 16px;
}

.drtseitai_official-conts02list ul {
  display: flex;
  justify-content: space-between;
}

.drtseitai_official-conts02list ul li {
  margin-right: 12px;
}

.drtseitai_official-conts02list ul li:last-of-type {
  margin-right: 0;
}

.drtseitai_official-conts02list ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.drtseitai_official-conts04list {
  width: 100%;
  max-width: 502px;
  text-align: center;
  margin: 0 auto;
}

.drtseitai_official-conts04list ul {
  width: 100%;
  max-width: 502px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.drtseitai_official-conts04list ul li {
  width: calc(50% - 6px);
  max-width: 245px;
  margin-right: 12px;
  margin-bottom: 12px;
  line-height: 0;
}

.drtseitai_official-conts04list ul li:nth-of-type(2n) {
  margin-right: 0;
}

.drtseitai_official-conts04list ul li img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.drtseitai_kuchikomi-ttl {
  font-size: 30px;
  font-weight: bold;
  color: #0065b2;
  text-align: center;
  line-height: 1.5;
}

.drtseitai_kuchikomi-ttl .br {
  display: block;
}

.drtseitai_kuchikomi-ttl-wrap {
  display: inline-block;
  position: relative;
  padding: 0 12px;
}

.drtseitai_kuchikomi-ttl-wrap:before, .drtseitai_kuchikomi-ttl-wrap:after {
  content: "";
  display: block;
  width: 42px;
  height: 78px;
  position: absolute;
  bottom: 0;
}

.drtseitai_kuchikomi-ttl-wrap:before {
  background: url("../images/top/drtseitai_kuchikomi-ttl-l.png");
  left: -42px;
}

.drtseitai_kuchikomi-ttl-wrap:after {
  background: url("../images/top/drtseitai_kuchikomi-ttl-r.png");
  right: -42px;
}

.drtseitai_kuchikomi-img {
  text-align: center;
  margin-top: 24px;
}

.drtseitai_kuchikomi-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.drtseitai_ba-mainttl {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  color: #0065b2;
  line-height: 1.75;
  text-shadow: 0 0 5px #fff,
 0 0 10px #fff,
 0 0 15px #fff,
 0 0 20px #fff,
 0 0 25px #fff,
 0 0 30px #fff,
 0 0 35px #fff;
}

.drtseitai_ba-mainttl .br {
  display: block;
}

.drtseitai_ba-conts {
  margin-top: 24px;
}

.drtseitai_ba-img,
.drtseitai_suisen-img,
.drtseitai_media-img {
  text-align: center;
}

.drtseitai_ba-img img,
.drtseitai_suisen-img img,
.drtseitai_media-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*リプラス整体院で改善する ３つの理由
----------------------------------------------------*/
.reason {
  background: url("../images/top/reason_bg.png") no-repeat left top/cover;
  box-sizing: border-box;
  padding: 36px;
}

.reason_mainttl {
  text-align: center;
}

.reason_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.reason_conts {
  background: #fff;
  box-sizing: border-box;
  padding: 24px;
  box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.16);
  margin-top: 32px;
}

.reason_conts:first-of-type {
  margin-top: 8px;
}

.reason_ttl {
  width: 100%;
  position: relative;
  min-height: 90px;
  display: flex;
  align-items: center;
}

.reason_ttl-text {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.5;
  margin-left: 106px;
}

.reason_ttl-text span {
  background: linear-gradient(transparent 60%, #fff200 60%);
}

.reason_ttl-num {
  width: 90px;
  height: 90px;
  background: #0065b2;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 100px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
}

.reason_ttl-num .reason_ttl-num-text,
.reason_ttl-num .reason_ttl-num-point {
  line-height: 1;
}

.reason_ttl-num .reason_ttl-num-point {
  margin-top: 4px;
  font-size: 1.35em;
}

.reason_img {
  margin: 1em auto;
}

.reason_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.reason_text p {
  font-size: 15px;
}

/*選ばれる５つの理由
----------------------------------------------------*/
.select_mainttl {
  display: flex;
  flex-direction: column-reverse;
}

.select_mainttl-main {
  margin-top: 16px;
  position: relative;
}

.select_mainttl-main:before, .select_mainttl-main:after {
  content: "";
  display: block;
}

.select_mainttl-main:before {
  width: 100%;
  height: 6px;
  background: #a5c0d5;
  position: absolute;
  bottom: -6px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.select_mainttl-main:after {
  width: 0;
  height: 0;
  border: 30px solid transparent;
  border-top: 26px solid #a5c0d5;
  position: absolute;
  bottom: -56px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.select_mainttl-main-wrap {
  background: #0065b2;
  box-sizing: border-box;
  padding: 20px 16px;
  position: relative;
  z-index: 3;
}

.select_mainttl-main-wrap:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 24px solid transparent;
  border-top: 20px solid #0065b2;
  position: absolute;
  bottom: -44px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.select_mainttl-main-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.select_mainttl-main-text .select_mainttl-main-text01,
.select_mainttl-main-text .select_mainttl-main-text02 {
  text-shadow: 5px 5px 4px rgba(0, 0, 0, 0.3);
}

.select_mainttl-main-text .select_mainttl-main-text01 {
  margin-right: 4px;
  position: relative;
  top: 4px;
}

.select_mainttl-main-text .select_mainttl-main-text02 {
  font-size: 1.85em;
  color: #fff200;
  line-height: 1;
}

.select_mainttl-main-text .select_mainttl-main-text02 strong {
  font-size: 1.25em;
  line-height: 1;
}

.select_mainttl-sub {
  text-align: center;
  line-height: 1;
}

.select_mainttl-sub img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.select_area {
  display: block;
  width: 100%;
  background: #e5f0f7;
  box-sizing: border-box;
  padding: 56px 30px 56px;
}

.select_conts {
  margin-top: 64px;
}

.select_conts:first-of-type {
  margin-top: 0;
}

.select_ttl {
  width: 100%;
  position: relative;
  min-height: 115px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 20px;
}

.select_ttl-main {
  display: flex;
  align-items: center;
  width: 100%;
  margin-left: 65px;
  background: #66a3d1;
  box-sizing: border-box;
  border-radius: 0 8px 8px 0;
  padding: 12px 16px 12px 64px;
  min-height: 88px;
}

.select_ttl-main span {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
  line-height: 1.5;
}

.select_ttl-num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 115px;
  height: 115px;
  border-radius: 115px;
  background: #fff200;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 25px;
  color: #0065b2;
  font-weight: bold;
  line-height: 1;
}

.select_ttl-num-point {
  font-size: 1.5em;
  margin-top: 4px;
}

.select_clinic-common {
  background: #f5f8fa;
  box-sizing: border-box;
  box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.16);
  padding: 32px 32px 48px;
  margin-top: 24px;
}

.select_clinic-common-ttl,
.select_clinic-our-ttl {
  font-size: 24px;
  font-weight: bold;
  color: #0065b2;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  margin-bottom: 32px;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;
}

.select_clinic-our-ttl {
  font-size: 32px;
  text-decoration-thickness: 3px;
  text-underline-offset: 9px;
}

.select_clinic-common-list {
  display: flex;
  justify-content: center;
}

.select_clinic-common-list li {
  background: url("../images/top/icon_check01.png") no-repeat left top;
  padding-left: 32px;
  font-size: 18px;
  line-height: 1.5;
}

.select_clinic-arrow {
  margin: 20px auto;
  text-align: center;
  line-height: 1;
}

.select_clinic-arrow img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.select_clinic-our {
  background: #fffddb;
  box-sizing: border-box;
  box-shadow: 5px 5px 4px rgba(0, 0, 0, 0.16);
  padding: 32px 32px 48px;
}

.select_clinic-our-img {
  margin: 24px auto;
  text-align: center;
}

.select_clinic-our-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.select_clinic-our-list {
  width: 100%;
  max-width: 585px;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
  border: 3px solid #0065b2;
  padding: 20px 32px;
}

.select_clinic-our-list li {
  background: url("../images/top/icon_check01.png") no-repeat left 4px;
  padding-left: 32px;
  font-size: 20px;
  font-weight: bold;
  color: #0065b2;
}

/*相性チェック
----------------------------------------------------*/
.checklist_mainttl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-height: 266px;
  min-height: 266px;
  background: url("../images/top/checklist_main-ttl-bg.png") no-repeat center center/contain;
  margin-bottom: 32px;
}

.checklist_mainttl span {
  line-height: 1;
  position: relative;
  top: 12px;
  box-sizing: border-box;
  padding: 0 12px;
}

.checklist_mainttl span img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.checklist_conts-mainttl {
  display: block;
  text-align: center;
  margin-bottom: 16px;
}

.checklist_conts-mainttl span {
  display: inline-block;
  text-align: center;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: bold;
  color: #0065b2;
  line-height: 1.75;
  padding: 0 0.5em 8px;
}

.checklist_conts-mainttl span:before, .checklist_conts-mainttl span:after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #0065b2;
  position: absolute;
  bottom: 0;
}

.checklist_conts-mainttl span:before {
  transform: rotate(-25deg);
  left: -0.75em;
}

.checklist_conts-mainttl span:after {
  transform: rotate(25deg);
  right: -0.75em;
}

.checklist_listconts-ttl {
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  letter-spacing: 0.025em;
  background: #66a3d1;
  box-sizing: border-box;
  padding: 16px;
}

.checklist_listconts-conts {
  border: 10px solid #66a3d1;
  border-top: none;
  box-sizing: border-box;
  padding: 32px;
}

.checklist_listconts-conts ul li {
  background: url("../images/top/icon_check01.png") no-repeat left top;
  padding-left: 36px;
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.checklist_listconts-conts ul li:last-of-type {
  margin-bottom: 0;
}

.checklist_conts {
  margin-top: 48px;
}

.checklist_conts:first-of-type {
  margin-top: 0;
}

.checklist_conts-text01 {
  margin: 16px auto 0;
}

.checklist_conts-text01 p {
  font-size: 20px;
  font-weight: bold;
  color: #544124;
  text-align: center;
  letter-spacing: 0.025em;
}

.checklist_conts-arrow {
  text-align: center;
  margin: 24px auto;
}

.checklist_conts-arrow img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.checklist_conts-img {
  margin-top: -16px;
}

.checklist_conts-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.checklist_conts-caution {
  margin-top: 24px;
  border: 2px solid #de5421;
  box-sizing: border-box;
  padding: 32px;
}

.checklist_conts-caution-ttl {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.checklist_conts-caution-mainttl {
  margin-left: 12px;
  font-size: 28px;
  font-weight: bold;
  color: #de5421;
  line-height: 1;
  padding-top: 4px;
}

.checklist_conts-caution-subttl {
  background: #de5421;
  box-sizing: border-box;
  padding: 12px 20px 8px;
  border-radius: 100px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
}

/*推薦を頂いています！
----------------------------------------------------*/
.suisen_mainttl {
  text-align: center;
  margin-bottom: 24px;
  line-height: 1;
}

.suisen_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.suisen_conts {
  background: #f5f0d0;
  box-sizing: border-box;
  padding: 36px;
  margin-top: 32px;
}

.suisen_conts:first-of-type {
  margin-top: 0;
}

.suisen_profile {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 186px;
}

.suisen_profile-img {
  position: absolute;
  left: 0;
  top: 0;
}

.suisen_profile-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.suisen_profile-text {
  display: block;
  width: 100%;
  background: #b29b52;
  box-sizing: border-box;
  padding: 20px 16px 20px 109px;
  margin-left: 93px;
  line-height: 1.5;
}

.suisen_profile-text01 {
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
}

.suisen_profile-text-name {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.025em;
  margin-top: 4px;
}

.suisen_textarea {
  margin-top: 24px;
}

.suisen_textarea p {
  margin-bottom: 1em;
}

.suisen_textarea p:last-of-type {
  margin-bottom: 0;
}

.suisen_ttl {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  color: #544124;
  border-bottom: 2px solid #eae3c8;
  padding-bottom: 12px;
  margin-bottom: 20px;
}

.suisen_img {
  margin-top: 2em;
  text-align: center;
}

.suisen_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*代表ごあいさつ
----------------------------------------------------*/
.aisatsu p {
  margin-bottom: 1em;
}

.aisatsu p:last-of-type {
  margin-bottom: 0;
}

.aisatsu_ttl {
  border-top: 4px solid #0065b2;
  border-bottom: 4px solid #0065b2;
  background: #f5f8fa;
  box-sizing: border-box;
  padding: 16px;
  font-size: 36px;
  font-weight: bold;
  color: #0065b2;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 32px;
}

.aisatsu_img {
  float: right;
  margin-left: 16px;
  margin-bottom: 16px;
}

.aisatsu_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.aisatsu_info {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  margin-top: 32px;
  text-align: right;
}

.aisatsu_info-text01,
.aisatsu_info-name {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 0 !important;
}

.aisatsu_info-name {
  margin-top: 8px;
}

.aisatsu_info-name span {
  margin-left: 12px;
  position: relative;
  top: 4px;
}

.aisatsu_info-name span img {
  width: auto;
  max-width: 109px;
  height: auto;
}

.attention_img01 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*お問い合わせコンテンツ
----------------------------------------------------*/
.contact_mainttl {
  background: #0065b2;
  box-sizing: border-box;
  padding: 24px;
  border-radius: 8px 8px 0 0;
  display: flex;
  justify-content: center;
}

.contact_mainttl p {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact_mainttl span {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  margin-left: 8px;
}

.contact_conts {
  border: 6px solid #0065b2;
  border-top: none;
  box-sizing: border-box;
  padding: 54px;
  background: #e5f0f7;
}

.contact_btn {
  margin-bottom: 24px;
}

.contact_btn:last-of-type {
  margin-bottom: 0;
}

.contact_btn-tel a {
  display: flex;
  flex-direction: row;
  background: #fff;
  box-sizing: border-box;
  position: relative;
  min-height: 125px;
  border-radius: 100px;
  color: #333;
  text-decoration: none;
}

.contact_btn-tel a .contact_btn-tel-img {
  position: absolute;
  left: 56px;
  bottom: 0;
}

.contact_btn-tel a .contact_btn-tel-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 462px;
  margin: 0 0 0 auto;
  box-sizing: border-box;
  padding-right: 2em;
}

.contact_btn-tel-text01 {
  font-size: 20px;
  font-weight: bold;
}

.contact_btn-tel-text02 {
  margin-top: 6px;
}

.contact_btn-tel-text02 img {
  width: auto;
  max-width: 363px;
  height: auto;
}

.contact_btn-reserve a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  position: relative;
  border-radius: 100px;
  color: #333;
  text-decoration: none;
  background: #fff200;
  min-height: 125px;
  box-shadow: 5px 5px 7px rgba(0, 0, 0, 0.08);
}

.contact_btn-reserve-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: #0065b2;
  border-radius: 100px;
}

.contact_btn-reserve-icon img {
  width: auto;
  max-width: 31px;
  height: auto;
}

.contact_btn-reserve-text {
  margin-left: 12px;
  font-size: 28px;
  font-weight: bold;
  color: #0065b2;
  letter-spacing: 0.025em;
  line-height: 1.5;
}

.contact_hb {
  border: 6px solid #8f3356;
  border-radius: 6px;
  background: #fff;
  box-sizing: border-box;
  padding: 40px;
  margin: 32px auto;
}

.contact_hb-wrap {
  display: flex;
  justify-content: center;
}

.contact_hb-l {
  width: calc(100% - 159px);
  max-width: 300px;
  margin-right: 32px;
}

.contact_hb-logo {
  text-align: center;
  line-height: 1;
}

.contact_hb-logo img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.contact_hb-text {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.65;
  margin: 12px auto;
  letter-spacing: 0.025em;
}

.contact_hb-text .br {
  display: block;
}

.contact_hb-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #0065b2;
  box-sizing: border-box;
  border-radius: 100px;
  padding: 20px 12px;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  line-height: 1.5;
}

.contact_hb-btn a span {
  display: inline-block;
  position: relative;
  padding-left: 18px;
}

.contact_hb-btn a span:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 8px solid transparent;
  border-left: 10px solid #fff;
  position: absolute;
  left: 0;
  top: calc(50% - 10px);
}

.contact_hb-r {
  width: 100%;
  max-width: 159px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.contact_hb-qr-text {
  display: flex;
  justify-content: center;
}

.contact_hb-qr-text span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #0065b2;
  position: relative;
  line-height: 1.2;
}

.contact_hb-qr-text span:before, .contact_hb-qr-text span:after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  background: #0065b2;
  bottom: 0;
}

.contact_hb-qr-text span:before {
  left: -12px;
  transform: rotate(-35deg);
}

.contact_hb-qr-text span:after {
  right: -12px;
  transform: rotate(35deg);
}

.contact_hb-qr {
  margin-top: 8px;
}

.contact_open {
  margin: 40px auto 0;
}

.contact_open-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.contact_open-img {
  width: 100%;
  max-width: 283px;
}

.contact_open-text {
  width: calc(100% - 315px);
  margin-left: 32px;
  border-top: 1px solid #544124;
  border-bottom: 1px solid #544124;
  box-sizing: border-box;
  padding: 24px 0;
}

.contact_open-text dl {
  display: flex;
}

.contact_open-text dl dt, .contact_open-text dl dd {
  font-size: 15px;
}

.contact_open-text dl dt {
  white-space: nowrap;
  font-weight: bold;
}

.contact_info {
  margin-top: 16px;
}

.contact_info dl {
  display: flex;
  flex-direction: row;
}

.contact_info dl dt, .contact_info dl dd {
  font-size: 15px;
}

.contact_info dl dt {
  white-space: nowrap;
  font-weight: bold;
  position: relative;
}

.contact_info dl dt:after {
  content: "：";
}

.contact_map {
  margin-top: 16px;
}

.contact_map iframe {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

/*LINE予約
----------------------------------------------------*/
.line {
  position: relative;
}

.line_img {
  position: relative;
}

.line_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.line_btn {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% - 6px);
  margin: 0 auto;
  width: 100%;
  text-align: center;
  z-index: 2;
}

.line_btn img {
  width: 90%;
  max-width: 662px;
  height: auto;
}

/*施術の流れ
----------------------------------------------------*/
.flow_ttl {
  border-top: 4px solid #0065b2;
  border-bottom: 4px solid #0065b2;
  box-sizing: border-box;
  padding: 16px 16px 24px;
}

.flow_ttl-main {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #0065b2;
  line-height: 1.5;
}

.flow_list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 32px;
}

.flow_listconts {
  width: calc(100% / 3 - 22px);
  margin-right: 32px;
  position: relative;
  margin-bottom: 32px;
}

.flow_listconts:after {
  content: "";
  display: block;
  width: 20px;
  height: 60px;
  position: absolute;
  right: -26px;
  top: 105px;
  background: url("../images/top/flow_arrow.png") no-repeat left top;
  background-size: contain;
}

.flow_listconts:nth-of-type(3n), .flow_listconts:last-of-type {
  margin-right: 0;
}

.flow_listconts:nth-of-type(3n):after, .flow_listconts:last-of-type:after {
  content: none;
}

.flow_list-ttl {
  position: relative;
  min-height: 48px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.flow_list-num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff200;
  box-sizing: border-box;
  width: 48px;
  height: 48px;
  border-radius: 100px;
  line-height: 1;
  color: #0065b2;
}

.flow_list-num-step,
.flow_list-num-point {
  display: block;
}

.flow_list-num-step {
  font-size: 11px;
  font-weight: bold;
}

.flow_list-num-point {
  font-size: 1.15em;
  font-weight: bold;
  margin-top: 2px;
}

.flow_list-mainttl {
  padding-left: 54px;
  font-size: 15px;
  font-weight: bold;
  color: #0065b2;
  line-height: 1.25;
}

.flow_list-img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.flow_list-text p {
  font-size: 13px;
}

/*最後に…
----------------------------------------------------*/
.last_mainttl {
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("../images/top/last_bg.png") no-repeat center top/contain;
  min-height: 220px;
  margin-bottom: 32px;
}

.last_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.last_textarea-conts {
  margin-bottom: 24px;
}

.last_textarea-conts:last-of-type {
  margin-bottom: 0;
}

.last_textarea-ttl {
  font-size: 24px;
  font-weight: bold;
  color: #de5421;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.last_textarea-message p {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
}

/*スタッフ募集中
----------------------------------------------------*/
.recruit {
  background: url("../images/top/recruit_bg.png") no-repeat left top/cover;
  box-sizing: border-box;
  margin-top: 96px;
  padding: 0 24px 40px;
}

.recruit_mainttl {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 172px;
}

.recruit_mainttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.recruit_mainttl-text {
  line-height: 0;
}

.recruit_mainttl-text02 {
  position: absolute;
  top: -48px;
  left: 40px;
}

.recruit_mainttl-img {
  position: absolute;
  right: 12px;
  bottom: 0;
  line-height: 0;
}

.recruit_textarea {
  background: #fff;
  box-sizing: border-box;
  padding: 40px;
  border-radius: 8px;
  margin-top: -7px;
}

.recruit_textarea p {
  margin-bottom: 1em;
}

.recruit_textarea p:last-of-type {
  margin-bottom: 0;
}

.recruit_img {
  display: flex;
  justify-content: center;
  position: relative;
}

.recruit_img01,
.recruit_img02 {
  line-height: 0;
}

.recruit_img01 img,
.recruit_img02 img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.recruit_img01 {
  margin-top: 32px;
}

.recruit_img02 {
  margin-top: -32px;
}

/*side
----------------------------------------------------*/
#side {
  width: 230px;
}

.side_campaign-img {
  line-height: 0;
}

.side_bnr01,
.side_menu {
  margin-top: 20px;
}

.side_bnr01 {
  line-height: 0;
}

.side_top {
  margin-top: 0;
}

.side_menu {
  box-sizing: border-box;
  border: 1px solid #66a3d1;
  padding: 1px;
}

.side_ttl {
  display: flex;
  justify-content: center;
  font-size: 17px;
  font-weight: bold;
  color: #fff;
  background: #0065b2;
  box-sizing: border-box;
  padding: 8px 0;
}

.side_menu-conts {
  padding: 12px 8px 8px;
}

.side_menu-conts ul {
  display: flex;
  flex-direction: column;
}

.side_menu-conts ul li {
  background: url("../images/common/side_arrow01.png") no-repeat 8px 8px;
  padding: 0 8px 8px 20px;
  margin-bottom: 12px;
  border-bottom: 1px dotted #ccc;
}

.side_menu-conts ul li a {
  font-size: 15px;
  line-height: 1.5;
  color: #433519;
  text-decoration: none;
}

.side_info {
  margin-top: 20px;
  box-sizing: border-box;
  border: 1px solid #66a3d1;
  padding: 1px;
}

.side_info-ttl {
  text-align: center;
}

.side_info-ttl img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.side_info-wrap {
  box-sizing: border-box;
  margin: 12px;
}

.side_info-m {
  margin-top: 16px;
}

.side_info-address {
  margin-top: 8px;
}

.side_info-address p {
  font-size: 13px;
  line-height: 1.45;
}

.side_contact-ttl {
  position: relative;
  text-align: left;
}

.side_contact-ttl:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #e3e3e3;
  position: absolute;
  left: 0;
  top: 50%;
}

.side_contact-ttl span {
  font-size: 15px;
  position: relative;
  background: #fff;
  padding: 0 8px 0 0;
}

.side_contact-tel {
  margin: 8px auto 4px;
}

.side_contact-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff200;
  line-height: 1;
  color: #0065b2;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
  padding: 16px 4px;
  border-radius: 100px;
}

.side_contact-btn a img {
  margin-right: 4px;
}

.side_infoconts-ttl {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  padding: 12px 0;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  margin-bottom: 16px;
}

.side_infoconts-conts01 {
  text-align: center;
}

.side_infoconts-conts01 dl {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 4px;
}

.side_infoconts-conts01 dl:first-of-type {
  margin-top: 0;
}

.side_infoconts-conts01 dl dt, .side_infoconts-conts01 dl dd {
  font-size: 13px;
}

.side_infoconts-conts01 p {
  font-size: 13px;
  line-height: 1.5;
}

.side_info-map {
  margin-top: 12px;
}

.side_info-map iframe {
  width: 100%;
  height: 320px;
}

/*pagetop
----------------------------------------------------*/
#pagetop {
  position: absolute;
  top: -40px;
  right: 2.5%;
  text-align: right;
}

#pagetop img {
  width: auto;
  max-width: 100%;
  height: auto;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.14);
  border-radius: 100px;
}

/*common_contact
----------------------------------------------------*/
.common_contactconts {
  background: #0065b2;
  padding: 56px 0;
  position: relative;
}

.common_contact-wrap {
  display: flex;
  justify-content: center;
  width: 95%;
  max-width: 1240px;
  margin: 0 auto;
}

.common_contact-fukidashi {
  background: #fff;
  box-sizing: border-box;
  padding: 20px;
  height: 100%;
  position: relative;
  border-radius: 12px;
  filter: drop-shadow(5px 5px 4px rgba(0, 0, 0, 0.3));
  display: flex;
  align-items: center;
  justify-content: center;
}

.common_contact-fukidashi:before {
  content: "";
  display: block;
  position: absolute;
  right: -24px;
  width: 0;
  height: 0;
  border: 24px solid transparent;
  border-left: 24px solid #fff;
  position: absolute;
  right: -48px;
  top: calc(50% - 24px);
  filter: drop-shadow(5px 5px 4px rgba(0, 0, 0, 0.3));
}

.common_contact-l {
  margin-right: 40px;
}

.common_contact-r {
  padding: 8px 0;
}

.common_contact-r-tel {
  text-align: center;
  margin: 0 16px;
}

.common_contact-r-tel img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.common_contact-r-teltext {
  line-height: 1;
  text-align: center;
  margin-bottom: 12px;
}

.common_contact-r-telnum {
  line-height: 1;
}

.common_contact-r-info {
  margin-top: 16px;
  display: flex;
  justify-content: flex-start;
}

.common_contact-infoconts {
  margin-right: 24px;
}

.common_contact-infoconts:last-of-type {
  margin-right: 0;
}

.common_contact-infoconts dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.common_contact-infoconts dl dt {
  font-size: 14px;
  font-weight: bold;
  background: #fff;
  box-sizing: border-box;
  padding: 8px 12px;
  border-radius: 2px;
}

.common_contact-infoconts dl dd {
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  margin-left: 12px;
}

/*sp_btm
----------------------------------------------------*/
.sp_btm {
  display: none;
  line-height: 0;
  box-sizing: border-box;
  padding: 12px;
  background: rgba(255, 255, 255, 0.7);
}

.sp_btm.on {
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

.sp_btm.on img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.sp_btm-wrap {
  display: flex;
  justify-content: space-between;
}

.sp_btm-conts {
  margin-right: 8px;
}

.sp_btm-conts:last-of-type {
  margin-right: 0;
}

.sp_btm-conts img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/*footer
----------------------------------------------------*/
#footer {
  background: #fff;
  padding: 64px 0 40px;
}

.footer_wrap {
  width: 95%;
  max-width: 1240px;
  margin: 0 auto;
}

.f_menu ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.f_menu ul li {
  margin-right: 16px;
  border-left: 1px solid #333;
  padding-left: 16px;
  margin-bottom: 8px;
}

.f_menu ul li:last-of-type {
  margin-right: 0;
  padding-right: 12px;
  border-right: 1px solid #333;
}

.f_menu ul li a {
  font-size: 15px;
  color: #333;
  text-decoration: none;
}

.f_info {
  margin: 48px auto 32px;
  border-top: 1px solid #333;
  padding: 24px 0;
  border-bottom: 1px solid #333;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.f_info p {
  font-size: 13px;
  margin-right: 16px;
}

.f_info p:last-of-type {
  margin-right: 0;
}

.f_info-logo {
  font-weight: bold;
}

.f_copy p {
  font-size: 13px;
  text-align: center;
}
