@charset "UTF-8";
/*----------------------------------
設定
----------------------------------*/
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap");
@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype");
}

@font-face {
  font-family: "Noto Sans CJK JP";
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format("opentype");
}

/*----------------------------------
初期化
----------------------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-size: 1.251vw;
  font-weight: 400;
  color: #373737;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #fff;
  overflow-x: hidden;
  overflow-wrap: break-word;
}

@media (min-width: 1920px) {
  body {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  body {
    font-size: 4.8vw;
  }
}

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

a {
  text-decoration: none;
  color: inherit;
}

a:hover div,
a:hover img,
a:hover p {
  opacity: 0.7;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

/*----------------------------------
補完クラス
----------------------------------*/
@media (min-width: 1920px) {
  .hidden-pc {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .hidden-tab {
    display: none;
  }
}

@media (min-width: 1217px) and (max-width: 1919px) {
  .hidden-tablet {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .hidden-special {
    display: none;
  }
}

@media (max-width: 767px) {
  .hidden-sp {
    display: none;
  }
}

.color-active {
  color: #9d0000;
}

.color-main {
  color: #9d0000;
}

.color-pink {
  color: #e4327c;
}

.font-bold {
  font-weight: 700;
}

.font-12 {
  font-size: 0.68vw;
}

@media (min-width: 1920px) {
  .font-12 {
    font-size: 12px;
  }
}

@media (max-width: 767px) {
  .font-12 {
    font-size: 3vw;
  }
}

.font-14 {
  font-size: 0.73vw;
}

@media (min-width: 1920px) {
  .font-14 {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .font-14 {
    font-size: 2.67vw;
  }
}

.font-15 {
  font-size: 0.8vw;
}

@media (min-width: 1920px) {
  .font-15 {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .font-15 {
    font-size: 2.8vw;
  }
}

.font-16 {
  font-size: 0.835vw;
  margin-top: 0.37vw;
}

@media (min-width: 1920px) {
  .font-16 {
    font-size: 16px;
    margin-top: 7px;
  }
}

.font-18 {
  font-size: 0.94vw;
  display: block;
}

@media (min-width: 1920px) {
  .font-18 {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .font-18 {
    font-size: 2.15vw;
  }
}

.font-19 {
  font-size: 0.99vw;
  display: block;
}

@media (min-width: 1920px) {
  .font-19 {
    font-size: 19px;
  }
}

.font-20 {
  font-size: 1vw;
}

@media (min-width: 1920px) {
  .font-20 {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .font-20 {
    font-size: 2.35vw;
  }
}

.font-22 {
  font-size: 1.15vw;
  margin-top: -1%;
}

@media (min-width: 1920px) {
  .font-22 {
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  .font-22 {
    font-size: 4.08vw;
  }
}

.font-24 {
  font-size: 1.15vw;
}

@media (min-width: 1920px) {
  .font-24 {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .font-24 {
    font-size: 4.8vw;
  }
}

.font-26 {
  font-size: 1.355vw;
}

@media (min-width: 1920px) {
  .font-26 {
    font-size: 26px;
  }
}

@media (max-width: 767px) {
  .font-26 {
    font-size: 3.12vw;
  }
}

.font-27 {
  font-size: 1.41vw;
}

@media (min-width: 1920px) {
  .font-27 {
    font-size: 27px;
  }
}

.font-28 {
  font-size: 1.45vw;
}

@media (min-width: 1920px) {
  .font-28 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .font-28 {
    font-size: 3.35vw;
  }
}

.font-30 {
  font-size: 1.57vw;
}

@media (min-width: 1920px) {
  .font-30 {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .font-30 {
    font-size: 4.8vw;
  }
}

.font-40 {
  font-size: 2.085vw;
}

@media (min-width: 1920px) {
  .font-40 {
    font-size: 40px;
  }
}

@media (max-width: 767px) {
  .font-40 {
    font-size: 7.2vw;
  }
}

@media (max-width: 767px) {
  .font-40.sp {
    font-size: 4.8vw;
  }
}

.font-45 {
  font-size: 2.35vw;
}

@media (min-width: 1920px) {
  .font-45 {
    font-size: 45px;
  }
}

@media (max-width: 767px) {
  .font-45 {
    font-size: 5.4vw;
  }
}

@media (max-width: 767px) {
  .font-46 {
    font-size: 4.6vw;
  }
}

.font-50 {
  font-size: 2.61vw;
}

@media (min-width: 1920px) {
  .font-50 {
    font-size: 50px;
  }
}

@media (max-width: 767px) {
  .font-50 {
    font-size: 6vw !important;
  }
}

.font-56 {
  font-size: 2.92vw;
}

@media (min-width: 1920px) {
  .font-56 {
    font-size: 56px;
  }
}

@media (max-width: 767px) {
  .font-56 {
    font-size: 6.7vw;
  }
}

.font-59 {
  font-size: 3.08vw;
}

@media (min-width: 1920px) {
  .font-59 {
    font-size: 59px;
  }
}

@media (max-width: 767px) {
  .font-59 {
    font-size: 7.08vw;
  }
}

.font-60 {
  font-size: 3.13vw;
  color: #9d0000;
}

@media (max-width: 767px) {
  .font-60 {
    font-size: 7.2vw;
  }
}

.font-61 {
  font-size: 3.18vw;
}

@media (min-width: 1920px) {
  .font-61 {
    font-size: 61px;
  }
}

@media (max-width: 767px) {
  .font-61 {
    font-size: 7.4vw;
  }
}

.font-100 {
  font-size: 5.22vw;
  line-height: 4vw;
}

@media (min-width: 1920px) {
  .font-100 {
    font-size: 100px;
    line-height: 54px;
  }
}

@media (max-width: 767px) {
  .font-100 {
    font-size: 12vw;
  }
}

/*----------------------------------
共通パーツ
----------------------------------*/
.container {
  width: 52.08vw;
  max-width: 100%;
  margin: 0 auto;
  height: inherit;
  background-color: #fff;
}

@media (min-width: 1920px) {
  .container {
    width: 1000px;
  }
}

@media (max-width: 767px) {
  .container {
    width: 95.97vw;
    margin-left: 2vw;
    margin-right: 2vw;
  }
}

.container2 {
  width: 52.08vw;
  max-width: 100%;
  margin: 0 auto;
}

@media (min-width: 1920px) {
  .container2 {
    width: 1000px;
  }
}

@media (max-width: 767px) {
  .container2 {
    width: 96vw;
    margin-left: 2vw;
    margin-right: 2vw;
  }
}

@media (max-width: 767px) {
  .container.narrow {
    width: 91.4vw;
    margin: auto;
  }
}

.section__title {
  padding: 0 0 1.35vw 0;
  margin: 0;
  position: relative;
  text-align: center;
  line-height: 1.5;
  color: #9d0000;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .section__title {
    padding-bottom: 26px;
  }
}

.section__title::after {
  content: "";
  background: url(../img/head-line-bottom.png) no-repeat center center/cover;
  width: 36.47vw;
  height: 0.61vw;
  position: absolute;
  bottom: -0.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media (min-width: 1920px) {
  .section__title::after {
    width: 700px;
    height: 11.9px;
  }
}

@media (max-width: 767px) {
  .section__title::after {
    bottom: -3vw;
    width: 84vw;
    max-width: 100%;
    height: 1.42vw;
  }
}

/*----------------------------------
ヘッダー
----------------------------------*/
.header {
  z-index: 20;
}

.mainvisual {
  position: relative;
  height: 33.8vw;
}

@media (min-width: 1920px) {
  .mainvisual {
    height: 650px;
  }
}

@media (max-width: 767px) {
  .mainvisual {
    height: 80.4vw;
  }
}

.mainvisual-img {
  height: 33.8vw;
  position: relative;
  z-index: 0;
}

@media (min-width: 1920px) {
  .mainvisual-img {
    height: 650px;
  }
}

@media (max-width: 767px) {
  .mainvisual-img {
    height: 80.4vw;
  }
}

.mainvisual-img img {
  width: 100%;
  height: 100%;
}

.header__inner {
  width: 52.08vw;
  max-width: 100%;
  margin: -3% auto 0;
}

@media (max-width: 767px) {
  .header__inner {
    width: 100%;
    margin-top: 2.2vw;
  }
}

.header__wrap {
  position: absolute;
  top: 0;
  left: 42.5%;
  width: 33.5vw;
  z-index: 1;
  margin-top: 3%;
}

@media (min-width: 1920px) {
  .header__wrap {
    width: 643px;
    top: 57.5px;
    margin-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .header__wrap {
    width: 34vw;
  }
}

@media (max-width: 767px) {
  .header__wrap {
    width: 78.2%;
    top: 1%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.header__copy {
  margin-bottom: 0.8vw;
}

@media (min-width: 1920px) {
  .header__copy {
    margin-bottom: 15px;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .header__copy {
    margin-bottom: 0;
  }
}

.header-feature {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.1vw;
}

@media (min-width: 1920px) {
  .header-feature {
    margin-top: 21px;
  }
}

@media (max-width: 767px) {
  .header-feature {
    margin-top: 4vw;
  }
}

.header-feature__item {
  background-color: #9d0000;
  color: #fff;
  font-family: "Sawarabi Mincho";
  text-align: center;
  border-radius: 10px;
  position: relative;
  width: 10.32vw;
  padding: 1.125vw 0 0.7vw;
  font-size: 1.56vw;
}

.header-feature__item + .header-feature__item {
  margin-left: 1.2vw;
}

@media (min-width: 1920px) {
  .header-feature__item + .header-feature__item {
    margin-left: 21px;
  }
}

@media (min-width: 1920px) {
  .header-feature__item {
    width: 198px;
    font-size: 30px;
    padding: 21px 9px 11px;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .header-feature__item {
    padding: 1vw 0 0.7vw;
    width: 11vw;
  }
}

@media (max-width: 767px) {
  .header-feature__item {
    width: 33.333%;
    font-size: 3.6vw;
    padding: 2.4vw 0 1.6vw;
  }
}

.header-feature__item::before {
  content: "";
  background: url(../img/crown.png) no-repeat top center/contain;
  position: absolute;
  top: -1.4vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 2.25vw;
  height: 100%;
  display: inline-block;
}

@media (min-width: 1920px) {
  .header-feature__item::before {
    width: 43px;
    top: -28px;
  }
}

@media (max-width: 767px) {
  .header-feature__item::before {
    width: 5.2vw;
    top: -3.5vw;
  }
}

@media (min-width: 1920px) {
  .header-feature__item .font-24 {
    font-size: 23px;
  }
}

@media (max-width: 767px) {
  .header-feature__item .font-24 {
    font-size: 2.87vw;
  }
}

.header__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1.1vw 0 0;
}

@media (min-width: 1920px) {
  .header__title-wrap {
    margin-top: 25px;
    margin-bottom: 8px;
  }
}

@media (max-width: 767px) {
  .header__title-wrap {
    margin: 3vw 0;
  }
}

.header__sub-title-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 27%;
          flex: 0 0 27%;
}

.header__sub-title-bg {
  position: relative;
  display: inline-block;
  margin-top: 20px;
}

.header__sub-title {
  background: url(../img/header-bg.png) no-repeat top center/contain;
  width: 10vw;
  font-size: 0.68vw;
  font-weight: 700;
  padding: 0.2vw 0 0 2.1vw;
  position: relative;
  color: #fff;
}

@media (min-width: 1217px) and (max-width: 1919px) {
  .header__sub-title {
    font-size: 0.5vw;
  }
}

.header-font-big {
  font-size: 1.15vw;
}

.header__title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 73%;
          flex: 0 0 73%;
  font-size: 1.98vw;
  line-height: 1.3;
  margin-bottom: 0.73vw;
  font-family: "游明朝体", YuMincho, "Yu Mincho", serif;
}

@media (min-width: 1920px) {
  .header__title {
    font-size: 38px;
  }
}

@media (max-width: 767px) {
  .header__title {
    font-size: 4.57vw;
    margin-bottom: 1.5vw;
  }
}

.contact-banner {
  font-family: "Sawarabi Mincho";
}

.header .contact-banner {
  position: relative;
  margin-top: 0.6vw;
  width: 33.51vw;
  height: 6.26vw;
}

@media (min-width: 1920px) {
  .header .contact-banner {
    width: 643px;
    height: 120px;
    margin-top: 0px;
  }
  .header .contact-banner img {
    width: 643px;
    height: 120px;
  }
}

@media (max-width: 767px) {
  .header .contact-banner {
    width: 100%;
    height: 14.4vw;
  }
}

.header .contact-banner-text {
  width: 100%;
  font-weight: 300;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 56.5%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 1.77vw;
  text-align: center;
  line-height: 1.15;
}

@media (min-width: 1920px) {
  .header .contact-banner-text {
    font-size: 34px;
  }
}

@media (max-width: 767px) {
  .header .contact-banner-text {
    font-size: 4.1vw;
    top: 48%;
    left: 60%;
  }
}

.shine {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.shine img {
  width: 100%;
  height: 100%;
}

.shine::before {
  position: absolute;
  content: "";
  display: block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: shine 4s ease-in-out infinite;
          animation: shine 4s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@keyframes shine {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes shine {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/*----------------------------------
ドロワー
----------------------------------*/
#menu_btn span {
  position: absolute;
  left: 0;
  width: 26.25px;
  height: 4px;
  background-color: #fff;
  border-radius: 1px;
}

@media (max-width: 767px) {
  #menu_btn span {
    width: 18.37px;
    height: 3px;
  }
}

#menu_btn,
#menu_btn span {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#menu_btn span:nth-of-type(1) {
  top: 19px;
  left: 16px;
}

@media (max-width: 767px) {
  #menu_btn span:nth-of-type(1) {
    top: 13px;
    left: 11.2px;
  }
}

#menu_btn span:nth-of-type(2) {
  top: 28px;
  left: 16px;
}

@media (max-width: 767px) {
  #menu_btn span:nth-of-type(2) {
    top: 19.6px;
    left: 11.2px;
  }
}

#menu_btn span:nth-of-type(3) {
  bottom: 19px;
  left: 16px;
}

@media (max-width: 767px) {
  #menu_btn span:nth-of-type(3) {
    bottom: 12.3px;
    left: 11.2px;
  }
}

#menu_btn.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg);
  width: 16px;
  left: 21px;
}

@media (max-width: 767px) {
  #menu_btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(7.5px) rotate(-45deg);
            transform: translateY(7.5px) rotate(-45deg);
    width: 11.2px;
    left: 15px;
  }
}

#menu_btn.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-btn-bar02 0.8s forwards;
          animation: active-btn-bar02 0.8s forwards;
}

@-webkit-keyframes active-btn-bar02 {
  100% {
    height: 0;
  }
}

@keyframes active-btn-bar02 {
  100% {
    height: 0;
  }
}

#menu_btn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg);
  width: 16px;
  left: 21px;
}

@media (max-width: 767px) {
  #menu_btn.active span:nth-of-type(3) {
    -webkit-transform: translateY(-6.3px) rotate(45deg);
            transform: translateY(-6.3px) rotate(45deg);
    width: 11.2px;
    left: 15px;
  }
}

#menu_btn.active .btn-border {
  border: 3px solid #fff;
  width: 30px;
  height: 26px;
  margin: 17px 15px 15px 14px;
  border-radius: 3px;
}

@media (max-width: 767px) {
  #menu_btn.active .btn-border {
    width: 22px;
    height: 19.2px;
    margin: 12.4px 10.5px 10.5px 9.5px;
  }
}

#menu {
  width: 100%;
  max-width: 475px;
  height: 100%;
  max-height: 600px;
  background-color: #fff9f8;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 40;
  -webkit-transform: translate(475px);
          transform: translate(475px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  margin-top: 0 !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#menu.open {
  -webkit-transform: translate(0);
          transform: translate(0);
  -webkit-overflow-scrolling: touch;
  overflow: scroll;
  height: 100%;
}

#menu_btn {
  position: fixed;
  top: 20px;
  right: 16px;
  width: 60px;
  height: 60px;
  color: #fff;
  border-radius: 5px;
  background-color: #9d0000;
  border-radius: 50%;
  cursor: pointer;
  z-index: 41;
}

@media (max-width: 767px) {
  #menu_btn {
    width: 42px;
    height: 42px;
    top: 10px;
    right: 5px;
  }
}

/* --- .menu-background --- */
.menu-background {
  position: fixed;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 35;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}

.menu-background.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.navi {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  background-color: #e4f6f3;
  width: 0;
  z-index: 0;
  padding-top: 100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 600ms ease-out;
  -webkit-transition: all 300ms ease-out;
  transition: all 300ms ease-out;
  z-index: 40;
}

@media (max-width: 767px) {
  .navi {
    padding-top: 75px;
  }
}

.drawer-menu {
  display: table-cell;
  vertical-align: middle;
}

.drawer-menu-item {
  display: inline-block;
  width: 96%;
  max-width: 455px;
  font-size: 14px;
  padding-left: 38px;
  line-height: 0.1;
  height: 40px;
  position: relative;
  border-bottom: 1px solid #9d0000;
  padding-top: 20px;
}

.drawer-menu-item:last-child {
  border-bottom: none;
}

.drawer-menu-item::before {
  content: "";
  background: url(../img/arrow2.png) no-repeat center left/contain;
  position: absolute;
  top: 9px;
  left: 22px;
  width: 6px;
  height: 63%;
  display: inline-block;
}

.drawer-menu-item a {
  color: #373737;
}

.drawer-menu-item-link:hover {
  text-decoration: none !important;
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 0;
}

.drawer-banner {
  padding-top: 93px;
  padding-bottom: 28px;
  border-bottom: 1px solid #00acb2;
  margin-bottom: 18px;
}

.drawer-banner__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 96%;
  margin: auto;
}

@media (max-width: 767px) {
  .drawer-banner__wrap {
    width: 94%;
  }
}

.drawer-banner-link {
  display: inline-block;
  margin-right: 10px;
  width: 100%;
  max-width: 146px;
  padding: 7.6px 0 7.5px;
  border-radius: 5px;
}

.drawer-banner-link.mail {
  padding-top: 11px !important;
}

@media (min-width: 1920px) {
  .drawer-banner-link.mail {
    padding-top: 12px !important;
  }
}

@media (max-width: 767px) {
  .drawer-banner-link.mail img {
    padding-top: 3%;
  }
}

@media (max-width: 767px) {
  .drawer-banner-link.line {
    margin-right: 0;
    padding-top: 9px;
  }
}

@media (max-width: 767px) {
  .drawer-banner-link.line img {
    padding-top: 3%;
  }
}

.drawer-banner__content {
  text-align: center;
  position: relative;
}

.drawer-banner__content::after {
  content: "";
  background: url(../img/arrow.png) no-repeat center right/contain;
  position: absolute;
  top: 50%;
  right: 6px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16%;
  height: 16%;
  display: inline-block;
}

@media (max-width: 767px) {
  .drawer-banner__content::after {
    right: 3px;
  }
}

.drawer-banner__content:last-child {
  margin-right: 0;
}

.drawer-banner-text {
  color: #fff;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
}

.drawer-nav__wrap {
  padding: 11px 0 0 11px;
}

.drawer-nav__wrap:last-child .drawer-menu-item:last-child {
  margin-bottom: 100px;
}

.drawer-menu__title {
  color: #fff;
  font-weight: 700;
  background-color: #9d0000;
  padding-left: 20px;
  padding-top: 12px;
  position: relative;
  height: 49px;
  font-size: 16px;
  width: 97%;
  max-width: 455px;
}

/*----------------------------------
症例写真でみるインプラント治療
----------------------------------*/
.treatment {
  padding-top: 4.15vw;
  padding-bottom: 4.15vw;
  background: url(../img/sec1-bg.png) no-repeat center center/cover;
}

@media (min-width: 1920px) {
  .treatment {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .treatment {
    padding-bottom: 7.15vw;
    padding-top: 7.15vw;
  }
}

@media (max-width: 767px) {
  .treatment__inner {
    margin-top: 9vw;
  }
}

.treatment__item {
  padding: 5.2vw 1.61vw 1.82vw 1.82vw;
  margin-top: 2.8vw;
  position: relative;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
}

@media (min-width: 1920px) {
  .treatment__item {
    padding: 100px 31px 35px 35px;
    margin-top: 54px;
  }
}

@media (max-width: 767px) {
  .treatment__item {
    padding-top: 10vw;
    padding-bottom: 4.82vw;
  }
}

.treatment__title {
  margin-bottom: 1.8vw;
  text-align: center;
  color: #9d0000;
  position: relative;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .treatment__title {
    margin-bottom: 35px;
  }
}

@media (max-width: 767px) {
  .treatment__title {
    font-size: 6vw;
  }
}

.treatment__title::before {
  content: "";
  background: url(../img/decoration-01.png) no-repeat center center/contain;
  position: absolute;
  top: -3.3vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5.23vw;
  height: 3vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .treatment__title::before {
    width: 100.45px;
    top: -60px;
  }
}

@media (max-width: 767px) {
  .treatment__title::before {
    width: 14vw;
    width: 10vw;
    height: 9vw;
    top: -7vw;
  }
}

.treatment__info {
  margin-top: 2.05vw;
}

@media (min-width: 1920px) {
  .treatment__info {
    margin-top: 40px;
  }
}

.treatment__info-title {
  border: 1px solid #f08f80;
  position: relative;
}

@media (max-width: 767px) {
  .treatment__info-title {
    margin-top: 9vw;
  }
}

.treatment__info-title::after {
  content: "この治療の情報について";
  position: absolute;
  top: -1.25vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 19vw;
  padding: 0 0.78vw;
  background-color: #fff;
  font-family: "Sawarabi Mincho";
  color: #9d0000;
  text-align: center;
}

@media (min-width: 1920px) {
  .treatment__info-title::after {
    width: 360px;
    padding: 0 15px;
    top: -25px;
  }
}

@media (max-width: 767px) {
  .treatment__info-title::after {
    width: 64vw;
    top: -3.8vw;
  }
}

.treatment__content {
  margin-top: 0.5vw;
}

@media (min-width: 1920px) {
  .treatment__content {
    margin-top: 10px;
  }
}

.treatment__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.755vw 0;
}

.treatment__wrap + .treatment__wrap {
  border-top: 1px solid #f6d4cf;
}

@media (min-width: 1920px) {
  .treatment__wrap {
    padding: 14.5px 0;
  }
}

@media (max-width: 767px) {
  .treatment__wrap {
    display: block;
    padding: 3vw 0;
  }
  .treatment__wrap:first-child {
    margin-top: 7vw;
  }
}

.treatment__head {
  color: #9d0000;
  font-weight: 700;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 6.67vw;
          flex: 0 0 6.67vw;
}

@media (min-width: 1920px) {
  .treatment__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 128px;
            flex: 0 0 128px;
  }
}

.treatment__text {
  margin-left: 1.19vw;
}

@media (min-width: 1920px) {
  .treatment__text {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 84%;
            flex: 0 0 84%;
    max-width: 100%;
    margin-left: 23px;
  }
}

.treatment__price {
  background-color: #f5e5e5;
  width: 47.9vw;
  height: 3.9vw;
  color: #702f3b;
  line-height: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.04vw;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .treatment__price {
    width: 921px;
    height: 75px;
    margin-top: 15px;
  }
}

@media (max-width: 767px) {
  .treatment__price {
    width: 100%;
    height: 15.6vw;
    padding-bottom: 5vw;
  }
}

.block {
  margin: -7vw 0 0 10.5vw;
  font-size: 3.6vw;
  font-family: "Sawarabi Mincho";
  color: #702f3b;
}

@media (max-width: 767px) {
  .block {
    display: block;
  }
}

.price__tag {
  display: inline-block;
  background-color: #9d0000;
  border-radius: 50%;
  text-align: center;
  color: #fff;
  padding-top: 0.3vw;
  width: 3.54vw;
  height: 3.54vw;
  margin: 0 0.75vw 0 0.5vw;
}

@media (min-width: 1920px) {
  .price__tag {
    width: 68px;
    height: 68px;
    padding-top: 10px;
    margin: 0 15px 0 10px;
  }
}

@media (max-width: 767px) {
  .price__tag {
    width: 8.9vw;
    height: 8.9vw;
    padding-top: 1.5vw;
    display: initial;
  }
}

.price__num {
  color: #dc1e41;
  margin-left: 0.5vw;
  padding-bottom: 0.2vw;
}

@media (min-width: 1920px) {
  .price__num {
    margin-left: 10px;
    padding-bottom: 5px;
  }
}

.price__currency {
  color: #dc1e41;
  margin-left: 0.1vw;
}

@media (min-width: 1920px) {
  .price__currency {
    margin-left: 3px;
  }
}

.trouble {
  height: 39.65vw;
  font-family: "Sawarabi Mincho";
  position: relative;
}

@media (min-width: 1920px) {
  .trouble {
    height: 761px;
  }
}

@media (max-width: 767px) {
  .trouble {
    height: 125.3vw;
  }
}

.trouble::after {
  content: "";
  background: url(../img/decoration-03.png) no-repeat center center/contain;
  position: absolute;
  bottom: -11vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 8.13vw;
  height: 11.25vw;
  z-index: -1;
}

@media (min-width: 1920px) {
  .trouble::after {
    width: 156.24px;
    height: 218.86px;
    bottom: -216px;
  }
}

@media (max-width: 767px) {
  .trouble::after {
    width: 18.7vw;
    height: 26.1vw;
    bottom: -24vw;
  }
}

.trouble__bg {
  background: url(../img/sec1-bg2.png) no-repeat center center/cover;
  height: 39.65vw;
}

@media (min-width: 1920px) {
  .trouble__bg {
    height: 761px;
  }
}

@media (max-width: 767px) {
  .trouble__bg {
    background: url(../img/sp-sec1-bg2.png) no-repeat top center/cover;
    height: auto;
  }
}

.trouble__inner {
  width: 52.08vw;
  max-width: 100%;
  margin: 0 auto;
  height: inherit;
  padding-top: 4.15vw;
}

@media (min-width: 1920px) {
  .trouble__inner {
    width: 1000px;
    padding-top: 80px;
  }
}

@media (max-width: 767px) {
  .trouble__inner {
    width: 95.97vw;
    margin-left: 2vw;
    margin-right: 2vw;
    padding-top: 11.15vw;
  }
}

.trouble__img {
  position: relative;
  width: 43.6vw;
  margin-left: auto;
}

@media (min-width: 1920px) {
  .trouble__img {
    width: 837px;
  }
}

@media (max-width: 767px) {
  .trouble__img {
    width: 99%;
  }
}

.trouble__title {
  position: absolute;
  top: 50%;
  right: 8%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1.333;
  font-size: 3.12vw;
}

@media (min-width: 1920px) {
  .trouble__title {
    font-size: 60px;
  }
}

@media (max-width: 767px) {
  .trouble__title {
    font-size: 7.12vw;
    text-align: center;
  }
}

.trouble__content {
  background-color: #fff;
  padding: 6.75vw 4.15vw 3.3vw 7.25vw;
  margin-top: -4.8vw;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
  border-radius: 5px;
}

@media (min-width: 1920px) {
  .trouble__content {
    padding: 130px 80px 64px 140px;
    margin-top: -92px;
  }
}

@media (max-width: 767px) {
  .trouble__content {
    margin-top: -9.8vw;
    padding-top: 13.75vw;
  }
}

.trouble__text {
  font-size: 1.57vw;
  position: relative;
}

@media (min-width: 1920px) {
  .trouble__text {
    font-size: 30px;
  }
}

@media (max-width: 767px) {
  .trouble__text {
    font-size: 5.4vw;
    padding: 0.3vw 0 0.3vw 2vw;
  }
}

@media (max-width: 767px) {
  .trouble__text:last-child::before {
    top: 48%;
  }
}

.trouble__text + .trouble__text {
  margin-top: 10px;
}

.trouble__text::before {
  content: "";
  background: url(../img/check.png) no-repeat center left/contain;
  position: absolute;
  top: 50%;
  left: -3vw;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.3vw;
  height: 1.8vw;
}

@media (min-width: 1920px) {
  .trouble__text::before {
    width: 44.5px;
    height: 35px;
    left: -60px;
  }
}

@media (max-width: 767px) {
  .trouble__text::before {
    width: 5.3vw;
    height: 4.2vw;
    left: -5vw;
    top: 27%;
  }
}

.trouble__tail {
  text-align: center;
  color: #9d0000;
  letter-spacing: -0.02em;
  line-height: 1.2121;
  font-size: 3.43vw;
  margin-top: 1.87vw;
}

@media (min-width: 1920px) {
  .trouble__tail {
    font-size: 66px;
    margin-top: 36px;
  }
}

@media (max-width: 767px) {
  .trouble__tail {
    font-size: 7vw;
    margin-top: 3vw;
  }
}

/*----------------------------------
名古屋ウィズ歯科矯正歯科の
インプラント治療にて解決！
----------------------------------*/
.solution {
  background: url(../img/sec2-bg.png) no-repeat center top/cover;
  position: relative;
  padding-bottom: 2.07vw;
  background-color: #deeff7;
  height: 64.85vw;
  margin-top: 13vw;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .solution {
    height: 61.85vw;
  }
}

@media (min-width: 1920px) {
  .solution {
    height: 1187px;
    padding-bottom: 40px;
    margin-top: 255px;
  }
}

@media (max-width: 767px) {
  .solution {
    margin-top: 25vw;
    background: url(../img/sp-sec2-bg.png) no-repeat top center/cover;
    background-color: #deeff7;
    margin-top: 28vw;
    height: 141.85vw;
  }
}

.solution__inner {
  position: absolute;
  top: 3vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media (min-width: 1920px) {
  .solution__inner {
    top: 57px;
  }
}

@media (max-width: 767px) {
  .solution__inner {
    padding-top: 5.8vw;
  }
}

.woman-img {
  position: absolute;
  top: 0;
  right: 0;
}

.solution__content {
  margin-top: 1.92vw;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
  position: relative;
}

@media (min-width: 1920px) {
  .solution__content {
    margin-top: 37px;
  }
}

@media (max-width: 767px) {
  .solution__content {
    margin-top: 8vw;
    z-index: 1;
    margin-right: 4%;
  }
}

.solution__content::after {
  content: "";
  background: url(../img/sec2-dec3.png) no-repeat center center/contain;
  position: absolute;
  bottom: -4.1vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 2.9vw;
  height: 4.05vw;
}

@media (min-width: 1920px) {
  .solution__content::after {
    width: 56.3px;
    height: 78.86px;
    bottom: -79px;
  }
}

@media (max-width: 767px) {
  .solution__content::after {
    bottom: -20.6vw;
    width: 6.7vw;
    height: 22.2vw;
    z-index: -1;
  }
}

.solution__content-img.above {
  padding: 0.52vw 0 0 0.57vw;
}

@media (min-width: 1920px) {
  .solution__content-img.above {
    padding: 10px 0 0 11px;
  }
}

@media (max-width: 767px) {
  .solution__content-img.above {
    padding-top: 0;
  }
}

.solution__content-img.bottom {
  padding: 0 0 0.52vw 0.57vw;
  margin-top: -0.5vw;
}

@media (min-width: 1920px) {
  .solution__content-img.bottom {
    padding: 0 0 10px 11px;
    margin-top: -10px;
  }
}

.solution__content-title {
  position: relative;
  text-align: center;
  color: #9d0000;
  font-size: 1.57vw;
  margin: 2.3vw 0 0.7vw;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .solution__content-title {
    font-size: 30px;
    margin: 45px 0 12px;
  }
}

@media (max-width: 767px) {
  .solution__content-title {
    font-size: 4.8vw;
    margin-top: 8.15vw;
  }
}

.solution__content-title::before {
  content: "";
  background: url(../img/decoration-01.png) no-repeat center center/contain;
  position: absolute;
  top: -3vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5.23vw;
  height: 2.95vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .solution__content-title::before {
    width: 100.45px;
    height: 56.65px;
  }
}

@media (max-width: 767px) {
  .solution__content-title::before {
    top: -7vw;
    width: 12vw;
    height: 6.7vw;
  }
}

.solution__content-text {
  text-align: center;
}

@media (max-width: 767px) {
  .solution__content-text {
    text-align: left;
    padding: 0 5vw;
    margin-top: 2vw;
  }
}

.solution__tail {
  text-align: center;
  color: #9d0000;
  font-family: "Sawarabi Mincho", sans-serif;
  letter-spacing: -0.02em;
  line-height: 1.2121;
  position: relative;
  margin-top: 4.8vw;
}

@media (min-width: 1920px) {
  .solution__tail {
    margin-top: 100px;
  }
}

@media (max-width: 767px) {
  .solution__tail {
    font-size: 4.8vw;
    margin-top: 16vw;
    z-index: 1;
  }
}

.solution__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.4vw;
}

@media (min-width: 1920px) {
  .solution__items {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .solution__items {
    display: block;
    margin-top: 7.83vw;
    height: 100vw;
  }
}

.solution__items.sp {
  margin-top: 16vw;
  padding: 0 5.6vw;
  margin-bottom: 9.6vw;
}

.solution__item {
  width: calc(33.333% - 36px / 3);
  max-width: 100%;
  margin-right: 18px;
  margin-bottom: 40px;
}

.solution__item:nth-child(3n) {
  margin-right: 0;
}

@media (max-width: 767px) {
  .solution__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    margin-bottom: 4vw;
  }
}

@media (max-width: 767px) {
  .solution__img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 38.4vw;
            flex: 0 0 38.4vw;
  }
}

.solution__text {
  text-align: center;
  font-weight: 700;
  margin-top: 0.73vw;
}

@media (min-width: 1920px) {
  .solution__text {
    margin-top: 14px;
  }
}

@media (max-width: 767px) {
  .solution__text {
    font-size: 4.8vw;
    text-align: left;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 48vw;
            flex: 0 0 48vw;
    margin-left: 3vw;
  }
}

.recommend {
  background: url(../img/sec2-bg2.png) no-repeat center center/cover;
  padding: 3.5vw 0 4.1vw;
}

@media (min-width: 1920px) {
  .recommend {
    padding: 65px 0 80px;
  }
}

@media (max-width: 767px) {
  .recommend {
    background: url(../img/sp-sec2-bg2.png) no-repeat top center/cover;
    background-color: #ede5e4;
  }
}

@media (max-width: 767px) {
  .recommend__inner {
    background-color: initial;
  }
}

.recommend__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #9d0000;
  font-family: "Sawarabi Mincho";
}

@media (max-width: 767px) {
  .recommend__title {
    line-height: 1.475;
    text-align: center;
    margin-top: 6vw;
  }
}

.recommend__title:before, .recommend__title:after {
  content: "";
  width: 2.3vw;
  height: 0.2vw;
  background: #9d0000;
  margin-top: 3px;
}

@media (min-width: 1920px) {
  .recommend__title:before, .recommend__title:after {
    width: 44px;
  }
}

@media (max-width: 767px) {
  .recommend__title:before, .recommend__title:after {
    width: 10vw;
    height: 0.6vw;
  }
}

.recommend__title::before {
  -webkit-transform: rotate(70deg);
          transform: rotate(70deg);
}

@media (max-width: 767px) {
  .recommend__title::before {
    -webkit-transform: rotate(81deg);
            transform: rotate(81deg);
    margin-right: -3.5vw;
  }
}

.recommend__title::after {
  -webkit-transform: rotate(-70deg);
          transform: rotate(-70deg);
}

@media (max-width: 767px) {
  .recommend__title::after {
    -webkit-transform: rotate(-81deg);
            transform: rotate(-81deg);
    margin-left: -4vw;
  }
}

.recommend__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 2.08vw;
  padding-top: 1.1vw;
  padding-bottom: 0.95vw;
  position: relative;
}

@media (min-width: 1920px) {
  .recommend__items {
    margin-top: 40px;
    padding-top: 25px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .recommend__items {
    display: block;
    margin-top: 5.08vw;
    padding: 3.45vw 2.5vw 5vw;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.8)), to(#fff));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8) 0%, #fff 100%);
  }
}

.recommend__items::before {
  content: "";
  background: url(../img/sec2-dec4.png) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: -1.2vw;
  width: 5.3vw;
  height: 3vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .recommend__items::before {
    right: -1.2vw;
  }
}

@media (max-width: 767px) {
  .recommend__items::before {
    width: 7.35vw;
    height: 7.35vw;
    top: -0.1vw;
    right: -0.2vw;
  }
}

.recommend__items::after {
  content: "";
  background: url(../img/sec2-dec5.png) no-repeat center center/contain;
  position: absolute;
  bottom: 0;
  left: -1.2vw;
  width: 5.3vw;
  height: 3vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .recommend__items::after {
    left: -1.2vw;
  }
}

@media (max-width: 767px) {
  .recommend__items::after {
    width: 7.35vw;
    height: 7.35vw;
    bottom: -0.1vw;
    left: -0.2vw;
  }
}

.recommend__item {
  width: 9.54vw;
  max-width: 100%;
  margin-right: 0.52vw;
}

.recommend__item:last-child {
  margin-right: 0;
}

@media (min-width: 1920px) {
  .recommend__item {
    width: 183px;
    margin-right: 10px;
  }
}

@media (max-width: 767px) {
  .recommend__item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .recommend__item + .recommend__item {
    margin-top: 1.92vw;
  }
}

@media (max-width: 767px) {
  .recommend__img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 21.8vw;
            flex: 0 0 21.8vw;
  }
}

.recommend__text {
  font-weight: 700;
  line-height: 1.538;
  text-align: center;
  margin-top: 0.95vw;
}

@media (min-width: 1920px) {
  .recommend__text {
    margin-top: 18px;
  }
}

@media (max-width: 767px) {
  .recommend__text {
    font-size: 4.8vw;
    text-align: left;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 63vw;
            flex: 0 0 63vw;
    margin-left: 5vw;
  }
}

.ranking {
  background: url(../img/sec3-bg2.png) no-repeat top center/cover;
}

@media (max-width: 767px) {
  .ranking {
    background: url(../img/sp-sec3-bg2.png) no-repeat top center/contain;
  }
}

.ranking .section__title {
  color: #373737;
}

.font-big {
  color: #9d0000;
  line-height: 0.8;
  font-size: 3.13vw;
}

@media (min-width: 1920px) {
  .font-big {
    font-size: 60px;
  }
}

@media (max-width: 767px) {
  .font-big {
    font-size: 6vw;
  }
}

.ranking-01 {
  padding-top: 4vw;
  padding-bottom: 6.8vw;
  position: relative;
  z-index: 0;
}

@media (min-width: 1920px) {
  .ranking-01 {
    padding-top: 75px;
    padding-bottom: 130px;
  }
}

@media (max-width: 767px) {
  .ranking-01 {
    padding-top: 9.5vw;
  }
}

.ranking__items {
  padding: 2.5vw 2.1vw 0;
  background-color: #fff;
  position: relative;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  margin-top: 2.8vw;
}

@media (max-width: 767px) {
  .ranking__items {
    padding: 2.5vw 3.45vw 3vw;
    padding-top: 0.5vw;
    margin-top: 6.8vw;
  }
}

@media (min-width: 1920px) {
  .ranking__items {
    margin-top: 48px;
  }
}

.ranking__item {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .ranking__item {
    margin-top: 4.5vw;
  }
}

.ranking_item-title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fbe5e3;
  height: 3.25vw;
  position: relative;
}

@media (min-width: 1920px) {
  .ranking_item-title-wrap {
    height: 62px;
  }
}

@media (max-width: 767px) {
  .ranking_item-title-wrap {
    height: 15.7vw;
  }
}

.ranking_item-title-wrap.thick {
  height: 5.3vw;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 0.4vw;
}

@media (min-width: 1920px) {
  .ranking_item-title-wrap.thick {
    height: 102px;
  }
}

@media (max-width: 767px) {
  .ranking_item-title-wrap.thick {
    height: 16vw;
  }
}

.ranking_item-title-wrap.thick::after {
  content: "";
  top: -9%;
  right: 0;
  width: 9%;
  height: 59.8%;
  display: inline-block;
}

.ranking__item-title.pt-14 {
  padding-top: 0.75vw;
}

@media (min-width: 1920px) {
  .ranking__item-title.pt-14 {
    padding-top: 5px;
  }
}

.ranking01-number {
  font-family: "Sawarabi Mincho";
  background-color: #9d0000;
  line-height: 1.2;
  position: relative;
  margin-left: 0.5vw;
  letter-spacing: -0.043em;
  color: #fff;
  width: 4vw;
  height: 4vw;
  border-radius: 50%;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .ranking01-number {
    padding: 0.3vw 0 0 0.4vw;
  }
}

@media (min-width: 1920px) {
  .ranking01-number {
    width: 76px;
    height: 76px;
    padding: 10px 0 0 20px;
  }
}

@media (max-width: 767px) {
  .ranking01-number {
    width: 15.5vw;
    height: 12vw;
    padding: 1.2vw 0 0 3.7vw;
  }
}

@media (max-width: 767px) {
  .ranking01-number.w-12 {
    width: 12.5vw;
  }
}

.point {
  display: block;
  text-align: center;
  padding-top: .3vw;
  padding-right: .1vw;
}

@media (max-width: 767px) {
  .point {
    position: absolute;
    top: 15%;
    left: 21%;
  }
}

.big-number {
  margin-left: 1.3vw;
  line-height: 0.8;
  display: block;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .big-number {
    margin-left: 0.9vw;
  }
}

@media (min-width: 1920px) {
  .big-number {
    margin-left: 5px;
  }
}

@media (max-width: 767px) {
  .big-number {
    margin-left: 1vw;
    line-height: 2.3;
  }
}

.ranking__item-title {
  color: #373737;
  font-family: "Sawarabi Mincho";
  margin-left: 1.3vw;
}

@media (max-width: 767px) {
  .ranking__item-title {
    line-height: 1;
    font-size: 6vw;
  }
}

.ranking__item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1.2vw 0 2.5vw;
}

@media (min-width: 1920px) {
  .ranking__item-content {
    padding: 23px 0 48px;
  }
}

@media (max-width: 767px) {
  .ranking__item-content {
    display: block;
    padding-bottom: 4vw;
  }
}

.ranking__item-text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 71%;
          flex: 0 0 71%;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .ranking__item-text {
    margin-top: 2vw;
    padding: 0 1vw;
  }
}

.ranking__item-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 28%;
          flex: 0 0 28%;
}

@media (max-width: 767px) {
  .ranking__item-img {
    width: 99.4%;
    margin-top: 1vw;
  }
}

@media (max-width: 767px) {
  .ranking__item-img img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .contact {
    height: 115vw;
  }
}

@media (max-width: 767px) {
  .contact.contact-last {
    height: 120vw;
  }
}

.contact-bg {
  position: relative;
}

@media (max-width: 767px) {
  .contact-bg {
    height: 115vw;
  }
}

.contact-bg img {
  width: 100%;
}

@media (max-width: 767px) {
  .contact-bg img {
    height: 115vw;
  }
}

.contact-img {
  position: absolute;
  top: 0;
  right: 0;
}

.contact .section__title {
  color: #373737;
  margin-bottom: 1.4vw;
}

@media (min-width: 1920px) {
  .contact .section__title {
    margin-bottom: 25px;
  }
}

.contact__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  background-color: #fff;
  width: 52.12vw;
  padding: 2.04vw 0 1.62vw;
}

@media (min-width: 1920px) {
  .contact__content {
    width: 1000px;
    padding: 39px 0 31px;
  }
}

@media (max-width: 767px) {
  .contact__content {
    width: 95%;
    top: 49%;
  }
}

.contact__text {
  font-size: 1.25vw;
  font-weight: 700;
  margin-top: 2.3vw;
  margin-bottom: 1.5vw;
  line-height: 1;
}

@media (min-width: 1920px) {
  .contact__text {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .contact__text {
    font-size: 4.5vw;
    margin-top: 7.5vw;
  }
}

.contact-text-small {
  font-size: 0.73vw;
}

@media (min-width: 1920px) {
  .contact-text-small {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  .contact-text-small {
    font-size: 1.67vw;
  }
}

.contact__footer {
  margin-top: 1.88vw;
  text-align: center;
  font-weight: 700;
  padding: 0 2.5vw 0 9.4vw;
}

@media (min-width: 1920px) {
  .contact__footer {
    margin-top: 36px;
    padding-left: 180px;
  }
}

@media (max-width: 767px) {
  .contact__footer {
    padding: 0 2vw;
  }
}

.contact__footer span {
  display: block;
  text-align: left;
}

@media (max-width: 767px) {
  .contact__footer span.indent {
    padding-left: 1em;
    text-indent: -1em;
  }
}

.call {
  text-decoration: underline;
}

.contact .contact-banner {
  margin-top: 1.1vw;
  width: 46.9vw;
  margin: auto;
  height: 10.43vw;
}

@media (min-width: 1920px) {
  .contact .contact-banner {
    width: 900px;
    max-width: 100%;
    height: 200px;
  }
}

@media (max-width: 767px) {
  .contact .contact-banner {
    width: 91.2vw;
    margin-top: 9.5vw;
    height: 30.3vw;
  }
}

.contact .contact-banner img {
  width: 100%;
  height: 100%;
}

.mb-40 {
  padding-top: 0.6vw;
  padding-bottom: 2.1vw;
}

.mt-80 {
  margin-top: 4.17vw;
}

@media (min-width: 1920px) {
  .mt-80 {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  .contact-last .contact-bg {
    height: 128vw;
  }
}

@media (max-width: 767px) {
  .contact-last .contact-banner {
    margin-top: 4.5vw;
  }
}

.contact-last .contact-bg > img {
  height: 41.7vw;
}

@media (max-width: 767px) {
  .contact-last .contact-bg > img {
    height: 126vw;
  }
}

@media (min-width: 1920px) {
  .contact-last .contact-bg > img {
    height: 800px;
  }
}

@media (max-width: 767px) {
  .contact-last .section__title {
    line-height: 1.48;
  }
}

@media (max-width: 767px) {
  .contact-footer {
    height: 29vw !important;
  }
}

.contact-banner-text {
  width: 100%;
  font-weight: 300;
  color: #fff;
  position: absolute;
  top: 47%;
  left: 59%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  line-height: 1.2;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .contact-banner-text {
    left: 62%;
  }
}

@media (max-width: 767px) {
  .contact-banner-text {
    left: 62%;
  }
}

/*----------------------------------
名古屋ウィズ歯科矯正歯科が取り扱う
インプラント治療の種類
----------------------------------*/
.reform-type {
  margin-bottom: -1.4vw;
  position: relative;
  z-index: 0;
}

.reform-type.first {
  margin-top: -10vw;
}

@media (max-width: 767px) {
  .reform-type.first {
    margin-top: 2vw;
  }
}

@media (min-width: 1920px) {
  .reform-type.first {
    margin-top: -10vw;
  }
}

.reform-type.first .type-class__wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58.2%;
          flex: 0 0 58.2%;
}

@media (min-width: 1920px) {
  .reform-type.second .reform-type__item {
    padding: 42px 33px 0px;
  }
}

.reform-type-img {
  position: relative;
  z-index: -1;
}

@media (max-width: 767px) {
  .reform-type-img {
    margin-top: 23vw;
  }
}

.reform-type-img img {
  width: 100%;
}

@media (max-width: 767px) {
  .reform-type-img img {
    margin-top: 21vw;
  }
}

.mt-10 {
  margin-top: 10vw;
}

@media (max-width: 767px) {
  .mt-10 img {
    margin-top: -1vw;
  }
}

.reform-type__wrap {
  position: absolute;
  top: 0;
  width: 52%;
  margin-top: 2.5vw;
}

@media (min-width: 1920px) {
  .reform-type__wrap {
    width: 1000px;
  }
}

@media (max-width: 767px) {
  .reform-type__wrap {
    margin-top: -10vw;
    width: 96%;
  }
}

.reform-type__wrap .section__title {
  width: 100%;
}

.reform-type__text {
  text-align: center;
  margin-top: 2.35vw;
}

@media (min-width: 1920px) {
  .reform-type__text {
    margin-top: 45px;
  }
}

@media (max-width: 767px) {
  .reform-type__text {
    margin-top: 38vw;
    text-align: left;
  }
}

.type {
  margin-top: 8%;
}

.mt--11 {
  margin-top: -11%;
}

@media (max-width: 767px) {
  .mt--11 {
    margin-top: 31%;
  }
}

.reform-type__items {
  margin-top: -13vw;
}

@media (min-width: 1920px) {
  .reform-type__items {
    margin-top: -250px;
  }
}

@media (max-width: 767px) {
  .reform-type__items {
    margin-top: 9.6vw;
  }
}

.mt--47 {
  margin-top: -2.8vw;
}

@media (min-width: 1920px) {
  .mt--47 {
    margin-top: -47px;
  }
}

@media (max-width: 767px) {
  .mt--47 {
    margin-top: 77vw;
  }
}

@media (max-width: 767px) {
  .mt-36 {
    margin-top: 36vw;
  }
}

@media (max-width: 767px) {
  .mt-42 {
    margin-top: 42vw;
  }
}

@media (max-width: 767px) {
  .mt-34 {
    margin-top: 34vw;
  }
}

.reform-type__item {
  padding: 2.1vw 2.09vw 0;
  position: relative;
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.16);
  margin-bottom: 1.93vw;
  background-color: #fff;
}

@media (min-width: 1920px) {
  .reform-type__item {
    padding: 42px 40px 0px;
    margin-bottom: 37px;
  }
}

@media (max-width: 767px) {
  .reform-type__item {
    margin-bottom: 7.93vw;
    padding: 5.6vw 5.2vw 2.09vw;
  }
}

.reform-type__item:last-child {
  margin-bottom: 4.2vw;
  padding-bottom: 2vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child {
    margin-bottom: 80px;
  }
}

.reform-type__item:last-child .type-class {
  font-weight: 400;
}

.reform-type__item:last-child .type-class__content {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin-top: 1vw;
}

.reform-type__item:last-child .type-class-head {
  font-weight: 700;
  text-align: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 55%;
          flex: 0 0 55%;
  padding-top: 2.5vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .type-class-head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 473px;
            flex: 0 0 473px;
    padding-top: 48px;
  }
}

.reform-type__item:last-child .type-class__content-img {
  position: absolute;
  bottom: -65%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5.4vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .type-class__content-img {
    bottom: -138px;
    width: 103px;
  }
}

@media (max-width: 767px) {
  .reform-type__item:last-child .type-class__content-img {
    bottom: -31%;
    width: 13.4vw;
  }
}

.reform-type__item:last-child .type-class-tail {
  position: relative;
  font-weight: 700;
  text-align: center;
  margin-top: 0.2vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .type-class-tail {
    margin-top: 4px;
  }
}

.reform-type__item:last-child .warranty {
  margin-top: 4.2vw;
  border: 1px solid #e1e1e1;
  position: relative;
  padding: 3vw 0 1.5vw;
  margin-top: 0.7vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .warranty {
    margin-top: 12px;
  }
}

@media (max-width: 767px) {
  .reform-type__item:last-child .warranty {
    margin-top: 3.7vw;
  }
}

.reform-type__item:last-child .warranty__title {
  border: 1px solid #9d0000;
  position: relative;
  margin-bottom: 2.1vw;
  width: 95%;
  margin: 0 auto 2.1vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .warranty__title {
    margin-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .reform-type__item:last-child .warranty__title {
    margin-top: 6vw;
    margin-bottom: 7vw;
  }
}

.reform-type__item:last-child .warranty__title::after {
  content: "10年保証の条件";
  position: absolute;
  top: -1.5vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 19vw;
  padding: 0 0.78vw;
  background-color: #fff;
  font-family: "Sawarabi Mincho";
  color: #9d0000;
  text-align: center;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .warranty__title::after {
    width: 360px;
    padding: 0 15px;
    top: -30px;
  }
}

@media (max-width: 767px) {
  .reform-type__item:last-child .warranty__title::after {
    width: 57vw;
    top: -5vw;
  }
}

.reform-type__item:last-child .warranty__text {
  font-weight: 700;
  padding-left: 1.36vw;
}

@media (min-width: 1920px) {
  .reform-type__item:last-child .warranty__text {
    padding-left: 26px;
  }
}

@media (max-width: 767px) {
  .reform-type__item:last-child .warranty__text {
    padding-left: 1em;
    text-indent: -1em;
  }
}

.reform-type__item::before {
  content: "";
  background: url(../img/sec4-dec5.png) no-repeat center center/contain;
  position: absolute;
  top: -0.1vw;
  left: 0;
  width: 52vw;
  height: 8vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .reform-type__item::before {
    width: 1000px;
    height: 150px;
    top: 0;
  }
}

@media (max-width: 767px) {
  .reform-type__item::before {
    top: -0.2vw;
    width: 100%;
    height: 15vw;
  }
}

.pb-40 {
  padding-bottom: 2.09vw;
}

@media (min-width: 1920px) {
  .pb-40 {
    padding-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .pb-40 {
    margin-bottom: 9vw;
  }
}

.last .type-class__content {
  background-color: #f5e5e5;
}

.reform-type__item.last .type-class__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}

@media (max-width: 767px) {
  .reform-type__item.last .type-class__img {
    width: 38vw;
    margin: auto;
  }
}

@media (min-width: 1920px) {
  .reform-type__item.last .type-class__img {
    margin-left: 30px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 229px;
            flex: 0 0 229px;
  }
}

.type-class {
  text-align: center;
  color: #9d0000;
  position: relative;
  font-family: "Sawarabi Mincho";
}

@media (max-width: 767px) {
  .db {
    display: inline-block;
    margin-left: -5vw;
  }
}

.type-class-dec {
  position: relative;
  color: #fff;
  margin-right: 1.6vw;
}

@media (min-width: 1920px) {
  .type-class-dec {
    margin-right: 30px;
  }
}

.type-class-dec span {
  position: relative;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  display: inline-block;
  top: -1.2vw;
}

@media (min-width: 1920px) {
  .type-class-dec span {
    top: -14px;
  }
}

@media (max-width: 767px) {
  .type-class-dec span {
    top: -6.2vw;
    left: -6vw;
  }
}

.type-class-dec::before {
  content: "";
  background: url(../img/decoration-06.png) no-repeat center center/contain;
  position: absolute;
  top: -3.6vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6.98vw;
  height: 6.98vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .type-class-dec::before {
    width: 134px;
    height: 134px;
    top: -60px;
  }
}

@media (max-width: 767px) {
  .type-class-dec::before {
    top: -13.5vw;
    left: 16%;
    width: 21vw;
    height: 21vw;
  }
}

.type-subclass {
  text-align: center;
  color: #9d0000;
  font-weight: 700;
  margin-top: -0.94vw;
}

@media (min-width: 1920px) {
  .type-subclass {
    margin-top: -18px;
  }
}

@media (max-width: 767px) {
  .type-subclass {
    font-size: 4.8vw;
    margin-top: -2.5vw;
  }
}

.type-class__wrap {
  padding: 0.25vw;
  margin-top: 2.35vw;
}

@media (max-width: 767px) {
  .type-class__wrap {
    margin-bottom: 4vw;
  }
}

.no-margin {
  margin-top: 0;
}

@media (max-width: 767px) {
  .no-margin {
    margin-top: 2vw;
  }
}

.type-class__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (min-width: 1920px) {
  .type-class__content {
    margin-top: 20px;
  }
}

@media (max-width: 767px) {
  .type-class__content {
    display: block;
  }
}

.type-class__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 42.3%;
          flex: 0 0 42.3%;
}

@media (min-width: 1920px) {
  .type-class__img {
    margin-top: 7px;
  }
}

@media (max-width: 767px) {
  .type-class__img {
    position: relative;
  }
}

@media (max-width: 767px) {
  .type-class__img img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini.first .price__tag::before {
    width: 24.36vw;
    height: 24.36vw;
    top: -19.5vw;
    margin-left: 14vw;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini.first .price__tag span {
    margin-top: -17.3vw;
    padding-right: 63vw;
    position: relative;
    z-index: 2;
  }
}

.type-class__img.width-100 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}

.type-class__price-mini {
  margin-top: -80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #9d0000;
}

.type-class__price-mini .price__tag {
  position: relative;
}

.type-class__price-mini .price__tag::before {
  content: "";
  background: url(../img/decoration-04.png) no-repeat center center/contain;
  position: absolute;
  top: -52px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6.36vw;
  height: 6.36vw;
  display: inline-block;
  z-index: 0;
}

@media (min-width: 1920px) {
  .type-class__price-mini .price__tag::before {
    width: 122px;
    height: 122px;
    top: -51px;
  }
}

@media (max-width: 767px) {
  .type-class__price-mini .price__tag::before {
    top: -6.5vw;
    width: 10vw;
    height: 6vw;
  }
}

.type-class__wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 56.2%;
          flex: 0 0 56.2%;
}

@media (min-width: 1920px) {
  .type-class__wrapper {
    padding-top: 7px;
  }
}

@media (max-width: 767px) {
  .type-class__wrapper {
    clear: left;
    padding-top: 5vw;
  }
}

.all-on {
  padding: 2.1vw 2.3vw 3vw !important;
}

.all-on .type-class__wrapper {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 56.2% !important;
          flex: 0 0 56.2% !important;
}

.type-class__head {
  color: #9d0000;
  font-size: 1.04vw;
  font-weight: 700;
  margin-left: 1.3vw;
  margin-top: 0.4vw;
}

@media (min-width: 1920px) {
  .type-class__head {
    font-size: 20px;
    margin-left: 25px;
    margin-top: 7.6px;
  }
}

@media (max-width: 767px) {
  .type-class__head {
    margin-top: 3vw;
    font-size: 4.8vw;
  }
}

.type-class__text {
  margin-left: .3vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 58%;
          flex: 0 0 58%;
  line-height: 1.6;
}

@media (min-width: 1920px) {
  .type-class__text {
    margin-left: 10px;
  }
}

@media (max-width: 767px) {
  .type-class__text {
    margin-top: 1vw;
  }
}

.price-table {
  background-color: #fff;
  border-collapse: collapse;
  margin-bottom: 20px;
  font-family: "Sawarabi Mincho";
  margin: 2.08vw 0;
}

@media (min-width: 1920px) {
  .price-table {
    width: 928px;
    margin: 40px 0;
  }
}

.price-table tr {
  height: 47px;
}

.price-table td {
  padding-right: 1.72vw;
  text-align: right;
}

@media (min-width: 1920px) {
  .price-table td {
    padding-right: 33px;
  }
}

@media (max-width: 767px) {
  .price-table td {
    padding-right: 5px;
  }
}

.price-table th {
  border: solid 1px #f19b8c;
  border-right: solid 1px #9d0000;
  vertical-align: middle;
  width: 22vw;
}

@media (min-width: 1920px) {
  .price-table th {
    width: 428px;
  }
}

@media (max-width: 767px) {
  .price-table th {
    width: 45vw;
  }
}

.price-table th.border {
  border-right: solid 1px #f19b8c;
  vertical-align: middle;
  width: 12.5vw;
}

@media (min-width: 1920px) {
  .price-table th.border {
    width: 239px;
  }
}

@media (max-width: 767px) {
  .price-table th.border {
    width: 15.2vw;
  }
}

.price-table td {
  border: solid 1px #9d0000;
  vertical-align: middle;
  width: 13.7vw;
  height: 3.95vw;
}

@media (min-width: 1920px) {
  .price-table td {
    width: 262px;
    height: 76px;
  }
}

@media (max-width: 767px) {
  .price-table td {
    width: 31.4vw;
    height: 9.1vw;
  }
}

.price-table th {
  background-color: #fdf0e5;
}

.col1 {
  background-color: #fff;
}

.col-title,
.row-title {
  background-color: #fdf0e5;
}

.special-price {
  font-size: 14px;
  padding: 15.6px 0 17.3px;
}

.red {
  color: red;
}

.price-contact {
  text-decoration: underline;
  color: #333333;
}

.type-class__price {
  background-color: #f5e5e5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Sawarabi Mincho", sans-serif;
  padding: 0.21vw 0 0.16vw;
  margin-top: 1.2vw;
  margin-left: 1.3vw;
  color: #9d0000;
  height: 9.43vw;
}

@media (min-width: 1920px) {
  .type-class__price {
    padding: 4px 0 3px;
    margin-top: 23px;
    margin-left: 25px;
    height: 181px;
  }
}

@media (max-width: 767px) {
  .type-class__price {
    margin-top: 5.2vw;
    display: block;
    height: auto;
  }
}

.type-class__price.mini {
  background-color: transparent;
  margin-top: -0.4vw;
  margin-left: 0;
  height: 2vw;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .type-class__price.mini {
    margin-top: 2vw;
  }
}

@media (min-width: 1920px) {
  .type-class__price.mini {
    margin-top: 40px;
    height: 38.38px;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini {
    height: 20vw;
  }
}

.type-class__price.mini .price__tag {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 27%;
          flex: 0 0 27%;
  padding-top: 0;
}

@media (max-width: 767px) {
  .type-class__price.mini .price__tag {
    margin-left: 0;
  }
}

.type-class__price.mini .price__tag span {
  display: block;
  margin-top: -1.3vw;
  padding-left: 0.6vw;
}

@media (min-width: 1920px) {
  .type-class__price.mini .price__tag span {
    margin-top: -25px;
    padding-left: 24px;
    padding-right: 12px;
  }
}

.type-class__price.mini .price__tag::before {
  width: 6.36vw;
  height: 6.36vw;
  top: -3.5vw;
  left: 59%;
}

@media (min-width: 1920px) {
  .type-class__price.mini .price__tag::before {
    top: -69px;
    width: 122px;
    height: 122px;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini .price__tag::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.type-class__price.mini .price {
  margin-top: 2vw;
  position: relative;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .type-class__price.mini .price {
    margin-top: -2vw;
  }
}

@media (min-width: 1920px) {
  .type-class__price.mini .price {
    margin-top: -42px;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini .price {
    display: block;
    margin: 0.5vw 0 0 27vw;
  }
}

@media (max-width: 767px) {
  .type-class__price.mini .price span {
    font-size: 21vw;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .type-class__price.top {
    height: 12.43vw;
  }
}

.price__tag-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: left;
  width: 15vw;
}

@media (min-width: 1920px) {
  .price__tag-wrap {
    width: 300px;
  }
}

.type02.low .price__tag-wrap {
  margin-top: 1.45vw;
}

@media (min-width: 1920px) {
  .type02.low .price__tag-wrap {
    margin-top: 28px;
  }
}

@media (max-width: 767px) {
  .type02.low .price__tag-wrap .price__tag::before {
    top: -14.5vw;
  }
}

@media (max-width: 767px) {
  .type02.low .price__tag-wrap .price__tag span {
    margin-top: -5.5vw;
  }
}

@media (max-width: 767px) {
  .type02.low .price__tag-wrap .price-content .price-left {
    margin-top: 9vw;
  }
}

.type-class__price.type02 {
  display: block;
  background-color: transparent;
  margin-left: 0.6vw;
}

.type-class__price.type02 .price__tag {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  padding-top: 0;
}

@media (max-width: 767px) {
  .type-class__price.type02 .price__tag {
    margin-left: 7vw;
  }
}

.type-class__price.type02 .price__tag span {
  display: block;
  margin-top: -1.1vw;
  padding-left: .2vw;
}

@media (min-width: 1920px) {
  .type-class__price.type02 .price__tag span {
    margin-top: -25px;
    padding-left: 3px;
  }
}

@media (max-width: 767px) {
  .type-class__price.type02 .price__tag span {
    margin-top: -8.5vw;
    width: 10.7vw;
    padding-right: .8vw;
  }
}

.type-class__price.type02 .price__tag::before {
  width: 6.36vw;
  height: 6.36vw;
  top: -3.5vw;
  left: 59%;
}

@media (min-width: 1920px) {
  .type-class__price.type02 .price__tag::before {
    top: -69px;
    width: 122px;
    height: 122px;
  }
}

@media (max-width: 767px) {
  .type-class__price.type02 .price__tag::before {
    width: 24.36vw;
    height: 24.36vw;
    top: -17.5vw;
  }
}

.type-class__price.type02 .price-content {
  margin-top: -1.9vw;
  width: 8.2vw;
}

.type-class__price.type02 .price-content:first-child {
  margin-right: 0.8vw;
}

@media (min-width: 1920px) {
  .type-class__price.type02 .price-content {
    margin-top: -28px;
    padding-bottom: 30px;
    width: 151px;
  }
}

.type-class__price.type02 .price-content .price-left {
  width: 35vw;
}

@media (max-width: 767px) {
  .type-class__price.type02 .price-content .price-left {
    margin-left: 8vw;
    margin-top: 6vw;
  }
}

@media (max-width: 767px) {
  .type-class__price.type02 .price-content .price-left .price-bottom {
    font-size: 4.8vw;
  }
}

@media (max-width: 767px) {
  .type-class__price.type02 .price-content .price-left .price-bottom .font-100 {
    font-size: 21vw;
  }
}

.type-class__price.type02 .width-190 {
  width: 9.9vw;
  margin-right: 0.8vw;
}

@media (min-width: 1920px) {
  .type-class__price.type02 .width-190 {
    width: 190px;
  }
}

.type-class__price.type02 .type-class__text {
  color: #373737;
  margin-left: 0;
  margin-top: -0.5vw;
}

@media (min-width: 1920px) {
  .type-class__price.type02 .type-class__text {
    margin-top: -10px;
  }
}

.mt--4 {
  display: block;
  margin-top: .5vw;
  color: #373737;
}

@media (min-width: 1920px) {
  .mt--4 {
    margin-top: -24px;
  }
}

.mt--30 {
  margin-top: -3%;
  display: inline-block;
}

@media (min-width: 1920px) {
  .mt--30 {
    margin-top: -30px;
  }
}

@media (max-width: 767px) {
  .mt--30 {
    margin-top: 0.1%;
  }
}

.mt--20 {
  margin-top: -4%;
  display: inline-block;
}

@media (min-width: 1920px) {
  .mt--20 {
    margin-top: -30px;
  }
}

@media (max-width: 767px) {
  .mt--20 {
    margin-top: 0.1%;
  }
}

.pt-6 {
  padding-top: 0.3vw;
}

@media (min-width: 1920px) {
  .pt-6 {
    padding-top: 6px;
  }
}

@media (max-width: 767px) {
  .pt-6 {
    padding-top: 3.94vw;
  }
}

.font-60-red {
  font-size: 2.5vw;
  line-height: 1;
}

@media (min-width: 1920px) {
  .font-60-red {
    font-size: 60px;
  }
}

@media (max-width: 767px) {
  .font-60-red {
    font-size: 12vw;
  }
}

@media (max-width: 767px) {
  .price-content {
    font-size: 6vw;
    margin-top: 19vw;
  }
}

.price-above {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: center;
}

@media (max-width: 767px) {
  .price-above {
    margin-bottom: 5vw;
  }
}

.price-above .price-left {
  text-align: left;
}

.price-above .price-center {
  text-align: left;
}

.price-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-top: 1.05vw;
}

@media (min-width: 1920px) {
  .price-bottom {
    margin-top: 20px;
  }
}

.price-left {
  width: 9vw;
  margin-left: 1vw;
  line-height: 1;
}

@media (min-width: 1920px) {
  .price-left {
    width: 168px;
    margin-left: 20px;
  }
}

@media (max-width: 767px) {
  .price-left {
    width: 23vw;
    font-size: 2.88vw;
    margin-left: 3vw;
  }
}

.price-center {
  width: 10vw;
  margin-left: 0.3vw;
}

@media (min-width: 1920px) {
  .price-center {
    width: 180px;
    margin-left: 20px;
  }
}

@media (max-width: 767px) {
  .price-center {
    width: 23vw;
    font-size: 2.88vw;
  }
}

.price-right {
  width: 13vw;
  margin-left: -0.5vw;
}

@media (min-width: 1920px) {
  .price-right {
    width: 210px;
    margin-left: 5px;
  }
}

@media (max-width: 767px) {
  .price-right {
    font-size: 2.88vw;
    width: 23vw;
  }
}

.plus {
  width: 2.85vw;
  margin-left: 0.2vw;
}

@media (min-width: 1920px) {
  .plus {
    width: 54px;
    margin-left: 4px;
  }
}

@media (max-width: 767px) {
  .plus {
    width: 9vw;
  }
}

.price-right.bg {
  position: relative;
  margin-left: 2vw;
}

@media (min-width: 1920px) {
  .price-right.bg {
    margin-left: 38px;
  }
}

.price-right.bg::before {
  content: "";
  background: url(../img/decoration-05.png) no-repeat center center/contain;
  position: absolute;
  top: 8%;
  left: 0%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8.2vw;
  height: 8.2vw;
  display: inline-block;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .price-right.bg::before {
    top: 7%;
  }
}

@media (min-width: 1920px) {
  .price-right.bg::before {
    width: 157px;
    height: 158px;
    left: -5px;
    top: 6px;
  }
}

@media (max-width: 767px) {
  .price-right.bg::before {
    width: 19vw;
    height: 19vw;
  }
}

.list-point {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 1.3vw;
          flex: 0 0 1.3vw;
  line-height: 1.3;
  width: 0.73vw;
  height: 0.73vw;
}

@media (min-width: 1920px) {
  .list-point {
    width: 14px;
    height: 14px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25px;
            flex: 0 0 25px;
  }
}

@media (max-width: 767px) {
  .list-point {
    width: 1.67vw;
    height: 1.67vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 2.8vw;
            flex: 0 0 2.8vw;
    line-height: 1.05;
  }
}

@media (max-width: 767px) {
  .list-point img {
    width: 1.67vw;
    height: 1.67vw;
  }
}

.reform-type__wrap.reverse {
  right: 50%;
}

@media (min-width: 1920px) {
  .reform-type__wrap.reverse {
    right: 50%;
  }
}

@media (max-width: 767px) {
  .reform-type__wrap.reverse {
    left: 1.5%;
  }
}

.mt--60 {
  margin-top: -2.6vw;
}

@media (min-width: 1920px) {
  .mt--60 {
    margin-top: -50px;
  }
}

.mt-127 {
  margin-top: 6.6vw;
}

@media (min-width: 1920px) {
  .mt-127 {
    margin-top: 127px;
  }
}

.voice.no-padding {
  padding-bottom: 0;
}

/*----------------------------------
名古屋でインプラント治療なら
当院におまかせください！
----------------------------------*/
.doctor {
  padding-top: 5.5vw;
  padding-bottom: 4.59vw;
  background: url(../img/sec5-bg.png) no-repeat center center/cover;
}

@media (min-width: 1920px) {
  .doctor {
    padding-top: 110px;
    padding-bottom: 88px;
  }
}

@media (max-width: 767px) {
  .doctor {
    padding-top: 9.2vw;
    padding-bottom: 5.59vw;
  }
}

.doctor__content {
  padding: 2.09vw;
  margin-top: 2.61vw;
}

@media (min-width: 1920px) {
  .doctor__content {
    padding: 40px;
    margin-top: 50px;
  }
}

@media (max-width: 767px) {
  .doctor__content {
    margin-top: 7.61vw;
    padding: 2.09vw 4vw;
  }
}

.doctor__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media (max-width: 767px) {
  .doctor__wrap {
    display: block;
  }
}

.doctor__right {
  margin-left: 1.05vw;
}

@media (max-width: 767px) {
  .doctor__right {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .doctor__img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .doctor__img img {
    width: 100%;
  }
}

.doctor__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64.75%;
          flex: 0 0 64.75%;
}

.doctor__left .doctor__img {
  width: 24.6%;
  float: right;
  margin: 1vw 0 4vw 4.5vw;
}

@media (max-width: 767px) {
  .doctor__head {
    margin-top: 5.5vw;
  }
}

.doctor__name {
  font-size: 1.56vw;
  color: #9d0000;
  font-weight: 700;
  margin-bottom: 0.8vw;
}

@media (min-width: 1920px) {
  .doctor__name {
    font-size: 30px;
    margin-bottom: 15.3px;
  }
}

@media (max-width: 767px) {
  .doctor__name {
    font-size: 5.04vw;
    margin-bottom: 2vw;
  }
}

.doctor__txt {
  line-height: 1.5;
}

.pr-75 {
  padding-right: 3.9vw;
}

@media (min-width: 1920px) {
  .pr-75 {
    padding-right: 75px;
  }
}

.doctor__group {
  margin-top: 1.56vw;
}

@media (min-width: 1920px) {
  .doctor__group {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .doctor__group {
    margin-top: 6vw;
  }
}

.doctor__title {
  font-size: 0.94vw;
  color: #9d0000;
  font-weight: 700;
  position: relative;
  padding-left: 1.56vw;
}

@media (min-width: 1920px) {
  .doctor__title {
    font-size: 18px;
    padding-left: 30px;
  }
}

@media (max-width: 767px) {
  .doctor__title {
    font-size: 4.8vw;
    padding-left: 3.8vw;
  }
}

.doctor__title::before {
  content: "";
  background: url(../img/sec5-dec1.png) no-repeat center left/contain;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.25vw;
  height: 1.32vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .doctor__title::before {
    width: 24px;
    height: 25.27px;
  }
}

@media (max-width: 767px) {
  .doctor__title::before {
    width: 3vw;
    height: 3.1vw;
  }
}

.doctor__detail {
  border: 1px solid #e6e6e6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 0.7vw;
  padding: 2.03vw 1.67vw;
}

@media (min-width: 1920px) {
  .doctor__detail {
    margin-top: 13.4px;
    padding: 39px 32px;
  }
}

@media (max-width: 767px) {
  .doctor__detail {
    display: block;
  }
}

.doctor__detail-left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 49%;
          flex: 0 0 49%;
}

@media (min-width: 1920px) {
  .doctor__detail-left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 257px;
            flex: 0 0 257px;
  }
}

@media (max-width: 767px) {
  .doctor__detail-left .doctor__text:last-child {
    border-bottom: 1px solid #e6e6e6;
  }
}

.doctor__detail-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 49%;
          flex: 0 0 49%;
}

@media (min-width: 1920px) {
  .doctor__detail-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 256px;
            flex: 0 0 256px;
  }
}

.doctor__text {
  border-top: 1px solid #e6e6e6;
  padding: 0.27vw 0;
}

@media (min-width: 1920px) {
  .doctor__text {
    padding: 4px 0;
  }
}

@media (max-width: 767px) {
  .doctor__text {
    font-size: 4.8vw;
  }
}

.doctor__text:last-child {
  border-bottom: 1px solid #e6e6e6;
}

@media (max-width: 767px) {
  .doctor__text:last-child {
    border-bottom: none;
  }
}

.doctor__text:first-child {
  border-top: none;
}

.lh-2 {
  line-height: 1.9;
  padding: .21vw;
}

@media (min-width: 1920px) {
  .lh-2 {
    line-height: 1.6;
    padding: 7.5px 0;
  }
}

.pb-5 {
  padding-bottom: .261vw;
}

@media (min-width: 1920px) {
  .pb-5 {
    padding-bottom: 4.7px;
  }
}

.doctor__career {
  margin-top: 2.09vw;
}

@media (min-width: 1920px) {
  .doctor__career {
    margin-top: 40px;
  }
}

.doctor__career .doctor__detail {
  padding: 2.1vw 2.8vw;
}

@media (min-width: 1920px) {
  .doctor__career .doctor__detail {
    padding: 40px 52px 41px;
  }
}

.doctor__career .doctor__detail .doctor__detail-left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 53.1%;
          flex: 0 0 53.1%;
}

@media (min-width: 1920px) {
  .doctor__career .doctor__detail .doctor__detail-left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 430px;
            flex: 0 0 430px;
  }
}

.doctor__career .doctor__detail .doctor__detail-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 44.2%;
          flex: 0 0 44.2%;
}

@media (min-width: 1920px) {
  .doctor__career .doctor__detail .doctor__detail-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 358px;
            flex: 0 0 358px;
  }
}

@media (max-width: 767px) {
  .doctor__career .doctor__text {
    padding-left: 4em;
    text-indent: -4em;
  }
}

.doctor__career .doctor__detail-left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47.4%;
          flex: 0 0 47.4%;
}

.doctor__career .doctor__detail-right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47.4%;
          flex: 0 0 47.4%;
}

.voice {
  padding-top: 3.65vw;
  padding-bottom: 4.17vw;
}

@media (min-width: 1920px) {
  .voice {
    padding-top: 70px;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .voice {
    padding-top: 6.65vw;
    padding-bottom: 5.17vw;
  }
}

.voice__lead {
  text-align: center;
  margin-top: 1.82vw;
  margin-bottom: 2.8vw;
}

@media (min-width: 1920px) {
  .voice__lead {
    margin-top: 35px;
    margin-bottom: 58.5px;
  }
}

@media (max-width: 767px) {
  .voice__lead {
    margin-top: 7.82vw;
    margin-bottom: 7.8vw;
  }
}

.voice__item {
  border: 1px solid #ee8070;
  margin-bottom: 3.13vw;
  padding-bottom: 1.04vw;
}

@media (min-width: 1920px) {
  .voice__item {
    margin-bottom: 60px;
    padding-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .voice__item {
    margin-bottom: 8.13vw;
    padding-bottom: 3.2vw;
  }
}

.voice__item:last-child {
  margin-bottom: 0;
}

.voice__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1.05vw;
}

@media (min-width: 1920px) {
  .voice__wrap {
    padding: 20px;
  }
}

@media (max-width: 767px) {
  .voice__wrap {
    display: block;
    padding: 3vw 2vw 0;
  }
}

.voice__title-wrap img {
  width: 100%;
}

.voice__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 28.4%;
          flex: 0 0 28.4%;
  position: relative;
  margin-right: 1.55vw;
}

@media (max-width: 767px) {
  .voice__img {
    width: 50%;
    margin: auto;
    margin-right: 30px;
  }
}

@media (max-width: 767px) {
  .voice__img {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .voice__img img {
    width: 100%;
  }
}

.voice__right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 70%;
          flex: 0 0 70%;
}

@media (min-width: 1920px) {
  .voice__right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 659px;
            flex: 0 0 659px;
  }
}

.voice__text {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64.4%;
          flex: 0 0 64.4%;
  line-height: 1.5;
  padding-right: 0.52vw;
}

@media (min-width: 1920px) {
  .voice__text {
    padding-right: 10px;
  }
}

@media (max-width: 767px) {
  .voice__text {
    margin: 4vw 0 0vw 0;
  }
}

.voice__text-bottom {
  padding: 0 1.3vw;
}

@media (min-width: 1920px) {
  .voice__text-bottom {
    padding: 0 22px;
  }
}

.mt-40 {
  margin-top: 2.1vw;
  padding-bottom: 0.5vw;
}

@media (min-width: 1920px) {
  .mt-40 {
    margin-top: 40px;
    padding-bottom: 10px;
  }
}

@media (max-width: 767px) {
  .mt-40 {
    margin-top: 4vw;
  }
}

.pb-10 {
  padding-bottom: 0.5vw;
}

@media (min-width: 1920px) {
  .pb-10 {
    padding-bottom: 10px;
  }
}

.pr-13 {
  padding-right: 0.7vw;
}

@media (min-width: 1920px) {
  .pr-13 {
    padding-right: 13px;
  }
}

.voice__title {
  font-size: 1.35vw;
  width: 100%;
  text-align: center;
  background-color: #fce3df;
  padding: 1.04vw 0;
  position: relative;
  color: #9d0000;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .voice__title {
    font-size: 26px;
    padding: 20px 0;
  }
}

@media (max-width: 767px) {
  .voice__title {
    font-size: 6vw;
    padding: 1.37vw 0;
  }
}

.voice__title::before {
  content: "";
  background: url(../img/sec6-dec1.png) no-repeat center center/contain;
  position: absolute;
  top: -1.15vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 9.2vw;
  height: 2vw;
  display: inline-block;
}

@media (min-width: 1920px) {
  .voice__title::before {
    width: 176px;
    height: 38px;
    top: -23px;
  }
}

@media (max-width: 767px) {
  .voice__title::before {
    width: 21.2vw;
    height: 100%;
    top: -6.3vw;
  }
}

.voice__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: "Sawarabi Mincho", sans-serif;
  margin-top: 0.9vw;
  padding: 0 1.1vw 0 1.05vw;
}

@media (min-width: 1920px) {
  .voice__price {
    margin-top: 17.2px;
    padding: 0 23px 0 21px;
  }
}

@media (max-width: 767px) {
  .voice__price {
    display: block;
    margin-top: 5vw;
    padding: 0 3.2vw 0 2.5vw;
  }
}

.voice__price .price-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fdf0e5;
  width: 26.37vw;
  margin-left: 0;
}

@media (min-width: 1920px) {
  .voice__price .price-left {
    width: 506px;
    height: 75px;
  }
}

@media (max-width: 767px) {
  .voice__price .price-left {
    width: 100%;
    height: 19.2vw;
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    padding: 0.7vw 1vw;
  }
}

.voice__price .price-left .price__tag {
  padding-top: 1.2vw;
}

@media (min-width: 1920px) {
  .voice__price .price-left .price__tag {
    padding-top: 24px;
  }
}

@media (max-width: 767px) {
  .voice__price .price-left .price__tag {
    width: 10.8vw;
    height: 10.8vw;
    font-size: 3.6vw;
    padding-top: 3.5vw;
  }
}

.voice__price .price-right {
  background-color: #f3b7b0;
  line-height: 1;
  width: 23.09vw;
  padding-left: 1.3vw;
  color: #702f3b;
}

@media (min-width: 1920px) {
  .voice__price .price-right {
    width: 438px;
    height: 75px;
    margin-left: 0;
    padding-left: 25px;
  }
}

@media (max-width: 767px) {
  .voice__price .price-right {
    width: 100%;
    height: 10.3vw;
    margin-top: 3vw;
    padding-left: 3vw;
    padding-top: 2vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.type-class__price.top .price__tag {
  padding-left: 1.9vw;
}

@media (min-width: 1920px) {
  .type-class__price.top .price__tag {
    padding-left: 37px;
  }
}

.type-class__price .price__tag {
  position: relative;
  background-color: transparent;
  z-index: 2;
  padding-left: 0.4vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 19%;
          flex: 0 0 19%;
}

.type-class__price .price__tag::before {
  content: "";
  background: url(../img/decoration-04.png) no-repeat center center/contain;
  position: absolute;
  top: -2.8vw;
  left: 61%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 9vw;
  height: 9vw;
  display: inline-block;
  z-index: -1;
}

@media (min-width: 1920px) {
  .type-class__price .price__tag::before {
    width: 173px;
    height: 173px;
    top: -51px;
    left: 62%;
  }
}

@media (max-width: 767px) {
  .type-class__price .price__tag::before {
    position: absolute;
    top: -2.5vw;
    width: 20.75vw;
    height: 20.75vw;
    left: 55%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media (max-width: 767px) {
  .type-class__price .price__tag {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14%;
            flex: 0 0 14%;
    margin-left: 29vw;
    font-size: 4.8vw;
    top: 8vw;
  }
}

.price__wrapper {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 80%;
          flex: 0 0 80%;
  color: #702f3b;
}

@media (max-width: 767px) {
  .price__wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
    margin-top: 2vw;
  }
}

@media (max-width: 767px) {
  .price-right .price__detail {
    line-height: 0.9;
  }
}

@media (max-width: 767px) and (max-width: 767px) {
  .price-right .price__detail {
    margin-left: 3vw;
  }
}

.lh-1 {
  line-height: 1;
}

@media (max-width: 767px) {
  .price__head {
    font-size: 4.8vw;
  }
}

@media (max-width: 767px) {
  .price__head-30 {
    font-size: 3.6vw;
  }
}

.price__detail {
  margin-bottom: 0.2vw;
}

@media (min-width: 1920px) {
  .price__detail {
    margin-bottom: 3.8px;
  }
}

@media (max-width: 767px) {
  .price__detail {
    font-size: 6vw;
    margin: 1vw 0 3.2vw 2vw;
  }
}

@media (max-width: 767px) {
  .price__detail.font-30 {
    font-size: 6vw;
  }
}

@media (max-width: 767px) {
  .voice .price__num {
    font-size: 8.6vw !important;
  }
}

.voice-font-small {
  font-size: 1.04vw;
}

@media (min-width: 1920px) {
  .voice-font-small {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .voice-font-small {
    font-size: 3vw;
  }
}

@media (max-width: 767px) {
  .title-font-small {
    font-size: 3.7vw;
  }
}

.bg-wave2 {
  margin-bottom: -1.8vw;
  position: relative;
  z-index: 1;
}

.bg-wave2 img {
  width: 100%;
}

.reform-type .contact-banner-text {
  top: 42%;
}

.reform-type .contact-banner-text:last-child {
  top: 42%;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .reform-type .contact-banner-text:last-child {
    top: 42%;
  }
}

@media (min-width: 1920px) {
  .reform-type .contact-banner-text:last-child {
    top: 61px;
  }
}

@media (min-width: 1920px) {
  .mb-40 .contact-banner-text {
    top: 75px !important;
  }
}

/*----------------------------------
名古屋ウィズ歯科矯正歯科の4つの特徴
----------------------------------*/
@media (max-width: 767px) {
  .feature .section__title.hidden-pc {
    padding-top: 10vw;
  }
}

.feature__img {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .feature__img {
    margin-top: 10vw;
  }
}

.feature__img img {
  width: 100%;
}

.feature .section__title {
  margin-top: 1.6vw;
}

@media (min-width: 1920px) {
  .feature .section__title {
    margin-top: 30px;
  }
}

.feature__inner {
  margin-top: -55vw;
  background-color: #fff;
}

@media (min-width: 1920px) {
  .feature__inner {
    margin-top: -55%;
  }
}

@media (max-width: 767px) {
  .feature__inner {
    margin-top: -14vw;
    background-color: #f5f1de;
  }
}

.feature-bg2 {
  background-color: #f5f1de;
  height: 100px;
  position: absolute;
  position: absolute;
  bottom: -35px;
  left: 0;
  width: 100%;
  z-index: 0;
}

.feature-bg {
  background-color: #f5f1de;
  padding-bottom: 4.17vw;
}

@media (min-width: 1920px) {
  .feature-bg {
    margin-top: 0;
    padding-bottom: 80px;
  }
}

@media (max-width: 767px) {
  .feature-bg {
    padding-top: 2vw;
    padding-bottom: 11vw;
  }
}

.feature__lead {
  margin-bottom: 1.8vw;
}

@media (min-width: 1920px) {
  .feature__lead {
    margin-bottom: 35px;
  }
}

@media (max-width: 767px) {
  .feature__lead {
    font-size: 4.8vw;
    text-align: left;
  }
}

.feature__title-wrap {
  padding-top: 6vw;
  text-align: center;
}

@media (min-width: 1920px) {
  .feature__title-wrap {
    padding-top: 120px;
  }
}

@media (max-width: 767px) {
  .feature__title-wrap {
    padding-top: 15vw;
  }
}

@media (min-width: 1920px) {
  .feature__title-wrap.mt-6 {
    padding-top: 6vw;
  }
}

.point-tag {
  font-family: "Sawarabi Mincho";
  background-color: #9d0000;
  width: 5.9vw;
  margin: auto;
  color: #fff;
  position: relative;
  margin-bottom: 0.2%;
  padding: 0.053vw 0;
}

@media (min-width: 1920px) {
  .point-tag {
    padding: 1px 0;
  }
}

@media (max-width: 767px) {
  .point-tag {
    font-size: 1.5vw;
    width: 13.6%;
  }
}

.point-tag::before {
  content: "";
  background: url(../img/decoration-01.png) no-repeat center center/contain;
  position: absolute;
  top: -3vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5.3vw;
  height: 3vw;
  display: inline-block;
}

@media (max-width: 767px) {
  .point-tag::before {
    top: -6.5vw;
    width: 10vw;
    height: 6vw;
  }
}

.feature__title {
  color: #9d0000;
  margin-bottom: 1.9vw;
  font-family: "Sawarabi Mincho";
}

@media (min-width: 1920px) {
  .feature__title {
    position: relative;
    z-index: 1;
  }
}

@media (max-width: 767px) {
  .feature__title {
    margin-bottom: 4vw;
  }
}

.point__wrap {
  background-color: #fff;
  max-width: 52.08vw;
  margin: 1.5vw auto 0;
  padding: 0.6vw 1.04vw 0.63vw;
  position: relative;
  z-index: 1;
}

@media (min-width: 1920px) {
  .point__wrap {
    max-width: 1000px;
    padding: 10.7px 20px 12px;
  }
}

@media (max-width: 767px) {
  .point__wrap {
    max-width: 96%;
    display: block;
    padding: 2vw;
  }
}

@media (max-width: 767px) {
  .container2 .point__wrap {
    max-width: 100%;
  }
}

.point__text-wrap {
  padding: 0.7vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 48%;
          flex: 0 1 48%;
}

.feature-bg .point__text-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 52%;
          flex: 0 1 52%;
}

.point__text {
  margin-bottom: 1vw;
}

@media (max-width: 767px) {
  .point__text {
    margin-bottom: 3vw;
  }
}

.point__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47%;
          flex: 0 0 47%;
}

.point__img img {
  width: 100%;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .point__img img {
    height: 100%;
  }
}

.inside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 52.08vw;
  margin: 1.8vw auto 0;
}

@media (min-width: 1920px) {
  .inside {
    width: 1000px;
  }
}

@media (max-width: 767px) {
  .inside {
    max-width: 100%;
    margin-top: 3vw;
    padding: 0 2.2vw;
  }
}

.inside__img {
  margin-right: 1.05vw;
  position: relative;
  z-index: 1;
}

.inside__img img:hover {
  opacity: 1;
  cursor: initial;
}

@media (min-width: 1920px) {
  .inside__img {
    width: 17.3vw;
  }
  .inside__img img {
    width: 100%;
  }
}

.inside__img:last-child {
  margin-right: 0;
}

@media (max-width: 767px) {
  #graydisplay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100% !important;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 100;
  }
}

@media (max-width: 767px) {
  #graydisplay img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 90%;
    max-height: 90%;
  }
}

.point-02 {
  padding-top: 5vw;
}

@media (min-width: 1920px) {
  .point-02 {
    padding-top: 120px;
  }
}

@media (max-width: 767px) {
  .point-02 {
    padding-top: 15vw;
  }
}

.point-explanation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media (max-width: 767px) {
  .point-explanation {
    margin-top: 3vw;
  }
}

.point-explanation:first-child {
  margin-bottom: 4.07vw;
}

@media (min-width: 1920px) {
  .point-explanation:first-child {
    margin-bottom: 78px;
  }
}

.point-explanation-img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 11.5%;
          flex: 0 0 11.5%;
  margin-right: 0.3vw;
}

@media (min-width: 1920px) {
  .point-explanation-img {
    margin-right: 10px;
  }
}

@media (max-width: 767px) {
  .point-explanation-img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 17.5%;
            flex: 0 0 17.5%;
    margin-right: 1.7vw;
  }
}

.point-explanation-img.smaller {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12.7%;
          flex: 0 0 12.7%;
  margin-right: 1.3vw;
}

@media (min-width: 1920px) {
  .point-explanation-img.smaller {
    margin-right: 22px;
  }
}

@media (max-width: 767px) {
  .point-explanation-img.smaller {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 15.8%;
            flex: 0 0 15.8%;
    margin-right: 2.5%;
    margin-bottom: 14vw;
  }
}

@media (max-width: 767px) {
  .point-explanation-img.smaller.mb-42 {
    margin-bottom: 50vw;
  }
}

.point-explanation-right {
  position: relative;
  display: inline-block;
  padding: 1.3vw 1.72vw 1.04vw 1.04vw;
  color: #555;
  background: #fff;
  height: 12.15vw;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 44.1vw;
          flex: 0 0 44.1vw;
}

@media (min-width: 1920px) {
  .point-explanation-right {
    height: 233px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 855px;
            flex: 0 0 855px;
    margin-left: -5px;
    padding: 25px 33px 20px 20px;
  }
}

@media (max-width: 767px) {
  .point-explanation-right {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 76.7vw;
            flex: 0 0 76.7vw;
    height: 78vw;
    padding: 3vw;
  }
}

.point-explanation-right:before {
  content: "";
  position: absolute;
  bottom: 0.8%;
  left: -2.5vw;
  margin-top: -0.7vw;
  border: 1.2vw solid transparent;
  border-right: 2vw solid #fff;
}

@media (min-width: 1920px) {
  .point-explanation-right:before {
    bottom: 9px;
    left: -30px;
    margin-top: -15px;
    border: 13px solid transparent;
    border-right: 18px solid #fff;
  }
}

@media (max-width: 767px) {
  .point-explanation-right:before {
    bottom: 66%;
    left: -3.9vw;
    border: 1.8vw solid transparent;
    border-right: 3vw solid #fff;
  }
}

@media (max-width: 767px) {
  .h-45 {
    height: 42vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 80%;
            flex: 0 0 80%;
  }
}

.h-45::before {
  bottom: 36%;
}

.arrow-img {
  position: absolute;
  bottom: -5vw;
  left: -5.5vw;
  z-index: 1;
  width: 2vw;
}

@media (min-width: 768px) and (max-width: 1216px) {
  .arrow-img {
    width: 1.6vw;
  }
}

@media (min-width: 1920px) {
  .arrow-img {
    bottom: -98px;
    left: -96px;
    width: 29px;
  }
}

@media (max-width: 767px) {
  .arrow-img {
    width: 3.35vw;
    bottom: 2vw;
    left: -11.5vw;
  }
}

.point-explanation-right p {
  margin: 0;
  padding: 0;
}

.point-explanation-head {
  color: #9d0000;
  font-weight: 700;
  margin-bottom: 0.37vw;
}

@media (min-width: 1920px) {
  .point-explanation-head {
    margin-bottom: 7px;
  }
}

.point-explanation-text {
  padding-left: 1em;
  text-indent: -1em;
}

.point4__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  margin-top: 1.05vw;
  padding: 1.5vw 1.05vw;
}

@media (min-width: 1920px) {
  .point4__item {
    padding: 26px 25px 24px;
  }
}

@media (max-width: 767px) {
  .point4__item {
    padding: 3vw;
    margin-top: 3vw;
  }
}

.point4__img {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 13.9%;
          flex: 0 0 13.9%;
}

@media (max-width: 767px) {
  .point4__img {
    text-align: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 17.2%;
            flex: 0 0 17.2%;
  }
}

.point4__img img {
  width: 100%;
}

.point4__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 84%;
          flex: 0 1 84%;
  margin-left: 0.8vw;
}

@media (min-width: 1920px) {
  .point4__content {
    margin-left: 18px;
  }
}

@media (max-width: 767px) {
  .point4__content {
    margin-top: 2vw;
    padding-bottom: 1vw;
    margin-left: 1.8vw;
  }
}

.point4__title {
  margin-bottom: 0.65vw;
  font-family: "Sawarabi Mincho";
}

.point4__text {
  margin-bottom: 1.04vw;
}

@media (min-width: 1920px) {
  .point4__text {
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .point4__text {
    font-size: 4.8vw;
  }
}

@media (max-width: 767px) {
  .point4__text .font-20 {
    font-size: 3.6vw;
    display: block;
  }
}

.card__img {
  margin-top: 0.8vw;
}

@media (max-width: 767px) {
  .card__img {
    margin-top: 1.5vw;
  }
}

@media (max-width: 767px) {
  .card__img img {
    width: 60%;
  }
}

.point5__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 3.7vw;
}

@media (min-width: 1920px) {
  .point5__items {
    margin-bottom: 70px;
  }
}

@media (max-width: 767px) {
  .point5__items {
    display: block;
    margin-bottom: 8vw;
  }
}

.point5__item {
  width: 16.6vw;
  text-align: center;
  margin-right: 1.05vw;
  background-color: #fff;
  padding: 1vw 0.5vw 1.35vw;
  margin-bottom: 1.05vw;
}

@media (min-width: 1920px) {
  .point5__item {
    width: 320px;
    margin-right: 20px;
  }
}

@media (max-width: 767px) {
  .point5__item {
    width: 100%;
    padding: 3vw;
    margin-right: 2.65vw;
    margin-bottom: 2.65vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.point5__item:nth-child(3n) {
  margin-right: 0;
}

@media (min-width: 1920px) {
  .point5__item:nth-child(3n) {
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  .point5__item:nth-child(3n) {
    margin-right: 2.65vw;
  }
}

@media (min-width: 1920px) {
  .point5__item:nth-child(2n) {
    margin-right: 20px;
  }
}

@media (max-width: 767px) {
  .point5__item:nth-child(2n) {
    margin-right: 0;
  }
}

@media (min-width: 1920px) {
  .point5__item:nth-child(6n) {
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  .point5__img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 38.4%;
            flex: 0 0 38.4%;
  }
}

@media (max-width: 767px) {
  .point5__img img {
    width: 100%;
  }
}

.point5__text {
  color: #9d0000;
  margin-top: 0.65vw;
}

@media (max-width: 767px) {
  .point5__text {
    font-size: 4.8vw;
    margin-left: 5vw;
    text-align: left;
  }
}

.mt-70 {
  margin-top: 2vw;
  margin-bottom: 2vw;
}

@media (min-width: 1920px) {
  .mt-70 {
    margin-top: 40px;
    margin-bottom: 35px;
  }
}

/*----------------------------------
フッター（医療法人清翔会 名古屋ウィズ歯科矯正歯科）
----------------------------------*/
.footer {
  position: relative;
  z-index: 0;
}

@media (max-width: 767px) {
  .footer {
    margin-top: -4vw;
  }
}

.footer__wrapper {
  position: relative;
  z-index: 1;
}

.footer__img {
  background: url(../img/footer-bg.png) no-repeat top center/cover;
  width: 100%;
  height: 62vw;
}

@media (max-width: 767px) {
  .footer__img {
    background: url(../img/bg5.png) no-repeat top center/cover;
    height: 143vw;
  }
}

.footer__inner {
  padding-top: 4.8vw;
}

@media (min-width: 1920px) {
  .footer__inner {
    padding-top: 90px;
  }
}

@media (max-width: 767px) {
  .footer .section__title {
    line-height: 2;
    padding-top: 5vw;
  }
}

@media (max-width: 767px) {
  .footer .container2 {
    width: 88%;
    margin: auto;
  }
}

.footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 2.1vw;
}

@media (min-width: 1920px) {
  .footer__wrap {
    margin-top: 42px;
  }
}

@media (max-width: 767px) {
  .footer__wrap {
    margin-top: 9vw;
    display: block;
  }
}

.footer__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
}

@media (max-width: 767px) {
  .footer__left {
    width: 100%;
    padding: 0;
  }
}

.footer__logo {
  width: 17vw;
  margin: 0 auto 0.7vw;
}

@media (max-width: 767px) {
  .footer__logo {
    width: 39vw;
  }
}

@media (max-width: 767px) {
  table {
    position: relative;
    z-index: 1;
  }
}

.time-wrapper {
  width: 720px;
  max-width: 100%;
  margin: auto;
}

.place-table,
.time-table {
  border: 1px solid #9d0000;
  border-collapse: collapse;
  background-color: #fff;
  table-layout: fixed;
  width: 100%;
  margin-bottom: 1vw;
}

@media (min-width: 1920px) {
  .place-table,
  .time-table {
    margin-bottom: 20px;
  }
}

.place-table__title {
  width: 6.4vw;
  background-color: #fff9f8;
  color: #9d0000;
  font-weight: 700;
  padding-top: 3%;
  padding-left: 1vw !important;
}

@media (min-width: 1920px) {
  .place-table__title {
    width: 122px;
    padding-left: 20px;
  }
}

@media (max-width: 767px) {
  .place-table__title {
    width: 24.3vw;
  }
}

@media (max-width: 767px) {
  .place-table__title span {
    font-size: 4.8vw !important;
    padding-left: 1.5vw;
  }
}

@media (max-width: 767px) {
  .place-table {
    font-size: 4.8vw;
  }
}

.place-table tr {
  width: 5vw;
}

.place-table td {
  padding: 2.5% 0 2.5% 3.5%;
}

@media (min-width: 1920px) {
  .place-table td {
    padding: 16px 5px 16px 17px;
  }
}

@media (max-width: 767px) {
  .place-table td {
    padding: 2% 0 2% 2%;
    font-size: 4.8vw;
  }
}

.place-table tr {
  border: 1px solid #9d0000;
}

.time-table {
  font-size: 0.94vw;
}

@media (min-width: 1920px) {
  .time-table {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  .time-table {
    margin-top: 2vw;
    font-size: 2.8vw;
  }
}

.time-table th {
  background-color: #fff9f8;
  padding: 4% 0;
}

@media (min-width: 1920px) {
  .time-table th {
    padding: 23.5px 0;
  }
}

@media (max-width: 767px) {
  .time-table th {
    font-size: 3.8vw;
  }
}

.time-table td {
  text-align: center;
}

@media (max-width: 767px) {
  .time-table td {
    font-size: 3.6vw;
  }
}

.time-table__title {
  width: 6.9vw;
  color: #9d0000;
  font-weight: 700;
}

@media (max-width: 767px) {
  .time-table__title {
    width: 26vw;
  }
}

.pt-1 {
  padding-top: 2%;
}

@media (min-width: 1920px) {
  .pt-1 {
    padding-top: 20px;
    padding-bottom: 2px;
  }
}

.pb-1 {
  padding-bottom: 2%;
}

@media (min-width: 1920px) {
  .pb-1 {
    padding-bottom: 20px;
    padding-top: 2px;
  }
}

.schedule {
  margin-top: -2%;
}

@media (max-width: 767px) {
  .schedule {
    margin-top: 1vw;
    font-size: 4.8vw;
  }
}

.footer__right {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
  margin-left: 1vw;
}

@media (max-width: 767px) {
  .footer__right {
    width: 62.5%;
    margin: 4vw auto 0;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .photo {
    height: 100%;
  }
}

.photo img {
  width: 96.2%;
}

@media (min-width: 1920px) {
  .photo img {
    width: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .photo img {
    height: 100%;
  }
}

.map {
  margin-top: 2.1vw;
  height: 20.84vw;
}

@media (min-width: 1920px) {
  .map {
    height: 400px;
  }
}

@media (max-width: 767px) {
  .map {
    margin-top: 6vw;
    height: 48vw;
  }
}

iframe {
  height: 20.84vw;
}

@media (min-width: 1920px) {
  iframe {
    height: 400px;
  }
}

@media (max-width: 767px) {
  iframe {
    height: 48vw;
  }
}

.footer .type-class {
  margin-top: 6vw;
  margin-bottom: 1.7vw;
}

@media (min-width: 1920px) {
  .footer .type-class {
    margin-bottom: 33px;
  }
}

.footer .type-class::before {
  content: "";
  background: url(../img/decoration-01.png) no-repeat center center/contain;
  position: absolute;
  top: -3vw;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 5.3vw;
  height: 3vw;
  display: inline-block;
}

@media (max-width: 767px) {
  .footer .type-class::before {
    top: -6.5vw;
    width: 10vw;
    height: 6vw;
  }
}

@media (min-width: 1920px) {
  .footer .type-class {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  .footer .type-class {
    margin-top: 14vw;
  }
}

.footer-bg {
  background-color: #dde6e8;
  height: 87.2vw;
  margin-top: -81vw;
  position: relative;
  z-index: -1;
}

@media (min-width: 1920px) {
  .footer-bg {
    height: 86.2vw;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .footer-bg {
    height: 83.2vw;
  }
}

@media (max-width: 767px) {
  .footer-bg {
    padding-bottom: 14vw;
    height: 287vw;
    margin-top: -267vw;
  }
}

@media (min-width: 1920px) {
  .pt-12 {
    padding-top: 2vw;
  }
}

@media (max-width: 767px) {
  .type-class.dec01 {
    font-size: 4.8vw;
  }
}

.footer__movie {
  margin-bottom: 3vw;
}

@media (min-width: 1920px) {
  .footer__movie {
    margin-bottom: 75px;
  }
}

.footer__movie iframe {
  width: 100%;
  height: 29.85vw;
}

@media (min-width: 1920px) {
  .footer__movie iframe {
    height: 572px;
  }
}

@media (max-width: 767px) {
  .footer__movie iframe {
    height: 54.8vw;
  }
}

.footer .contact {
  margin-top: 4.5vw;
  margin-bottom: 3vw;
}

@media (min-width: 1920px) {
  .footer .contact {
    margin-top: 7%;
    margin-bottom: 80px;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .footer .contact {
    margin-bottom: 7vw;
  }
}

.footer-banner {
  position: fixed;
  bottom: 0;
  z-index: 30;
}

@media (max-width: 767px) {
  .footer-banner {
    left: 0;
    right: 0;
  }
}

.footer-banner__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 30;
}

@media (max-width: 767px) {
  .footer-banner__wrap {
    height: 15.5vw;
  }
}

.mail {
  background-color: #101010;
  padding-top: 2.6%;
}

@media (min-width: 1920px) {
  .mail {
    padding-top: 2.5% !important;
  }
}

@media (min-width: 1217px) and (max-width: 1919px) {
  .mail {
    padding-top: 2.5% !important;
  }
}

@media (max-width: 767px) {
  .mail {
    padding-top: 2.5%;
  }
}

.line {
  background-color: #00b900;
  padding-top: 2.3%;
}

@media (min-width: 1920px) {
  .line {
    padding-top: 2.5% !important;
  }
}

@media (min-width: 1217px) and (max-width: 1919px) {
  .line {
    padding-top: 2% !important;
  }
}

@media (max-width: 767px) {
  .line {
    padding-top: 1.2%;
  }
}

.footer-banner-link {
  display: block;
  width: 17.36vw;
  text-align: center;
  position: relative;
  padding: 1.25% 1% 1.25% 6%;
  position: relative;
  height: 5.22vw;
}

@media (min-width: 1920px) {
  .footer-banner-link {
    width: 333.3px;
    height: 100px;
    padding: 1.25% 1% 1.25% 5%;
  }
}

@media (max-width: 767px) {
  .footer-banner-link {
    width: 33.333%;
    padding: 0 1% 0 4%;
    height: 15.5vw;
  }
}

.footer-banner-link::after {
  content: "";
  background: url(../img/arrow3.png) no-repeat center center/contain;
  width: 10%;
  height: 10%;
  position: absolute;
  top: 50%;
  right: -1%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
}

@media (max-width: 767px) {
  .footer-banner-link::after {
    display: none;
  }
}

.footer-banner-link.line {
  padding-left: 5%;
}

.pl-8 {
  padding-left: 8%;
}

@media (max-width: 767px) {
  .pl-8 {
    padding-left: 5%;
  }
}

.footer-banner__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16vw;
  margin: auto;
}

@media (min-width: 1920px) {
  .footer-banner__content {
    width: 304px;
  }
}

@media (max-width: 767px) {
  .footer-banner__content {
    display: none;
  }
}

.tel {
  background-color: #9d0000;
}

.tel .footer-banner__content {
  left: 15%;
}

@media (min-width: 1920px) {
  .tel .footer-banner__content {
    left: 15%;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .tel .footer-banner__content {
    left: 35%;
    top: 50%;
    -webkit-transform: translate(-30%, -50%);
            transform: translate(-30%, -50%);
  }
}

.mail .footer-banner__content {
  left: 10%;
}

@media (min-width: 1920px) {
  .mail .footer-banner__content {
    left: 10%;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .mail .footer-banner__content {
    left: 47%;
    top: 50%;
    -webkit-transform: translate(-30%, -50%);
            transform: translate(-30%, -50%);
  }
}

.line .footer-banner__content {
  left: 3%;
}

@media (min-width: 1920px) {
  .line .footer-banner__content {
    left: 10px;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .line .footer-banner__content {
    left: 45%;
    top: 50%;
    -webkit-transform: translate(-30%, -50%);
            transform: translate(-30%, -50%);
  }
}

.footer-icon {
  display: inline-block;
  margin-bottom: 1.5%;
  width: 1.5vw;
}

@media (max-width: 767px) {
  .footer-icon {
    width: 30%;
    margin-top: 4%;
  }
}

.footer-icon img {
  margin-bottom: 0.35vw;
}

@media (min-width: 1920px) {
  .footer-icon img {
    margin-bottom: 6.7px;
  }
}

@media (max-width: 767px) {
  .footer-icon img {
    width: 94%;
  }
}

.line .footer-icon img {
  margin-bottom: 0.2vw;
}

@media (min-width: 1920px) {
  .line .footer-icon img {
    margin-bottom: 5px;
  }
}

.footer-banner-text {
  color: #fff;
  font-weight: 700;
  margin-left: 3%;
  line-height: 1.4;
  width: 100%;
  text-align: left;
}

@media (max-width: 767px) {
  .footer-banner-text {
    line-height: 0.9;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .mail .footer-banner-text,
  .line .footer-banner-text {
    padding-top: 5px;
  }
}

.tel-img,
.mail-img,
.line-img {
  padding-top: 3vw;
  padding-right: 3vw;
  position: relative;
}

.tel-img::after,
.mail-img::after,
.line-img::after {
  content: "";
  background: url(../img/arrow.png) no-repeat center right/contain;
  position: absolute;
  top: 69%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16%;
  height: 16%;
  display: inline-block;
}

.tel-img img,
.mail-img img {
  width: 70%;
  height: 70%;
}

.line-img img {
  width: 90%;
  height: 90%;
}

.hours {
  border: 1px solid #fff;
  margin-right: 4%;
  padding: 2% 2%;
}

@media (min-width: 1920px) {
  .hours {
    padding: 5px 3px;
  }
}

@media (min-width: 768px) and (max-width: 1216px) {
  .hours {
    padding: 0 2%;
  }
}

@media (max-width: 767px) {
  .hours {
    font-size: 1.67vw;
  }
}

.margin {
  width: 100%;
  height: 13px;
  background-color: #fff;
}
/*# sourceMappingURL=style.css.map */