@charset "UTF-8";
html {
  font-size: 62.5%;
  /* 62.5% 10px 1em */
  scroll-behavior: smooth;
  /*! ALL ***************************************************/
  /*! SP ***************************************************/
  /*! PC ***************************************************/
}
html body {
  color: #222222;
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  -webkit-text-size-adjust: none;
  position: relative;
  font-feature-settings: "palt";
  text-align: justify;
  background: #faf6f0;
}
html img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
html a {
  color: #222222;
  text-decoration: none;
  border: 0;
  transition: all 0.5s ease;
  backface-visibility: hidden;
}
html a img {
  transition: all 0.5s ease;
  backface-visibility: hidden;
}
html a:hover {
  filter: brightness(120%);
}
html a[target=_blank]:not(.none) {
  position: relative;
  text-decoration: underline;
}
html a[target=_blank]:not(.none):after {
  content: "\e919";
  font-family: "icomoon";
  font-size: 1.8rem;
  position: relative;
  top: 2px;
}
html a[target=_blank]:not(.none):hover {
  color: #ff4850 !important;
}
html h1,
html h2,
html h3,
html h4,
html h5,
html h6,
html em {
  font-weight: 600;
}
html .animation {
  transform: translate(0px, 10px);
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  backface-visibility: hidden;
}
html .animation_left {
  transform: translate(-10px, 0px);
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  backface-visibility: hidden;
}
html .animation_left.active {
  transform: translate(0%, 0%);
  opacity: 1;
}
html .animation_right {
  transform: translate(10px, 0px);
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  backface-visibility: hidden;
}
html .animation_right.active {
  transform: translate(0%, 0%);
  opacity: 1;
}
html .animation_down {
  transform: translate(0px, -10px);
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
  backface-visibility: hidden;
}
html .animation_down.active {
  transform: translate(0%, 0%);
  opacity: 1;
}
html .animation.active {
  transform: translate(0%, 0%);
  opacity: 1;
}
html .tel {
  pointer-events: none;
}
@media screen and (max-width: 740px) {
  html .tel {
    pointer-events: auto;
  }
}
html .pageTop {
  position: fixed;
  right: 30px;
  opacity: 0.2;
  bottom: -82px;
  z-index: 1000;
  transition: all 0.5s cubic-bezier(1, 0, 0, 1);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
html .pageTop a {
  display: inline-block;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: #ff4850;
  transition: all 0.2s ease;
  backface-visibility: hidden;
  text-align: center;
  position: relative;
}
html .pageTop a i {
  position: relative;
  z-index: 10;
  color: #fff;
  font-size: 2.4rem;
  line-height: 82px;
  display: block;
  transition: all 0.2s ease;
  backface-visibility: hidden;
}
html .pageTop a.hover:before {
  transform: scale(1.15);
}
html .pageTop.on {
  bottom: 30px;
  opacity: 1;
}
@media screen and (max-width: 740px) {
  html .pageTop {
    right: -60px;
    bottom: 0px;
  }
  html .pageTop a {
    width: 60px;
    height: 60px;
    border-radius: 0;
    background: #ff4850;
  }
  html .pageTop a i {
    font-size: 2rem;
    line-height: 60px;
  }
  html .pageTop.on {
    right: 0px;
    bottom: 0;
    opacity: 1;
  }
}
@media screen and (max-width: 740px) {
  html body {
    min-width: 320px;
    font-size: 1.4rem;
  }
  html img {
    max-width: 100%;
    height: auto;
  }
  html .pc {
    display: none !important;
  }
}
@media screen and (min-width: 741px) {
  html body {
    min-width: 1200px;
  }
  html .sp {
    display: none !important;
  }
}
html header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: #fff;
  z-index: 1000;
}
html header .seo {
  position: absolute;
  left: 0;
  top: 0;
  padding: 10px;
  font-size: 1.2rem;
  z-index: 10;
}
html header .logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 200px;
  height: 270px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
html header .header_content {
  width: 100%;
  height: 108px;
  background: #fff;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
html header .header_content .telBox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-right: 230px;
}
html header .header_content .telBox p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  text-align: right;
  line-height: 1.5;
  padding-right: 27px;
}
html header .header_content .telBox .tel {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
html header .header_content .telBox .tel .icon-tel {
  position: relative;
  top: 2px;
  font-size: 3rem;
  margin-right: 5px;
}
html header .header_content .telBox .tel span {
  font-size: 3.4rem;
}
html header .header_content #rsv_btn {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 150px;
  background-image: -moz-linear-gradient(-45deg, #f4d569 0%, #fde795 50%, #f4d569 100%);
  background-image: -webkit-linear-gradient(-45deg, #f4d569 0%, #fde795 50%, #f4d569 100%);
  background-image: -ms-linear-gradient(-45deg, #f4d569 0%, #fde795 50%, #f4d569 100%);
}
html header .header_content #rsv_btn .icon-rsv {
  font-size: 2.6rem;
}
html header .header_content #rsv_btn small {
  line-height: 1;
  font-size: 1.8rem;
  font-weight: 500;
  margin-left: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #222222;
}
@media screen and (max-width: 740px) {
  html header {
    display: block;
    position: relative;
    width: 100%;
    background: #fff;
    z-index: 1000;
  }
  html header .seo {
    display: block;
    position: static;
    width: 100%;
    padding: 0;
    font-size: 1rem;
    line-height: 20px;
    text-align: center;
    z-index: 10;
    background: #faf6f0;
  }
  html header .header_content {
    width: 100%;
    height: 80px;
    display: block;
  }
  html header .header_content .logo {
    position: static;
    width: 100%;
    height: 80px;
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  html header .header_content .logo img {
    width: auto;
    height: 60px;
  }
  html header .header_content .telBox {
    display: none;
  }
  html header .header_content #rsv_btn {
    display: none;
  }
}
html #wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}
html .title {
  width: calc(100% - 100px);
  height: 772px;
  margin-left: 100px;
  position: relative;
  background: url("../img/title.jpg") no-repeat center center;
  background-size: cover;
}
html .title .text {
  position: absolute;
  left: 80px;
  bottom: 80px;
}
html .title .text h2 {
  padding: 30px 0;
}
html .title .text p {
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  html .title {
    width: 100%;
    padding-top: 115vw;
    height: auto;
    margin-left: 0px;
    position: relative;
    background: #fff url("../img/title@sp.jpg") no-repeat center top;
    background-size: 100% auto;
  }
  html .title .text {
    position: static;
    padding: 30px;
  }
  html .title .text h2 {
    padding: 20px 0;
  }
  html .title .text p {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}
html .sect_ttl {
  text-align: center;
  padding: 110px 0;
}
html .sect_ttl small {
  display: block;
  font-family: "Brush Script MT", cursive;
  font-size: 3.6rem;
  color: #c1994a;
  line-height: 1;
  padding-bottom: 25px;
}
html .sect_ttl span {
  display: block;
  font-size: 2.6rem;
  line-height: 1;
  padding-bottom: 25px;
}
html .sect_ttl em {
  display: block;
  font-weight: 600;
  line-height: 1;
  font-size: 4.9rem;
}
@media screen and (max-width: 768px) {
  html .sect_ttl {
    text-align: center;
    padding: 60px 20px;
  }
  html .sect_ttl small {
    font-size: 2.6rem;
    padding-bottom: 15px;
  }
  html .sect_ttl span {
    font-size: 2.1rem;
    line-height: 1.3;
    padding-bottom: 15px;
  }
  html .sect_ttl em {
    font-size: 3.8rem;
  }
}
html .feature {
  position: relative;
  width: 100%;
  max-width: 1400px;
  padding-bottom: 80px;
  margin: 0 auto;
}
html .feature .feature_box {
  width: 100%;
  padding: 0 100px 120px;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
}
html .feature .feature_box figure {
  padding-right: 60px;
}
html .feature .feature_box .text {
  width: 475px;
}
html .feature .feature_box .text .flag {
  padding-bottom: 10px;
}
html .feature .feature_box .text h3 {
  padding-bottom: 20px;
}
html .feature .feature_box .text h3 span {
  display: block;
  font-size: 2rem;
  color: #ff4850;
}
html .feature .feature_box .text h3 em {
  color: #222222;
  font-feature-settings: "palt";
  text-align: justify;
  font-size: 3rem;
  line-height: 1.5;
}
html .feature .feature_box .text h3 em small {
  font-size: 1rem;
}
html .feature .feature_box .text h3 em a:after {
  content: none;
}
html .feature .feature_box .text p {
  font-size: 1.8rem;
  line-height: 2;
}
html .feature .feature_box .text p small {
  display: block;
  font-size: 1.3rem;
}
html .feature .feature_box.reverse {
  flex-direction: row-reverse;
}
html .feature .feature_box.reverse figure {
  padding-right: 0;
  padding-left: 60px;
}
html .feature .feature_box#feature01 {
  padding-right: 0;
}
html .feature .feature_box#feature04 {
  padding-left: 0;
}
html .feature .feature_box#feature07 {
  padding-top: 100px;
}
html .feature .feature_inner_flex {
  display: flex;
  justify-content: space-between;
}
html .feature .feature_inner_flex .feature_box {
  width: calc((100% - 80px) / 2);
  display: block;
  padding: 0;
}
html .feature .feature_inner_flex .feature_box figure {
  padding: 0 0 40px;
}
html .feature .feature_inner_flex .feature_box .text {
  width: 100%;
  padding: 0 100px;
  box-sizing: border-box;
  text-align: center;
}
html .feature .feature_inner_flex .feature_box .text p {
  text-align: left;
}
@media screen and (max-width: 768px) {
  html .feature {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  html .feature .feature_box {
    width: 100%;
    padding: 0 30px 60px !important;
    box-sizing: border-box;
    display: block;
  }
  html .feature .feature_box figure {
    padding: 0px !important;
    width: 100%;
  }
  html .feature .feature_box figure img {
    width: 100%;
  }
  html .feature .feature_box .text {
    width: 100%;
    margin-top: -20px;
    text-align: center;
  }
  html .feature .feature_box .text .flag {
    padding: 0;
  }
  html .feature .feature_box .text .flag img {
    width: 52px;
  }
  html .feature .feature_box .text h3 {
    padding-bottom: 20px;
  }
  html .feature .feature_box .text h3 span {
    font-size: 1.6rem;
  }
  html .feature .feature_box .text h3 em {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  html .feature .feature_box .text p {
    font-size: 1.6rem;
    text-align: left;
  }
  html .feature .feature_box .text p small {
    display: block;
    font-size: 1.1rem;
  }
  html .feature .feature_inner_flex {
    display: block;
  }
  html .feature .feature_inner_flex .feature_box {
    width: 100%;
  }
  html .feature .feature_inner_flex .feature_box figure {
    padding: 0 0 40px;
  }
  html .feature .feature_inner_flex .feature_box .text {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    text-align: center;
  }
  html .feature .feature_inner_flex .feature_box .text p {
    text-align: left;
  }
}
html .trouble {
  width: 100%;
  height: 1100px;
  background: #fff url("../img/trouble.jpg") no-repeat bottom center;
  background-size: 1400px auto;
  position: relative;
  overflow: hidden;
}
html .trouble:before {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 182px 0 0 50vw;
  border-color: transparent transparent transparent #f0f4f7;
}
html .trouble:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 182px 50vw;
  border-color: transparent transparent #f0f4f7 transparent;
}
html .trouble .trouble_ttl {
  width: 100%;
  height: 162px;
  max-width: 1200px;
  margin: 80px auto 0;
  text-align: center;
  font-size: 4.9rem;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 5px solid #222222;
  border-left: 5px solid #222222;
  box-sizing: border-box;
  position: relative;
}
html .trouble .trouble_ttl:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 34px;
  height: 100%;
  border-top: 5px solid #222222;
  border-bottom: 5px solid #222222;
  box-sizing: border-box;
}
html .trouble .trouble_ttl:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 34px;
  height: 100%;
  border-top: 5px solid #222222;
  border-bottom: 5px solid #222222;
  box-sizing: border-box;
}
html .trouble .trouble_inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 110px 0 0;
}
html .trouble .trouble_inner .list li {
  box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.39);
  width: 555px;
  height: 90px;
  background: #fff;
  margin-bottom: 50px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 40px;
  box-sizing: border-box;
}
html .trouble .trouble_inner .list li .icon-cloud {
  color: #ff4850;
  font-size: 2.5rem;
  padding-right: 20px;
}
html .trouble .trouble_inner .list li p {
  font-size: 2.5rem;
  font-weight: 500;
}
html .trouble .trouble_inner .list li p span {
  color: #ff4850;
}
html .trouble .trouble_text {
  text-align: center;
  position: relative;
  z-index: 10;
  padding-top: 50px;
}
html .trouble .trouble_text p {
  font-size: 3.5rem;
  line-height: 1.704;
  text-align: center;
  text-shadow: 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white, 0px 0px 20px white;
}
html .trouble .trouble_text h3 {
  display: block;
  line-height: 1;
  font-size: 4.9rem;
  color: #ff4850;
  font-weight: 500;
}
html .trouble .trouble_text h3 span {
  border-bottom: 3px solid #ff4850;
}
@media screen and (max-width: 768px) {
  html .trouble {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    height: auto;
    background: #fff url("../img/trouble.jpg") no-repeat bottom center;
    background-size: 100% auto;
    position: relative;
    overflow: hidden;
  }
  html .trouble:before {
    border-width: 50px 0 0 50vw;
  }
  html .trouble:after {
    border-width: 0 0 50px 50vw;
  }
  html .trouble .trouble_ttl {
    width: 100%;
    height: auto;
    max-width: 100%;
    padding: 0 30px;
    margin: 30px auto 0;
    font-size: 3rem;
    border-right: 3px solid #222222;
    border-left: 3px solid #222222;
  }
  html .trouble .trouble_ttl:before {
    width: 14px;
    border-top: 3px solid #222222;
    border-bottom: 3px solid #222222;
  }
  html .trouble .trouble_ttl:after {
    width: 14px;
    border-top: 3px solid #222222;
    border-bottom: 3px solid #222222;
  }
  html .trouble .trouble_inner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 40px 0px 0;
  }
  html .trouble .trouble_inner .list li {
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.39);
    width: 100%;
    height: auto;
    background: #fff;
    margin-bottom: 20px;
    padding: 8px 16px;
    box-sizing: border-box;
  }
  html .trouble .trouble_inner .list li .icon-cloud {
    color: #ff4850;
    font-size: 1.7rem;
    padding-right: 6px;
  }
  html .trouble .trouble_inner .list li p {
    font-size: 1.6rem;
  }
  html .trouble .trouble_text {
    padding-top: 20px;
    padding-bottom: 50px;
  }
  html .trouble .trouble_text p {
    font-size: 1.8rem;
  }
  html .trouble .trouble_text h3 {
    font-size: 2.9rem;
    font-weight: bold;
    line-height: 1.5;
  }
  html .trouble .trouble_text h3 span {
    border-bottom: 1px solid #ff4850;
  }
}
html .treatment {
  width: 100%;
  background: #fff;
}
html .treatment .treatment_head {
  width: 100%;
  height: 700px;
  background: #f0f4f7 url("../img/lingual01.jpg") no-repeat center top;
  background-size: 1400px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
html .treatment .treatment_head .text {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  margin: 0 auto;
  box-sizing: border-box;
}
html .treatment .treatment_head .text h2 {
  padding-bottom: 60px;
}
html .treatment .treatment_head .text h2 span {
  display: block;
  font-size: 2.4rem;
}
html .treatment .treatment_head .text h2 em {
  display: block;
  line-height: 1;
  font-size: 4.8rem;
}
html .treatment .treatment_head .text p {
  width: 550px;
}
html .treatment .treatment_box {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  margin: 0 auto;
  box-sizing: border-box;
}
html .treatment .treatment_box .feature_ttl {
  padding: 130px 0 50px;
  margin-bottom: 60px;
  text-align: center;
  font-size: 4.2rem;
  line-height: 1.35;
  position: relative;
}
html .treatment .treatment_box .feature_ttl:before {
  content: "";
  position: absolute;
  left: calc(50% - 33px);
  bottom: 0;
  width: 66px;
  height: 2px;
  background: #c1994a;
}
html .treatment .treatment_box .treatment_box_inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-bottom: 160px;
}
html .treatment .treatment_box .treatment_box_inner .item {
  width: calc((100% - 120px) / 3);
}
html .treatment .treatment_box .treatment_box_inner .item .text h4 {
  text-align: center;
  color: #ff4850;
  font-size: 2.2rem;
  line-height: 1.3;
  padding: 30px 0;
}
html .treatment .frame {
  width: 100%;
  padding: 0 100px;
  box-sizing: border-box;
  position: relative;
}
html .treatment .frame:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background: #f7f7f6;
}
html .treatment .frame .frame_box {
  max-width: 1200px;
  width: 100%;
  padding: 100px;
  box-sizing: border-box;
  margin: 0 auto;
  border: 1px solid #222222;
  background: #fff;
  border-top: 0;
  position: relative;
  box-shadow: 0px 0px 98px 0px rgba(0, 0, 0, 0.02);
}
html .treatment .frame .frame_box:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: calc(50% - 180px);
  height: 1px;
  background: #222222;
}
html .treatment .frame .frame_box:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: calc(50% - 180px);
  height: 1px;
  background: #222222;
}
html .treatment .frame .frame_box h3 {
  text-align: center;
  position: absolute;
  left: 0;
  top: -70px;
  width: 100%;
}
html .treatment .frame .frame_box h3 small {
  display: block;
  color: #ff4850;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.1rem;
  letter-spacing: 0.2em;
}
html .treatment .frame .frame_box h3 em {
  display: block;
  font-size: 4.2rem;
  line-height: 1;
}
html .treatment .frame .frame_box h3 em span {
  display: block;
  font-size: 1.8rem;
  padding-top: 5px;
}
html .treatment .frame .frame_box .frame_box_inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
html .treatment .frame .frame_box .frame_box_inner figure {
  flex-shrink: 0;
}
html .treatment .frame .frame_box .frame_box_inner .text {
  padding-right: 60px;
}
html .treatment .frame .frame_box .frame_box_inner .text h4 {
  padding-bottom: 30px;
}
html .treatment .frame .frame_box .frame_box_inner .text h4 small {
  display: block;
  font-size: 2rem;
  color: #c1994a;
}
html .treatment .frame .frame_box .frame_box_inner .text h4 em {
  display: block;
  font-size: 3rem;
  line-height: 1.3;
}
html .treatment .frame .frame_box .frame_box_inner .text p {
  font-size: 1.6rem;
}
html #invisalign {
  background: #f7f7f6;
  padding-top: 120px;
}
html #invisalign .treatment_head {
  background: #f7f7f6 url("../img/invisalign01.jpg") no-repeat center top;
  background-size: 1400px auto;
}
html #invisalign .treatment_head .text {
  padding: 0 100px 0 760px;
  box-sizing: border-box;
}
@media screen and (max-width: 1400px) {
  html #invisalign .treatment_head {
    background-position: left top;
    background-size: 100% auto;
  }
  html #invisalign .treatment_head .text {
    padding: 0 100px 0 50%;
    box-sizing: border-box;
  }
}
html #invisalign .treatment_box .feature_ttl {
  padding-top: 0;
}
html #invisalign .frame:before {
  background: #fff;
}
html #invisalign .frame .frame_box:before {
  width: calc(50% - 220px);
}
html #invisalign .frame .frame_box:after {
  width: calc(50% - 220px);
}
@media screen and (max-width: 768px) {
  html .treatment .treatment_head {
    width: 100%;
    height: auto;
    padding-top: 66vw;
    background: #f0f4f7 url("../img/lingual01@sp.jpg") no-repeat center top;
    background-size: 100% auto;
    display: block;
  }
  html .treatment .treatment_head .text {
    width: 100%;
    max-width: 100%;
    padding: 20px !important;
    box-sizing: border-box;
  }
  html .treatment .treatment_head .text h2 {
    padding-bottom: 20px;
    text-align: center;
  }
  html .treatment .treatment_head .text h2 span {
    display: block;
    font-size: 1.4rem;
  }
  html .treatment .treatment_head .text h2 em {
    display: block;
    line-height: 1;
    font-size: 2.8rem;
  }
  html .treatment .treatment_head .text p {
    width: 100%;
  }
  html .treatment .treatment_box {
    width: 100%;
    max-width: 100%;
    padding: 0 30px;
    box-sizing: border-box;
  }
  html .treatment .treatment_box .feature_ttl {
    padding: 50px 0 30px;
    margin-bottom: 40px;
    font-size: 2.8rem;
  }
  html .treatment .treatment_box .feature_ttl:before {
    left: calc(50% - 22px);
    width: 44px;
  }
  html .treatment .treatment_box .treatment_box_inner {
    width: 100%;
    display: block;
    padding: 0 0 60px;
    box-sizing: border-box;
  }
  html .treatment .treatment_box .treatment_box_inner .item {
    width: 100%;
    padding-bottom: 30px;
  }
  html .treatment .treatment_box .treatment_box_inner .item figure img {
    width: 100%;
  }
  html .treatment .treatment_box .treatment_box_inner .item .text h4 {
    font-size: 2rem;
    padding: 20px 0;
  }
  html .treatment .frame {
    width: 100%;
    padding: 20px;
  }
  html .treatment .frame:before {
    background: #f7f7f6;
  }
  html .treatment .frame .frame_box {
    max-width: 100%;
    width: 100%;
    padding: 60px 20px 20px;
  }
  html .treatment .frame .frame_box:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: calc(50% - 100px);
    height: 1px;
    background: #222222;
  }
  html .treatment .frame .frame_box:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: calc(50% - 100px);
    height: 1px;
    background: #222222;
  }
  html .treatment .frame .frame_box h3 {
    text-align: center;
    position: absolute;
    left: 0;
    top: -42px;
    width: 100%;
  }
  html .treatment .frame .frame_box h3 small {
    font-size: 1.5rem;
    letter-spacing: 0.2em;
  }
  html .treatment .frame .frame_box h3 em {
    font-size: 2.4rem;
  }
  html .treatment .frame .frame_box .frame_box_inner {
    display: block;
  }
  html .treatment .frame .frame_box .frame_box_inner figure {
    flex-shrink: 0;
  }
  html .treatment .frame .frame_box .frame_box_inner .text {
    padding: 0px;
  }
  html .treatment .frame .frame_box .frame_box_inner .text h4 {
    padding: 20px 0;
    text-align: center;
  }
  html .treatment .frame .frame_box .frame_box_inner .text h4 small {
    text-align: center;
    font-size: 1.4rem;
  }
  html .treatment .frame .frame_box .frame_box_inner .text h4 em {
    font-size: 2.2rem;
  }
  html .treatment .frame .frame_box .frame_box_inner .text p {
    font-size: 1.5rem;
  }
  html #invisalign {
    padding-top: 60px;
  }
  html #invisalign .treatment_head {
    background: #f7f7f6 url("../img/invisalign01@sp.jpg") no-repeat center top;
    background-size: 100% auto;
    padding-top: 55vw;
  }
  html #invisalign .treatment_box .feature_ttl {
    padding-top: 20px;
  }
  html #invisalign .frame:before {
    background: #fff;
  }
  html #invisalign .frame .frame_box:before {
    width: calc(50% - 130px);
  }
  html #invisalign .frame .frame_box:after {
    width: calc(50% - 130px);
  }
}
html .diff {
  width: 100%;
  padding-top: 120px;
  background: #fff;
}
html .diff .diff_ttl {
  text-align: center;
  font-size: 4.5rem;
  padding-bottom: 100px;
}
html .diff .diff_ttl span {
  position: relative;
}
html .diff .diff_ttl span:before {
  content: "マウスピース型矯正装置";
  position: absolute;
  left: 0;
  top: -2em;
  width: 100%;
  font-size: 1.3rem;
  white-space: nowrap;
  letter-spacing: 0.5em;
  text-align: center;
}
html .diff .diff_inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-bottom: 70px;
  position: relative;
}
html .diff .diff_inner:before {
  content: "";
  position: absolute;
  right: 50%;
  top: 0;
  width: 50vw;
  height: 100%;
  background: #f6f3f0;
  z-index: 1;
}
html .diff .diff_inner .diff_head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
html .diff .diff_inner .diff_head > div {
  width: 50%;
  text-align: center;
}
html .diff .diff_inner .diff_head > div h3 {
  text-align: center;
  font-size: 4.2rem;
  width: 100%;
  height: 160px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
}
html .diff .diff_inner .diff_head > div h3 small {
  display: block;
  line-height: 1;
  font-size: 1.8rem;
}
html .diff .diff_inner .diff_head .right h3 {
  color: #c1994a;
}
html .diff .diff_inner .diff_body {
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}
html .diff .diff_inner .diff_body .item {
  width: 50%;
  padding: 0 100px 30px;
  box-sizing: border-box;
}
html .diff .diff_inner .diff_body .item dl dt {
  background: #222222;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
}
html .diff .diff_inner .diff_body .item dl dd {
  border: 1px solid #222222;
  background: #fff;
  padding: 20px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
}
html .diff .diff_inner .diff_body .item dl dd p {
  text-align: center;
}
html .diff .diff_inner .diff_body .item dl dd p small {
  font-size: 1rem;
}
html .diff .diff_inner .diff_body .item dl + small {
  display: block;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
}
html .diff .diff_inner .diff_body .item + .item dl dt {
  background: #c1994a;
}
html .diff .diff_inner .diff_body .item + .item dl dd {
  border: 1px solid #c1994a;
}
@media screen and (max-width: 768px) {
  html .diff {
    padding-top: 60px;
  }
  html .diff .diff_ttl {
    text-align: center;
    font-size: 2.5rem;
    line-height: 2.3;
    padding-bottom: 60px;
  }
  html .diff .diff_ttl span {
    position: relative;
  }
  html .diff .diff_ttl span:before {
    font-size: 1rem;
    letter-spacing: 0.2em;
  }
  html .diff .diff_inner {
    width: 100%;
    max-width: 100%;
    padding-bottom: 30px;
  }
  html .diff .diff_inner .diff_head {
    width: 100%;
  }
  html .diff .diff_inner .diff_head > div h3 {
    font-size: 2.2rem;
    padding: 20px 0;
    height: auto;
  }
  html .diff .diff_inner .diff_head > div h3 small {
    display: block;
    line-height: 1;
    font-size: 1rem;
  }
  html .diff .diff_inner .diff_body .item {
    width: 50%;
    padding: 0 10px 10px;
    box-sizing: border-box;
  }
  html .diff .diff_inner .diff_body .item dl dt {
    font-size: 1.2rem;
  }
  html .diff .diff_inner .diff_body .item dl dd {
    padding: 12px;
    font-size: 1.2rem;
    line-height: 1.65;
  }
  html .diff .diff_inner .diff_body .item dl + small {
    display: block;
    font-size: 1rem;
    font-family: "Noto Sans JP", sans-serif;
  }
}
html .flow {
  width: 100%;
  position: relative;
}
html .flow:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background: #fbf9f8;
  z-index: -1;
}
html .flow:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background: #fff;
  z-index: -1;
}
html .flow .sect_ttl {
  padding: 80px 0;
}
html .flow .flow_inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
html .flow .flow_inner .flow_ttl {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-bottom: 100px;
}
html .flow .flow_inner .flow_ttl h3 {
  width: 50%;
  height: 85px;
  background: #222222;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 3rem;
  letter-spacing: 0.1em;
  position: relative;
}
html .flow .flow_inner .flow_ttl h3:before {
  content: "\e90a";
  font-family: "icomoon";
  position: absolute;
  left: calc(50% - 1em);
  top: 100%;
  font-size: 2rem;
  line-height: 1;
  color: #222222;
}
html .flow .flow_inner .flow_ttl h3 span {
  display: block;
  line-height: 1;
}
html .flow .flow_inner .flow_ttl h3 span small {
  display: block;
  line-height: 1;
  font-size: 1rem;
  text-align: center;
  padding-top: 5px;
}
html .flow .flow_inner .flow_ttl h3 + h3 {
  background: #c1994a;
}
html .flow .flow_inner .flow_ttl h3 + h3:before {
  color: #c1994a;
}
html .flow .flow_inner .flow_item:last-child:before {
  content: none;
}
html .flow .flow_inner .flow_item {
  display: flex;
  justify-content: center;
  width: 100%;
  position: relative;
}
html .flow .flow_inner .flow_item:before {
  content: "";
  position: absolute;
  left: calc(50% - 1px);
  top: 74px;
  height: 0;
  width: 2px;
  background: #222222;
  transition: all 1s ease;
  backface-visibility: hidden;
}
html .flow .flow_inner .flow_item.active:before {
  height: 100%;
}
html .flow .flow_inner .flow_item .step {
  position: absolute;
  left: calc(50% - 45px);
  top: -16px;
  z-index: 100;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: #222222;
  color: #fff;
}
html .flow .flow_inner .flow_item .step small {
  display: block;
  line-height: 1;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  padding-top: 20px;
}
html .flow .flow_inner .flow_item .step em {
  display: block;
  line-height: 1;
  font-size: 3rem;
  font-weight: normal;
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
html .flow .flow_inner .flow_item .item {
  width: 50%;
  padding: 0 100px 100px;
  box-sizing: border-box;
  position: relative;
}
html .flow .flow_inner .flow_item .item h4 {
  border: 1px solid #222222;
  background: #fff;
  text-align: center;
  width: 100%;
  height: 58px;
  font-size: 2.2rem;
  border-radius: 29px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
  position: relative;
  box-sizing: border-box;
}
html .flow .flow_inner .flow_item .item h4:before {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  width: 56px;
  height: 1px;
  background: #222222;
}
html .flow .flow_inner .flow_item .item figure {
  padding-bottom: 10px;
}
html .flow .flow_inner .flow_item .item p {
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  padding-bottom: 40px;
}
html .flow .flow_inner .flow_item .item table {
  width: 100%;
  table-layout: fixed;
  font-family: "Noto Sans JP", sans-serif;
}
html .flow .flow_inner .flow_item .item table thead tr th {
  text-align: center;
  background: #222222;
  color: #fff;
  font-size: 1.5rem;
  font-weight: normal;
}
html .flow .flow_inner .flow_item .item table tbody tr td {
  background: #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 2rem;
  padding: 15px 0;
  border: 1px solid #222222;
  line-height: 1.4;
}
html .flow .flow_inner .flow_item .item table tbody tr td small {
  font-size: 1.3rem;
}
html .flow .flow_inner .flow_item .item table tbody tr td .free {
  color: #ff4850;
}
html .flow .flow_inner .flow_item .item table + table {
  margin-top: 20px;
}
html .flow .flow_inner .flow_item .item + .item h4 {
  color: #c1994a;
  border-color: #c1994a;
}
html .flow .flow_inner .flow_item .item + .item h4:before {
  left: auto;
  right: 100%;
  background: #c1994a;
}
html .flow .flow_inner .flow_item .item + .item table thead tr th {
  background: #c1994a;
}
html .flow .flow_inner .flow_item .item + .item table tbody tr td {
  color: #c1994a;
  border: 1px solid #c1994a;
}
@media screen and (max-width: 768px) {
  html .flow .sect_ttl {
    padding: 60px 0;
  }
  html .flow .flow_inner {
    max-width: 100%;
  }
  html .flow .flow_inner .flow_ttl {
    padding-bottom: 60px;
  }
  html .flow .flow_inner .flow_ttl h3 {
    width: 50%;
    height: 55px;
    font-size: 2rem;
  }
  html .flow .flow_inner .flow_ttl h3:before {
    left: calc(50% - 0.5em);
    font-size: 1rem;
  }
  html .flow .flow_inner .flow_ttl h3 span {
    display: block;
    line-height: 1;
  }
  html .flow .flow_inner .flow_ttl h3 span small {
    display: block;
    line-height: 1;
    font-size: 1rem;
    text-align: center;
    padding-top: 5px;
  }
  html .flow .flow_inner .flow_item:before {
    left: calc(50% - 1px);
    top: 44px;
  }
  html .flow .flow_inner .flow_item .step {
    position: absolute;
    left: calc(50% - 30px);
    top: -16px;
    width: 60px;
    height: 60px;
  }
  html .flow .flow_inner .flow_item .step small {
    font-size: 1rem;
    padding-top: 15px;
  }
  html .flow .flow_inner .flow_item .step em {
    font-size: 2rem;
  }
  html .flow .flow_inner .flow_item .item {
    width: 50%;
    padding: 0 10px 40px;
    box-sizing: border-box;
    position: relative;
  }
  html .flow .flow_inner .flow_item .item h4 {
    height: auto;
    font-size: 1.5rem;
    border-radius: 15px;
    margin-bottom: 20px;
  }
  html .flow .flow_inner .flow_item .item h4:before {
    content: none;
  }
  html .flow .flow_inner .flow_item .item p {
    font-size: 1.3rem;
    padding-bottom: 20px;
  }
  html .flow .flow_inner .flow_item .item table thead tr th {
    font-size: 1rem;
  }
  html .flow .flow_inner .flow_item .item table tbody tr td {
    font-size: 1.3rem;
    padding: 8px;
  }
  html .flow .flow_inner .flow_item .item table tbody tr td small {
    font-size: 1rem;
  }
  html .flow .flow_inner .flow_item .item table + table {
    margin-top: 10px;
  }
}
html .price {
  background: #fff9f0;
}
html .price .sect_ttl + p {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  padding-bottom: 100px;
}
html .price .price_inner {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  box-sizing: border-box;
  margin: 0 auto;
}
html .price .price_inner .price_table {
  width: 100%;
  table-layout: fixed;
}
html .price .price_inner .price_table thead tr th {
  background: #d4987e;
  color: #fff;
  font-size: 3rem;
  font-weight: 600;
  width: 100%;
  height: 86px;
  text-align: left;
  vertical-align: middle;
  text-indent: 30px;
}
html .price .price_inner .price_table tbody tr th {
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding: 50px;
  background: #fff;
  border-bottom: 1px solid #d4987e;
  vertical-align: middle;
}
html .price .price_inner .price_table tbody tr th small {
  display: block;
  font-size: 1.5rem;
}
html .price .price_inner .price_table tbody tr td {
  padding: 50px;
  background: #fff;
  border-bottom: 1px solid #d4987e;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
}
html .price .price_inner .price_table tbody tr td p {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 0.8;
  padding-bottom: 1.25em;
}
html .price .price_inner .price_table tbody tr td p .tag {
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  background: #222222;
  padding: 5px 10px;
  margin-right: 5px;
}
html .price .price_inner .price_table tbody tr td p small {
  display: inline-block;
  font-size: 1.3rem;
  padding: 0 2px;
}
html .price .price_inner .price_table tbody tr td p:last-child {
  padding-bottom: 0;
}
html .price .price_inner .price_table tbody tr td .free {
  color: #ff4850;
}
html .price .price_inner .price_table tfoot tr td {
  padding-top: 10px;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
}
html .price .price_inner .price_table ~ .price_table {
  margin-top: 75px;
}
html .price .payment {
  margin-top: 120px;
  width: 100%;
  padding: 90px 0;
  background: #d4987e;
  text-align: center;
  color: #fff;
}
html .price .payment h3 {
  font-size: 3rem;
  line-height: 1;
  padding-bottom: 50px;
}
html .price .payment p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  padding-bottom: 50px;
}
html .price .payment ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
html .price .payment ul li {
  width: 270px;
  height: 75px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
html .price .payment ul li span {
  color: #d4987e;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
html .price .payment ul li span small {
  display: block;
  line-height: 1;
  font-size: 1rem;
}
html .price .payment ul li + li {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  html .price .sect_ttl + p {
    font-size: 1.3rem;
    padding-bottom: 50px;
  }
  html .price .price_inner {
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
  }
  html .price .price_inner .price_table thead tr th {
    font-size: 1.8rem;
    height: auto;
    padding: 10px;
    text-indent: 0px;
  }
  html .price .price_inner .price_table tbody tr th {
    font-size: 1.5rem;
    padding: 10px;
  }
  html .price .price_inner .price_table tbody tr th small {
    display: block;
    font-size: 1rem;
  }
  html .price .price_inner .price_table tbody tr td {
    padding: 10px;
  }
  html .price .price_inner .price_table tbody tr td p {
    font-size: 1.5rem;
    line-height: 1.35;
  }
  html .price .price_inner .price_table tbody tr td p .tag {
    padding: 4px 8px;
    margin-right: 0px;
    display: block;
    text-align: center;
  }
  html .price .price_inner .price_table tbody tr td p small {
    font-size: 1rem;
    padding: 0 2px;
  }
  html .price .price_inner .price_table tfoot tr td {
    padding-top: 10px;
    text-align: left;
    font-size: 1rem;
  }
  html .price .price_inner .price_table ~ .price_table {
    margin-top: 30px;
  }
  html .price .payment {
    margin-top: 60px;
    width: 100%;
    padding: 30px 20px 20px;
    box-sizing: border-box;
  }
  html .price .payment h3 {
    font-size: 2rem;
    padding-bottom: 20px;
  }
  html .price .payment p {
    padding-bottom: 20px;
  }
  html .price .payment ul {
    display: block;
  }
  html .price .payment ul li {
    width: 100%;
    height: 48px;
    line-height: 1;
  }
  html .price .payment ul li span small {
    padding-top: 4px;
  }
  html .price .payment ul li + li {
    margin-top: 15px;
    margin-left: 0px;
  }
}
html .doctor {
  width: 100%;
  padding-bottom: 100px;
  background: #fff;
}
html .doctor .inner {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  margin: 0 auto;
  box-sizing: border-box;
}
html .doctor .inner .sect_ttl {
  text-align: left;
}
html .doctor .inner .doctor_detail {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
html .doctor .inner .doctor_detail figure {
  flex-shrink: 0;
  padding-left: 100px;
}
html .doctor .inner .doctor_detail figure figcaption {
  text-align: right;
  padding-top: 20px;
}
html .doctor .inner .doctor_detail figure figcaption small {
  display: block;
  font-size: 1.5rem;
  line-height: 1.6;
}
html .doctor .inner .doctor_detail figure figcaption em {
  display: block;
  font-size: 2.4rem;
  font-weight: 500;
}
html .doctor .inner .doctor_detail figure figcaption em span {
  padding-right: 1em;
  font-size: 1.8rem;
}
html .doctor .inner .doctor_detail .text h3 {
  font-size: 3rem;
  padding-bottom: 40px;
}
html .doctor .inner .doctor_detail .text h3 + p {
  font-size: 1.7rem;
  padding-bottom: 40px;
}
html .doctor .inner .doctor_detail .text .history {
  display: flex;
  justify-content: space-between;
}
html .doctor .inner .doctor_detail .text .history dl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
html .doctor .inner .doctor_detail .text .history dl dt {
  padding-bottom: 20px;
}
html .doctor .inner .doctor_detail .text .history dl dd {
  font-size: 1.5rem;
}
html .doctor .inner .doctor_detail .text .history dl dd ul li {
  display: flex;
  justify-content: flex-start;
}
html .doctor .inner .doctor_detail .text .history dl dd ul li span {
  padding-right: 1em;
}
html .doctor .inner > *:last-child{
  text-align:center;
  margin:60px 0 0;
}
html .doctor .inner > *:last-child a {
  display:inline-block;
  border:solid 1px #222;
  padding:15px 5em;
  text-decoration:none;
  color:#222;
  background:#fff;
}
html .doctor .inner > *:last-child a:hover {
  background:#222;
  color:#fff;
}
@media screen and (max-width: 768px) {
  html .doctor {
    width: 100%;
    padding-bottom: 0px;
  }
  html .doctor .inner {
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  html .doctor .inner .sect_ttl {
    text-align: center;
  }
  html .doctor .inner .doctor_detail {
    display: block;
  }
  html .doctor .inner .doctor_detail figure {
    flex-shrink: 0;
    padding: 0;
    text-align: center;
  }
  html .doctor .inner .doctor_detail figure figcaption {
    text-align: center;
    padding-top: 20px;
  }
  html .doctor .inner .doctor_detail figure figcaption small {
    font-size: 1.2rem;
  }
  html .doctor .inner .doctor_detail figure figcaption em {
    display: block;
    font-size: 2rem;
  }
  html .doctor .inner .doctor_detail figure figcaption em span {
    font-size: 1.6rem;
  }
  html .doctor .inner .doctor_detail .text h3 {
    font-size: 2.2rem;
    text-align: center;
    padding: 20px;
  }
  html .doctor .inner .doctor_detail .text h3 + p {
    font-size: 1.5rem;
    padding-bottom: 20px;
  }
  html .doctor .inner .doctor_detail .text .history {
    display: block;
  }
  html .doctor .inner .doctor_detail .text .history dl {
    padding-bottom: 30px;
  }
  html .doctor .inner .doctor_detail .text .history dl dt {
    padding-bottom: 10px;
    font-size: 1.5rem;
  }
  html .doctor .inner .doctor_detail .text .history dl dd {
    font-size: 1.4rem;
  }
  html .doctor .inner > *:last-child{
    margin:0;
  }
}
html .clinic {
  width: 100%;
  padding-bottom: 100px;
  background: #fff;
}
html .clinic .inner {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  margin: 0 auto;
  box-sizing: border-box;
}
html .clinic .inner .sect_ttl {
  text-align: left;
}
html .clinic .inner .imgbox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
html .clinic .inner .imgbox .img01 {
  width: 58.34%;
}
html .clinic .inner .imgbox .img02 {
  width: 41.66%;
}
html .clinic .inner .imgbox .img03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
html .clinic .inner .imgbox .img03 > img {
  width: 41.66%;
}
html .clinic .inner .imgbox .img03 .img04 {
  width: 58.34%;
  display: flex;
  justify-content: center;
  align-items: center;
}
html .clinic .inner .imgbox .img03 .img04 img {
  width: 50%;
}
html .clinic .inner .googlemap {
  width: 100%;
  height: 600px;
  position: relative;
}
html .clinic .inner .googlemap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: block;
}
html .clinic .inner .cata {
  padding-top: 60px;
  display: flex;
  justify-content: flex-start;
}
html .clinic .inner .cata ul li {
  display: flex;
  justify-content: flex-start;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
}
html .clinic .inner .cata ul li em {
  display: block;
  width: 76px;
  flex-shrink: 0;
  color: #c1994a;
  font-weight: 500;
  text-align-last: justify;
  margin-right: 2em;
}
html .clinic .inner .cata ul + ul {
  padding-left: 120px;
}
@media screen and (max-width: 768px) {
  html .clinic {
    width: 100%;
    padding: 0px;
  }
  html .clinic .inner {
    width: 100%;
    max-width: 100%;
    padding: 20px;
  }
  html .clinic .inner .sect_ttl {
    text-align: center;
  }
  html .clinic .inner .imgbox {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
  }
  html .clinic .inner .imgbox .img01 {
    width: 100%;
  }
  html .clinic .inner .imgbox .img02 {
    width: 100%;
  }
  html .clinic .inner .imgbox .img03 {
    display: block;
    width: 100%;
  }
  html .clinic .inner .imgbox .img03 > img {
    width: 100%;
  }
  html .clinic .inner .imgbox .img03 .img04 {
    width: 100%;
  }
  html .clinic .inner .imgbox .img03 .img04 img {
    width: 50%;
  }
  html .clinic .inner .googlemap {
    width: 100%;
    height: 300px;
  }
  html .clinic .inner .cata {
    padding-top: 20px;
    display: block;
  }
  html .clinic .inner .cata ul li {
    display: flex;
    justify-content: flex-start;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
  }
  html .clinic .inner .cata ul li em {
    display: block;
    width: 56px;
    margin-right: 1.5em;
  }
  html .clinic .inner .cata ul + ul {
    padding-left: 0px;
  }
}
html .contact {
  text-align: center;
  background: #fefcf8;
  padding-bottom: 100px;
}
html .contact .inner {
  width: 100%;
  max-width: 1400px;
  padding: 0 100px;
  box-sizing: border-box;
  margin: 0 auto;
}
html .contact .inner h3 {
  padding: 120px 0 50px;
  margin-bottom: 60px;
  text-align: center;
  font-size: 3.5rem;
  line-height: 1;
  position: relative;
}
html .contact .inner h3:before {
  content: "";
  position: absolute;
  left: calc(50% - 33px);
  bottom: 0;
  width: 66px;
  height: 2px;
  background: #c1994a;
}
html .contact .inner .btnbox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto 70px;
}
html .contact .inner .btnbox a {
  width: 50%;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #c1994a;
  box-sizing: border-box;
}
html .contact .inner .btnbox a.tel {
  background: #fff;
}
html .contact .inner .btnbox a.tel .icon-tel {
  color: #c1994a;
  font-size: 4.2rem;
  margin-right: 8px;
}
html .contact .inner .btnbox a.tel span {
  color: #c1994a;
  font-size: 5rem;
}
html .contact .inner .btnbox a.rsv_btn {
  background: #c1994a;
  color: #fff;
}
html .contact .inner .btnbox a.rsv_btn .icon-rsv {
  font-size: 2.8rem;
  margin-right: 10px;
}
html .contact .inner .btnbox a.rsv_btn span {
  font-size: 2.7rem;
}
html .contact .inner .address {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  width: 100%;
  height: 175px;
  max-width: 1200px;
  margin: 0 auto 70px;
  border: 1px solid #222222;
  box-sizing: border-box;
}
html .contact .inner .address ul {
  padding-left: 100px;
}
html .contact .inner .address ul li {
  display: flex;
  justify-content: flex-start;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
}
html .contact .inner .address ul li em {
  display: block;
  width: 76px;
  flex-shrink: 0;
  font-weight: 500;
  text-align-last: justify;
  margin-right: 2em;
}
html .risk {
  width: 100%;
  padding: 80px 100px;
  box-sizing: border-box;
  background: #fff;
}
html .risk .risk_inner {
  width: 100%;
  height: 200px;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 1.3rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow-y: auto;
}
html .risk .risk_inner em {
  font-weight: 500;
}
html .risk .risk_inner p ~ em {
  display: block;
  font-weight: 500;
  line-height: 1.6;
  padding: 1em 0 0.5em;
}
html footer {
  padding: 30px;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  html .contact {
    padding-bottom: 20px;
  }
  html .contact .inner {
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }
  html .contact .inner h3 {
    padding: 50px 0 30px;
    margin-bottom: 40px;
    font-size: 2.4rem;
  }
  html .contact .inner h3:before {
    left: calc(50% - 22px);
    width: 44px;
  }
  html .contact .inner .btnbox {
    display: block;
    width: 100%;
    margin: 0 auto 30px;
  }
  html .contact .inner .btnbox a {
    width: 100%;
    height: 60px;
  }
  html .contact .inner .btnbox a.tel {
    background: #fff;
  }
  html .contact .inner .btnbox a.tel .icon-tel {
    font-size: 2rem;
    margin-right: 8px;
  }
  html .contact .inner .btnbox a.tel span {
    font-size: 2.5rem;
  }
  html .contact .inner .btnbox a.rsv_btn .icon-rsv {
    font-size: 2.2rem;
    margin-right: 8px;
  }
  html .contact .inner .btnbox a.rsv_btn span {
    font-size: 1.6rem;
    font-weight: 600;
  }
  html .contact .inner .btnbox a + a {
    margin-top: 20px;
  }
  html .contact .inner .address {
    display: block;
    background: #fff;
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  html .contact .inner .address figure {
    padding-bottom: 20px;
  }
  html .contact .inner .address figure img {
    width: auto;
    height: 50px;
  }
  html .contact .inner .address ul {
    padding-left: 0px;
  }
  html .contact .inner .address ul li {
    font-size: 1.2rem;
    padding-bottom: 5px;
  }
  html .contact .inner .address ul li em {
    width: 52px;
    margin-right: 2em;
  }
  html .contact .inner .address ul li p {
    text-align: left;
    line-height: 1.5;
  }
  html .risk {
    width: 100%;
    padding: 20px;
  }
  html .risk .risk_inner {
    width: 100%;
    height: 200px;
    max-width: 100%;
    font-size: 1.1rem;
  }
  html footer {
    padding: 20px 20px 80px;
    font-size: 1rem;
    text-align: center;
  }
}
html #fixed_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  bottom: -60px;
  width: calc(100% - 60px);
  z-index: 100;
  transition: all 0.5s cubic-bezier(1, 0, 0, 1);
  backface-visibility: hidden;
}
html #fixed_footer.on {
  bottom: 0;
}
html #fixed_footer a {
  width: 50%;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
}
html #fixed_footer a span {
  display: block;
  text-align: center;
}
html #fixed_footer a span .icon-tel {
  font-size: 2rem;
}
html #fixed_footer a span .icon-rsv {
  font-size: 2rem;
}
html #fixed_footer a span small {
  display: block;
  line-height: 1;
  font-size: 1rem;
  font-weight: 600;
}
html #fixed_footer a.tel {
  background: #222222;
}
html #fixed_footer a#rsv_f_btn {
  background: #c1994a;
}

/*# sourceMappingURL=style.css.map */
