@charset "UTF-8";
/* --------------------------------

  CSS Reset

-------------------------------- */
html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-style: normal;
}

article, aside, footer, header, nav, section, main, figure, figcaption {
  display: block;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*:before,
*:after,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

a {
  color: #3C5CAF;
  border: none;
  text-decoration: none;
}

a:hover {
  color: #3C5CAF;
  text-decoration: underline;
}

ol, ul {
  list-style: none;
}

img, video, iframe {
  max-width: 100%;
}

img {
  border: none;
  vertical-align: top;
}

b, strong {
  font-weight: 500;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
blockquote::before,
blockquote::after,
q:before,
q:after,
q::before,
q::after {
  content: "";
  content: none;
}

hr {
  display: block;
  height: 0;
  margin: 0 0 1em;
  padding: 0;
  font-size: 1em;
  line-height: 0;
  -webkit-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

a, area, button, [role="button"], input:not([type=range]), label, select, summary, textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

button {
  border: none;
  background: none;
}

button:hover, button:active, button:focus {
  outline: none;
}

button:active, button:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

/* --------------------------------

  共通スタイル

-------------------------------- */
/* 共通見出し（h2相当）*/
.main-heading,
.news-heading {
  position: relative;
  max-width: 1100px;
  margin: 0 auto 2rem;
  padding-bottom: 2rem;
  font-weight: 700;
  line-height: 1.3;
  font-size: 1.4em;
  text-align: center;
  border-bottom: 2px solid #3C5CAF;
}

@media screen and (min-width: 768px), print {
  .main-heading,
  .news-heading {
    margin-bottom: 4rem;
    padding-bottom: 2rem;
    font-size: 1.7em;
  }
}

#page-news .main-heading, #page-news
.news-heading {
  border-bottom: 2px solid #EB623C;
}

#page-column .main-heading, #page-column
.news-heading {
  border-bottom: 2px solid #B973FF;
}

.main-secondary-heading {
  display: block;
  line-height: 1.2;
  position: relative;
  padding: .45em 0 .45em 1.9em;
  font-weight: 600;
  font-size: 3.2rem;
  letter-spacing: .05em;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 1099.98px) {
  .main-secondary-heading {
    font-size: 2.2rem;
    letter-spacing: inherit;
    padding: .45em 0 .45em 1.7em;
  }
}

@media screen and (max-width: 639.98px) {
  .main-secondary-heading {
    font-size: 2rem;
    padding: .4em 0 .4em 1.95em;
  }
}

@media screen and (max-width: 479.98px) {
  .main-secondary-heading {
    font-size: 1.8rem;
  }
}

.main-secondary-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 51px;
  height: 51px;
}

@media screen and (max-width: 1099.98px) {
  .main-secondary-heading::before {
    width: 31px;
    height: 31px;
  }
}

@media screen and (max-width: 479.98px) {
  .main-secondary-heading::before {
    width: 28px;
    height: 28px;
  }
}

.main-secondary-heading._greeting {
  color: #EA609E;
  border-bottom: 4px solid #EA609E;
}

.main-secondary-heading._greeting::before {
  background: url("../img/pages/greeting/teeth-icon_pink.png") no-repeat center/cover;
}

.main-secondary-heading._policy {
  color: #F2A41A;
  border-bottom: 4px solid #F2A41A;
}

.main-secondary-heading._policy::before {
  background: url("../img/pages/policy/teeth-icon_orenge.png") no-repeat center/cover;
}

.main-secondary-heading._access {
  color: #0067B7;
  border-bottom: 4px solid #0067B7;
}

.main-secondary-heading._access::before {
  background: url("../img/pages/access/teeth-icon_blue.png") no-repeat center/cover;
}

.main-secondary-heading._photo {
  color: #009944;
  border-bottom: 4px solid #009944;
}

.main-secondary-heading._photo::before {
  background: url("../img/pages/photo/teeth-icon_green.png") no-repeat center/cover;
}

.main-secondary-heading._voice {
  color: #FF6767;
  border-bottom: 4px solid #FF6767;
}

.main-secondary-heading._voice::before {
  background: url("../img/pages/voice/teeth-icon_voice.png") no-repeat center/cover;
}

/* 共通見出し（h3相当）*/
.main-subheading {
  position: relative;
  font-size: 2.8rem;
  line-height: 1.2;
  padding: .25em 0 .25em 2.6em;
  margin-bottom: .7em;
}

@media screen and (max-width: 767.98px) {
  .main-subheading {
    font-size: 2.1rem;
    padding: .25em 0 .25em 2.4em;
  }
}

@media screen and (max-width: 479.98px) {
  .main-subheading {
    font-size: 2rem;
  }
}

.main-subheading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 66px;
  height: 44px;
}

@media screen and (max-width: 767.98px) {
  .main-subheading::before {
    width: 46px;
    height: 30px;
  }
}

/* 共通リスト */
.main ul > li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.5;
  list-style-type: none;
}

.main ul > li::before {
  content: "";
  display: block;
  position: absolute;
  top: .5em;
  left: .5em;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: #ccc;
}

.main ul.list-style-none > li {
  padding-left: 0;
}

.main ul.list-style-none > li::before {
  display: none;
}

.main ul.list-style-note > li {
  padding-left: 1em;
}

.main ul.list-style-note > li::before {
  content: "※";
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
}

.main ul.list-style-disc > li {
  padding-left: 1.25em;
}

.main ul.list-style-disc > li::before {
  content: "●";
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
}

.main ul.list-style-square > li {
  padding-left: 1em;
}

.main ul.list-style-square > li::before {
  content: "■";
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
}

.main ul.list-style-gutter li:not(:last-child) {
  margin-bottom: .3em;
}

.main ol > li {
  margin-left: 1.5em;
  line-height: 1.5;
  list-style-type: decimal;
}

.main ol.list-style-none > li {
  margin-left: 0;
  list-style-type: none;
}

.main ol.list-style-gutter li:not(:last-child) {
  margin-bottom: .3em;
}

/* 注釈（※）用インデント */
.note {
  margin-left: 1em;
  text-indent: -1em;
}

/* 注意文 */
.attention {
  font-weight: 500;
  color: #e83228;
}

/* 共通リンクボタン */
.more {
  margin-top: 1.5em;
  text-align: center;
}

.link-button {
  position: relative;
  display: inline-block;
  color: #fff;
  line-height: 1.2;
  background-color: #B20000;
  padding: .75em 2.3em .7em 1em;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: .028em;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}

@media screen and (max-width: 639.98px) {
  .link-button {
    font-size: 1.6rem;
  }
}

.link-button::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 17px;
  height: 17px;
  background-color: #fff;
  border-radius: 50%;
}

.link-button::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-54%);
          transform: translateY(-54%);
  font-size: 1.7rem;
  color: #B20000;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}

@media screen and (max-width: 639.98px) {
  .link-button::after {
    font-size: 1.6rem;
  }
}

/* 共通リンクボタン（ホバー）*/
a.link-button:hover {
  color: #fff;
  text-decoration: none;
  background-color: #EB623C;
}

a.link-button:hover::after {
  color: #EB623C;
}

/* 電話発信用リンク */
a.tel-link-wht {
  color: #fff;
}

a.tel-link-wht:hover {
  color: #fff;
}

a.tel-link-blk {
  color: #333333;
}

a.tel-link-blk:hover {
  color: #3C5CAF;
}

/* コンテンツ画面中央寄せ */
.inner {
  position: relative;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.inner::after {
  content: "";
  display: table;
  clear: both;
}

/* アンカー位置調整 */
.anchor-point {
  display: block;
}

.anchor-point::before {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  margin-top: -101px;
  margin-bottom: 100px;
  background: transparent;
  z-index: -100;
}

/* 共通テーブル */
.table-style {
  display: block;
  line-height: 1.5;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

@media screen and (max-width: 639.98px) {
  .table-style {
    border: none;
  }
}

.table-style thead {
  display: block;
}

.table-style tbody {
  display: block;
}

.table-style tr {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 639.98px) {
  .table-style tr {
    display: block;
    border: 1px solid #ddd;
  }
  .table-style tr:not(:last-child) {
    margin-bottom: 5px;
  }
}

.table-style th {
  width: 15em;
  padding: .75em 1em;
  background-color: #ddd;
  border-right: 1px solid #ddd;
}

@media screen and (max-width: 639.98px) {
  .table-style th {
    display: block;
    width: auto;
    padding: .5em;
    font-size: 1.1em;
    border-right: none;
  }
}

.table-style td {
  padding: .75em 1em;
  border-right: 1px solid #ddd;
}

@media screen and (max-width: 639.98px) {
  .table-style td {
    display: block;
    padding: .5em .5em .5em .7em;
    font-size: .95em;
    border-right: none;
  }
}

.table-style .tel-link {
  color: #333333;
}

.table-style a.tel-link {
  color: #333333;
}

.table-style a.tel-link:hover {
  color: #3C5CAF;
}

/* --------------------------------

  html, body

-------------------------------- */
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media screen and (min-width: 1100px), print {
  html {
    overflow-y: scroll;
  }
}

body {
  min-width: 320px;
  color: #333333;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: left;
  background-color: #fff;
}

html.nav-open,
html.contact-open {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: hidden;
  overflow-x: hidden;
}

/* --------------------------------

  wrapper

-------------------------------- */
.wrapper {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 1100px), print {
  .wrapper {
    overflow: visible;
  }
}

/* --------------------------------

  header

-------------------------------- */
.header {
  position: relative;
}

@media screen and (min-width: 1100px), print {
  .header .inner {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1010;
    max-width: none;
  }
}

@media screen and (max-width: 1099.98px) {
  .header .inner {
    position: static;
    max-width: none;
    z-index: auto;
  }
}

@media screen and (min-width: 1100px), print {
  #top .header .inner {
    top: 579px;
  }
}

.header.__secondary {
  background: url("../img/base/page-title-bg.jpg") no-repeat center/cover;
}

@media screen and (min-width: 1100px), print {
  .header.__secondary {
    padding-top: 300px;
  }
}

@media screen and (max-width: 1099.98px) {
  .header.__secondary {
    padding-top: 280px;
    margin-top: 60px;
  }
}

@media screen and (max-width: 639.98px) {
  .header.__secondary {
    padding-top: 180px;
  }
}

@media screen and (max-width: 479.98px) {
  .header.__secondary {
    padding-top: 150px;
  }
}

@media screen and (max-width: 359.98px) {
  .header.__secondary {
    padding-top: 130px;
  }
}

@media screen and (min-width: 1100px), print {
  .header.__secondary .inner {
    bottom: 0;
  }
}

@media screen and (min-width: 1100px), print {
  .header.__secondary .header-logo {
    bottom: 0;
    top: auto;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

.header-container {
  position: relative;
  background-color: rgba(216, 223, 225, 0.9);
  width: 100%;
  padding: 1em 1em .7em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top .header-container {
  background-color: #D8DFE1;
}

@media screen and (max-width: 1439.98px) {
  .header-container {
    padding: 1em 1em .7em 1em;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-container {
    padding: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.header-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -55%);
          transform: translate(-50%, -55%);
  margin-left: -1em;
}

@media screen and (max-width: 1099.98px) {
  .header-logo {
    margin-left: 0;
    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;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    font-size: 100%;
    z-index: 900;
    background: white;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}

.header-logo .site-logo {
  position: relative;
  max-width: 480px;
}

@media screen and (max-width: 1439.98px) {
  .header-logo .site-logo {
    max-width: 380px;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo .site-logo {
    display: none;
  }
}

.header-logo .site-logo.__fixed {
  display: none;
}

.header-logo .site-logo.__sp {
  display: none;
  position: relative;
}

@media screen and (max-width: 1099.98px) {
  .header-logo .site-logo.__sp {
    max-width: 125px;
    display: block;
  }
}

.header-logo .site-logo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-45%) translateX(-88%);
          transform: translateY(-45%) translateX(-88%);
  display: block;
  width: 270px;
  height: 175px;
  background: url("../img/base/bear-icon.png") no-repeat center/cover;
}

@media screen and (max-width: 1439.98px) {
  .header-logo .site-logo::before {
    width: 200px;
    height: 130px;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo .site-logo::before {
    display: none;
  }
}

.header-logo .site-logo::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-25%) translateX(70%);
          transform: translateY(-25%) translateX(70%);
  display: block;
  width: 190px;
  height: 121px;
  background: url("../img/base/myobrace-logo.png") no-repeat center/cover;
}

@media screen and (max-width: 1439.98px) {
  .header-logo .site-logo::after {
    width: 150px;
    height: 95px;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo .site-logo::after {
    display: none;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-contact {
    display: none;
  }
}

.header-add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

.header-add .br {
  display: block;
  background: transparent;
  padding: 0;
  margin: 0;
}

.header-add span {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .086em;
  background-color: #EA609E;
  margin-right: .45em;
  padding: .43em .7em;
  font-size: 1.8rem;
}

@media screen and (max-width: 1439.98px) {
  .header-add span {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 1279.98px) {
  .header-add span {
    font-size: 1.4rem;
    padding: .35em .7em;
  }
}

.header-add p {
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
}

@media screen and (max-width: 1439.98px) {
  .header-add p {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1279.98px) {
  .header-add p {
    font-size: 1.2rem;
  }
}

.header-tel {
  margin-top: .6em;
}

@media screen and (max-width: 1439.98px) {
  .header-tel {
    margin-top: .3em;
  }
}

@media screen and (max-width: 1279.98px) {
  .header-tel {
    margin-top: .2em;
  }
}

.header-tel .tel-link {
  font-size: 4.4rem;
  line-height: 1.2;
}

@media screen and (max-width: 1439.98px) {
  .header-tel .tel-link {
    font-size: 3.9rem;
  }
}

@media screen and (max-width: 1279.98px) {
  .header-tel .tel-link {
    font-size: 3.5rem;
  }
}

.header-tel .tel-link span {
  font-weight: 900;
  letter-spacing: -.043em;
  color: #000;
}

/* スクロール時固定用 */
@media screen and (max-width: 1099.98px) {
  .header.fixed .header-logo.hide {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

@media screen and (min-width: 1100px) {
  .header.fixed .header-contact {
    display: block;
    position: fixed;
    top: -55px;
    -webkit-transform: translateY(60px) translateX(-50%);
            transform: translateY(60px) translateX(-50%);
    left: 50%;
    bottom: auto;
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    margin-left: 12em;
  }
  .header.fixed .header-contact .header-add span {
    font-size: 1.2rem;
    padding: .23em .4em .2em .5em;
  }
  .header.fixed .header-contact .header-add p {
    font-size: 1.15rem;
    letter-spacing: -.05em;
  }
  .header.fixed .header-contact .header-tel {
    margin-top: -.1em;
  }
  .header.fixed .header-contact .header-tel .tel-link {
    font-size: 2rem;
    -webkit-transform: rotateZ(0.03deg);
            transform: rotateZ(0.03deg);
  }
  .header.fixed .header-contact .header-tel .tel-link span {
    letter-spacing: .19em;
    -webkit-transform: rotateZ(0.03deg);
            transform: rotateZ(0.03deg);
  }
  .header.fixed .header-contact .header-add .br {
    display: block;
    padding: 0;
  }
  .header.fixed .header-logo {
    position: fixed;
    top: -47px;
    -webkit-transform: translateY(60px) translateX(-50%);
            transform: translateY(60px) translateX(-50%);
    left: 50%;
    bottom: auto;
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    margin-left: -24em;
  }
  #top .header.fixed .header-logo {
    position: fixed;
    top: -47px;
  }
  .header.fixed .header-logo .site-logo {
    display: none;
  }
  .header.fixed .header-logo .site-logo.__fixed {
    display: block;
    max-width: 280px;
  }
  .header.fixed .header-logo .site-logo.__fixed a {
    display: inline-block;
    height: 31px;
  }
  .header.fixed .header-logo .site-logo.__fixed::before {
    display: none;
  }
  .header.fixed .header-logo .site-logo.__fixed::after {
    display: none;
  }
  .header.fixed .header-container {
    padding: .7em 1em;
  }
}

.contact-link {
  display: inline-block;
  width: 100%;
  background-color: rgba(255, 76, 76, 0.85);
  text-align: center;
  -webkit-transition: background-color .3s ease;
  transition: background-color .3s ease;
}

.contact-link:hover {
  text-decoration: none;
  background-color: #EA609E;
}

@media screen and (min-width: 1100px), print {
  .contact-link {
    max-width: 77px;
    padding: 1em;
  }
}

@media screen and (max-width: 1099.98px) {
  .contact-link {
    height: 70px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 639.98px) {
  .contact-link {
    height: 60px;
  }
}

.contact-link span {
  line-height: 1.15;
  position: relative;
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: .048em;
}

@media screen and (min-width: 1100px), print {
  .contact-link span {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
  }
}

@media screen and (max-width: 1099.98px) {
  .contact-link span {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 639.98px) {
  .contact-link span {
    font-size: 2.4rem;
  }
}

.contact-link span::before {
  content: "";
  display: block;
  width: 58px;
  height: 58px;
  background: url("../img/base/contact-icon.png") no-repeat center/cover;
}

@media screen and (min-width: 1100px), print {
  .contact-link span {
    padding-top: 2.15em;
  }
  .contact-link span::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@media screen and (max-width: 1099.98px) {
  .contact-link span {
    padding-left: 2.25em;
  }
  .contact-link span::before {
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    width: 48px;
    height: 48px;
  }
}

@media screen and (max-width: 639.98px) {
  .contact-link span {
    padding-left: 2em;
  }
  .contact-link span::before {
    width: 38px;
    height: 38px;
  }
}

.contact-link-more {
  position: fixed;
  display: inline-block;
  width: 100%;
  z-index: 2000;
}

@media screen and (min-width: 1100px), print {
  .contact-link-more {
    right: 0;
    top: 20%;
    max-width: 77px;
  }
}

@media screen and (max-width: 1099.98px) {
  .contact-link-more {
    bottom: 0;
    left: 0;
    height: 70px;
  }
}

@media screen and (max-width: 639.98px) {
  .contact-link-more {
    height: 60px;
  }
}

/* --------------------------------

  nav

-------------------------------- */
.nav {
  background-color: #F5F4F0;
  display: block;
  position: fixed;
  top: 0;
  left: -280px;
  width: 280px;
  height: 100%;
  z-index: 1000;
  opacity: 0;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (min-width: 1100px), print {
  .nav {
    position: absolute;
    top: 300px;
    left: auto;
    width: 100%;
    height: auto;
    margin: 0;
    opacity: 1;
    -webkit-transition: none;
    transition: none;
    padding: 1.8em 1em 3.8em 1em;
  }
}

@media screen and (min-width: 1280px), print {
  .nav {
    top: 300px;
    padding: 1.8em .5em 3.8em .5em;
  }
}

@media screen and (min-width: 1440px), print {
  .nav {
    top: 300px;
  }
}

@media screen and (max-width: 1099.98px) {
  .nav {
    -webkit-transition-property: opacity, left;
    transition-property: opacity, left;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
  }
}

@media screen and (min-width: 1100px), print {
  #top .nav {
    top: 679px;
    padding: 1em .5em 2.5em .5em;
  }
}

@media screen and (min-width: 1280px), print {
  #top .nav {
    top: 689px;
    padding: 1em 1em 2.5em 1em;
  }
}

@media screen and (min-width: 1440px), print {
  #top .nav {
    top: 704px;
  }
}

.nav-open .nav {
  left: 0;
  opacity: 1;
}

@media screen and (min-width: 1100px), print {
  .nav-open .nav {
    left: auto;
  }
}

.nav .inner {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  z-index: 10;
}

@media screen and (min-width: 1100px), print {
  .nav .inner {
    background: transparent;
    max-width: 1205px;
  }
}

.nav .nav-container {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 1100px), print {
  .nav .nav-container {
    position: static;
    overflow: visible;
  }
}

@media screen and (max-width: 1099.98px) {
  .nav .nav-container {
    background-color: #F5F4F0;
  }
}

/* ニュースナビ */
.news-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (min-width: 1100px), print {
  .news-nav {
    margin-bottom: 1.3em;
  }
}

@media screen and (max-width: 1099.98px) {
  .news-nav {
    margin-top: 1em;
    padding-right: .5em;
  }
}

.news-nav-item {
  max-width: 117px;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 1099.98px) {
  .news-nav-item {
    max-width: 95px;
  }
}

.news-nav-item:first-child {
  margin-right: .5em;
}

@media screen and (max-width: 1099.98px) {
  .news-nav-item:first-child {
    margin-right: .3em;
  }
}

.news-nav-item.nav-news .news-nav-link {
  color: #EB623C;
  border: 2px solid #EB623C;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

.news-nav-item.nav-news .news-nav-link:hover {
  color: rgba(235, 98, 60, 0.8);
  border: 2px solid rgba(235, 98, 60, 0.8);
}

.news-nav-item.nav-news .news-nav-link span {
  padding-left: 1.65em;
}

.news-nav-item.nav-news .news-nav-link span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 25px;
  height: 25px;
  background: url("../img/base/news-icon.png") no-repeat center/cover;
}

@media screen and (max-width: 1279.98px) {
  .news-nav-item.nav-news .news-nav-link span::before {
    width: 22px;
    height: 22px;
  }
}

@media screen and (max-width: 1099.98px) {
  .news-nav-item.nav-news .news-nav-link span::before {
    width: 18px;
    height: 18px;
  }
}

.news-nav-item.nav-column .news-nav-link {
  color: #fff;
  border: 2px solid #B973FF;
  background-color: #B973FF;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

.news-nav-item.nav-column .news-nav-link:hover {
  background-color: rgba(185, 115, 255, 0.8);
  border: 2px solid rgba(185, 115, 255, 0.8);
}

.news-nav-item.nav-column .news-nav-link span {
  padding-left: 1.75em;
}

.news-nav-item.nav-column .news-nav-link span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 25px;
  height: 25px;
  background: url("../img/base/column-icon.png") no-repeat center/cover;
}

@media screen and (max-width: 1279.98px) {
  .news-nav-item.nav-column .news-nav-link span::before {
    width: 22px;
    height: 22px;
  }
}

@media screen and (max-width: 1099.98px) {
  .news-nav-item.nav-column .news-nav-link span::before {
    width: 18px;
    height: 18px;
  }
}

.news-nav-link {
  display: inline-block;
  border-radius: 10em;
  max-width: 117px;
  width: 100%;
  padding: .2em .5em;
}

@media screen and (max-width: 1099.98px) {
  .news-nav-link {
    padding: .1em .3em .2em .3em;
    max-width: 95px;
  }
}

.news-nav-link:hover {
  text-decoration: none;
}

.news-nav-link span {
  font-size: 1.7rem;
  position: relative;
  font-weight: 700;
}

@media screen and (max-width: 1279.98px) {
  .news-nav-link span {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .news-nav-link span {
    font-size: 1.4rem;
  }
}

/* メインナビ */
.main-nav {
  padding: 35px 10px 20px;
}

@media screen and (max-width: 1099.98px) {
  .main-nav {
    opacity: 0;
  }
  .nav-open .main-nav {
    opacity: 1;
  }
}

@media screen and (min-width: 1100px), print {
  .main-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
  }
}

.main-nav .nav-link {
  display: inline-block;
  position: relative;
  text-align: center;
  padding-left: 3.4em;
  cursor: pointer;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-link {
    padding-left: 3.2em;
  }
}

.main-nav .nav-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 43px;
  height: 43px;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-link::before {
    width: 40px;
    height: 40px;
  }
}

.main-nav .nav-link:hover {
  text-decoration: none;
}

.main-nav .nav-link span {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 700;
  padding-bottom: .85em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1279.98px) {
  .main-nav .nav-link span {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-link span {
    font-size: 1.8rem;
  }
}

.main-nav .nav-link span::before {
  content: attr(data-subtitle);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 1.5rem;
  line-height: 1.2;
  font-family: "Noto Sans JP", sans-serif;
  color: #A3A3A3;
  font-weight: 300;
  -webkit-transition: color .2s ease;
  transition: color .2s ease;
}

@media screen and (max-width: 1279.98px) {
  .main-nav .nav-link span::before {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-link span::before {
    font-size: 1.4rem;
  }
}

.main-nav .nav-home .nav-link {
  color: #EB623C;
}

.main-nav .nav-home .nav-link:hover {
  color: rgba(235, 98, 60, 0.8);
}

.main-nav .nav-home .nav-link:hover span::before {
  color: #EB623C;
}

.main-nav .nav-home .nav-link::before {
  background: url("../img/base/home-icon.png") no-repeat center/cover;
}

.main-nav .nav-greeting.main-nav-active .nav-link span::before {
  color: #EA609E;
}

.main-nav .nav-greeting .nav-link {
  color: #EA609E;
}

.main-nav .nav-greeting .nav-link:hover {
  color: rgba(234, 96, 158, 0.8);
}

.main-nav .nav-greeting .nav-link:hover span::before {
  color: #EA609E;
}

.main-nav .nav-greeting .nav-link::before {
  background: url("../img/base/greeting-icon.png") no-repeat center/cover;
}

.main-nav .nav-greeting .nav-link.active + .sub-nav {
  opacity: 1;
  pointer-events: auto;
  bottom: 0;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-greeting .nav-link.active + .sub-nav {
    height: auto;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-greeting .nav-link.active + .sub-nav .sub-nav-container {
    margin-top: 2em;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-greeting .nav-link.active + .sub-nav::after {
    top: 65px;
  }
}

.main-nav .nav-service.main-nav-active .nav-link span::before {
  color: #F39800;
}

.main-nav .nav-service .nav-link {
  color: #F39800;
}

.main-nav .nav-service .nav-link:hover {
  color: rgba(243, 152, 0, 0.8);
}

.main-nav .nav-service .nav-link:hover span::before {
  color: #F39800;
}

.main-nav .nav-service .nav-link::before {
  background: url("../img/base/service-icon.png") no-repeat center/cover;
}

.main-nav .nav-service .nav-link.active + .sub-nav {
  opacity: 1;
  pointer-events: auto;
  bottom: 0;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-service .nav-link.active + .sub-nav {
    height: auto;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-service .nav-link.active + .sub-nav .sub-nav-container {
    margin-top: 2em;
  }
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-service .nav-link.active + .sub-nav::after {
    top: 65px;
  }
}

.main-nav .nav-photo.main-nav-active .nav-link span::before {
  color: #009944;
}

.main-nav .nav-photo .nav-link {
  color: #009944;
}

.main-nav .nav-photo .nav-link:hover {
  color: rgba(0, 153, 68, 0.8);
}

.main-nav .nav-photo .nav-link:hover span::before {
  color: #009944;
}

.main-nav .nav-photo .nav-link::before {
  background: url("../img/base/photo-icon.png") no-repeat center/cover;
}

.main-nav .nav-voice.main-nav-active .nav-link span::before {
  color: #FF4C4C;
}

.main-nav .nav-voice .nav-link {
  color: #FF4C4C;
}

.main-nav .nav-voice .nav-link:hover {
  color: rgba(255, 76, 76, 0.8);
}

.main-nav .nav-voice .nav-link:hover span::before {
  color: #FF4C4C;
}

.main-nav .nav-voice .nav-link::before {
  background: url("../img/base/voice-icon.png") no-repeat center/cover;
}

.main-nav .nav-orthodontics.main-nav-active .nav-link span::before {
  color: #661A00;
}

.main-nav .nav-orthodontics .nav-link {
  color: #661A00;
}

.main-nav .nav-orthodontics .nav-link:hover {
  color: rgba(102, 26, 0, 0.8);
}

.main-nav .nav-orthodontics .nav-link:hover span::before {
  color: #661A00;
}

.main-nav .nav-orthodontics .nav-link::before {
  background: url("../img/base/orthodontics-icon.png") no-repeat center/cover;
}

.main-nav .nav-access.main-nav-active .nav-link span::before {
  color: #0067B7;
}

.main-nav .nav-access .nav-link {
  color: #0067B7;
}

.main-nav .nav-access .nav-link:hover {
  color: rgba(0, 103, 183, 0.8);
}

.main-nav .nav-access .nav-link:hover span::before {
  color: #0067B7;
}

.main-nav .nav-access .nav-link::before {
  background: url("../img/base/access-icon.png") no-repeat center/cover;
}

.main-nav .nav-item {
  list-style: none;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-item {
    position: relative;
    padding: 1em .5em;
  }
  .main-nav .nav-item:not(:last-child) {
    border-bottom: 1px dotted #494949;
  }
}

@media screen and (min-width: 1100px), print {
  .main-nav .nav-item {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: .8em .8em;
    position: relative;
  }
  .main-nav .nav-item:not(:last-child) {
    border-right: 1px dotted #494949;
  }
}

@media screen and (min-width: 1280px), print {
  .main-nav .nav-item {
    padding: .8em 1em;
  }
}

.main-nav .nav-orthodontics .nav-link {
  padding-left: 4.5em;
}

@media screen and (min-width: 1100px), print {
  .main-nav .nav-orthodontics .nav-link {
    padding-left: 4.8em;
  }
}

@media screen and (min-width: 1100px), print {
  .main-nav .nav-orthodontics {
    padding: .8em 1.9em .8em .8em;
  }
}

/* ドロップダウンナビ */
.sub-nav {
  opacity: 0;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  pointer-events: none;
}

@media screen and (min-width: 1100px), print {
  .sub-nav {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(100%);
            transform: translateX(-50%) translateY(100%);
    width: 95%;
    padding-top: 1.3em;
    z-index: 1010;
    pointer-events: none;
  }
}

@media screen and (max-width: 1099.98px) {
  .sub-nav {
    height: 0;
    -webkit-transition: initial;
    transition: initial;
  }
}

.sub-nav::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

.sub-nav.greeting-subnav::after {
  border-top: 10px solid #EA609E;
}

.sub-nav.greeting-subnav .sub-nav-container {
  background-color: #EA609E;
}

.sub-nav.service-subnav::after {
  border-top: 10px solid #F39800;
}

.sub-nav.service-subnav .sub-nav-container {
  background-color: #F39800;
}

.sub-nav-container {
  padding: .3em 1em;
}

.sub-nav-item:not(:last-child) .sub-nav-link {
  border-bottom: 1px dotted #fff;
}

.sub-nav-link {
  display: block;
  color: #fff;
  padding: .8em 0;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

.sub-nav-link:hover {
  text-decoration: none;
}

.sub-nav-link:hover .sub-nav-title::before {
  border-left-color: #3C5CAF;
}

.sub-nav-title {
  display: inline-block;
  position: relative;
  padding-left: 1.4em;
}

.sub-nav-title::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 1px;
  border-left: 10px solid #fff;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.sub-nav .br {
  display: none;
}

@media screen and (min-width: 1100px), print {
  .sub-nav .br {
    display: block;
  }
}

/* ドロップダウンナビボタン */
/* ドロップダウンナビボタン（ hover ）*/
/* ドロップダウンナビボタン（ active ）*/
/* ナビゲーション開閉ボタン */
.nav-button {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  line-height: 1;
  background: transparent;
  cursor: pointer;
  z-index: 910;
}

@media screen and (min-width: 1100px), print {
  .nav-button {
    display: none;
  }
}

.nav-open .nav-button {
  display: none;
}

.nav-button-icon {
  display: block;
  position: absolute;
  top: -14px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 18px;
  margin: auto;
  border-top: 2px solid #EA609E;
  border-bottom: 2px solid #EA609E;
}

.nav-button-icon::before, .nav-button-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  border-top: 2px solid #EA609E;
}

.nav-button-icon::after {
  display: none;
}

.nav-button::after {
  content: "MENU";
  display: block;
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  font-weight: 400;
  font-size: 1rem;
  color: #EA609E;
  text-align: center;
  letter-spacing: .1rem;
}

/* ナビゲーション開閉ボタン */
.nav-close-button {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  line-height: 1;
  background-color: transparent;
  cursor: pointer;
  z-index: 10;
}

@media screen and (min-width: 1100px), print {
  .nav-close-button {
    display: none;
  }
}

.nav-close-button .nav-button-icon {
  border: none;
}

.nav-close-button .nav-button-icon::before, .nav-close-button .nav-button-icon::after {
  border-color: #EA609E;
}

.nav-close-button .nav-button-icon::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nav-close-button .nav-button-icon::after {
  display: block;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.nav-close-button::after {
  content: "CLOSE";
  display: block;
  position: absolute;
  bottom: 6px;
  left: 0;
  width: 100%;
  color: #EA609E;
  font-size: 1.1rem;
  font-weight: 700;
  text-align: center;
}

/* ナビゲーション背景 */
@media screen and (min-width: 1100px), print {
  .nav-screen {
    display: none;
  }
}

.nav-screen-overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  margin: auto;
  background-color: #000;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .2s;
  transition: opacity .2s;
}

.nav-open .nav-screen-overlay {
  pointer-events: auto;
  opacity: .4;
  cursor: pointer;
}

/* スクロール時固定用 */
@media screen and (min-width: 1100px) {
  .nav.fixed {
    position: fixed;
    top: -61px;
    background-color: #fff;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
    padding: .8em 1em .5em 1em;
  }
  #top .nav.fixed {
    top: -61px;
    padding: .8em 1em .5em 1em;
  }
  .nav.fixed .inner {
    max-width: 1100px;
  }
  .nav.fixed .news-nav {
    margin-bottom: .8em;
    margin-right: 1.3em;
  }
  .nav.fixed .news-nav-link {
    max-width: 105px;
  }
  .nav.fixed .news-nav-item.nav-column .news-nav-link span::before {
    width: 20px;
    height: 20px;
  }
  .nav.fixed .news-nav-item.nav-news .news-nav-link span::before {
    width: 20px;
    height: 20px;
    top: 46%;
  }
  .nav.fixed .news-nav-item {
    max-width: 105px;
  }
  .nav.fixed .news-nav-link span {
    font-size: 1.5rem;
  }
  .nav.fixed .sub-nav-link {
    text-align: left;
  }
  .nav.fixed .sub-nav-title {
    font-size: 1.5rem;
  }
  .nav.fixed .sub-nav {
    padding-top: 1em;
  }
  .nav.fixed .sub-nav.greeting-subnav::after, .nav.fixed .sub-nav.service-subnav::after {
    border-width: 9px 5px 0 5px;
  }
  .nav.fixed .main-nav .nav-item {
    padding: .3em .8em;
    text-align: center;
  }
  .nav.fixed .main-nav .nav-link span {
    font-size: 1.8rem;
  }
  .nav.fixed .main-nav .nav-link span::before {
    font-size: 1.4rem;
  }
  .nav.fixed .main-nav .nav-link {
    padding-left: 3em;
  }
  .nav.fixed .main-nav .nav-link::before {
    width: 40px;
    height: 40px;
  }
  /* .nav.fixed .main-nav .nav-orthodontics .nav-link {
    padding-left: 4.6em;
  }
  .nav.fixed .main-nav .nav-orthodontics {
    padding: .3em 1.8em .3em .35em;
  }
  */
}

/* --------------------------------

  main

-------------------------------- */
.main {
  display: block;
  position: relative;
  padding: 0 1em;
  overflow: hidden;
  z-index: 100;
  background: #EFF0B9;
}

.main::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 15px;
  background: url("../img/base/line.png") no-repeat center/cover;
}

@media screen and (max-width: 479.98px) {
  .main::before {
    background-size: contain;
    height: 4px;
  }
}

@media screen and (max-width: 359.98px) {
  .main::before {
    height: 3px;
  }
}

#top .main {
  background: #fff;
  padding: 0 1em;
}

#top .main::before {
  display: none;
}

#page-contact .main {
  background: #fff;
}

#page-photo .main {
  background: #fff;
}

#page-voice .main {
  background: #fff;
}

#page-news .main {
  background: #fff;
}

#page-column .main {
  background: #fff;
}

@media screen and (min-width: 1100px), print {
  .main {
    padding: 0 2em;
    padding-top: 12.8em;
    overflow: hidden;
  }
  #top .main {
    padding: 0 2em;
    padding-top: 16.9em;
  }
}

@media screen and (min-width: 1280px), print {
  .main {
    padding-top: 12.8em;
  }
  #top .main {
    padding-top: 17.9em;
  }
}

@media screen and (min-width: 1440px), print {
  .main {
    padding-top: 13em;
  }
  #top .main {
    padding-top: 18.8em;
  }
}

.main > .inner {
  max-width: none;
}

/* --------------------------------

  footer

-------------------------------- */
.footer .inner {
  max-width: none;
}

.footer-nav {
  padding: 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 479.98px) {
  .footer-nav {
    padding: 1em .5em .5em .5em;
  }
}

.footer-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.footer-nav-list:first-child {
  margin-bottom: .5em;
}

.footer-nav-item {
  line-height: 1.2;
  margin-bottom: .5em;
}

.footer-nav-item:not(:last-child) {
  border-right: 1px solid #000;
}

.footer-nav-link {
  display: inline-block;
  padding: 0 1.3em;
  line-height: 1.2;
  font-size: 1.5rem;
  color: #000;
  text-align: center;
}

.footer-nav-link span {
  display: inline-block;
  line-height: 1.2;
  font-weight: 500;
}

.footer-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1099.98px) {
  .footer-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

#top .footer-body {
  margin-bottom: 1.8em;
}

@media screen and (max-width: 1099.98px) {
  #top .footer-body {
    margin-bottom: 1em;
  }
}

.footer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #F2F1EC;
}

#top .footer-container {
  background-color: transparent;
}

@media screen and (max-width: 1439.98px) {
  .footer-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.footer-main {
  width: 100%;
  background-color: #F2F1EC;
  padding: 2.5em 2em;
  max-width: 1100px;
  margin: 0 auto;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 639.98px) {
  .footer-main {
    padding: 1.5em 1em;
  }
}

#top .footer-main {
  width: 73%;
  max-width: none;
  margin: 0;
  padding: 4em 2.5em 2.5em 2.5em;
}

@media screen and (max-width: 1439.98px) {
  #top .footer-main {
    width: 100%;
    padding: 2.5em;
  }
}

@media screen and (max-width: 1099.98px) {
  #top .footer-main {
    padding: 1.7em 2em;
  }
}

@media screen and (max-width: 639.98px) {
  #top .footer-main {
    padding: 1.5em 1em;
  }
}

.footer-contact {
  margin-top: 2em;
}

@media screen and (max-width: 1099.98px) {
  .footer-contact {
    margin-top: 0;
    margin-left: 1em;
  }
}

@media screen and (max-width: 767.98px) {
  .footer-contact {
    margin-left: 0;
    margin-top: 1.2em;
  }
}

.footer-add {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer-add span {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .086em;
  background-color: #EA609E;
  margin-right: .45em;
  padding: .43em .7em;
  font-size: 1.8rem;
}

@media screen and (max-width: 1099.98px) {
  .footer-add span {
    font-size: 1.5rem;
  }
}

.footer-add p {
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 500;
}

@media screen and (max-width: 1099.98px) {
  .footer-add p {
    font-size: 1.4rem;
  }
}

.footer-tel {
  margin-top: .6em;
}

@media screen and (max-width: 1099.98px) {
  .footer-tel {
    margin-top: .3em;
  }
}

.footer-tel .tel-link {
  font-size: 4.4rem;
  line-height: 1.2;
}

@media screen and (max-width: 1099.98px) {
  .footer-tel .tel-link {
    font-size: 3.9rem;
  }
}

.footer-tel .tel-link span {
  font-weight: 900;
  letter-spacing: -.043em;
  color: #000;
}

.footer-logo {
  max-width: 368px;
}

@media screen and (max-width: 767.98px) {
  .footer-logo {
    max-width: 280px;
  }
}

@media screen and (max-width: 1099.98px) {
  .footer-logo-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 767.98px) {
  .footer-logo-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.footer-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.footer-images-item {
  width: calc(33.33333% - 11px);
}

@media screen and (max-width: 575.98px) {
  .footer-images-item {
    width: 100%;
  }
}

.footer-images-item:not(:last-child) {
  margin-right: 1em;
}

@media screen and (max-width: 575.98px) {
  .footer-images-item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 1em;
  }
}

.footer-images-item img {
  width: 100%;
}

.footer-map {
  width: 27%;
  position: relative;
  padding-top: 27%;
}

@media screen and (max-width: 1439.98px) {
  .footer-map {
    width: 100%;
    padding-top: 35%;
  }
}

@media screen and (max-width: 991.98px) {
  .footer-map {
    padding-top: 60%;
  }
}

@media screen and (max-width: 639.98px) {
  .footer-map {
    padding-top: 75%;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-map {
    padding-top: 90%;
  }
}

.footer-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.footer-schedule {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-left: 2.5em;
}

@media screen and (max-width: 1099.98px) {
  .footer-schedule {
    margin-left: 0;
    margin-top: 1em;
  }
}

.footer-schedule-attention {
  font-size: 1.4rem;
  line-height: 1.77;
  margin-top: 1em;
}

.footer-schedule-table {
  display: table;
  width: 100%;
  border-spacing: 0;
  table-layout: fixed;
}

.footer-schedule-table .saturday {
  width: 148px;
  background-color: #DBF0FF;
  color: #1E66C5;
}

@media screen and (max-width: 639.98px) {
  .footer-schedule-table .saturday {
    width: 100px;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-schedule-table .saturday {
    width: 73px;
  }
}

.footer-schedule-table .sundays {
  width: 80px;
  background-color: #FCE2EE;
  color: #DF5286;
}

@media screen and (max-width: 639.98px) {
  .footer-schedule-table .sundays {
    width: 70px;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-schedule-table .sundays {
    width: 53px;
  }
}

.footer-schedule-table .weekdays {
  background-color: #EAE8DF;
  color: #000;
}

.footer-schedule-table .free {
  color: #DF5286;
}

.footer-schedule-table th {
  font-size: 1.6rem;
  font-weight: 500;
  padding: .65em .5em;
  border-left: 1px solid #A2A2A2;
  border-top: 1px solid #A2A2A2;
}

@media screen and (max-width: 639.98px) {
  .footer-schedule-table th {
    padding: .5em .3em;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-schedule-table th {
    font-size: 1.2rem;
  }
}

.footer-schedule-table th:last-child {
  border-right: 1px solid #A2A2A2;
}

.footer-schedule-table td {
  background-color: #fff;
  font-weight: 500;
  padding: 1.45em .5em;
  border-left: 1px solid #A2A2A2;
  border-top: 1px solid #A2A2A2;
  border-bottom: 1px solid #A2A2A2;
}

@media screen and (max-width: 639.98px) {
  .footer-schedule-table td {
    padding: 1.2em .3em;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-schedule-table td {
    font-size: 1.2rem;
  }
}

.footer-schedule-table td:last-child {
  border-right: 1px solid #A2A2A2;
}

.footer-schedule-table td .br {
  display: none;
}

@media screen and (max-width: 767.98px) {
  .footer-schedule-table td .br {
    display: block;
  }
}

.footer-schedule-table th, .footer-schedule-table td {
  text-align: center;
  vertical-align: middle;
  line-height: 1.2;
}

.footer-foot {
  position: relative;
  padding: 2.5em 1em 1.65em 1em;
  text-align: center;
}

@media screen and (max-width: 479.98px) {
  .footer-foot {
    padding: 1.2em 1em 1em 1em;
  }
}

.footer-foot::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 15px;
  background: url("../img/base/line.png") no-repeat center/cover;
}

@media screen and (max-width: 479.98px) {
  .footer-foot::before {
    background-size: contain;
    height: 4px;
  }
}

@media screen and (max-width: 359.98px) {
  .footer-foot::before {
    height: 3px;
  }
}

.footer-foot .copy small {
  font-weight: 500;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
  font-size: 1.8rem;
}

@media screen and (max-width: 1099.98px) {
  .footer-foot .copy small {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479.98px) {
  .footer-foot .copy small {
    font-size: 1.4rem;
    -webkit-transform: rotateZ(0.03deg);
            transform: rotateZ(0.03deg);
    font-family: "Noto Sans JP", sans-serif;
  }
}

.footer-foot .copy span {
  font-weight: 500;
}

@media screen and (max-width: 479.98px) {
  .footer-foot .copy span {
    display: block;
    -webkit-transform: rotateZ(0.03deg);
            transform: rotateZ(0.03deg);
  }
}

.footer .pagetop {
  display: block;
  position: fixed;
  right: 5px;
  bottom: 80px;
  width: 45px;
  height: 45px;
  overflow: hidden;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (min-width: 768px), print {
  .footer .pagetop {
    right: 10px;
    bottom: 80px;
    width: 50px;
    height: 50px;
  }
}

@media screen and (min-width: 1100px), print {
  .footer .pagetop {
    right: 10px;
    bottom: 10px;
  }
}

@media screen and (max-width: 639.98px) {
  .footer .pagetop {
    bottom: 68px;
  }
}

.footer .pagetop.fixed {
  opacity: 1;
  pointer-events: auto;
}

.footer .pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #EA609E;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.footer .pagetop a:hover {
  text-decoration: none;
  background-color: #EB623C;
}

.footer .pagetop a::before {
  content: "";
  display: block;
  position: absolute;
  top: .5em;
  right: 0;
  bottom: 0;
  left: 0;
  width: .8em;
  height: .8em;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* --------------------------------

  スライダー

-------------------------------- */
/* メイングラフィック */
.slider {
  position: relative;
  background-color: #fff;
  overflow: hidden;
}

@media screen and (max-width: 1099.98px) {
  .slider {
    padding-top: 60px;
  }
}

.slider .loader {
  position: absolute;
  z-index: 100;
}

.slider .inner {
  width: 100%;
  height: 100%;
  max-width: none;
}

.slider-main {
  display: block;
  position: relative;
}

.slider-main::before {
  content: "";
  display: block;
  padding-top: 36.25%;
}

@media screen and (min-width: 1100px), print {
  .slider-main::before {
    padding-top: 579px;
  }
}

.slider-side {
  padding: .5em;
  background-color: #fff;
}

@media screen and (min-width: 480px), print {
  .slider-side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 1em;
    pointer-events: none;
    background: transparent;
    z-index: 100;
  }
}

@media screen and (min-width: 768px), print {
  .slider-side {
    padding: 60px 1em 0;
  }
}

@media screen and (min-width: 1100px), print {
  .slider-side {
    padding: 0 2em;
  }
}

.slider-content {
  color: #fff;
}

@media screen and (min-width: 768px), print {
  .slider-content {
    width: 100%;
    max-width: 1125px;
  }
}

.slider-catch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transform: rotate(-4deg);
          transform: rotate(-4deg);
}

@media screen and (max-width: 479.98px) {
  .slider-catch {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
  }
  .slider-catch::before {
    content: "";
    position: absolute;
    top: -40px;
    right: 0;
    display: block;
    width: 110px;
    height: 71px;
    background: url("../img/base/bear-icon.png") no-repeat center/cover;
  }
  .slider-catch::after {
    content: "";
    position: absolute;
    top: -40px;
    left: 0;
    display: block;
    width: 90px;
    height: 57px;
    background: url("../img/base/myobrace-logo.png") no-repeat center/cover;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-catch::before {
    width: 90px;
    height: 58px;
  }
  .slider-catch::after {
    width: 73px;
    height: 46px;
  }
}

.slider-catch .catch1 {
  display: inline-block;
  padding: .11em 0 .1em 0;
  font-size: 5.2rem;
  font-weight: 700;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  letter-spacing: -.023em;
  line-height: 1.2;
  background-color: rgba(234, 96, 158, 0.64);
  margin-bottom: .5em;
}

@media screen and (max-width: 1279.98px) {
  .slider-catch .catch1 {
    font-size: 4.2rem;
  }
}

@media screen and (max-width: 991.98px) {
  .slider-catch .catch1 {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767.98px) {
  .slider-catch .catch1 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-catch .catch1 {
    font-size: 1.8rem;
    padding: .1em 0;
    max-width: 229px;
    width: 100%;
    text-align: center;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-catch .catch1 {
    font-size: 1.6rem;
  }
}

.slider-catch .catch2 {
  display: inline-block;
  padding: .24em 0 .23em .25em;
  font-size: 4.2rem;
  font-weight: 700;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
  letter-spacing: -.023em;
  line-height: 1.2;
  background-color: rgba(235, 98, 60, 0.64);
}

@media screen and (max-width: 1279.98px) {
  .slider-catch .catch2 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 991.98px) {
  .slider-catch .catch2 {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767.98px) {
  .slider-catch .catch2 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-catch .catch2 {
    text-align: center;
    padding: 0;
    background-color: transparent;
    color: #EB623C;
    font-size: 1.35rem;
  }
}

.slider-catch .br {
  display: none;
}

@media screen and (max-width: 479.98px) {
  .slider-catch .br {
    display: block;
  }
}

.slider .slick-slider,
.slider .slick-list,
.slider .slick-track {
  height: 100%;
}

.slider .slick-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
}

.slider .slick-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

.slider .slick-slider .slide {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.slider .slick-slider .slide img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: none;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 1100px), print {
  .slider .slick-slider .slide img {
    width: auto;
    height: 100%;
  }
}

@media screen and (min-width: 1600px), print {
  .slider .slick-slider .slide img {
    width: 100%;
    height: auto;
  }
}

/* --------------------------------

  上部固定ボタン（お問い合わせ）

-------------------------------- */
/* お問い合わせ（電話）*/
.tel-button {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  line-height: 1;
  color: #EA609E;
  text-align: center;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 990;
}

@media screen and (min-width: 1100px), print {
  .tel-button {
    display: none;
  }
}

.tel-button::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  left: 0;
  width: 26px;
  height: 26px;
  margin: auto;
  background: url(../img/base/tel_pink.svg) center no-repeat;
  background-size: contain;
}

.tel-button::after {
  content: "TEL";
  display: block;
  position: absolute;
  bottom: 8px;
  left: 0;
  width: 100%;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: .2rem;
}

.tel-button a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* --------------------------------

  idxx　ページタイトル

-------------------------------- */
.page-title {
  padding: 1.25em 1em;
  margin: 0 -1em;
}

@media screen and (min-width: 1100px), print {
  .page-title {
    margin: 0 -2em;
  }
}

@media screen and (max-width: 1099.98px) {
  .page-title {
    padding: 1em;
  }
}

.page-title-name {
  text-align: center;
  position: relative;
  color: #fff;
  font-size: 4.5rem;
  letter-spacing: .05em;
  line-height: 1.2;
  font-weight: 700;
  padding-bottom: .6em;
}

@media screen and (max-width: 1099.98px) {
  .page-title-name {
    font-size: 3rem;
    padding-bottom: .8em;
  }
}

@media screen and (max-width: 639.98px) {
  .page-title-name {
    font-size: 2.4rem;
  }
}

.page-title-name::before {
  content: attr(data-subttl);
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 100%;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: .05em;
}

@media screen and (max-width: 1099.98px) {
  .page-title-name::before {
    font-size: 2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .page-title-name::before {
    font-size: 1.6rem;
  }
}

.page-title.__greeting,
.page-title.__recruit {
  background-color: #EA609E;
}

.page-title.__service {
  background-color: #F39800;
}

.page-title.__orthodontics {
  background-color: #661A00;
}

.page-title.__photo {
  background-color: #009944;
}

.page-title.__voice {
  background-color: #FF6868;
}

.page-title.__access {
  background-color: #0067B7;
}

.page-title.__topics {
  background-color: #EB623C;
}

.page-title.__column {
  background-color: #B973FF;
}

/* --------------------------------

  ローディング

-------------------------------- */
.loader {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
}

.loader.loading {
  opacity: 1;
  pointer-events: auto;
}

.loader::before {
  content: "";
  display: block;
  position: absolute;
  top: -20px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 60px;
  margin: auto;
  border: 4px solid #ddd;
  border-top: 4px solid #EA609E;
  border-radius: 50%;
  z-index: 1;
  -webkit-animation: spin 3s linear infinite;
          animation: spin 3s linear infinite;
}

.loader img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 140px;
  margin: auto;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

/* --------------------------------

  id01　トップページ

-------------------------------- */
/* ページ内共通 */
.section {
  margin-right: -1em;
  margin-left: -1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (min-width: 1100px), print {
  .section {
    margin-right: -2em;
    margin-left: -2em;
  }
}

.section-secondary {
  padding-right: 1em;
  padding-left: 1em;
}

@media screen and (min-width: 1100px), print {
  .section-secondary {
    padding-right: 2em;
    padding-left: 2em;
  }
}

.section-secondary:not(:last-child) {
  margin-bottom: 5em;
}

.section-secondary .inner {
  line-height: 1.5;
}

@media screen and (min-width: 768px), print {
  .section-secondary .inner {
    line-height: 1.8;
  }
}

@media screen and (min-width: 1100px), print {
  .section-secondary .inner {
    padding-right: 3rem;
    padding-left: 3rem;
  }
}

.section-dummy {
  padding-right: 1em;
  padding-left: 1em;
  padding-top: 2em;
  padding-bottom: 2em;
}

@media screen and (min-width: 1100px), print {
  .section-dummy {
    padding-right: 2em;
    padding-left: 2em;
    padding-top: 2em;
    padding-bottom: 2em;
  }
}

.section-dummy:not(:last-child) {
  margin-bottom: 5em;
}

.section-dummy .inner {
  max-width: none;
  text-align: center;
}

.section-dummy_wide {
  padding-right: 0;
  padding-left: 0;
  overflow: hidden;
}

.section-dummy_wide .inner {
  margin-right: -23%;
  margin-left: -23%;
}

@media screen and (min-width: 1100px), print {
  .section-dummy_wide .inner {
    margin-right: -250px;
    margin-left: -250px;
  }
}

.section-header {
  background-color: #C6E13B;
  padding: 2.2em 1em 2.2em 1em;
}

@media screen and (min-width: 1100px), print {
  .section-header {
    padding: 4.2em 1em 4.3em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .section-header {
    padding: 2em 1em;
  }
}

.section-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  line-height: 1.2;
}

.section-heading span {
  font-weight: 700;
  color: #F29800;
  display: inline-block;
  font-size: 3.5rem;
  line-height: 1.4;
  padding-left: .1em;
}

@media screen and (max-width: 1099.98px) {
  .section-heading span {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 639.98px) {
  .section-heading span {
    font-size: 2rem;
    line-height: 1.2;
  }
}

@media screen and (max-width: 359.98px) {
  .section-heading span {
    line-height: 1.4;
  }
}

@media screen and (max-width: 1099.98px) {
  .section-heading p {
    max-width: 400px;
  }
}

@media screen and (max-width: 639.98px) {
  .section-heading p {
    max-width: 300px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}

/* アウトライン */
.tomokokiz-outline-section {
  background-color: #EFF0B9;
  padding: 5em 1em 4em 1em;
  overflow-x: hidden;
}

@media screen and (max-width: 639.98px) {
  .tomokokiz-outline-section {
    padding: 3em 1em;
  }
}

.tomokokiz-outline-section .inner {
  padding: 0;
  max-width: 1481px;
}

.tomokokiz-outline-item:first-child {
  margin-bottom: 5em;
}

@media screen and (max-width: 639.98px) {
  .tomokokiz-outline-item:first-child {
    margin-bottom: 3em;
  }
}

.tomokokiz-outline-item.__pink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__pink {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-heading {
  color: #EA609E;
  font-size: 3.5rem;
  padding-left: 2.5em;
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-heading {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-heading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-heading {
    font-size: 1.8rem;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-heading::before {
  width: 73px;
  height: 76px;
  background: url("../img/base/tooth-icon1.png") no-repeat center/cover;
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-heading::before {
    width: 45px;
    height: 46px;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-heading::before {
    width: 40px;
    height: 41px;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-head {
  padding-left: 1em;
}

@media screen and (max-width: 639.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-head {
    padding-left: 0;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-image {
  margin-left: -26em;
  z-index: 1;
}

@media screen and (max-width: 1279.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-image {
    max-width: 550px;
    margin-left: -17em;
  }
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-image {
    margin-left: 0;
    margin-top: -5em;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-main {
  max-width: 1080px;
  width: 100%;
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-text {
  max-width: 625px;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-text {
    max-width: none;
  }
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-text .accent {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(48%, transparent), color-stop(48%, rgba(234, 96, 158, 0.44)));
  background: linear-gradient(transparent 48%, rgba(234, 96, 158, 0.44) 48%);
}

.tomokokiz-outline-item.__pink .tomokokiz-outline-body {
  position: relative;
  background-color: #fff;
  border: 5px solid #EA609E;
  padding: 1.5em;
  padding-right: 26em;
  border-radius: 25px;
}

@media screen and (max-width: 1279.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-body {
    padding-right: 17em;
  }
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-body {
    padding: 1.5em 1.5em 5em 1.5em;
  }
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-body {
    padding: 1em 1em 5em 1em;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__pink .tomokokiz-outline-body {
    padding: 1em .8em 5em .8em;
  }
}

.tomokokiz-outline-item.__orenge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-head {
  text-align: right;
  padding-right: 1em;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-head {
    text-align: left;
    padding-right: 0;
    padding-left: 1em;
  }
}

@media screen and (max-width: 639.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-head {
    padding-left: 0;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-main {
  max-width: 767px;
  width: 100%;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-main {
    max-width: none;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-heading {
  font-size: 3.5rem;
  padding-left: 3em;
  color: #F39800;
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-heading {
    font-size: 2.2rem;
    padding-left: 2.6em;
  }
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-heading {
    font-size: 1.9rem;
    padding-left: 2.9em;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-heading {
    font-size: 1.8rem;
    padding-left: 2.6em;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-heading::before {
  width: 94px;
  height: 76px;
  background: url("../img/base/tooth-icon2.png") no-repeat center/cover;
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-heading::before {
    width: 48px;
    height: 46px;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-heading::before {
    width: 40px;
    height: 38px;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-image {
  margin-right: -5.5em;
  z-index: 1;
}

@media screen and (max-width: 1279.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-image {
    max-width: 490px;
  }
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-image {
    margin-right: 0;
    margin-top: -5em;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-text {
  margin-left: auto;
  max-width: 640px;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-text {
    max-width: none;
  }
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-text .accent {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(48%, transparent), color-stop(48%, rgba(243, 152, 0, 0.44)));
  background: linear-gradient(transparent 48%, rgba(243, 152, 0, 0.44) 48%);
}

.tomokokiz-outline-item.__orenge .tomokokiz-outline-body {
  position: relative;
  background-color: #fff;
  border: 5px solid #F39800;
  padding: 1.5em;
  padding-left: 5.5em;
  border-radius: 25px;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-body {
    padding: 1.5em 1.5em 5em 1.5em;
  }
}

@media screen and (max-width: 767.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-body {
    padding: 1em 1em 5em 1em;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-outline-item.__orenge .tomokokiz-outline-body {
    padding: 1em .8em 5em .8em;
  }
}

.tomokokiz-outline-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.tomokokiz-outline-text {
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: .045em;
}

@media screen and (max-width: 1279.98px) {
  .tomokokiz-outline-text {
    font-size: 1.6rem;
  }
}

.tomokokiz-outline-text p:not(:last-child) {
  margin-bottom: 1.5em;
}

@media screen and (max-width: 1279.98px) {
  .tomokokiz-outline-text p:not(:last-child) {
    margin-bottom: 1em;
  }
}

.tomokokiz-outline-head {
  margin-bottom: .7em;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-outline-head {
    margin-bottom: 1.2em;
  }
}

.tomokokiz-outline-heading {
  position: relative;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
}

.tomokokiz-outline-heading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-46%);
          transform: translateY(-46%);
  display: block;
  z-index: 1;
}

/* 特徴 */
.tomokokiz-features {
  position: relative;
  background-color: #F5F4F0;
  padding: 2.5em 1em 3em 1em;
  overflow-x: hidden;
}

@media screen and (min-width: 1100px), print {
  .tomokokiz-features {
    padding: 4.5em 1em 5em 1em;
  }
}

.tomokokiz-features::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 15px;
  background: url("../img/base/line.png") no-repeat center/cover;
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-features::before {
    background-size: contain;
    height: 4px;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-features::before {
    height: 3px;
  }
}

.tomokokiz-features-section .inner {
  padding: 0;
  max-width: none;
}

.tomokokiz-features-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 1535px;
  margin: 0 auto -1.5em;
}

.tomokokiz-features-item {
  position: relative;
  width: calc(25% - 24px);
  margin: 0 1.5em 1.5em 0;
}

@media screen and (max-width: 991.98px) {
  .tomokokiz-features-item {
    width: calc(50% - 24px);
    text-align: center;
  }
}

@media screen and (max-width: 575.98px) {
  .tomokokiz-features-item {
    width: 100%;
    margin: 0 0 1.5em 0;
  }
}

/* Topics  /  お知らせ */
.tomokokiz-news {
  position: relative;
  background: url("../img/top/tomokokiz-img7.jpg") no-repeat center/cover;
  padding: 7em 1em 8em 1em;
  margin: 0 -1em;
}

@media screen and (max-width: 639.98px) {
  .tomokokiz-news {
    padding: 5em 1em 6em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-news {
    padding: 3em 1em 3.9em 1em;
  }
}

.tomokokiz-news::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 15px;
  background: url("../img/base/line.png") no-repeat center/cover;
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-news::before {
    background-size: contain;
    height: 4px;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-news::before {
    height: 3px;
  }
}

.tomokokiz-news-section {
  padding: 4em 1em;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-news-section {
    padding: 3em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .tomokokiz-news-section {
    padding: 2em 1em .8em 1em;
  }
}

.tomokokiz-news-section .inner {
  padding: 0;
  max-width: none;
}

.tomokokiz-news-header {
  text-align: center;
  margin-bottom: 2em;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-news-header {
    margin-bottom: 1em;
  }
}

.tomokokiz-news-heading {
  display: inline-block;
  line-height: 1.2;
  color: #9EA09F;
  font-size: 3.5rem;
  font-weight: 900;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-news-heading {
    font-size: 2.6rem;
  }
}

.tomokokiz-news-heading span {
  color: #F29800;
  font-weight: 900;
  display: inline-block;
  padding-right: .3em;
}

.tomokokiz-news-container {
  position: relative;
  max-width: 954px;
  width: 100%;
  margin: 0 auto;
  border-radius: 18px;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2.9em 2.5em;
}

@media screen and (max-width: 1099.98px) {
  .tomokokiz-news-container {
    padding: 1.5em 1.5em 2.5em 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .tomokokiz-news-container {
    padding: 1.5em 1em 2.5em 1em;
  }
}

.tomokokiz-news-more {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(50%);
          transform: translateX(-50%) translateY(50%);
  width: 100%;
  text-align: center;
}

/* --------------------------------

  id00　ごあいさつ

-------------------------------- */
.greeting {
  max-width: 1100px;
  margin: 0 auto;
}

.greeting-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .greeting-section {
    padding: 3.5em 1em;
  }
}

.greeting-section .inner {
  border: 5px solid #EA609E;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .greeting-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.greeting-main {
  margin-top: 6em;
}

@media screen and (max-width: 639.98px) {
  .greeting-main {
    margin-top: 3em;
  }
}

.greeting-main-side {
  z-index: 1;
}

.greeting-main-side img {
  border-radius: 100%;
}

.greeting-main-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.greeting-main-item:not(:first-child) {
  margin-top: -2.5em;
}

@media screen and (max-width: 1099.98px) {
  .greeting-main-item:not(:first-child) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .greeting-main-item:not(:first-child) {
    margin-top: 2.5em;
  }
}

.greeting-main-item._left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-item._left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.greeting-main-item._left .greeting-main-body {
  padding: 1.65em 1em 1em 1.7em;
  margin-left: -1em;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-item._left .greeting-main-body {
    margin-left: 0;
    margin-top: 2.5em;
    padding: 1.65em 1em 1em 1em;
  }
}

.greeting-main-item._right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-item._right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.greeting-main-item._right .greeting-main-body {
  padding: 1.65em 1.7em 1em 1em;
  margin-right: -1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-item._right .greeting-main-body {
    margin-right: 0;
    margin-top: 2.5em;
    padding: 1.65em 1em 1em 1em;
  }
}

.greeting-main-item._right .greeting-main-body dd {
  text-align: center;
}

.greeting-main-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 500px;
  background-color: #FCEDF4;
  border-radius: 10px;
  position: relative;
  height: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-body {
    height: auto;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.greeting-main-body dt {
  position: absolute;
  top: 0;
  left: 18px;
  display: block;
  max-width: 190px;
  width: 100%;
  border-radius: 10em;
  background-color: #EA609E;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  color: #fff;
  text-align: center;
  padding: .4em;
  font-weight: 500;
  line-height: 1.2;
  font-size: 2.4rem;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-body dt {
    font-size: 2rem;
    left: 50%;
    -webkit-transform: translateY(-60%) translateX(-50%);
            transform: translateY(-60%) translateX(-50%);
  }
}

@media screen and (max-width: 639.98px) {
  .greeting-main-body dt {
    font-size: 1.8rem;
  }
}

.greeting-main-body dd {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: -.02em;
}

@media screen and (max-width: 767.98px) {
  .greeting-main-body dd {
    text-align: center;
  }
}

.greeting-main-body dd p {
  font-weight: 500;
}

.greeting-intro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1099.98px) {
  .greeting-intro {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.greeting-intro-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

.greeting-intro-side {
  margin-right: -1em;
}

@media screen and (max-width: 1279.98px) {
  .greeting-intro-side {
    margin-right: 0;
  }
}

@media screen and (max-width: 1099.98px) {
  .greeting-intro-side {
    margin-right: 0;
    margin-top: 2em;
  }
}

.greeting-intro-define dt {
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 500;
  margin-bottom: .5em;
}

@media screen and (max-width: 767.98px) {
  .greeting-intro-define dt {
    font-size: 2rem;
  }
}

.greeting-intro-box {
  padding: .5em .7em;
  background-color: #FCEDF4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 333px;
}

@media screen and (max-width: 639.98px) {
  .greeting-intro-box {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 479.98px) {
  .greeting-intro-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.greeting-intro-box span {
  font-weight: 500;
  margin-right: 1em;
}

@media screen and (max-width: 479.98px) {
  .greeting-intro-box span {
    margin-right: 0;
  }
}

.greeting-intro-body p {
  font-weight: 500;
}

.greeting-intro-text {
  margin: 1em 0;
  line-height: 1.8;
  font-size: 1.9rem;
}

@media screen and (max-width: 767.98px) {
  .greeting-intro-text {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 639.98px) {
  .greeting-intro-text {
    font-size: 1.5rem;
  }
}

.greeting-intro-text p {
  font-weight: 500;
}

.greeting-intro-item:not(:last-child) {
  margin-bottom: .2em;
}

.greeting-intro-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-right: -3em;
}

@media screen and (max-width: 1099.98px) {
  .greeting-intro-header {
    margin-right: 0;
  }
}

.greeting-intro-header span {
  font-weight: 500;
  font-size: 2.8rem;
  letter-spacing: -.02em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, rgba(234, 96, 158, 0.4)));
  background: linear-gradient(transparent 65%, rgba(234, 96, 158, 0.4) 65%);
  display: inline;
}

@media screen and (max-width: 767.98px) {
  .greeting-intro-header span {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .greeting-intro-header span {
    font-size: 1.8rem;
  }
}

/* --------------------------------

  id00　治療方針

-------------------------------- */
.policy-treatment {
  max-width: 1100px;
  margin: 0 auto;
}

.policy-treatment-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-section {
    padding: 3.5em 1em;
  }
}

.policy-treatment-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.policy-treatment-section .policy-treatment-box-list li::before {
  background-color: #333333;
  width: 8px;
  height: 8px;
  font-weight: 500;
}

.policy-treatment-section .policy-treatment-list {
  text-align: left;
  max-width: 168px;
  margin: 0 auto;
}

.policy-treatment-section .policy-treatment-list li {
  display: inline-block;
  line-height: 1.6;
  font-weight: 500;
}

.policy-treatment-section .policy-treatment-list li::before {
  background-color: #000;
  width: 8px;
  height: 8px;
}

.policy-treatment-heading {
  display: block;
  line-height: 1.2;
  padding: .4em .8em .35em .8em;
  margin-bottom: 2em;
  font-size: 3rem;
  font-weight: 500;
  background-color: #ffffff;
  background-image: radial-gradient(#fbe0ae 29%, transparent 49%), radial-gradient(#fbe0ae 29%, transparent 49%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-heading {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-heading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-heading {
    font-size: 1.8rem;
  }
}

.policy-treatment-block {
  position: relative;
  padding: 3em 2em;
  border: 2px dotted #F2A41A;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-block {
    padding: 2.1em 1em;
  }
}

.policy-treatment-block._jn {
  padding: 4em 2em 3em 2em;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-block._jn {
    padding: 3em 1em 2.1em 1em;
  }
}

.policy-treatment-block._jn .policy-treatment-subheading {
  max-width: 375px;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-block._jn .policy-treatment-subheading {
    max-width: 275px;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-block._jn .policy-treatment-subheading {
    font-size: 1.6rem;
  }
}

.policy-treatment-block._secondary {
  margin-top: 5em;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-block._secondary {
    margin-top: 3em;
  }
}

.policy-treatment-block._secondary .policy-treatment-subheading {
  max-width: 210px;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-block._secondary .policy-treatment-subheading {
    max-width: 170px;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-block._secondary .policy-treatment-text {
    margin-bottom: 4em;
  }
}

.policy-treatment-subheading {
  display: inline-block;
  border-radius: 10em;
  color: #fff;
  line-height: 1.2;
  text-align: center;
  background-color: #F2A41A;
  padding: .4em .5em;
  max-width: 190px;
  width: 100%;
  font-size: 2.4rem;
  letter-spacing: .05em;
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 8px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-subheading {
    font-size: 1.8rem;
    max-width: 160px;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-subheading {
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
  }
}

.policy-treatment-text {
  line-height: 1.6;
  font-size: 1.8rem;
  margin-bottom: 3em;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-text {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-text {
    margin-bottom: 2em;
  }
}

.policy-treatment-text p {
  font-weight: 500;
}

.policy-treatment-text .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-text .br {
    display: none;
  }
}

.policy-treatment-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.policy-treatment-flow._accent1 .policy-treatment-item {
  width: 33.33333%;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent1 .policy-treatment-item {
    width: 100%;
  }
}

.policy-treatment-flow._accent2 {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-define {
    height: auto;
  }
}

.policy-treatment-flow._accent2 .policy-treatment-define::before {
  display: none;
}

.policy-treatment-flow._accent2 .policy-treatment-item {
  width: 20%;
  height: 208px;
  padding-left: 0;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-item {
    padding-top: 0;
  }
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-item:nth-child(2)::before {
    top: -65px;
  }
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-item:not(:first-child) {
    margin-top: 5em;
  }
}

.policy-treatment-flow._accent2 .policy-treatment-item::before {
  top: 22%;
  left: -15px;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-item::before {
    left: 50%;
    top: -97px;
  }
}

.policy-treatment-flow._accent2 .policy-treatment-item::after {
  content: "";
  position: absolute;
  top: 22%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  background-color: #F5F7D7;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-flow._accent2 .policy-treatment-item {
    width: 100%;
  }
}

.policy-treatment-item {
  position: relative;
}

.policy-treatment-item:not(:first-child) {
  padding-left: 2em;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-item:not(:first-child) {
    padding-left: 0;
    padding-top: 4em;
  }
}

.policy-treatment-item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 28px;
  height: 31px;
  background: url("../img/pages/policy/arrow-icon_ore.png") no-repeat center/cover;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-item:not(:first-child)::before {
    top: 15%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
            transform: translate(-50%, -50%) rotate(90deg);
  }
}

.policy-treatment-item .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-item .br {
    display: none;
  }
}

.policy-treatment-foot {
  margin-top: 4.5em;
  padding: .52em 1em;
  border-radius: 10em;
  background-color: #F3F3F3;
  text-align: center;
  letter-spacing: -.02em;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-foot {
    padding: .55em 1.5em;
  }
}

.policy-treatment-foot p {
  font-weight: 500;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-foot p {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-foot {
    margin-top: 2em;
  }
}

.policy-treatment-attention {
  font-weight: 500;
  line-height: 1.4;
  font-size: 1.4rem;
  display: block;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-attention {
    font-size: 1.25rem;
  }
}

.policy-treatment-define {
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-define {
    height: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.policy-treatment-define::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 150px;
  height: 150px;
  border-radius: 100%;
  background-color: #F5F7D7;
  z-index: -1;
}

.policy-treatment-define dt {
  color: #F2A41A;
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.2;
  margin-bottom: .1em;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-define dt {
    font-size: 2rem;
  }
}

.policy-treatment-define dd p {
  font-weight: 500;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-define dd p {
    font-size: 1.4rem;
  }
}

.policy-treatment-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2em;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0;
  }
}

.policy-treatment-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-left: 3em;
  max-width: 586px;
}

@media screen and (max-width: 1279.98px) {
  .policy-treatment-main {
    margin-left: 2em;
  }
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-main {
    margin-left: 0;
    margin-top: 2em;
    padding-bottom: 8em;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-main {
    padding-bottom: 5em;
  }
}

.policy-treatment-catch {
  position: relative;
  line-height: 1.6;
  font-size: 1.8rem;
  border-radius: 10em;
  padding: .48em 1em;
  text-align: center;
  background-color: #F3F3F3;
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-catch {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-catch {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-catch {
    padding: .48em 1.3em;
    line-height: 1.4;
  }
}

.policy-treatment-catch::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 72%) rotate(-40deg);
          transform: translate(-50%, 72%) rotate(-40deg);
  border-top: 45px solid #F3F3F3;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-catch::before {
    -webkit-transform: translate(-50%, 72%) rotate(0);
            transform: translate(-50%, 72%) rotate(0);
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-catch::before {
    border-top: 25px solid #F3F3F3;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }
}

.policy-treatment-catch::after {
  content: "";
  position: absolute;
  bottom: -188%;
  left: 53%;
  display: block;
  width: 128px;
  height: 103px;
  background: url("../img/pages/policy/teeth-charactor.png") no-repeat center/cover;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-catch::after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -190%;
  }
}

@media screen and (max-width: 991.98px) {
  .policy-treatment-catch::after {
    width: 100px;
    height: 83px;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-catch::after {
    width: 80px;
    height: 68px;
    bottom: -190%;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-catch::after {
    bottom: -130%;
  }
}

@media screen and (max-width: 359.98px) {
  .policy-treatment-catch::after {
    bottom: -100%;
  }
}

.policy-treatment-catch .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-catch .br {
    display: none;
  }
}

.policy-treatment-catch p {
  font-weight: 500;
}

.policy-treatment-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2em;
  background-color: #F5F7D7;
  margin: 5em 0;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-box {
    padding: 1em;
    margin: 3em 0;
  }
}

.policy-treatment-box-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-right: 1em;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-box-main {
    margin-right: 0;
    margin-bottom: 2em;
  }
}

.policy-treatment-box-title {
  text-align: center;
  font-weight: 500;
  margin-top: .5em;
}

.policy-treatment-box-subheading {
  line-height: 1.2;
  font-size: 2.2rem;
  font-weight: 500;
  border-bottom: 4px dotted #F2A41A;
  display: inline-block;
  padding-bottom: .2em;
  margin-bottom: .5em;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-box-subheading {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-box-subheading {
    font-size: 1.6rem;
  }
}

.policy-treatment-box-text {
  line-height: 1.4;
  font-size: 1.6rem;
  margin-bottom: 1.5em;
}

.policy-treatment-box-text p {
  font-weight: 500;
}

.policy-treatment-box-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 432px;
}

.policy-treatment-box-list li {
  width: calc(50% - 16px);
  margin-right: 1em;
  font-weight: 500;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-box-list li {
    width: 100%;
    margin-right: 0;
  }
}

.policy-treatment-box-heading {
  position: relative;
  line-height: 1.2;
  padding-left: 2em;
  color: #F2A41A;
  font-size: 2.6rem;
  letter-spacing: .05em;
  margin-bottom: .5em;
  font-weight: 600;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-box-heading {
    font-size: 2rem;
    padding-left: 1.5em;
  }
}

.policy-treatment-box-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 40px;
  height: 40px;
  background: url("../img/pages/policy/teeth-icon2.png") no-repeat center/cover;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-box-heading::before {
    width: 25px;
    height: 25px;
  }
}

.policy-treatment-merit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 3em;
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-merit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 479.98px) {
  .policy-treatment-merit .policy-treatment-box-heading {
    font-size: 1.9rem;
  }
}

.policy-treatment-merit-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 1.3em 1em 1.5em 4em;
  margin-left: -2em;
  background-color: #F5F7D7;
  border-radius: 3px;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-merit-main {
    margin-left: -3em;
  }
}

@media screen and (max-width: 639.98px) {
  .policy-treatment-merit-main {
    margin-left: 0;
    padding: 3.8em 1em 1.5em 1em;
    margin-top: -3em;
  }
}

.policy-treatment-merit-side {
  z-index: 1;
}

.policy-treatment-merit-side img {
  border-radius: 100%;
}

.policy-treatment-merit-text {
  line-height: 1.4;
}

.policy-treatment-merit-text p {
  font-weight: 500;
}

.policy-treatment-merit-text .br {
  display: block;
}

@media screen and (max-width: 1099.98px) {
  .policy-treatment-merit-text .br {
    display: none;
  }
}

.policy-examination {
  max-width: 1100px;
  margin: 0 auto;
}

.policy-examination-section {
  padding: 0 1em 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .policy-examination-section {
    padding: 0 1em 3.5em 1em;
  }
}

.policy-examination-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  margin-top: 5em;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .policy-examination-section .inner {
    padding: 1.5em 1em 3em 1em;
    margin-top: 3em;
  }
}

.policy-examination-section .main-secondary-heading {
  margin-bottom: .8em;
}

.policy-examination-side {
  z-index: 1;
}

.policy-examination-side img {
  border-radius: 100%;
}

.policy-examination-text {
  line-height: 1.6;
}

.policy-examination-text p {
  font-weight: 500;
}

.policy-examination-text .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .policy-examination-text .br {
    display: none;
  }
}

.policy-examination-block:not(:last-child) {
  margin-bottom: 4em;
}

@media screen and (max-width: 639.98px) {
  .policy-examination-block:not(:last-child) {
    margin-bottom: 2.5em;
  }
}

.policy-examination-description {
  margin-bottom: 5em;
  font-size: 1.8rem;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-description {
    margin-bottom: 2em;
    font-size: 1.6rem;
  }
}

.policy-examination-description p {
  font-weight: 500;
}

.policy-examination-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.policy-examination-item:nth-of-type(3) .policy-examination-body dt {
  max-width: 250px;
}

.policy-examination-item:not(:first-child) {
  margin-top: -2.5em;
}

@media screen and (max-width: 1099.98px) {
  .policy-examination-item:not(:first-child) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .policy-examination-item:not(:first-child) {
    margin-top: 2.5em;
  }
}

.policy-examination-item._left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-item._left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.policy-examination-item._left .policy-examination-body {
  padding: 1.65em 1em 1em 1.7em;
  margin-left: -1em;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-item._left .policy-examination-body {
    margin-left: 0;
    margin-top: 2.5em;
    padding: 1.65em 1em 1em 1em;
  }
}

.policy-examination-item._right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-item._right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.policy-examination-item._right .policy-examination-body {
  padding: 1.65em 1.7em 1em 1em;
  margin-right: -1em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-item._right .policy-examination-body {
    margin-right: 0;
    margin-top: 2.5em;
    padding: 1.65em 1em 1em 1em;
  }
}

.policy-examination-item._right .policy-examination-body dd {
  text-align: center;
}

.policy-examination-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: 500px;
  background-color: #F5F7D7;
  border-radius: 10px;
  position: relative;
  height: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-body {
    height: auto;
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.policy-examination-body dt {
  position: absolute;
  top: 0;
  left: 18px;
  display: block;
  max-width: 190px;
  width: 100%;
  border-radius: 10em;
  background-color: #F2A41A;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
  color: #fff;
  text-align: center;
  padding: .4em;
  font-weight: 500;
  line-height: 1.2;
  font-size: 2.4rem;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-body dt {
    font-size: 2rem;
    left: 50%;
    -webkit-transform: translateY(-60%) translateX(-50%);
            transform: translateY(-60%) translateX(-50%);
  }
}

@media screen and (max-width: 639.98px) {
  .policy-examination-body dt {
    font-size: 1.8rem;
  }
}

.policy-examination-body dd {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: -.02em;
}

@media screen and (max-width: 767.98px) {
  .policy-examination-body dd {
    text-align: center;
  }
}

.policy-examination-body dd p {
  font-weight: 500;
}

/* --------------------------------

  id00　ふっ素

-------------------------------- */
.fluorine {
  max-width: 1100px;
  margin: 0 auto;
}

.fluorine-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .fluorine-section {
    padding: 3.5em 1em;
  }
}

.fluorine-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .fluorine-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.fluorine-heading {
  display: block;
  line-height: 1.2;
  padding: .4em .8em .35em .8em;
  margin-bottom: 1em;
  font-size: 3rem;
  font-weight: 500;
  background-color: #ffffff;
  background-image: radial-gradient(#fbe0ae 29%, transparent 49%), radial-gradient(#fbe0ae 29%, transparent 49%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-heading {
    font-size: 2.2rem;
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-heading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .fluorine-heading {
    font-size: 1.8rem;
  }
}

.fluorine-subheading {
  line-height: 1.2;
  font-size: 2.4rem;
  font-weight: 500;
  border-bottom: 4px dotted #F2A41A;
  display: block;
  color: #F2A41A;
  padding-bottom: .2em;
  margin-bottom: .5em;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-subheading {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-subheading {
    font-size: 1.6rem;
  }
}

.fluorine-text {
  line-height: 1.6;
}

.fluorine-text p {
  font-weight: 500;
}

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

@media screen and (max-width: 639.98px) {
  .fluorine-text .br {
    display: none;
  }
}

.fluorine-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.fluorine-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-right: 2em;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-main {
    margin-right: 0;
    margin-bottom: 2em;
  }
}

.fluorine-foot {
  text-align: center;
  margin-top: 4em;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-foot {
    margin-top: 3em;
  }
}

.fluorine-image {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.fluorine-image::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
  left: 0;
  display: block;
  background-color: #F2A41A;
  -webkit-transform: translate(7px, 7px);
          transform: translate(7px, 7px);
  z-index: -1;
}

.fluorine-define {
  line-height: 1.6;
  margin-bottom: 1em;
}

.fluorine-define dt {
  font-size: 1.8rem;
  font-weight: 500;
}

.fluorine-define dd p {
  font-weight: 500;
}

.fluorine-point {
  margin-top: 5em;
}

@media screen and (max-width: 639.98px) {
  .fluorine-point {
    margin-top: 3em;
  }
}

.fluorine-point-item {
  position: relative;
  margin-top: 3.5em;
}

@media screen and (max-width: 639.98px) {
  .fluorine-point-item {
    margin-top: 2.5em;
  }
}

.fluorine-point-item dt {
  border-radius: 10em;
  background-color: #F2A41A;
  color: #fff;
  padding: .36em 1.3em;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  display: inline-block;
  position: absolute;
  top: 0;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 1099.98px) {
  .fluorine-point-item dt {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-point-item dt {
    font-size: 1.6rem;
    padding: .38em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .fluorine-point-item dt {
    font-size: 1.4rem;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
  }
}

.fluorine-point-item dd {
  background-color: #FDF2DF;
  border-radius: 10px;
  padding: 1.8em 1.3em 1em 1.3em;
}

@media screen and (max-width: 639.98px) {
  .fluorine-point-item dd {
    font-size: 1.4rem;
    padding: 1.6em 1em .8em 1em;
  }
}

@media screen and (max-width: 359.98px) {
  .fluorine-point-item dd {
    padding: 1.9em 1em .8em 1em;
  }
}

.fluorine-point-item dd p {
  font-weight: 500;
}

.fluorine-point-item dd .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .fluorine-point-item dd .br {
    display: none;
  }
}

.fluorine-comment-area {
  margin-top: 5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3em;
  }
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-area._secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.fluorine-comment-body {
  position: relative;
  max-width: 436px;
  width: 100%;
  border-radius: 10em;
  padding: 1.5em 3.2em;
  background-color: #F2A41A;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body {
    text-align: center;
    padding: 1.5em 1.5em;
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-comment-body {
    text-align: center;
    padding: 1em 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .fluorine-comment-body {
    padding: 1em;
  }
}

.fluorine-comment-body._accent2 {
  margin-left: 2.5em;
  padding: 1.5em 3em;
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body._accent2 {
    margin-left: 0;
    margin-bottom: 2.5em;
    padding: 1.5em 1.5em;
  }
}

.fluorine-comment-body._accent2 p {
  letter-spacing: inherit;
}

.fluorine-comment-body._accent2::before {
  content: "";
  position: absolute;
  display: block;
}

@media screen and (min-width: 768px), print {
  .fluorine-comment-body._accent2::before {
    bottom: 19px;
    left: -29px;
    border-right: 47px solid #F2A41A;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
  }
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body._accent2::before {
    border-top: 40px solid #F2A41A;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.fluorine-comment-body._accent1 {
  margin-right: 2.5em;
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body._accent1 {
    margin-right: 0;
    margin-bottom: 2.5em;
  }
}

.fluorine-comment-body._accent1::before {
  content: "";
  position: absolute;
  display: block;
}

@media screen and (min-width: 768px), print {
  .fluorine-comment-body._accent1::before {
    -webkit-transform: rotate(-27deg);
            transform: rotate(-27deg);
    border-left: 47px solid #F2A41A;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    bottom: 29px;
    right: -28px;
  }
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body._accent1::before {
    border-top: 40px solid #F2A41A;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.fluorine-comment-body p {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
  font-size: 2rem;
}

@media screen and (max-width: 767.98px) {
  .fluorine-comment-body p {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-comment-body p {
    font-size: 1.6rem;
    letter-spacing: inherit;
  }
}

@media screen and (max-width: 359.98px) {
  .fluorine-comment-body p {
    font-size: 1.4rem;
  }
}

.fluorine-fee {
  margin-top: 8em;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-fee {
    margin-top: 4em;
  }
}

.fluorine-fee-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 1.5em 0;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-fee-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.fluorine-fee-text {
  font-size: 1.8rem;
  line-height: 1.6;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-fee-text {
    font-size: 1.6rem;
  }
}

.fluorine-fee-text p {
  font-weight: 500;
}

.fluorine-fee-text .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .fluorine-fee-text .br {
    display: none;
  }
}

.fluorine-fee-attention {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -1em 0 0;
  max-width: 882px;
}

@media screen and (max-width: 639.98px) {
  .fluorine-fee-attention {
    margin: 0;
  }
}

.fluorine-fee-attention p {
  line-height: 1.6;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 0 1em 0 0;
  width: calc(33.33333% - 14px);
}

@media screen and (max-width: 1099.98px) {
  .fluorine-fee-attention p {
    width: calc(50% - 14px);
  }
}

@media screen and (max-width: 639.98px) {
  .fluorine-fee-attention p {
    width: 100%;
    margin: 0;
  }
}

.fluorine-fee-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #FDF2DF;
  border-left: 8px solid #F2A41A;
  padding: .3em 1em;
}

@media screen and (max-width: 767.98px) {
  .fluorine-fee-item {
    padding: .45em 1em;
  }
}

.fluorine-fee-item:first-child {
  margin-right: 2em;
}

@media screen and (max-width: 1099.98px) {
  .fluorine-fee-item:first-child {
    margin-right: 0;
    margin-bottom: 1.5em;
  }
}

@media screen and (max-width: 767.98px) {
  .fluorine-fee-item:first-child {
    margin-bottom: 1em;
  }
}

.fluorine-fee-item span {
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.2;
  display: inline-block;
}

@media screen and (max-width: 767.98px) {
  .fluorine-fee-item span {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479.98px) {
  .fluorine-fee-item span {
    font-size: 1.4rem;
  }
}

/* --------------------------------

  id00　ブラッシング

-------------------------------- */
.brushing {
  max-width: 1100px;
  margin: 0 auto;
}

.brushing-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .brushing-section {
    padding: 3.5em 1em;
  }
}

.brushing-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .brushing-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.brushing-subheading {
  line-height: 1.2;
  font-size: 2.4rem;
  font-weight: 500;
  border-bottom: 4px dotted #F2A41A;
  display: block;
  color: #F2A41A;
  padding-bottom: .2em;
  margin-bottom: .5em;
}

@media screen and (max-width: 1099.98px) {
  .brushing-subheading {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .brushing-subheading {
    font-size: 1.6rem;
  }
}

.brushing-text {
  line-height: 1.5;
}

@media screen and (max-width: 639.98px) {
  .brushing-text {
    margin-top: .5em;
  }
}

.brushing-text p {
  font-weight: 500;
  letter-spacing: -.04em;
}

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

@media screen and (max-width: 639.98px) {
  .brushing-text .br {
    display: none;
  }
}

.brushing-description {
  line-height: 1.4;
}

.brushing-description p {
  font-weight: 500;
}

.brushing-description .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .brushing-description .br {
    display: none;
  }
}

.brushing-block:not(:last-child) {
  margin-bottom: 4em;
}

@media screen and (max-width: 639.98px) {
  .brushing-block:not(:last-child) {
    margin-bottom: 2em;
  }
}

.brushing-dental-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.5em -2em -2em 0;
  padding: 0 1.2em;
}

@media screen and (max-width: 1099.98px) {
  .brushing-dental-wrap {
    margin: 1.5em -1.5em -2em 0;
    padding: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-dental-wrap {
    margin: 1.5em 0 -1.5em 0;
  }
}

.brushing-dental-item {
  border: 4px solid #FDF1DB;
  border-radius: 20px;
  padding: 1.6em 1em;
  margin: 0 2em 2em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(50% - 32px);
}

@media screen and (max-width: 1099.98px) {
  .brushing-dental-item {
    margin: 0 1.5em 2em 0;
    width: calc(50% - 24px);
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-dental-item {
    width: 100%;
    margin: 0 0 1.5em 0;
  }
}

@media screen and (max-width: 639.98px) {
  .brushing-dental-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.brushing-molars-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.5em -3em -2em 0;
  padding: 0 3em;
}

@media screen and (max-width: 1099.98px) {
  .brushing-molars-wrap {
    padding: 0;
    margin: 1.5em -1.5em -1.5em 0;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-molars-wrap {
    margin: 1.5em 0 -1.5em 0;
  }
}

.brushing-molars-item {
  border: 4px solid #FDF1DB;
  border-radius: 20px;
  padding: 1.5em 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(50% - 48px);
  margin: 0 3em 2em 0;
}

@media screen and (max-width: 1099.98px) {
  .brushing-molars-item {
    margin: 0 1.5em 1.5em 0;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-molars-item {
    width: 100%;
    margin: 0 0 1.5em 0;
  }
}

@media screen and (max-width: 639.98px) {
  .brushing-molars-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.brushing-molars-item:last-child {
  max-width: 220px;
}

.brushing-frontteeth-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.5em;
}

@media screen and (max-width: 1099.98px) {
  .brushing-frontteeth-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.brushing-frontteeth-item {
  border: 4px solid #FDF1DB;
  border-radius: 20px;
  padding: 2em 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .brushing-frontteeth-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.5em 1em;
  }
}

.brushing-frontteeth-item:first-child {
  margin-right: 1em;
}

@media screen and (max-width: 1099.98px) {
  .brushing-frontteeth-item:first-child {
    margin-right: 0;
    margin-bottom: 1em;
  }
}

.brushing-canines-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1.5em -2.5em -2.5em 0;
}

@media screen and (max-width: 1099.98px) {
  .brushing-canines-wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 1.5em -1.5em -2em 0;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-canines-wrap {
    margin: 1.5em 0 -2em 0;
  }
}

.brushing-canines-item {
  width: calc(33.33333% - 40px);
  margin: 0 2.5em 2.5em 0;
  border: 4px solid #FDF1DB;
  border-radius: 20px;
  padding: 1em .5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 1099.98px) {
  .brushing-canines-item {
    width: calc(50% - 24px);
    margin: 0 1.5em 2em 0;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-canines-item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}

@media screen and (max-width: 639.98px) {
  .brushing-canines-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1em;
  }
}

.brushing-comment-area {
  margin-top: 5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .brushing-comment-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3em;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-comment-area._secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.brushing-comment-body {
  position: relative;
  max-width: 436px;
  width: 100%;
  border-radius: 10em;
  padding: 1.5em 1.5em;
  background-color: #F2A41A;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media screen and (max-width: 767.98px) {
  .brushing-comment-body {
    text-align: center;
    padding: 1.5em 1.5em;
  }
}

@media screen and (max-width: 639.98px) {
  .brushing-comment-body {
    text-align: center;
    padding: 1em 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .brushing-comment-body {
    padding: 1em;
  }
}

.brushing-comment-body._accent1 {
  margin-right: 2.5em;
}

@media screen and (max-width: 767.98px) {
  .brushing-comment-body._accent1 {
    margin-right: 0;
    margin-bottom: 2.5em;
  }
}

.brushing-comment-body._accent1::before {
  content: "";
  position: absolute;
  display: block;
}

@media screen and (min-width: 768px), print {
  .brushing-comment-body._accent1::before {
    -webkit-transform: rotate(-27deg);
            transform: rotate(-27deg);
    border-left: 47px solid #F2A41A;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    bottom: 29px;
    right: -28px;
  }
}

@media screen and (max-width: 767.98px) {
  .brushing-comment-body._accent1::before {
    border-top: 40px solid #F2A41A;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.brushing-comment-body p {
  font-weight: 700;
  line-height: 1.5;
  font-size: 1.8rem;
}

@media screen and (max-width: 639.98px) {
  .brushing-comment-body p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 359.98px) {
  .brushing-comment-body p {
    font-size: 1.4rem;
  }
}

/* --------------------------------

  id00　おやつ

-------------------------------- */
.snack {
  max-width: 1100px;
  margin: 0 auto;
}

.snack-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .snack-section {
    padding: 3.5em 1em;
  }
}

.snack-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .snack-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.snack-section .main-secondary-heading {
  margin-bottom: .8em;
}

.snack-subheading {
  line-height: 1.2;
  font-size: 1.6rem;
  color: #F2A41A;
  margin: 1em 0 2em 0;
  font-weight: 500;
}

.snack-heading {
  display: block;
  line-height: 1.2;
  padding: .4em .8em .35em .8em;
  margin-bottom: .8em;
  font-size: 3rem;
  font-weight: 500;
  background-color: #ffffff;
  background-image: radial-gradient(#fbe0ae 29%, transparent 49%), radial-gradient(#fbe0ae 29%, transparent 49%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}

@media screen and (max-width: 1099.98px) {
  .snack-heading {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .snack-heading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .snack-heading {
    font-size: 1.8rem;
  }
}

.snack-text {
  font-size: 1.8rem;
  line-height: 1.6;
}

@media screen and (max-width: 639.98px) {
  .snack-text {
    font-size: 1.6rem;
  }
}

.snack-text p {
  font-weight: 500;
}

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

@media screen and (max-width: 639.98px) {
  .snack-text .br {
    display: none;
  }
}

.snack-block:not(:last-child) {
  margin-bottom: 5em;
}

@media screen and (max-width: 1099.98px) {
  .snack-block:not(:last-child) {
    margin-bottom: 3em;
  }
}

.snack-wrap {
  padding: 0 1em;
}

@media screen and (max-width: 767.98px) {
  .snack-wrap {
    padding: 0;
  }
}

.snack-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 164px;
}

@media screen and (max-width: 767.98px) {
  .snack-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: auto;
  }
}

.snack-item:not(:last-child) {
  margin-bottom: 4em;
}

.snack-item.__accent1 {
  background-color: #FDF0F7;
}

.snack-item.__accent1 .snack-define dt {
  color: #F2A41A;
}

.snack-item.__accent2 {
  background-color: #F5E7EE;
}

.snack-item.__accent2 .snack-define dt {
  color: #C56494;
}

.snack-item.__accent3 {
  background-color: #EBE2ED;
}

.snack-item.__accent3 .snack-define dt {
  color: #92669D;
}

.snack-item.__accent4 {
  background-color: #EBECF3;
}

.snack-item.__accent4 .snack-define dt {
  color: #5E66A5;
}

.snack-item.__accent5 {
  background-color: #DCE6F3;
}

.snack-item.__accent5 .snack-define dt {
  color: #3B67A9;
}

.snack-image {
  margin: -1em 0 0 -1em;
}

@media screen and (max-width: 767.98px) {
  .snack-image {
    margin: -1em 0 0 0;
  }
}

.snack-define {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 1.5em 1em;
}

@media screen and (max-width: 1099.98px) {
  .snack-define {
    padding: 1em;
  }
}

@media screen and (max-width: 767.98px) {
  .snack-define {
    padding: 1.3em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .snack-define {
    padding: 1em;
  }
}

.snack-define dt {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: .3em;
}

@media screen and (max-width: 1099.98px) {
  .snack-define dt {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 479.98px) {
  .snack-define dt {
    font-size: 1.6rem;
  }
}

.snack-define dd {
  line-height: 1.4;
}

@media screen and (max-width: 479.98px) {
  .snack-define dd {
    font-size: 1.4rem;
  }
}

.snack-define dd p {
  font-weight: 500;
}

.snack-flow {
  margin-top: 5em;
}

@media screen and (max-width: 1099.98px) {
  .snack-flow {
    margin-top: 3em;
  }
}

.snack-flow-heading {
  line-height: 1.2;
  font-size: 2.4rem;
  font-weight: 500;
  border-bottom: 4px dotted #F2A41A;
  display: block;
  color: #F2A41A;
  padding-bottom: .2em;
  margin-bottom: 1em;
}

@media screen and (max-width: 1099.98px) {
  .snack-flow-heading {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .snack-flow-heading {
    font-size: 1.6rem;
  }
}

.snack-flow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 575.98px) {
  .snack-flow-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.snack-flow-item:not(:last-child) {
  margin-bottom: 2em;
}

.snack-flow-num {
  background-color: #F2A41A;
  color: #fff;
  max-width: 58px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: .5em;
}

@media screen and (max-width: 575.98px) {
  .snack-flow-num {
    margin-bottom: -1.5em;
    z-index: 1;
    max-width: 48px;
    padding: .3em;
  }
}

.snack-flow-num span {
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.2;
}

@media screen and (max-width: 767.98px) {
  .snack-flow-num span {
    font-size: 4rem;
  }
}

@media screen and (max-width: 575.98px) {
  .snack-flow-num span {
    font-size: 3rem;
  }
}

.snack-flow-define {
  background-color: #FDF2DF;
  padding: .5em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media screen and (max-width: 575.98px) {
  .snack-flow-define {
    padding: 2.2em 1em 1.5em 1em;
  }
}

.snack-flow-define dt {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 500;
  color: #F2A41A;
  margin-bottom: .2em;
}

@media screen and (max-width: 767.98px) {
  .snack-flow-define dt {
    font-size: 1.6rem;
  }
}

.snack-flow-define dd {
  line-height: 1.4;
}

@media screen and (max-width: 767.98px) {
  .snack-flow-define dd {
    font-size: 1.4rem;
  }
}

.snack-flow-define dd p {
  font-weight: 500;
}

.snack-flow-define dd .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .snack-flow-define dd .br {
    display: none;
  }
}

.snack-comment-area {
  margin-top: 5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .snack-comment-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3em;
  }
}

@media screen and (max-width: 767.98px) {
  .snack-comment-area._secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.snack-comment-body {
  position: relative;
  max-width: 436px;
  width: 100%;
  border-radius: 10em;
  padding: 1.5em 1.5em;
  background-color: #F2A41A;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  text-align: center;
}

@media screen and (max-width: 767.98px) {
  .snack-comment-body {
    padding: 1.5em 1.5em;
  }
}

@media screen and (max-width: 639.98px) {
  .snack-comment-body {
    text-align: center;
    padding: 1em 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .snack-comment-body {
    padding: 1em;
  }
}

.snack-comment-body._accent1 {
  margin-right: 2.5em;
}

@media screen and (max-width: 767.98px) {
  .snack-comment-body._accent1 {
    margin-right: 0;
    margin-bottom: 2.5em;
  }
}

.snack-comment-body._accent1::before {
  content: "";
  position: absolute;
  display: block;
}

@media screen and (min-width: 768px), print {
  .snack-comment-body._accent1::before {
    -webkit-transform: rotate(-27deg);
            transform: rotate(-27deg);
    border-left: 47px solid #F2A41A;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    bottom: 31px;
    right: -28px;
  }
}

@media screen and (max-width: 767.98px) {
  .snack-comment-body._accent1::before {
    border-top: 40px solid #F2A41A;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.snack-comment-body p {
  font-weight: 700;
  line-height: 1.5;
  font-size: 2.2rem;
}

@media screen and (max-width: 639.98px) {
  .snack-comment-body p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 359.98px) {
  .snack-comment-body p {
    font-size: 1.4rem;
  }
}

.snack-comment-body .br {
  display: block;
}

@media screen and (max-width: 479.98px) {
  .snack-comment-body .br {
    display: none;
  }
}

.snack-example-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -2em -2em 0;
  padding: 0 3.2em;
}

@media screen and (max-width: 1099.98px) {
  .snack-example-wrap {
    padding: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .snack-example-wrap {
    margin: 0 -1em -2em 0;
  }
}

@media screen and (max-width: 479.98px) {
  .snack-example-wrap {
    margin: 0 0 -2em 0;
    padding: 0 2em;
  }
}

@media screen and (max-width: 359.98px) {
  .snack-example-wrap {
    padding: 0 .7em;
  }
}

.snack-example-item {
  width: calc(25% - 32px);
  margin: 0 2em 2em 0;
  text-align: center;
}

@media screen and (max-width: 991.98px) {
  .snack-example-item {
    width: calc(33.33333% - 32px);
  }
}

@media screen and (max-width: 767.98px) {
  .snack-example-item {
    width: calc(33.33333% - 16px);
    margin: 0 1em 2em 0;
  }
}

@media screen and (max-width: 639.98px) {
  .snack-example-item {
    width: calc(50% - 16px);
  }
}

@media screen and (max-width: 479.98px) {
  .snack-example-item {
    width: 100%;
    margin: 0 0 2em 0;
  }
}

.snack-example-item img {
  width: 100%;
  height: auto;
}

.snack-example-title {
  color: #F2A41A;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 600;
  margin-top: .3em;
}

@media screen and (max-width: 767.98px) {
  .snack-example-title {
    font-size: 1.6rem;
  }
}

/* --------------------------------

  id00　アクセス

-------------------------------- */
.access {
  max-width: 1100px;
  margin: 0 auto;
}

.access-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .access-section {
    padding: 3.5em 1em;
  }
}

.access-section .inner {
  border: 5px solid #0067B7;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .access-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.access-section .access-info-list li {
  font-weight: 500;
  font-size: 1.8rem;
}

@media screen and (max-width: 1099.98px) {
  .access-section .access-info-list li {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479.98px) {
  .access-section .access-info-list li {
    font-size: 1.4rem;
  }
}

.access-section .access-info-list li::before {
  border-radius: 0;
  width: 8px;
  height: 8px;
  background-color: #EA609E;
}

.access-block:not(:last-child) {
  margin-bottom: 5em;
}

@media screen and (max-width: 1099.98px) {
  .access-block:not(:last-child) {
    margin-bottom: 2.5em;
  }
}

.access-schedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1099.98px) {
  .access-schedule {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.access-schedule .footer-schedule-table {
  max-width: 594px;
}

@media screen and (max-width: 359.98px) {
  .access-schedule .footer-schedule-table td {
    font-size: 1rem;
  }
}

.access-schedule .footer-schedule-attention {
  margin-top: 0;
  margin-left: 1.3em;
}

@media screen and (max-width: 1099.98px) {
  .access-schedule .footer-schedule-attention {
    margin-left: 0;
    margin-top: 1em;
  }
}

.access-schedule .footer-schedule-attention p {
  font-weight: 500;
}

.access-info-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1099.98px) {
  .access-info-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 460px;
    margin: 0 auto;
  }
}

.access-info-image {
  max-width: 368px;
  margin-bottom: 1.5em;
}

@media screen and (max-width: 1099.98px) {
  .access-info-image {
    max-width: 300px;
    margin: 0 auto 1em;
  }
}

@media screen and (max-width: 639.98px) {
  .access-info-image {
    margin-bottom: 1em;
  }
}

.access-info-text {
  line-height: 1.6;
  font-size: 1.8rem;
}

@media screen and (max-width: 1099.98px) {
  .access-info-text {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 479.98px) {
  .access-info-text {
    font-size: 1.4rem;
  }
}

.access-info-text p {
  font-weight: 500;
}

.access-info-list {
  margin-top: 1.2em;
}

@media screen and (max-width: 639.98px) {
  .access-info-list {
    margin-top: .8em;
  }
}

.access-info-main {
  background-color: #FEF8FA;
  padding: 2em 4em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media screen and (max-width: 1099.98px) {
  .access-info-main {
    padding: 1.5em 2em;
  }
}

@media screen and (max-width: 639.98px) {
  .access-info-main {
    padding: 1.5em 1em;
  }
}

.access-info-map {
  margin-top: 1.5em;
  position: relative;
  width: 100%;
  padding-top: 35%;
}

@media screen and (max-width: 767.98px) {
  .access-info-map {
    padding-top: 70%;
  }
}

@media screen and (max-width: 639.98px) {
  .access-info-map {
    padding-top: 90%;
  }
}

@media screen and (max-width: 479.98px) {
  .access-info-map {
    padding-top: 95%;
  }
}

.access-info-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------

  id00　矯正

-------------------------------- */
.orthodontics {
  max-width: 1100px;
  margin: 0 auto;
}

.orthodontics-section {
  padding: 7em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-section {
    padding: 3.5em 1em;
  }
}

.orthodontics-section .inner {
  border: 5px solid #F2A41A;
  border-radius: 30px;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  padding: 2em 1em 6em 1em;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-section .inner {
    padding: 1.5em 1em 3em 1em;
  }
}

.orthodontics-section .main-secondary-heading {
  margin-bottom: .8em;
}

.orthodontics-section ul.orthodontics-features-list li {
  padding: .68em .8em .6em 1em;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-section ul.orthodontics-features-list li {
    padding: .58em .8em .5em .8em;
  }
}

.orthodontics-header {
  margin-bottom: 5em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-header {
    margin-bottom: 2.5em;
  }
}

.orthodontics-header-catch {
  margin-bottom: 4em;
  text-align: center;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-header-catch {
    margin-bottom: 2em;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-header-catch {
    margin-bottom: 4em;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-header-catch {
    margin-bottom: 3em;
  }
}

.orthodontics-header-main {
  text-align: center;
  position: relative;
  padding: 1em 5em 1em 5em;
  background-color: #ffffff;
  background-image: radial-gradient(#fbe0ae 29%, transparent 49%), radial-gradient(#fbe0ae 29%, transparent 49%);
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-header-main {
    padding: 1em;
  }
}

.orthodontics-header-main::before {
  content: "";
  position: absolute;
  top: -15px;
  left: -20px;
  display: block;
  width: 212px;
  height: 135px;
  background: url("../img/base/myobrace-logo.png") no-repeat center/cover;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-header-main::before {
    width: 130px;
    height: 82px;
    top: 50%;
    left: -10px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-header-main::before {
    top: 0;
    -webkit-transform: translateY(-75%);
            transform: translateY(-75%);
    width: 100px;
    height: 62px;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-header-main::before {
    width: 80px;
    height: 51px;
  }
}

.orthodontics-header-main::after {
  content: "";
  position: absolute;
  top: -20px;
  right: -25px;
  display: block;
  width: 260px;
  height: 157px;
  background: url("../img/pages/orthodontics/orthodontics-icon3.png") no-repeat center/cover;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-header-main::after {
    width: 160px;
    height: 96px;
    top: 50%;
    right: -10px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-header-main::after {
    top: 0;
    -webkit-transform: translateY(-75%);
            transform: translateY(-75%);
    width: 110px;
    height: 67px;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-header-main::after {
    width: 90px;
    height: 54px;
  }
}

.orthodontics-heading {
  font-size: 3.8rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .05em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-heading {
    font-size: 2.8rem;
    letter-spacing: .02em;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-heading {
    font-size: 2rem;
    letter-spacing: inherit;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-heading {
    font-size: 1.6rem;
  }
}

.orthodontics-heading span {
  display: block;
  line-height: 1.2;
  letter-spacing: .05em;
  font-size: 2.4rem;
  font-weight: 600;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-heading span {
    font-size: 2rem;
    letter-spacing: .02em;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-heading span {
    font-size: 1.6rem;
    letter-spacing: inherit;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-heading span {
    font-size: 1.4rem;
  }
}

.orthodontics-catch-heading {
  font-size: 3.6rem;
  line-height: 1.2;
  letter-spacing: .05em;
  font-weight: 600;
  margin-bottom: .3em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-catch-heading {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-catch-heading {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-catch-heading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-catch-heading {
    font-size: 1.6rem;
  }
}

.orthodontics-catch-text {
  font-weight: 600;
  line-height: 1.2;
  font-size: 2.8rem;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-catch-text {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-catch-text {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-catch-text {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-catch-text {
    font-size: 1.4rem;
  }
}

.orthodontics-catch-text span {
  font-weight: 600;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #FDF2DD));
  background: linear-gradient(transparent 65%, #FDF2DD 65%);
}

.orthodontics-block:not(:last-child) {
  margin-bottom: 5em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-block:not(:last-child) {
    margin-bottom: 3em;
  }
}

.orthodontics-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.orthodontics-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  line-height: 1.6;
}

.orthodontics-text p {
  font-weight: 500;
}

.orthodontics-text .accent {
  font-size: 1.8rem;
  font-weight: 500;
}

.orthodontics-side {
  margin-right: 2em;
}
.orthodontics-side2 {
  margin-left: 2em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-side,
  .orthodontics-side2 {
    margin-right: 0;
    margin-top: 1.5em;
  }
}

.orthodontics-features p {
  line-height: 1.2;
  font-weight: 500;
  font-size: 1.6rem;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-features p {
    font-size: 1.4rem;
  }
}

.orthodontics-features-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0.5em 0;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-features-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin: 0 0 0.5em 0;
  }
}

.orthodontics-features-list._accent1 li {
  background-color: #FFEAEA;
}

.orthodontics-features-list._accent1 li span::before {
  background: url("../img/pages/orthodontics/orthodontics-icon1.png") no-repeat center/cover;
}

.orthodontics-features-list._accent2 li {
  background-color: #EAF4FF;
}

.orthodontics-features-list._accent2 li span::before {
  background: url("../img/pages/orthodontics/orthodontics-icon2.png") no-repeat center/cover;
}

.orthodontics-features-list li {
  border-radius: 10em;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-features-list li {
    width: 100%;
  }
}

.orthodontics-features-list li:not(:last-child) {
  margin-right: .6em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-features-list li:not(:last-child) {
    margin-right: 0;
    margin-bottom: .5em;
  }
}

.orthodontics-features-list li span {
  position: relative;
  padding-left: 1.4em;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 500;
  display: block;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-features-list li span {
    font-size: 1.6rem;
  }
}

.orthodontics-features-list li span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 20px;
  height: 20px;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-features-list li span::before {
    width: 18px;
    height: 18px;
  }
}

.orthodontics-goal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -.5em -.5em 0;
}

.orthodontics-goal-item {
  background-color: #FDF2DF;
  position: relative;
  padding: .9em 1em .8em 4.2em;
  border-radius: 10em;
  height: 60px;
  margin: 0 .5em .5em 0;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-goal-item {
    height: 45px;
    padding: .65em 1em .55em 3.2em;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-goal-item {
    width: 100%;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-goal-item {
    height: 40px;
    padding: .5em 1em .55em 3.2em;
  }
}

.orthodontics-goal-num {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  font-size: 3.4rem;
  line-height: 1.2;
  font-weight: 500;
  color: #fff;
  background-color: #F2A41A;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-goal-num {
    font-size: 2.4rem;
    width: 45px;
    height: 45px;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-goal-num {
    font-size: 2rem;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-goal-num {
    width: 40px;
    height: 40px;
  }
}

.orthodontics-goal-text {
  line-height: 2;
  margin-top: 1.5em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-goal-text {
    margin-top: 1em;
  }
}

.orthodontics-goal-text p {
  font-weight: 500;
}

.orthodontics-goal-text span {
  font-size: 1.8rem;
  font-weight: 600;
}

.orthodontics-goal-main {
  font-size: 1.8rem;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-goal-main {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-goal-main {
    font-size: 1.4rem;
  }
}

.orthodontics-goal-main p {
  font-weight: 500;
}

.orthodontics-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3.8em;
  padding: 0 1em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-flow {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0;
    margin-top: 2.5em;
  }
}

.orthodontics-flow-main {
  max-width: 500px;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-flow-main {
    max-width: none;
  }
}

.orthodontics-flow-define {
  position: relative;
  border-radius: 10px;
  background-color: #FDF2DF;
  padding: 2.2em 1.5em 1.3em 1.5em;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-define {
    padding: 1.5em 1em 1em 1em;
  }
}

.orthodontics-flow-define:not(:last-child) {
  margin-bottom: 10em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-flow-define:not(:last-child) {
    margin-bottom: 6em;
  }
}

.orthodontics-flow-define:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -90px;
  left: 20%;
  display: block;
  width: 8px;
  height: 39px;
  background: url("../img/pages/orthodontics/dots-icon1.png") no-repeat center/cover;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-flow-define:not(:last-child)::after {
    bottom: -60px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.orthodontics-flow-define dt {
  position: absolute;
  top: 0;
  left: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 10em;
  color: #fff;
  background-color: #F2A41A;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  display: inline-block;
  font-weight: 500;
  padding: .4em 1em;
  min-width: 190px;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-flow-define dt {
    font-size: 2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-define dt {
    font-size: 1.6rem;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
    width: 100%;
    max-width: 300px;
  }
}

@media screen and (max-width: 479.98px) {
  .orthodontics-flow-define dt {
    font-size: 1.4rem;
    max-width: 255px;
  }
}

.orthodontics-flow-define dd {
  line-height: 1.5;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-define dd {
    font-size: 1.4rem;
  }
}

.orthodontics-flow-define dd p {
  font-weight: 500;
}

.orthodontics-flow-define .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-define .br {
    display: none;
  }
}

.orthodontics-flow-side {
  margin-left: 3.5em;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-flow-side {
    margin-left: 0;
    margin-top: 2.5em;
  }
}

.orthodontics-flow-image {
  position: relative;
  display: inline-block;
  border-radius: 40px;
  z-index: 1;
  max-width: 270px;
}
.orthodontics-flow-image-block .orthodontics-flow-image{
  margin-bottom: 4.5em;
  width: calc(50% - 40px);
}
.orthodontics-flow-image-block{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1099.98px) {
  .orthodontics-flow-image {
    display: block;
  }
  .orthodontics-flow-side {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .orthodontics-flow-image-block{
    max-width: 615px;
    margin: 0 auto;
  }
  .orthodontics-flow-image-block .orthodontics-flow-image{
    margin:0 0 4.5em 0;
  }
  .orthodontics-flow-image-block .orthodontics-flow-image:nth-child(2n+1){
    margin:0 3.5em 4.5em 0;
  }
}
@media screen and (max-width: 639.98px){
  .orthodontics-flow-image-block .orthodontics-flow-image{
    margin-bottom: 2.5em;
    width: 100%;
  }
  .orthodontics-flow-image-block{
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .orthodontics-flow-image-block .orthodontics-flow-image{
    margin:0 0 2.5em 0;
  }
  .orthodontics-flow-image-block .orthodontics-flow-image:nth-child(2n+1){
    margin:0 0 2.5em 0;
  }
}
@media screen and (max-width: 479.98px) {
  .orthodontics-flow-image {
    border-radius: 24px;
  }
}

.orthodontics-flow-image img {
  border-radius: 40px;
}

@media screen and (max-width: 479.98px) {
  .orthodontics-flow-image img {
    border-radius: 31px;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-flow-image img {
    border-radius: 24px;
  }
}

.orthodontics-flow-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  border-radius: 40px;
  z-index: -1;
}

@media screen and (max-width: 479.98px) {
  .orthodontics-flow-image::before {
    border-radius: 24px;
  }
}

.orthodontics-flow-image {
  margin-bottom: 3.5em;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-image{
    margin-bottom: 2em;
  }
}

.orthodontics-flow-image._right::before {
  -webkit-transform: translate(20px, 20px);
          transform: translate(20px, 20px);
  background-size: auto auto;
  background-color: #f8cc7a;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, white 3px, white 4px);
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-image._right::before {
    -webkit-transform: translate(10px, 10px);
            transform: translate(10px, 10px);
  }
}

.orthodontics-flow-image._left {
  margin-left: 5em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-flow-image._left {
    margin-left: 0;
  }
}

.orthodontics-flow-image._left::before {
  -webkit-transform: translate(-20px, 20px);
          transform: translate(-20px, 20px);
  background-color: #f8cc7a;
  background-image: radial-gradient(#ffffff 6%, transparent 26%), radial-gradient(#ffffff 6%, transparent 26%);
  background-position: 0 0, 5px 5px;
  background-size: 10px 10px;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-flow-image._left::before {
    -webkit-transform: translate(-10px, 10px);
            transform: translate(-10px, 10px);
  }
}

.orthodontics-subheading {
  line-height: 1.2;
  font-size: 2.6rem;
  font-weight: 500;
  border-bottom: 4px dotted #F2A41A;
  display: block;
  padding-bottom: .2em;
  margin-bottom: .5em;
  color: #F2A41A;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-subheading {
    font-size: 2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-subheading {
    font-size: 1.6rem;
  }
}

.orthodontics-last-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-last-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.orthodontics-last-intro {
  margin-bottom: 1.5em;
}

.orthodontics-last-intro p {
  font-weight: 500;
}

.orthodontics-last-heading {
  font-size: 2.2rem;
  color: #F2A41A;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 1em;
  margin-bottom: .35em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-last-heading {
    font-size: 1.8rem;
    margin-top: .8em;
    margin-bottom: .3em;
  }
}

.orthodontics-last-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  margin-right: 2em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-last-main {
    margin-right: 0;
    margin-bottom: 2em;
  }
}

.orthodontics-last-define {
  background-color: #FDF2DF;
  padding: .8em 1.3em;
  margin: 3em 0;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-last-define {
    padding: .8em 1em;
  }
}

.orthodontics-last-define dt {
  color: #F2A41A;
  font-weight: 500;
  font-size: 2.6rem;
  line-height: 1.2;
  margin-bottom: .2em;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-last-define dt {
    font-size: 2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-last-define dt {
    font-size: 1.8rem;
  }
}

.orthodontics-last-define dd {
  font-size: 1.8rem;
  line-height: 1.6;
}

@media screen and (max-width: 1099.98px) {
  .orthodontics-last-define dd {
    font-size: 1.6rem;
  }
}

.orthodontics-last-define dd p {
  font-weight: 500;
}

.orthodontics-last-define dd span {
  font-weight: 600;
}

.orthodontics-last-text {
  line-height: 1.6;
  font-size: 1.6rem;
}

.orthodontics-last-text p {
  font-weight: 500;
}

.orthodontics-last-text .br {
  display: block;
}

@media screen and (max-width: 639.98px) {
  .orthodontics-last-text .br {
    display: none;
  }
}

.orthodontics-comment-area {
  margin-top: 5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3em;
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-area._secondary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.orthodontics-comment-body {
  position: relative;
  max-width: 436px;
  width: 100%;
  border-radius: 10em;
  padding: 1.5em 3.4em;
  background-color: #F2A41A;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  text-align: center;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-body {
    text-align: center;
    padding: 1.5em 1.5em;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-comment-body {
    text-align: center;
    padding: 1em 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-comment-body {
    padding: 1em;
  }
}

.orthodontics-comment-body._accent2 {
  margin-left: 2.5em;
  padding: 1.5em 3em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-body._accent2 {
    margin-left: 0;
    margin-bottom: 2.5em;
    padding: 1.5em 1.5em;
  }
}

.orthodontics-comment-body._accent2 p {
  letter-spacing: inherit;
}

.orthodontics-comment-body._accent2::before {
  content: "";
  position: absolute;
  display: block;
}

@media screen and (min-width: 768px), print {
  .orthodontics-comment-body._accent2::before {
    bottom: 21px;
    left: -29px;
    border-right: 47px solid #F2A41A;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
  }
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-body._accent2::before {
    border-top: 40px solid #F2A41A;
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    bottom: -25px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.orthodontics-comment-body p {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
  font-size: 2.6rem;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-comment-body p {
    font-size: 2rem;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-comment-body p {
    font-size: 1.6rem;
    letter-spacing: inherit;
  }
}

@media screen and (max-width: 359.98px) {
  .orthodontics-comment-body p {
    font-size: 1.4rem;
  }
}

.orthodontics-foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.2;
  margin-top: 3em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-foot {
    margin-top: 2em;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.orthodontics-foot span {
  font-size: 2rem;
  font-weight: 500;
  display: inline-block;
  margin-right: .8em;
}

@media screen and (max-width: 767.98px) {
  .orthodontics-foot span {
    margin-right: 0;
    margin-top: 1em;
  }
}

@media screen and (max-width: 639.98px) {
  .orthodontics-foot span {
    font-size: 1.6rem;
  }
}

.orthodontics-logo-area {
  max-width: 368px;
}

.contact-us-main {
  position: relative;
  padding: .9em 1em .9em 1.5em;
  color: #333333;
  line-height: 1.5;
  text-align: center;
  background-color: #F2A41A;
  max-width: 428px;
}

@media screen and (min-width: 768px), print {
  .contact-us-main {
    padding: .9em 1em .9em 1.5em;
    text-align: left;
    border-left: 113px solid #FDF2DF;
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-main {
    max-width: 428px;
    border-left-width: 113px;
  }
}

@media screen and (max-width: 767.98px) {
  .contact-us-main {
    padding: .9em 1em .45em 1em;
  }
}

@media screen and (max-width: 479.98px) {
  .contact-us-main {
    padding: .9em .5em .45em .5em;
  }
}

.contact-us-main::before {
  content: "";
  display: block;
  height: 60px;
  margin: -1em -1em 1em;
  background: #FDF2DF url(../img/base/tel.png) center no-repeat;
  background-size: auto 70%;
  z-index: 1;
  background-color: #F2A41A;
}

@media screen and (max-width: 767.98px) {
  .contact-us-main::before {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .contact-us-main::before {
    position: absolute;
    top: 50%;
    left: -113px;
    width: 113px;
    margin: 0;
    height: 60px;
    background: url(../img/base/tel.png) center no-repeat;
    background-size: contain;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-main::before {
    left: -113px;
    width: 113px;
  }
}

.contact-us-tel {
  margin-bottom: .5em;
}

@media screen and (min-width: 768px), print {
  .contact-us-tel {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .contact-us-tel dl {
    position: relative;
    display: inline-block;
    padding-left: 85px;
  }
}

@media screen and (max-width: 479.98px) {
  .contact-us-tel dl {
    padding-left: 0;
  }
}

@media screen and (max-width: 767.98px) {
  .contact-us-tel dl::before {
    position: absolute;
    content: "";
    display: block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 70px;
    height: 70px;
    border-radius: 100%;
    background: #FDF2DF url("../img/base/tel.png") center no-repeat;
    background-size: 50%;
  }
}

@media screen and (max-width: 479.98px) {
  .contact-us-tel dl::before {
    position: static;
    margin: 0 auto;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    width: 60px;
    height: 60px;
  }
}

.contact-us-tel dl dt {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
}

@media screen and (max-width: 767.98px) {
  .contact-us-tel dl dt {
    text-align: left;
  }
}

@media screen and (max-width: 479.98px) {
  .contact-us-tel dl dt {
    text-align: center;
    font-size: 1.4rem;
  }
}

.contact-us-tel .tel-link {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 3.2rem;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -.043em;
}

@media screen and (max-width: 479.98px) {
  .contact-us-tel .tel-link {
    font-size: 2.8rem;
  }
}

.contact-us-tel a.tel-link {
  color: #fff;
}

.contact-us-tel a.tel-link:hover {
  color: #fff;
  text-decoration: none;
}

/* --------------------------------

  id00　フォト

-------------------------------- */
.photo-section {
  padding: 5em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .photo-section {
    padding: 3.5em 1em;
  }
}

/* --------------------------------

  id00　ママの声

-------------------------------- */
.voice-section {
  padding: 5em 1em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 1099.98px) {
  .voice-section {
    padding: 3.5em 1em;
  }
}

/* --------------------------------

  idxx　お知らせ

-------------------------------- */
.news-area {
  position: relative;
  padding: 3em 2em 3.5em 2em;
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

@media screen and (max-width: 767.98px) {
  .news-area {
    padding: 2em 1em 2.5em 1em;
  }
}

.news-area .inner {
  line-height: 1.5;
}

.news-area .news-list {
  -webkit-transform: rotateZ(0.03deg);
          transform: rotateZ(0.03deg);
}

.news-area .news-list .news-date {
  color: #fff;
  font-size: 1.8rem;
}

@media screen and (max-width: 767.98px) {
  .news-area .news-list .news-date {
    font-size: 1.6rem;
  }
}

.news-area .news-list .news-title {
  font-size: 1.8rem;
}

@media screen and (max-width: 767.98px) {
  .news-area .news-list .news-title {
    font-size: 1.6rem;
  }
}

.news-area .news-list .news-main {
  margin-left: 1.3em;
}

@media screen and (max-width: 767.98px) {
  .news-area .news-list .news-main {
    margin-left: .7em;
  }
}

.news-area-section .news-area .news-topics:not(:last-child) .news-link {
  border-bottom: 2px dotted #ccc;
}

.news-area-section .news-area .news-topics:last-child .news-link {
  border-bottom: 2px dotted #ccc;
}

.news-topics .news-link {
  padding-bottom: 1em;
}

.news-detail {
  padding: 3em 2em 3.5em 2em;
}

@media screen and (max-width: 767.98px) {
  .news-detail {
    padding: 2em 1em 2.5em 1em;
  }
}

.news-detail-section .news-date {
  color: #3C5CAF;
}

.news-detail-img {
  max-width: 478px;
  margin: 2em auto 2em;
}

.news-detail .inner {
  line-height: 1.5;
}

.news-body {
  word-break: break-all;
  word-wrap: break-word;
  text-align: left;
}

.news-text {
  margin-top: .5em;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}

.news-text p,
.news-text div {
  word-break: break-all;
  word-wrap: break-word;
}

.news-back {
  clear: both;
  max-width: 1100px;
  margin: 2em auto 0;
  padding: 2em 0 0;
  text-align: center;
  border-top: 1px dotted #ddd;
}

.news-back .link-button {
  text-align: left;
  font-size: 1.8rem;
  max-width: 180px;
}

.news-main {
  margin-left: .7em;
}

/* お知らせ一覧 */
.news-list li:not(:last-child) {
  margin-bottom: 1em;
}

.news-list .news-topics:not(:last-child) .news-link {
  border-bottom: 3px dotted #ddd;
}

.news-list .news-link {
  display: block;
  position: relative;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 639.98px) {
  .news-list .news-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.news-list .news-link:hover {
  text-decoration: none;
}

.news-list .news-link:hover .news-date {
  background-color: #EB623C;
}

.news-list .news-link:hover .news-title {
  text-decoration: none;
  color: #EB623C;
}

.news-list .news-date {
  font-size: .9em;
  color: #fff;
  background-color: #B20000;
  border-radius: 10em;
  display: inline-block;
  max-width: 142px;
  width: 100%;
  letter-spacing: .028em;
  text-align: center;
  padding: .35em .2em;
  margin-bottom: .7em;
}

@media screen and (min-width: 640px), print {
  .news-list .news-date {
    font-size: 1.7rem;
    margin-right: 1.3em;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 639.98px) {
  .news-list .news-date {
    max-width: 122px;
    padding: .3em .2em;
  }
}

.news-list .news-title {
  word-break: break-all;
  word-wrap: break-word;
  color: #444444;
  font-size: .9em;
  font-weight: 500;
  letter-spacing: .028em;
}

@media screen and (min-width: 640px), print {
  .news-list .news-title {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
    font-size: 1.7rem;
  }
}


/*20210726 kouji修正*/
@media screen and (min-width: 1100px), print {
  .main-nav .nav-orthodontics .nav-link {
    padding-left: 3em;
  }
}

@media screen and (min-width: 1100px), print {
  .main-nav .nav-orthodontics {
    padding: .8em;
  }
}

.orthodontics-flow-image img {
  border-radius: 0px;
}

@media screen and (max-width: 479.98px) {
  .orthodontics-flow-image img {
    border-radius: 0;
  }
}

.flowimg1{
  float: left; margin: 0 0px 100px 0;
}
.flowimg2{
  float: left; margin: 0 0px 0 0 ;
}

@media screen and (min-width: 479.98px) {
  .flowimg1,
  .flowimg2 {
    float:none;
    margin: auto;
  }
}

/* 221201 追加 */
.orthodontics-center {
  margin: 0 auto;
  margin-bottom: 1em;
  text-align: center;
  width: 80%;
}

.orthodontics-more {
  margin: 0 auto;
  text-align: center;
}

