@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
body {
  font-size: 16px;
  line-height: 24px;
  color: #363636;
  font-family: "Noto Sans JP", sans-serif;
  background: #F8F7EC;
  letter-spacing: 2px; }

@font-face {
  font-family: 'Futura';
  src: url("font/Futura-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100% !important; }

.post-password-form {
  margin-top: 200px; }

#header .header__main-container {
  background: rgba(255, 255, 255, 0.9); }

#header .header_menu .g_nav > li > a,
#header .header_menu .g_nav > li > span {
  font-family: "Zen Old Mincho", serif; }

.css-1wdc7ox,
.css-1l2lls9 {
  display: none !important; }

img {
  width: 100%;
  height: auto; }

.fnt-notosan {
  font-family: "Noto Sans JP", sans-serif; }

.fnt-zenmaru {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  color: #626262; }

.fnt-futura {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal; }

.fnt-futurabold {
  font-family: 'Futura';
  font-weight: bold; }

.dis-flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex; }

@media screen and (min-width: 768px) {
  .dis-flex-pc {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex; } }
.ttl {
  position: relative;
  text-align: center;
  z-index: 0; }
  .ttl .ttl-en {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    text-transform: uppercase;
    color: #F4F1D7;
    font-size: 86px;
    font-weight: bold;
    letter-spacing: 0.05em; }
  .ttl .ttl-jp {
    font-size: 32px;
    letter-spacing: 0.2em;
    line-height: 1.6; }
  @media screen and (max-width: 767px) {
    .ttl .ttl-en {
      font-size: 22.9vw; }
    .ttl .ttl-jp {
      font-size: 8.5vw; } }

.txt-line {
  text-align: center;
  position: relative;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.2em; }
  .txt-line:before, .txt-line:after {
    content: "";
    position: absolute;
    top: 5px;
    width: 1px;
    height: 100%;
    border-left: 2px dotted #707070; }
  .txt-line:before {
    left: 0;
    transform: rotate(-23deg); }
  .txt-line:after {
    right: 0;
    transform: rotate(23deg); }
  @media screen and (max-width: 767px) {
    .txt-line {
      font-size: 5.3vw;
      margin: 7vw 5%; }
      .txt-line:before, .txt-line:after {
        height: 63%;
        top: auto;
        bottom: 0; } }

#main {
  position: relative;
  z-index: 0;
  letter-spacing: 0.05em; }
  @media screen and (max-width: 767px) {
    #main .container {
      padding: 0 30px; } }

@media screen and (min-width: 768px) and (max-width: 1080px) {
  #header .header__main-container {
    padding-left: 13px;
    padding-bottom: 7px; }
  #header .header__sub-container {
    width: auto; }
  #header .header__logo {
    margin-top: 12px;
    width: 200px; }
  #header .header_menu .g_nav > li > a, #header .header_menu .g_nav > li > span {
    min-height: 44px; } }

#key {
  position: relative;
  z-index: 2;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700; }
  #key .kv_img {
    width: 100%;
    height: 958px;
    position: relative; }
    #key .kv_img p.pc {
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%; }
  #key .kv-txt {
    color: #7B6541;
    font-size: 48px;
    line-height: 1.8;
    letter-spacing: 0.2em;
    position: absolute;
    z-index: 2;
    left: 60px;
    bottom: 170px; }
    #key .kv-txt p {
      padding-top: 7px; }
    #key .kv-txt p:not(:last-child) {
      position: relative; }
      #key .kv-txt p:not(:last-child):before {
        content: "";
        position: absolute;
        bottom: -3px;
        left: 0;
        height: 3px;
        width: 92%;
        background: url("../img/child/kv_line.png") repeat-x bottom left; }
  #key .kv-label {
    color: #fff;
    text-align: center;
    font-size: 20px;
    position: absolute;
    bottom: 93px;
    right: 80px; }
    #key .kv-label li {
      position: relative; }
      #key .kv-label li p {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center; }
  @media screen and (min-width: 768px) and (max-width: 1580px) {
    #key .kv_img {
      height: 870px; } }
  @media screen and (min-width: 768px) and (max-width: 1440px) {
    #key .kv_img {
      height: 790px; } }
  @media screen and (min-width: 768px) and (max-width: 1366px) {
    #key .kv_img {
      height: auto; }
      #key .kv_img p.pc {
        position: static;
        transform: translateX(0); }
    #key .kv-txt {
      font-size: 3.5vw;
      left: 4.4%;
      bottom: 20.2%; }
    #key .kv-label {
      font-size: 1.5vw;
      bottom: 11.1%;
      right: 5.9%;
      width: 36.5%; }
      #key .kv-label li {
        width: calc(100% / 3); } }
  @media screen and (max-width: 767px) {
    #key .kv_img {
      height: auto; }
    #key .kv-txt, #key .kv-label {
      position: static; }
    #key .kv-txt {
      font-size: 7.5vw;
      margin: -10vw 30px 0;
      line-height: 2; }
      #key .kv-txt p {
        display: inline-block; }
        #key .kv-txt p:before {
          width: 100%; }
    #key .kv-label {
      margin: 5vw 20px 0; } }

.ttl-sub {
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: 0.2em;
  color: #626262; }
  @media screen and (max-width: 767px) {
    .ttl-sub {
      font-size: 6.4vw; } }

#lead {
  z-index: 1; }
  #lead .lead-1 {
    margin-bottom: 140px;
    position: relative;
    z-index: 0;
    padding-top: 30px; }
    #lead .lead-1:before, #lead .lead-1:after {
      content: "";
      position: absolute;
      z-index: -1;
      border-radius: 50%; }
    #lead .lead-1:before {
      background: #FDF5CB;
      width: 447px;
      height: 447px;
      top: -210px;
      left: -220px; }
    #lead .lead-1:after {
      background: #E3F7CF;
      width: 163px;
      height: 163px;
      top: 280px;
      left: 339px; }
    #lead .lead-1 h2 {
      color: #626262;
      font-size: 32px;
      line-height: 1.3;
      letter-spacing: 0.2em; }
    #lead .lead-1 .ttl-sub {
      margin-top: 12px; }
    #lead .lead-1 .lead-img1 {
      position: absolute;
      width: 72.9%;
      left: 50%;
      top: -271px; }
    #lead .lead-1 .lead-txt1 {
      width: 45%;
      margin-top: 42px; }
  @media screen and (min-width: 768px) and (max-width: 1150px) {
    #lead .lead-1 .lead-img1 {
      width: 67%; } }
  @media screen and (min-width: 768px) and (max-width: 980px) {
    #lead .lead-1 h2 {
      width: 50%; }
    #lead .lead-1 .ttl-sub {
      width: 50%; }
      #lead .lead-1 .ttl-sub br {
        display: none; }
    #lead .lead-1 .lead-img1 {
      top: -167px;
      width: 63%; } }
  @media screen and (max-width: 767px) {
    #lead .lead-1 {
      margin-bottom: 14.7vw;
      padding-top: 26.7vw;
      position: relative;
      z-index: 1; }
      #lead .lead-1:before {
        background: #FDF5CB;
        width: 73vw;
        height: 73vw;
        top: -13vw;
        left: -41%; }
      #lead .lead-1:after {
        display: none; }
      #lead .lead-1 h2 {
        font-size: 6.4vw;
        line-height: 1.6;
        letter-spacing: 0.18em;
        margin-bottom: 5vw; }
      #lead .lead-1 .ttl-sub {
        margin-top: 3vw;
        margin-bottom: 5vw;
        font-size: 5.3vw; }
      #lead .lead-1 .lead-img1 {
        position: relative;
        width: 80%;
        left: 0;
        top: 0;
        position: relative;
        z-index: 0; }
        #lead .lead-1 .lead-img1:before {
          content: "";
          position: absolute;
          z-index: -1;
          border-radius: 50%;
          background: #E3F7CF;
          width: 40vw;
          height: 40vw;
          bottom: 0;
          right: -26%; }
      #lead .lead-1 .lead-txt1 {
        width: 100%;
        margin-top: 8vw; } }

.lead-2 {
  margin-bottom: 136px; }
  .lead-2 .ttl-sub {
    float: right;
    width: 48.7%; }
  .lead-2 .lead-group {
    float: left;
    width: 44.4%; }
    .lead-2 .lead-group .lead-txt2 {
      color: #626262;
      font-size: 20px;
      position: relative;
      text-align: center;
      line-height: 1.3;
      letter-spacing: 0.2em;
      margin: 0 9px 17px; }
      .lead-2 .lead-group .lead-txt2:before, .lead-2 .lead-group .lead-txt2:after {
        content: "";
        position: absolute;
        top: 5px;
        width: 1px;
        height: 100%;
        border-left: 2px dotted #707070; }
      .lead-2 .lead-group .lead-txt2:before {
        left: 0;
        transform: rotate(-23deg); }
      .lead-2 .lead-group .lead-txt2:after {
        right: 0;
        transform: rotate(23deg); }
  .lead-2 .lead-txt3 {
    float: right;
    width: 48.7%;
    margin-top: 15px; }
  @media screen and (min-width: 768px) and (max-width: 1000px) {
    .lead-2 .ttl-sub br, .lead-2 .lead-group .lead-txt2 br {
      display: none; } }
  @media screen and (max-width: 767px) {
    .lead-2 {
      margin-bottom: 13vw;
      position: relative;
      z-index: 0; }
      .lead-2:before, .lead-2:after {
        content: "";
        position: absolute;
        z-index: -1;
        border-radius: 50%; }
      .lead-2:before {
        background: #F2DCDB;
        width: 103vw;
        height: 103vw;
        top: -49vw;
        right: -44%; }
      .lead-2:after {
        background: #DFF2FA;
        width: 89vw;
        height: 89vw;
        bottom: -63vw;
        left: -45%; }
      .lead-2 .ttl-sub, .lead-2 .lead-group, .lead-2 .lead-txt3 {
        float: inherit;
        width: 100%; }
      .lead-2 .ttl-sub {
        text-align: center; }
      .lead-2 .lead-group .lead-txt2 {
        font-size: 5.3vw;
        margin: 7vw 5%; }
        .lead-2 .lead-group .lead-txt2:before, .lead-2 .lead-group .lead-txt2:after {
          height: 70%;
          top: auto;
          bottom: 0; }
      .lead-2 .lead-txt3 {
        margin-top: 15px; } }

.lead-3 {
  margin-bottom: 6vw; }
  .lead-3 .ttl-sub {
    text-align: center;
    margin-bottom: 7vw; }
  @media screen and (min-width: 768px) {
    .lead-3 {
      margin-bottom: 56px;
      position: relative; }
      .lead-3:before {
        background: #F2DCDB;
        width: 447px;
        height: 447px;
        top: -78px;
        right: -164px;
        content: "";
        position: absolute;
        z-index: -1;
        border-radius: 50%; }
      .lead-3 .elementor-row {
        justify-content: space-between;
        align-items: center; }
      .lead-3 .elementor-column.elementor-col-50:nth-child(1) {
        width: 29.5%; }
      .lead-3 .elementor-column.elementor-col-50:nth-child(2) {
        width: 65.5%; }
      .lead-3 .ttl-sub {
        text-align: left;
        margin-bottom: 0; } }
  @media screen and (min-width: 768px) and (max-width: 960px) {
    .lead-3 .elementor-column.elementor-col-50:nth-child(1) {
      width: 320px; }
    .lead-3 .elementor-column.elementor-col-50:nth-child(2) {
      width: calc(100% - 340px); } }

.lead-4 {
  margin-bottom: 110px;
  position: relative; }
  .lead-4:before {
    background: #DFF2FA;
    width: 277px;
    height: 277px;
    bottom: -78px;
    left: -173px;
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%; }
  .lead-4 .elementor-column.elementor-col-33 {
    width: calc((100% - 60px) / 3);
    margin-left: 30px;
    margin-bottom: 40px; }
    .lead-4 .elementor-column.elementor-col-33:first-child {
      margin-left: 0; }
  .lead-4 dt {
    text-align: center;
    font-size: 20px;
    margin-bottom: 17px; }
  @media screen and (max-width: 767px) {
    .lead-4 {
      margin-bottom: 20vw; }
      .lead-4:before, .lead-4:after {
        content: "";
        position: absolute;
        z-index: -1;
        border-radius: 50%; }
      .lead-4:before {
        background: #F2DCDB;
        width: 103vw;
        height: 103vw;
        bottom: 40vw;
        left: -49%; }
      .lead-4:after {
        background: #FDF5CB;
        width: 81vw;
        height: 81vw;
        top: 24vw;
        right: -35%; }
      .lead-4 .elementor-column.elementor-col-33 {
        width: 100%;
        margin: 0 0 40px; }
      .lead-4 dt {
        font-size: 5.3vw; } }

.menu .ttl {
  margin-bottom: 72px; }
.menu .txt-line {
  margin: 0 auto 50px;
  width: 480px; }
@media screen and (max-width: 767px) {
  .menu .ttl {
    margin-bottom: 14vw; }
  .menu .txt-line {
    margin: 0 auto 15vw;
    width: 97%; } }

.menu-group {
  margin-bottom: 65px; }
  .menu-group .elementor-row {
    justify-content: space-between; }
  .menu-group .elementor-column.elementor-col-50 {
    width: calc(50% - 12px); }
  .menu-group .menu-item {
    border-radius: 18px;
    box-sizing: border-box;
    color: #fff;
    padding: 40px 3%; }
    .menu-group .menu-item .ttl-sub {
      color: #fff; }
    .menu-group .menu-item .dis-flex-pc {
      justify-content: space-between; }
  .menu-group .bg_pink {
    background: #E5BBB9; }
  .menu-group .bg_org {
    background: #E8C084; }
  .menu-group .bg_green {
    background: #B4D690; }
  .menu-group .bg_blue {
    background: #A2C9D9; }
  .menu-group i {
    width: 28%; }
  .menu-group dl {
    width: 69%; }
    .menu-group dl dd {
      line-height: 1.5;
      margin-top: 12px; }
  @media screen and (max-width: 767px) {
    .menu-group {
      margin-bottom: 0; }
      .menu-group .elementor-row {
        justify-content: space-between; }
      .menu-group .elementor-column.elementor-col-50 {
        width: 100%;
        margin-bottom: 15vw; }
      .menu-group .menu-item {
        padding: 68px 20px 25px;
        position: relative; }
      .menu-group i {
        width: 83px;
        position: absolute;
        top: -68px;
        left: 50%;
        transform: translate(-50%, -50%); }
      .menu-group dl {
        width: 100%; }
        .menu-group dl dt {
          text-align: center; } }

#cavities {
  background: #F4F1D7;
  border-radius: 18px;
  padding: 80px 50px 60px;
  max-width: 1080px; }
  #cavities .cavities-ttl {
    text-align: center;
    font-size: 32px;
    letter-spacing: 0.2em;
    line-height: 1.3;
    margin-bottom: 10px; }
  #cavities .cavities-txt {
    text-align: center;
    margin-bottom: 50px;
    line-height: 1.5;
    letter-spacing: 0.05em; }
  #cavities .cavities-item {
    background: #fff;
    border-radius: 18px;
    box-sizing: border-box;
    padding: 60px;
    margin-bottom: 30px; }
  #cavities .ttl-sub {
    float: right;
    width: calc(100% - 190px);
    color: #AF9873;
    margin-bottom: 18px; }
  #cavities .cavities-img {
    float: left;
    width: 128px; }
  #cavities .cavities-txt2 {
    float: right;
    width: calc(100% - 190px); }
  #cavities .ttl-sub2 {
    float: right;
    width: 62%;
    color: #626262;
    font-size: 20px;
    margin-bottom: 18px;
    letter-spacing: 0.2em; }
  #cavities .cavities-img2 {
    float: left;
    width: 34.3%; }
  #cavities .cavities-txt3 {
    float: right;
    width: 62%; }
  @media screen and (max-width: 767px) {
    #cavities {
      border-radius: 0;
      padding: 13vw 30px 20vw !important;
      background: none;
      position: relative;
      z-index: 0; }
      #cavities:before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(100% - 114vw);
        background: #F4F1D7; }
      #cavities .cavities-ttl {
        font-size: 8.5vw;
        line-height: 1.6;
        margin-bottom: 6vw; }
      #cavities .cavities-txt {
        margin-bottom: 4vw; }
      #cavities .cavities-item {
        padding: 24px;
        margin-bottom: 12px; }
      #cavities .ttl-sub, #cavities .cavities-img, #cavities .cavities-txt2, #cavities .ttl-sub2, #cavities .cavities-img2, #cavities .cavities-txt3 {
        float: inherit;
        width: 100%; }
      #cavities .ttl-sub {
        margin-bottom: 32px;
        text-align: center; }
      #cavities .cavities-img {
        width: 128px;
        margin: 0 auto 24px; }
      #cavities .cavities-item2 {
        margin-top: 7vw; }
      #cavities .ttl-sub2 {
        text-align: center;
        font-size: 5.3vw; }
      #cavities .cavities-txt3 {
        margin-top: 5vw; } }

.cavities-2 {
  margin-top: 37px;
  margin-bottom: 156px; }
  .cavities-2 .elementor-row {
    justify-content: space-between; }
  .cavities-2 .cavities-bnr {
    text-align: center; }
    .cavities-2 .cavities-bnr .elementor-column.elementor-col-50 {
      border-radius: 18px;
      color: #fff;
      position: relative;
      padding: 27px 0; }
      .cavities-2 .cavities-bnr .elementor-column.elementor-col-50:before {
        content: "";
        position: absolute;
        border: 1px dotted #fff;
        border-radius: 14px;
        top: 8px;
        left: 8px;
        bottom: 8px;
        right: 8px; }
      .cavities-2 .cavities-bnr .elementor-column.elementor-col-50:nth-child(1) {
        background: #B4D690; }
        .cavities-2 .cavities-bnr .elementor-column.elementor-col-50:nth-child(1) a {
          color: #B4D690; }
      .cavities-2 .cavities-bnr .elementor-column.elementor-col-50:nth-child(2) {
        background: #A2C9D9; }
        .cavities-2 .cavities-bnr .elementor-column.elementor-col-50:nth-child(2) a {
          color: #A2C9D9; }
      .cavities-2 .cavities-bnr .elementor-column.elementor-col-50 a:hover {
        opacity: 0.8; }
    .cavities-2 .cavities-bnr .cavities-bnr-ttl {
      color: #fff;
      font-size: 20px; }
    .cavities-2 .cavities-bnr .cavities-txt5 {
      margin: 7px 0 10px; }
    .cavities-2 .cavities-bnr a {
      display: flex;
      background: #fff;
      justify-content: center;
      align-items: center;
      border-radius: 14px;
      width: 142px;
      height: 28px;
      margin: 0 auto;
      font-size: 14px; }
  @media screen and (min-width: 768px) {
    .cavities-2 .elementor-column.elementor-col-50:nth-child(1) {
      width: 43%; }
      .cavities-2 .elementor-column.elementor-col-50:nth-child(1) .ttl-sub {
        line-height: 40px; }
    .cavities-2 .elementor-column.elementor-col-50:nth-child(2) {
      width: 52%; }
    .cavities-2 .cavities-txt4 {
      margin-top: 24px; }
    .cavities-2 .cavities-bnr .elementor-column.elementor-col-50 {
      width: calc((100% - 17px) / 2) !important; } }
  @media screen and (max-width: 900px) and (min-width: 768px) {
    .cavities-2 .elementor-column.elementor-col-50:nth-child(1) {
      width: calc(100% - 320px); }
    .cavities-2 .elementor-column.elementor-col-50:nth-child(2) {
      width: 272px; }
    .cavities-2 .cavities-bnr .elementor-row {
      display: block; }
    .cavities-2 .cavities-bnr .elementor-column.elementor-col-50 {
      margin-bottom: 20px;
      width: 272px !important; } }
  @media screen and (max-width: 767px) {
    .cavities-2 {
      margin-bottom: 19vw; }
      .cavities-2 .ttl-sub {
        text-align: center;
        line-height: 1.7; }
      .cavities-2 .cavities-txt4 {
        margin: 4vw 0 7vw;
        text-align: center; }
      .cavities-2 .cavities-bnr .elementor-column.elementor-col-50 {
        margin-bottom: 10px; } }

#prevention .ttl-sub {
  text-align: center;
  margin: 27px 0 80px; }
#prevention ul {
  flex-wrap: wrap;
  margin-bottom: 64px; }
  #prevention ul li {
    width: calc((100% - 80px) / 5); }
    #prevention ul li:not(:first-child) {
      margin-left: 20px; }
#prevention .prevention-item {
  border-bottom: 1px dashed #ACACAC;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 24px;
  margin-bottom: 50px; }
  #prevention .prevention-item .prevention-ttl {
    color: #fff;
    margin: 0;
    background: #E5BBB9;
    width: 251px;
    height: 96px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center; }
  #prevention .prevention-item .prevention-txt {
    width: calc(100% - 300px); }
@media screen and (max-width: 767px) {
  #prevention {
    margin-bottom: 13vw; }
    #prevention .ttl-en span {
      display: none; }
    #prevention .ttl-sub {
      margin: 5vw 0 3vw; }
    #prevention ul {
      margin-bottom: 7vw;
      justify-content: space-between; }
      #prevention ul li {
        width: calc((100% - 5px) / 2);
        margin-bottom: 5px; }
        #prevention ul li:not(:first-child) {
          margin-left: 0; }
    #prevention .prevention-item {
      padding-bottom: 12px;
      margin-bottom: 12px; }
      #prevention .prevention-item .prevention-ttl {
        width: 100%;
        height: auto;
        border-radius: 10px;
        line-height: 3;
        margin-bottom: 15px; }
      #prevention .prevention-item .prevention-txt {
        width: 100%; } }

#orthodontics1 {
  background: url("../img/child/orthodontics_bg1.png") no-repeat top center/cover;
  padding: 180px 0 110px; }
  #orthodontics1 .elementor-row {
    justify-content: space-between; }
  #orthodontics1 .ttl {
    text-align: left;
    margin-bottom: 18px; }
    #orthodontics1 .ttl .ttl-jp {
      color: #AF9873; }
  #orthodontics1 .orthodontics1-1 {
    margin-bottom: 85px; }
  #orthodontics1 .orthodontics1-slide {
    text-align: center; }
  #orthodontics1 .orthodontics1-img {
    margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    #orthodontics1 .elementor-column.elementor-col-50:nth-child(1) {
      width: 380px; }
    #orthodontics1 .elementor-column.elementor-col-50:nth-child(2) {
      width: calc(100% - 460px); }
    #orthodontics1 .orthodontics1-item {
      width: calc((100% - 72px) / 4); }
      #orthodontics1 .orthodontics1-item:not(:first-child) {
        margin-left: 24px; } }
  @media screen and (max-width: 900px) and (min-width: 768px) {
    #orthodontics1 .elementor-column.elementor-col-50:nth-child(2) {
      width: calc(100% - 410px); } }
  @media screen and (max-width: 767px) {
    #orthodontics1 {
      background: url("../img/child/orthodontics_bg_sp_01.jpg") no-repeat top center/100% auto, url("../img/child/orthodontics_bg_sp_02.jpg") no-repeat bottom center/100% auto, url("../img/child/orthodontics_bg_sp.jpg") repeat-y top center/100% auto;
      padding: 25vw 0 26vw; }
      #orthodontics1 .ttl-sub {
        text-align: center;
        margin-bottom: 4vw; }
      #orthodontics1 .orthodontics1-1 {
        margin-bottom: 10vw; }
      #orthodontics1 .orthodontics1-2 {
        padding: 0; }
      #orthodontics1 .orthodontics1-item {
        padding: 0 12px; } }

#orthodontics2 {
  position: relative;
  z-index: 1;
  color: #fff; }
  #orthodontics2 .ttl-sub {
    color: #fff;
    margin-bottom: 20px; }
  #orthodontics2 .orthodontics2_1 {
    background: url("../img/child/orthodontics2_img1.jpg") no-repeat center/cover;
    padding: 90px 0;
    margin-bottom: 0; }
  #orthodontics2 .orthodontics2_2 {
    background: url("../img/child/orthodontics2_img2.jpg") no-repeat center/cover;
    padding: 90px 0; }
    #orthodontics2 .orthodontics2_2 .orthodontics2-info {
      margin-left: auto; }
  #orthodontics2 .orthodontics2-info {
    width: 49%; }
  @media screen and (max-width: 767px) {
    #orthodontics2 .ttl-sub {
      text-align: center;
      margin-bottom: 15px; }
    #orthodontics2 .orthodontics2_1 {
      background: url("../img/child/orthodontics2_img1_sp.jpg") no-repeat center/cover;
      padding: 13vw 0;
      margin-bottom: 10px; }
    #orthodontics2 .orthodontics2_2 {
      background: url("../img/child/orthodontics2_img2_sp.jpg") no-repeat center/cover;
      padding: 13vw 0; }
      #orthodontics2 .orthodontics2_2 .orthodontics2-info {
        margin-left: 0; }
    #orthodontics2 .orthodontics2-info {
      width: 100%; } }

#orthodontics {
  position: relative;
  z-index: 0; }
  #orthodontics:before, #orthodontics:after {
    content: "";
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    width: 447px;
    height: 447px; }
  #orthodontics:before {
    background: #FDF5CB;
    top: -115px;
    left: -222px; }
  #orthodontics:after {
    background: #F2DCDB;
    top: 218px;
    right: -242px; }
  #orthodontics .ttl-sub {
    color: #AF9873; }
  @media screen and (min-width: 768px) {
    #orthodontics {
      padding: 91px 20px 100px; }
      #orthodontics .orthodontics3-item {
        margin-bottom: 66px; }
      #orthodontics .ttl-sub {
        margin-bottom: 20px; }
      #orthodontics .ttl-sub, #orthodontics .orthodontics3-txt {
        width: 455px; }
      #orthodontics .orthodontics3-item:nth-child(odd) .ttl-sub {
        margin-top: 110px; }
      #orthodontics .orthodontics3-item:nth-child(odd) .ttl-sub, #orthodontics .orthodontics3-item:nth-child(odd) .orthodontics3-txt {
        float: left; }
      #orthodontics .orthodontics3-item:nth-child(odd) .orthodontics3-img {
        float: right;
        width: 455px; }
      #orthodontics .orthodontics3-item:nth-child(even) {
        position: relative;
        z-index: 0; }
        #orthodontics .orthodontics3-item:nth-child(even):before {
          content: "";
          position: absolute;
          z-index: -1;
          border-radius: 50%;
          width: 163px;
          height: 163px;
          background: #E3F7CF;
          top: -91px;
          left: 339px; }
        #orthodontics .orthodontics3-item:nth-child(even) .ttl-sub {
          margin-top: 50px;
          margin-bottom: 36px; }
        #orthodontics .orthodontics3-item:nth-child(even) .ttl-sub, #orthodontics .orthodontics3-item:nth-child(even) .orthodontics3-txt {
          float: right; }
        #orthodontics .orthodontics3-item:nth-child(even) .orthodontics3-img {
          float: left;
          width: 540px; } }
  @media screen and (min-width: 768px) and (max-width: 980px) {
    #orthodontics .ttl-sub, #orthodontics .orthodontics3-txt {
      width: 50%; }
    #orthodontics .orthodontics3-item:nth-child(odd) .ttl-sub {
      margin-top: 50px; }
    #orthodontics .orthodontics3-item:nth-child(odd) .orthodontics3-img {
      width: 46%; }
    #orthodontics .orthodontics3-item:nth-child(even) .ttl-sub, #orthodontics .orthodontics3-item:nth-child(even) .orthodontics3-txt {
      width: 46%; }
    #orthodontics .orthodontics3-item:nth-child(even) .orthodontics3-img {
      width: 50%; } }
  @media screen and (max-width: 767px) {
    #orthodontics {
      padding: 13vw 30px !important; }
      #orthodontics:before, #orthodontics:after {
        width: 119vw;
        height: 119vw; }
      #orthodontics:before {
        top: -73vw;
        left: -58%; }
      #orthodontics:after {
        top: auto;
        bottom: -14vw;
        right: -61%; }
      #orthodontics .ttl-sub {
        text-align: center;
        margin-bottom: 5vw; }
      #orthodontics .orthodontics3-img {
        margin-bottom: 5vw; }
      #orthodontics .orthodontics3-item {
        margin-bottom: 11vw; } }

#case {
  margin-bottom: 160px; }
  #case .ttl {
    margin-bottom: 50px; }
  #case .case-item {
    width: 682px;
    padding: 0 16px; }
  #case .case-img {
    overflow: hidden;
    border-radius: 20px;
    margin-bottom: 25px; }
    #case .case-img > div {
      position: relative; }
      #case .case-img > div .img-caption {
        position: absolute;
        z-index: 1;
        top: 22px;
        left: 26px;
        background: #fff;
        color: #626262;
        text-transform: uppercase;
        text-align: center;
        width: 110px;
        line-height: 25px;
        border-radius: 17px; }
  #case .case-table dl {
    margin-bottom: 1px;
    background: #fff; }
    #case .case-table dl dt, #case .case-table dl dd {
      padding: 5px 13px;
      box-sizing: border-box; }
    #case .case-table dl dt {
      background: #AF9873;
      color: #fff;
      width: 35%; }
    #case .case-table dl dd {
      width: 65%; }
  @media screen and (max-width: 767px) {
    #case {
      margin-bottom: 25vw; }
      #case .ttl {
        margin-bottom: 15vw; }
      #case .case-item {
        width: 330px !important;
        padding: 0 7px; }
      #case .case-img {
        border-radius: 10px;
        margin-bottom: 16px; }
        #case .case-img > div .img-caption {
          top: 10px;
          left: 10px;
          width: 75px;
          line-height: 19px;
          border-radius: 10px;
          font-size: 12px; }
      #case .case-table dl {
        margin-bottom: 5px; }
        #case .case-table dl dt, #case .case-table dl dd {
          width: 100%; } }

/*=============================================
 * .tabs-switch
 *=============================================*/
.tabs-switch .tab-link > * {
  cursor: pointer;
  display: inline-block; }

.tabs-switch .tab-link > * a {
  pointer-events: none; }

.tabs-switch .tab-link.link-over > * {
  position: relative; }

.tabs-switch .tab-link.link-over > * > img + img {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.tabs-switch .tab-link.link-over > * > img + img,
.tabs-switch .tab-link.link-over > *:hover > img,
.tabs-switch .tab-link.link-over > *.active > img {
  opacity: 0; }

.tabs-switch .tab-link.link-over > *:hover > img + img,
.tabs-switch .tab-link.link-over > *.active > img + img {
  opacity: 1; }

.tabs-switch[data=fade] .tab-content {
  min-height: 100px;
  position: relative; }

.tabs-switch .tab-content > * {
  display: none; }

.tabs-switch[data=fade] .tab-content > * {
  margin: auto;
  width: 100%;
  height: 100%; }

#faq {
  margin-bottom: 100px; }
  #faq .ttl {
    margin-bottom: 80px; }
  #faq .tab-link {
    justify-content: space-between;
    margin-bottom: 40px; }
    #faq .tab-link li {
      width: calc(50% - 12px);
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 36px;
      font-size: 32px;
      line-height: 2.2;
      position: relative; }
      #faq .tab-link li:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 24px;
        height: 22px;
        transform: translate(-50%, 60%);
        opacity: 0; }
      #faq .tab-link li:nth-child(1) {
        background: #E5BBB9; }
        #faq .tab-link li:nth-child(1):before {
          background: url("../img/child/faq_arrow1.png") no-repeat bottom center/100% auto; }
      #faq .tab-link li:nth-child(2) {
        background: #A2C9D9; }
        #faq .tab-link li:nth-child(2):before {
          background: url("../img/child/faq_arrow2.png") no-repeat bottom center/100% auto; }
      #faq .tab-link li.active:before {
        opacity: 1; }
  #faq .qa {
    margin-bottom: 24px; }
    #faq .qa dl {
      padding: 10px 30px; }
    #faq .qa dt {
      line-height: 1;
      font-weight: bold;
      font-size: 51px;
      width: 63px; }
    #faq .qa dd {
      width: calc(100% - 63px); }
  #faq .ask {
    background: #fff;
    border-radius: 36px;
    position: relative;
    margin-bottom: 11px; }
    #faq .ask dt {
      color: #AF9873; }
    #faq .ask dd {
      font-size: 24px;
      padding-top: 6px;
      line-height: 1.6; }
    #faq .ask .open {
      position: absolute;
      top: 50%;
      right: 16px;
      transform: translateY(-50%);
      background: url("../img/child/faq_off.svg") no-repeat center/100% auto;
      width: 40px;
      height: 40px;
      cursor: pointer;
      transition: ease 0.3s; }
      #faq .ask .open:hover {
        opacity: 0.8; }
      #faq .ask .open.active {
        background: url("../img/child/faq_on.svg") no-repeat center/100% auto; }
  #faq .answer {
    background: #F4F1D7;
    border-radius: 20px; }
    #faq .answer dl {
      padding: 40px 30px; }
      #faq .answer dl dt {
        color: #E5BBB9; }
      #faq .answer dl dd {
        font-size: 20px;
        line-height: 1.6; }
  @media screen and (max-width: 767px) {
    #faq {
      margin-bottom: 4vw; }
      #faq .ttl {
        margin-bottom: 15vw; }
      #faq .tab-link {
        margin-bottom: 7vw; }
        #faq .tab-link li {
          width: calc(50% - 4px);
          font-size: 5.3vw;
          line-height: 3.6; }
          #faq .tab-link li:before {
            width: 21px;
            height: 18px; }
      #faq .qa {
        margin-bottom: 10px; }
        #faq .qa dl {
          padding: 25px 15px; }
        #faq .qa dt {
          font-size: 30px;
          width: 36px; }
        #faq .qa dd {
          width: calc(100% - 36px); }
      #faq .ask {
        border-radius: 52px;
        margin-bottom: 8px; }
        #faq .ask dl {
          align-items: center; }
        #faq .ask dd {
          font-size: 20px;
          padding-top: 6px;
          line-height: 1.2; }
        #faq .ask .open {
          width: 27px;
          height: 27px; }
      #faq .answer dl {
        padding: 25px 20px;
        display: block; }
        #faq .answer dl dd {
          font-size: 16px;
          line-height: 1.5;
          margin-top: 5px;
          width: 100%; } }

.contact {
  font-family: "Zen Old Mincho", serif; }
  .contact .contact-ttls {
    font-weight: 400; }
  @media screen and (max-width: 767px) {
    .contact .txt {
      line-height: 30px; } }
