@charset "utf-8";

@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:700|Work+Sans&display=swap");

html {
  font-size: 100%; /*16px*/
  line-height: 2; /*32px*/
  color: #505050;
  font-family: Work Sans, Helvetica, Arial, "Hiragino Sans",
    "ヒラギノ角ゴシック", YuGothic, "Yu Gothic", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic";
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  background-color: white;
  font-weight: 600;
  letter-spacing: 0.125em;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

body,
ul,
ol,
dl,
dd,
tr,
th,
td,
footer {
  margin: 0;
  padding: 0;
}

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

img,
iframe {
  vertical-align: bottom;
}

/* -- contents -- */

.contents,
.contents_mini {
  margin: 0 auto;
}

.contents {
  width: 91.6666%;
  padding: 3em 0;
}

.contents > section {
  margin: 0.75em 0;
}

.contents_mini {
  width: 83.3333%;
}

.width_sp91,
.width_sp91r {
  width: 91.6666%;
}

.width_sp91r {
  margin-left: auto;
}

/* -- font -- */

h1 {
  font-size: 250%; /*40px*/
  line-height: 1.2; /*48px*/
}
h2 {
  font-size: 200%; /*32px*/
  line-height: 1.5; /*48px*/
}
h3 {
  font-size: 150%; /*24px*/
  line-height: 1.3333;
}

a {
  color: #505050;
  text-decoration: none;
  background: transparent;
}

.eng {
  font-family: Roboto Condensed, sans-self;
}

.small {
  font-size: small;
}

.medium {
  font-size: 1.1em;
}

.big {
  font-size: 150%;
}

.text_r,
a.text_r {
  text-align: right;
}
a.text_r {
  display: block;
}

.title {
  text-align: center;
}

/* -- color -- */

.blue,
.blue a {
  color: #006da7;
}
.sky,
.sky a {
  color: #00bbf5;
}
.red,
.red a {
  color: red;
}
.orange,
.orange a {
  color: #ed7a04;
}
.mint {
  color: #28b6aa;
}

.marker_y {
  background: linear-gradient(transparent 60%, yellow 60%);
}

.b_orange,
a.b_orange,
.b_mint,
.b_mint a,
.b_blue,
.b_blue a,
.b_emeld,
.b_emeld a,
.b_gblue,
.b_gblue a,
.b_gmblue,
.b_gmblue a {
  color: white;
}

.b_sky,
a.b_sky {
  background-color: #cff3f7;
}

.b_mint,
a.b_mint {
  background-color: #28b6aa;
}

.b_blue,
a.b_blue {
  background-color: #006da7;
}

.b_emeld,
a.b_emeld {
  background-color: #17a1c1;
}

.b_orange,
a.b_orange {
  background-color: #ed7a04;
}

.b_gblue,
a.b_gblue {
  background: -webkit-linear-gradient(65deg, #0095db, #006da7, #004a81);
  background: linear-gradient(65deg, #0095db, #006da7, #004a81);
}

.b_gmblue,
a.b_gmblue {
  background: -webkit-linear-gradient(65deg, #28b6aa, #006da7);
  background: linear-gradient(65deg, #28b6aa, #006da7);
}

.maru_title {
  width: 66.6666%;
}

.maru_title h1 {
  margin: 0;
  line-height: 1;
}

.maru_title p {
  margin-bottom: 0;
}

.maru {
  position: relative;
  padding: 50%;
  border-radius: 50%;
  text-align: center;
}
.maru_naiyo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* ----- bg ----- */

.bg_rec,
.bg_invi,
.bg_dentist,
.bg_treatment,
.bg_mama {
  background-repeat: no-repeat;
  background-size: cover;
}

.bg_treatment,
.bg_mama {
  background-position: center center;
}

.bg_rec {
  background-image: url(../images/top/top_rec.jpg);
  background-position: top center;
}
.bg_invi {
  background-image: url(../images/top/top_invi2.jpg);
  background-position: 90% top;
  border: 1em solid white;
}
.bg_dentist {
  background-image: url(../images/top/top_p01.jpg);
  background-position: center 40%;
}
.bg_treatment {
  background-image: url(../images/top/top_p03.jpg);
}
.bg_mama {
  background-image: url(../images/top/top_p04.jpg);
}

/* ----- cta ----- */

a.cta {
  text-align: center;
  padding: 0.75em 4.1666%;
  font-size: 125%;
  display: block;
  -webkit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s,
    -webkit-transform 0.3s;
  transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

a.cta:hover {
  background-color: #505050;
  box-shadow: none;
  -webkit-transform: translateY(0.125em);
  transform: translateY(0.125em);
}

.cta:active {
  transition-duration: 0.1s;
}

/* --- movie --- */

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* --- toggle --- */

.toggle + section {
  display: none;
}

/* ----- waku ----- */

.waku {
  box-sizing: border-box;
  padding: 1.5em 4.1666%;
}

.waku > h1,
.waku > h2,
.waku > h3,
.waku > p,
.waku > .hide > h1,
.waku > .hide > h2,
.waku > .hide > h3,
.waku > .hide > p {
  margin-top: 0;
}

.l_blue {
  border: 0.0625em solid #006da7;
}

.l_gray {
  border: 0.0625em solid #ccc;
}

/*--col--*/

.colm li {
  margin: 0.8em !important;
  height: 100px;
}

.col2,
.col3,
.col4,
.col_koshi {
  margin: 0 -2.5%;
}

.col_koshi > li,
.col2 > li,
.col3 > li,
.col4 > li {
  list-style: none;
  box-sizing: border-box;
  position: relative;
}

.col2 > li,
.col3 > li,
.col4 > li,
.col_koshi > li {
  margin: 1.5em 2.5%;
}

.col2 > li,
.col3 > li,
.col4 > li {
  float: left;
}

.col2 > li,
.col4 > li {
  width: 45%;
}

.col3 > li {
  width: 28.3333%;
}

.col_koshi > li {
  background-color: #00bbf5;
}

.col_koshi > li a {
  padding: 1.5em 8.3333%;
}

.col_koshi > li:nth-child(odd) {
  background-color: #28b6aa;
}

/*--float_kiji--*/

.float_l,
.float_r {
  overflow: hidden;
}

.float_l_kiji,
.float_r_kiji {
  padding: 1.5em 4.1666%;
  box-sizing: border-box;
  position: relative;
  margin-top: -1.5em;
}
.float_l_kiji p br,
.float_r_kiji p br {
  display: none;
}
.float_l_img,
.float_r_img {
  position: relative;
}
.float_l_img img,
.float_r_img img {
  width: 100%;
}

.float_l_kiji h1,
.float_r_kiji h1 {
  margin: 0;
}

.float_l_img.waku,
.float_r_img.waku {
  padding: 1.5em 8.3333%;
}

/* --- ico --- */

.i_free,
.i_mail {
  width: 1.5em;
  height: 1em;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
}

.i_free {
  background-image: url(../images/ico/i_free.svg);
}

.i_mail {
  background-image: url(../images/ico/i_mail.svg);
}

/* ----- anime ----- */

.anime_line_right,
.anime_line_left {
  position: relative;
}

.anime_line_right:after,
.anime_line_left:after {
  display: inline;
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  background-color: #006da7;
}

.anime_line_right .hide,
.anime_line_left .hide {
  -webkit-transition: all 0s 1.75s ease;
  -moz-transition: all 0s 1.75s ease;
  transition: all 0s 1.75s ease;
  opacity: 0.75;
}
.anime_line_right.on .hide,
.anime_line_left.on .hide {
  opacity: 1;
}

.anime_line_right.on:after {
  -webkit-animation: anime_line_right 1.75s ease 0.875s 1 normal both running;
  animation: anime_line_right 1.75s ease 0.875s 1 normal both running;
}

@-webkit-keyframes anime_line_right {
  0% {
    -webkit-transform-origin: left center;
    -webkit-transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left center;
    -webkit-transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right center;
    -webkit-transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: right center;
    -webkit-transform: scaleX(0);
  }
}
@keyframes anime_line_right {
  0% {
    transform-origin: left center;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left center;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right center;
    transform: scaleX(1);
  }
  100% {
    transform-origin: right center;
    transform: scaleX(0);
  }
}
.anime_line_left.on:after {
  -webkit-animation: anime_line_left 1.75s ease 0.875s 1 normal both running;
  animation: anime_line_left 1.75s ease 0.875s 1 normal both running;
}

@-webkit-keyframes anime_line_left {
  0% {
    -webkit-transform-origin: right center;
    -webkit-transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: right center;
    -webkit-transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: left center;
    -webkit-transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: left center;
    -webkit-transform: scaleX(0);
  }
}
@keyframes anime_line_left {
  0% {
    transform-origin: right center;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right center;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left center;
    transform: scaleX(1);
  }
  100% {
    transform-origin: left center;
    transform: scaleX(0);
  }
}

.anime_fadein {
  transform: translatey(3em);
  opacity: 0.75;
  transition: opacity 2s, transform 1.25s;
}

.anime_fadein.on {
  opacity: 1;
  transform: translateX(0);
}

.anime_fadeindown,
.fixed {
  -webkit-animation-name: fadeindown;
  animation-name: fadeindown;
}

.anime_fadeindown {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

/*speed*/

.slow01 {
  transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
}
.slow02 {
  transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
}

/* ----- info ----- */

#info dl {
  margin-bottom: 1.5em;
  padding-bottom: 0.25em;
  border-bottom: 0.025em solid #eee;
}

#info dl:last-of-type {
  border-bottom: none;
}

#info dl dt strong {
  margin-left: 0.25em;
  padding: 0 0.5em;
}

.pager {
  text-align: center;
}

.pager a,
.pager a.current {
  border-radius: 0.125em;
  margin: 0 0.25em;
  padding: 0.25em 0.5em;
  border: 1px solid #1e1e1e;
}

.pager a.current,
.pager a:hover {
  background-color: red;
  color: white;
}

/*--chu-syaku--*/

.iist_kome {
  list-style: none;
}

.iist_kome li {
  padding-right: 0.5em;
}

.iist_kome li:before {
  content: "※";
  padding-right: 0.25em;
}

/* --selection---*/

::selection {
  background-color: #e7e7e7;
}
::-moz-selection {
  background-color: #e7e7e7;
}

/*---header---*/

#header {
  z-index: 9998;
  position: fixed;
  top: 0;
  box-sizing: border-box;
  width: 100%;
}

#logo {
  display: block;
  padding: 0.75em 8.3333%;
  background-color: white;
  text-align: center;
}

#logo h1 {
  font-size: 0%;
}

#drawer_menu {
  display: none;
  text-align: center;
}
/*
#drawer_menu li {
  float: left;
  list-style: none;
} */

#drawer_menu > li {
  position: relative;
  float: left;
  width: 100%;
  list-style: none;
}



/** dropdown **/

/* #drawer_menu > li ul li {
  width: 50%;
  line-height: 1.5;
}

.dropdown {
  width: 100% !important;
} */

/* #drawer_menu > li ul li a,
#drawer_menu > li ul li:nth-child(1n),
#drawer_menu > li ul li:nth-child(4n + 1),
#drawer_menu > li ul li:nth-child(4n + 4) {
  background-color: #ed913e !important;
}

#drawer_menu > li ul li:nth-child(4n + 1) a,
#drawer_menu > li ul li:nth-child(4n + 4) a {
  background-color: #ef7a00 !important;
} */

/**menu**/

#sp_menu li {
  cursor: pointer;
  background: -webkit-linear-gradient(65deg, #0095db, #006da7, #004a81);
  background: linear-gradient(65deg, #0095db, #006da7, #004a81);
  float: left;
  width: 33.3333%;
  box-sizing: border-box;
  padding: 0.375em 0;
  list-style: none;
  text-align: center;
}

#sp_menu li a {
  color: white;
}

#sp_menu li i {
  padding-right: 0.5em;
}

/**menu_btn**/

#menu_btn {
  position: relative;
  top: 0.125em;
  left: 0;
}

#menu_btn span {
  right: 0;
}

#menu_btn span,
#menu_btn span:before,
#menu_btn span:after {
  border-radius: 12.5%;
  width: 1em;
  height: 0.125em;
  background-color: white;
  position: absolute;
  display: block;
  content: "";
  top: 0.5em;
  transition: all 100ms ease-in-out;
}
#menu_btn span:before {
  top: -0.5em;
}
#menu_btn span:after {
  bottom: -0.5em;
}

.active #menu_btn span {
  background-color: transparent;
}
.active #menu_btn span:before,
.active #menu_btn span:after {
  top: 0;
}
.active #menu_btn span:before {
  transform: rotate(45deg);
}
.active #menu_btn span:after {
  transform: rotate(-45deg);
}

/* --- top --- */

#top_margin {
  width: 100%;
  height: 6.75em;
}

#top_slide {
  width: 100%;
  background: -webkit-linear-gradient(-45deg, #85bce6, #e7f0fa);
  background: linear-gradient(-45deg, #85bce6, #e7f0fa);
  background: #85bce6;
  color: white;
  overflow: hidden;
  background-size: 400% 400%;
  animation: topanime 10s ease infinite;
}

#top_slide main {
  padding: 1.5em 8.3333%;
  box-sizing: border-box;
  font-size: 0.75em;
  text-align: center;
}

#top_slide h1 {
  line-height: 2;
}

/* --- sinryo --- */

#sinryo_menu ul {
  width: 91.6666%;
  margin-left: auto;
}

#sinryo_menu li {
  margin: 0.75em 0;
  padding: 1.5em 8.3333%;
  list-style: none;
  box-sizing: border-box;
}

#sinryo_menu li section {
  overflow: hidden;
}

#sinryo_menu li section,
#sinryo_menu li h2 {
  margin: 0;
}

#sinryo_menu li p {
  margin-bottom: 0;
}

#sinryo_menu li > img {
  width: 25%;
  float: left;
  margin-right: 8.3333%;
}

/* ----- tag ----- */

.tag {
  margin: 0.75em 0;
}

.tag li,
.tag li a {
  color: white;
}

.tag li {
  background-color: #0281c1;
  display: inline-block;
  margin: 0.5em;
  padding: 0 1em;
  line-height: 2;
  border-radius: 0 0.25em 0.25em 0;
  position: relative;
}

.tag li.hover {
  background-color: #ed7a04;
}

.tag li.hover:before {
  border-right: 0.5em solid #ed7a04;
}

.tag li:before,
.tag li:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
}

.tag li:before {
  border-top: 1em solid transparent;
  border-bottom: 1em solid transparent;
  border-right: 0.5em solid #0281c1;
  margin-left: -0.5em;
}

.tag li:after {
  background-color: white;
  border-radius: 50%;
  width: 0.25rem;
  height: 0.25rem;
  top: 0.9em;
}

/* --map---*/

#map {
  height: 21em;
}

/* --table mail---*/

.table,
.mail {
  width: 100%;
  border-collapse: collapse;
  word-break: break-all;
  box-sizing: border-box;
  background-color: white;
}

.table,
.table th,
.table td {
  border: 0.0125em gray solid;
}

.table th,
.mail th {
  background-color: #006da7;
  padding: 1em 4.1666%;
  text-align: center;
  color: white;
}

.table,
.table th,
.table td,
.mail,
.mail th,
.mail td {
  border: 0.0125em gray solid;
}

.table td {
  padding: 0 1em;
}

.mail th,
.mail td {
  display: block;
  padding: 1.5em 4.1666%;
}

.mail th strong {
  margin-left: 0.5em;
  padding: 0.25em 1em;
  background-color: #ed7a04;
}

input[type="button"] {
  margin: 0.75em 0;
}

input[type="date"],
option,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="name"],
textarea,
select,
input[type="number"],
input[type="button"],
input[type="reset"],
input[type="submit"] {
  font-size: 1.5em;
}

input[type="date"],
option,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="name"],
textarea,
select,
input[type="number"] {
  font-size: 1.5em;
  padding: 0.75em 2.0833%;
  box-sizing: border-box;
}

input[type="date"],
input[type="text"],
option,
input[type="email"],
input[type="name"],
input[type="tel"],
textarea,
select,
input[type="number"] {
  display: inline-block;
}

input[type="date"],
input[type="text"],
option,
input[type="email"],
input[type="name"],
input[type="tel"],
textarea,
select {
  width: 100%;
}

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: transparent;
}

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: transparent;
}

input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  border: 0;
  color: white;
  padding: 0.75em 8.3333%;
  background-color: #ed7a04;
  border-radius: 1em;
}

input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  background-color: red;
}

::-webkit-input-placeholder {
  /*chorome*/
  color: #ccc;
  font-style: italic;
}
::-moz-placeholder {
  /*Firefox*/
  color: #ccc;
  font-style: italic;
}
::-ms-input-placeholder {
  /*IE10+*/
  color: #ccc !important;
  font-style: italic;
}

/* --- footer --- */

#footer,
#footer_cta,
#copy {
  text-align: center;
}
#footer_menu,
#footer_menu li > ul {
  padding-left: 1.5em;
}
#footer_menu li > ul {
  margin-bottom: 1.5em;
}
#footer_menu li:last-child > ul {
  margin-bottom: 0;
}
#footer_menu > li {
  list-style: none;
}

#footer_sinryo table {
  width: 100%;
  border-collapse: collapse;
  word-break: break-all;
  box-sizing: border-box;
}

#footer_sinryo table tr:last-child {
  border-top: 0.125em solid #505050;
}

#footer_map,
#footer_sinryo {
  /*margin-bottom: 1.5em;*/
}

#footer_cta,
#footer_cta_pc {
  list-style: none;
  z-index: 8000;
}

#footer_cta {
  width: 100%;
  list-style: none;
  position: fixed;
  bottom: 0;
  display: block;
  width: 100%;
  left: 0;
}

#footer_cta li {
  width: 30%;
  float: left;
  font-size: 70%;
  line-height: 1.2;
}

#footer_cta li:first-child {
  width: 40%;
}

#footer_cta_pc {
  position: fixed;
  right: 0;
  width: 2.25em;
  top: 13.5vh;
  display: none;
}

#footer_cta_pc li a {
  list-style: none;
  padding: 1em 0.5em;
  display: block;
}

#footer_cta_pc li:first-child {
  border-radius: 1em 0 0 0;
}

#footer_cta_pc li:last-child {
  border-radius: 0 0 0 1em;
}

#copy {
  margin: 3em 0;
  font-size: 75%;
  font-weight: 300;
}

#footer_cta li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  height: 40px;
}

.footer_cta__date {
  display: block;
  margin-left: 0.6em;
  letter-spacing: 0;
  font-size: 70%;
}

@media screen and ( min-width: 640px ) {
  #footer_cta li a {
    display: block;
    height: auto;
    padding: 0.75em 4.1666%;
  }

  .footer_cta__date {
    display: inline-block;
    margin-left: 10px;
  }
}

/*--clear--*/

#drawer_menu:after,
#sinryo_menu ul:after,
#sinryo_menu li:after,
#footer:after,
#footer_cta:after,
.contents:after,
.col2:after,
.col_koshi:after,
.col3:after,
.float_r:after,
.float_r_image:after,
.float_l:after,
.float_l_image:after {
  display: block;
  clear: both;
  content: "";
}

@media screen and (min-width: 480px) {
  .contents {
    width: 83.3333%;
  }

  .mail th,
  .mail td {
    display: table-cell;
  }

  .table br,
  .mail br {
    display: none;
  }

  .mail th {
    width: 30%;
    color: white;
  }

  .mail th strong {
    margin-left: 0;
  }

  .width90 h2,
  .width90 h3 {
    font-size: 150%;
  }
}

@media screen and (min-width: 640px) {
  #top_slide main {
    font-size: 1em;
  }
  #footer_s table td {
    padding: 0.75em;
  }

  .maru_title {
    width: 42.5%;
  }

  #footer_menu li > ul {
    margin-bottom: 0;
  }

  #footer_menu > li {
    width: 33.3333%;
    float: left;
  }

  #footer_cta {
    position: relative;
  }
  #footer_cta li {
    width: 100% !important;
    position: relative;
  }
}

@media screen and (min-width: 960px) {
  h1.eng {
    font-size: 375%;
    line-height: 1;
  }
  h1 {
    font-size: 300%;
  }

  h2 {
    font-size: 250%;
  }
  h3 {
    font-size: 175%;
  }

  #header {
    padding: 1.5em 0;
    background-color: white;
  }

  #logo {
    width: 25%;
    margin: 0;
    padding: 0;
  }

  #sp_menu {
    display: none;
  }

  #drawer_menu {
    position: absolute;
    right: 0;
    top: 0;
  }

  #drawer_menu > li > a,
  #drawer_menu > li > a:visited {
    padding: 0.5em;
  }

  #drawer_menu > li {
    position: static;
  }

  #logo,
  #drawer_menu > li > a,
  #drawer_menu > li > a:hover,
  #drawer_menu > li > a:visited,
  #drawer_menu > li > a:visited:hover,
  #drawer_menu > li:nth-child(odd) a {
    background-color: transparent;
  }

  #drawer_menu > li > a,
  #drawer_menu > li > a:hover,
  #drawer_menu > li > a:visited,
  #drawer_menu > li > a:visited:hover {
    color: #0095db;
    font-size: 0.7em;
  }

  #drawer_menu > li > a:hover,
  #drawer_menu > li > a:visited:hover {
    color: #28b6aa;
  }

  #drawer_menu > li:last-child > a.reserved {
    color: #fff;
    background-color: #006da7;
    transition: opacity 0.2s linear;
  }
  #drawer_menu > li:last-child > a.reserved:hover {
    color: #fff;
    opacity: 0.7;
  }

  #drawer_menu {
    display: block !important;
  }

  #drawer_menu > li {
    width: auto;
  }

  #drawer_menu > li ul {
    /* position: absolute;
    display: none;
    z-index: 1;
    width: 75%; */
  }

  .header_pc {
    width: 83.3333%;
    margin: 0 auto;
    position: relative;
  }

  #top_margin {
    height: 6em;
  }

  #top_pc {
    position: relative;
  }

  #top_slide main {
    padding: 3em 0;
    text-align: left;
  }

  #top_pc > img {
    width: 66.6666%;
    right: -8.3333%;
    bottom: 0;
    position: absolute;
  }

  #sinryo_menu ul {
    width: auto;
  }

  #sinryo_menu h1 {
    margin-top: 0;
  }

  #sinryo_menu li h2 {
    margin-top: 0.75em;
  }

  #sinryo_menu li {
    float: left;
    width: 33.3333%;
    padding: 1.5em 4.1666%;
    margin: 0;
  }

  #sinryo_menu li > img {
    width: 100%;
    margin-right: 0;
  }

  #sinryo_menu li section {
    width: 100%;
    float: none;
    padding: 0;
  }

  #sinryo_menu {
    width: 83.3333%;
    margin: 9em auto;
  }

  #footer_map,
  #footer_s {
    float: left;
  }

  #footer_map {
    width: 42.5%;
    margin-bottom: 0;
  }

  #footer_s {
    width: 50%;
    margin-left: 7.5%;
    margin-bottom:10px;
  }

  #footer_cta.bottom {
    display: none !important;
  }

  #footer_cta.bottom li a {
    padding: 0;
  }

  #footer_cta_pc {
    display: block;
  }

  .width_sp91,
  .width_sp91r {
    width: auto;
  }

  .float_l_img,
  .float_r_img {
    width: 45% !important;
  }

  .float_l_kiji,
  .float_r_img {
    float: right;
  }
  .float_r_kiji,
  .float_l_img {
    float: left;
  }

  .float_l_kiji,
  .float_r_kiji {
    width: 55% !important;
    padding: 4.1666%;
    margin-top: 0;
  }

  .float_l_kiji {
    padding: 3em 4.1666% 3em 8.3333%;
  }

  .float_r_kiji {
    padding: 3em 8.3333% 3em 4.1666%;
  }

  .anime_line_right .hide,
  .anime_line_left .hide {
    -webkit-transition: all 0s 1.5s ease;
    -moz-transition: all 0s 1.5s ease;
    transition: all 0s 1.5s ease;
  }

  .anime_line_right.on:after {
    -webkit-animation: anime_line_right 1s ease 2s 1 normal both running;
    animation: anime_line_right 1s ease 1s 1 normal both running;
  }
  .anime_line_left.on:after {
    -webkit-animation: anime_line_left 1s ease 2s 1 normal both running;
    animation: anime_line_left 1s ease 1s 1 normal both running;
  }

  .col_koshi > li {
    width: 45%;
    float: left;
    box-sizing: border-box;
  }

  .col_koshi > li:nth-child(1n) {
    background-color: #00bbf5;
  }

  .col_koshi > li:nth-child(4n + 1),
  .col_koshi > li:nth-child(4n + 4) {
    background-color: #28b6aa;
  }
}

@media screen and (min-width: 1024px) {
  .col2 img {
    width: 80%;
    height: auto;
  }
}

@media screen and (min-width: 1280px) {
  html {
    font-size: 125%; /*20px*/
  }
  .contents {
    width: 75%;
  }
  .contents_mini {
    width: 50%;
  }

  .col2 > li,
  .col4 > li {
    width: 45%;
  }

  .col4 > li {
    width: 20%;
    margin: 2.5% 0.75em;
  }

  #drawer_menu > li > a,
  #drawer_menu > li > a:hover,
  #drawer_menu > li > a:visited,
  #drawer_menu > li > a:visited:hover {
    font-size: 0.8em;
  }
}

@media screen and (min-width: 1600px) {
  h1.eng {
    font-size: 400%;
  }
  #sinryo_menu,
  #footer,
  .header_pc {
    width: 75%;
  }
  .contents {
    width: 66.6666%;
  }
  #drawer_menu > li > a,
  #drawer_menu > li > a:visited {
    padding: 0.75em;
  }
}

@media screen and (min-width: 1900px) {
  #sinryo_menu,
  #footer,
  .header_pc {
    width: 66.6666%;
  }

  #footer_sinryo {
    margin-bottom: 3em;
  }

  .contents {
    width: 50%;
  }

  .float_l_img.waku,
  .float_r_img.waku {
    padding: 3em 16.6666%;
  }
  .float_l_kiji {
    padding: 6em 4.1666% 6em 16.6666%;
  }
  .float_r_kiji {
    padding: 6em 16.6666% 6em 4.1666%;
  }
}

/*IE*/
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Meiryo, sans-serif;
  }
}
.grid {
  width: 100%;
  display: grid;
  display: ms-grid;
  grid-template-columns: 50% 50%;
  -ms-grid-columns: 50% 50%;
}

.epios-pic1 {
  -ms-grid-column: 1;
}

.epios-pic2 {
  -ms-grid-column: 2;
}

@media screen and (max-width: 1024px) {
  .sp {
    display: block;
  }
}
@media screen and (min-width: 1024px) {
  .sp {
    display: none;
  }
}

.font-s {
  font-size: 40%;
}

@media screen and (min-width: 960px) {
  .digitalbook {
    display: grid;
    display: -ms-grid;
    -ms-display: grid;
    grid-template-columns: 40% 60%;
    -ms-grid-columns: 40% 60%;
    -ms-grid-rows: auto;
  }
}
.digitalbook {
  padding: 5%;
}
.book {
  -ms-grid-columns: 1;
}

.book-img {
  -ms-grid-columns: 2;
  padding: 3%;
  text-align: center;
}

.booklet {
  margin: 1rem 0;
  padding: 0 !important;
}
.book-img img {
  width: 60%;
}
.whitening__banner img {
  width: 100%;
}

footer .insta_btn {
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  color: #fff;
}
footer .whitening_btn {
  background: #ffc3db; /* fallback for old browsers */
  background: -webkit-linear-gradient(
    to right,
    #fad3e1,
    #ffc3db
  ); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(
    to right,
    #fad3e1,
    #ffc3db
  ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  color: #fff;
}

footer .invisa_btn {
  color: #fff;
  background: #2193b0; /* fallback for old browsers */

  background: -webkit-linear-gradient(
    to left,
    #2193b0,
    #6dd5ed
  ); /* Chrome 10-25, Safari 5.1-6 */
  background: linear-gradient(
    to left,
    #2193b0,
    #6dd5ed
  ); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.footer__btns {
  list-style: none;
  border-radius: 10px;
  border: 1px solid gray;
  padding-top: 10px;
}
.footer__btns img {
  width: 150px;
  display: block;
  margin: 0 auto;
}
.footer__btns p {
  display: inline;
}
.footer__btns .i_clinic {
  border-bottom: 2px solid #006da7;
  padding: 0px 10px;
}
.footer__btns .i_invisalign {
  border-bottom: 2px solid #2193b0;
  padding: 0px 10px;
}
.footer__btns .i_whitening {
  border-bottom: 2px solid #ffc3db;
  padding: 0px 10px;
}
.footer__btns a {
  display: block;
}

@media screen and (min-width: 960px) {
  .footer__btns a {
    display: inline-flex;
  }

  .footer__btns p {
    font-size: 9px;
  }
}

/*line*/
.line{background:#bcf7d4;
  font-size:12px;
  height: 35px;
}

.line a{text-decoration: underline;}
.line a:hover{text-decoration:none;}


.line img{
  width: 35px;
  height: 35px;
  margin-right: 10px;
}

@media screen and (min-width: 960px) {
  .line{position:relative;
    width:50%;
    background:#bcf7d4;
    font-weight: normal;
    font-size:16px;
    margin: 0 auto;
  }
}



/*202306 AS追加作業--------------------*/

.sup__bnr{
  width: 84%;
  margin:0 auto 5%;
}

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

.sup__bnr--flx > li{
  width: 47.5%;
  list-style: none !important;
  transition: .2s;
}

.sup__bnr--dnbr{
  margin-top: 5%;
  transition: .2s;
}

.sup__bnr--flx > li:hover,
.sup__bnr--dnbr:hover
{
  opacity: .4;
}


@media screen and (max-width: 767px) {
  .sup__bnr{
    width: 90%;
    margin:0 auto 5%;
  }

  .sup__bnr--flx{
    display: block;
  }

  .sup__bnr--flx > li{
    width: 100%;
    margin-bottom: 10%;
  }

  .sup__bnr--flx > li:hover,
  .sup__bnr--dnbr:hover{
    opacity: 1;
  }
}



/*----------20230719AS----------------------*/

.t_inv__wrapp{
  background: url(../images/top/top_invi2.jpg) no-repeat;
  background-position: 90% top;
  position: relative;
  height: 60rem;
  background-size: cover;
}

.t_inv__inf{
  width: 38%;
  position: absolute;
  top: 15%;
  left: 50%;
  background: #006ca5;
  padding:3% 2% 2%;
  box-sizing: border-box;
  margin-left: -39.5%;
}

.t_inv__inf--hd{
  font-size: 325% !important;
  line-height: 80%;
  color: #fad056;
  margin-bottom: .5%;
  margin-top: 0;
}

.t_inv__inf--hd strong{
  font-size: 27.5%;
  display: block;
}

.t_inv__inf--tl{
  font-size: 110% !important;
  margin: 0 0 5%;
  color: #fff;
  line-height: 220%;
}

.t_inv__inf--tl strong{
  font-size: 185% !important;
  display: block;
}

.t_inv__inf--tx{
  color: #fff;
  line-height: 160%;
  margin-bottom: 5%;
}

.pc--none{
  display: none;
}

.sp--none{
  display:block;
}

@media screen and (max-width:768px) {

  .t_inv__wrapp{
    background: url(../images/top/top_invi2_sp.jpg) no-repeat;
    background-position: 90% top;
    position: relative;
    height: 115vw;
    background-size: contain;
    padding: 50vw 0 0;
  }

  .t_inv__inf{
    width: 90%;
    position: static;
    padding:7.5%;
    box-sizing: border-box;
    margin:0 auto;
  }

  .t_inv__inf--hd{
    font-size: 10vw !important;
    line-height: 8vw;
    margin-bottom: 3.5%;
    margin-top: 0;
  }

  .t_inv__inf--hd strong{
    font-size: 4.15vw;
    line-height: 6vw;
    margin-top: 1.5vw;
  }

  .t_inv__inf--tl{
    font-size: 3.75vw !important;
    margin: 0 0 5vw;
    line-height: 8vw;
  }

  .t_inv__inf--tl strong{
    font-size: 4.15vw;
  }

  .t_inv__inf--tx{
    font-size: 4vw;
    line-height: 7vw;
    margin-bottom: 5vw;
  }

  .pc--none{
    display:block;
  }

  .sp--none{
    display:none;
  }

}


/*----------20230904AS----------------------*/
@media screen and (max-width:768px) {
  .top--philo>.col3 li{
    float: none;
    height: auto !important;
    width: 95%;
  }
}


/*----------20230915AS----------------------*/

.top__line--btns li::marker{
  content: none !important;
}

.top__line--btns ul
 {
  list-style: none !important;
}

.top__line--bnr{
  padding: 80px 0 ;
  margin: 0 auto;
  width: 100%;
	box-sizing: border-box;
  background: #00B901;
}

.top__line--bnr .inner {
	max-width: 1170px;
	box-sizing: border-box;
	padding: 30px;
	height: auto;
  border-radius: 10px;
	background: #fff;
  margin: 0 auto;
}

.top__line--hd{
	margin: 0 auto 15px;
	text-align: center;
  width: 70%;
}

.top__line--btns{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	width: 70%;
  margin: 0 auto;
}

.top__line--btns li{
	width: 48%;
}

.top__line--btns img{
  transition: .3s;
}

.top__line--btns img:hover{
  opacity: .5;
}


@media screen and (max-width:768px) {
  .top__line--bnr{
    padding: 6.5% 3.25%;
    margin: 0;
    width: 100%;
  }

  .top__line--bnr .inner {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    border-radius: 5vw;
    padding: 5vw 5vw 1vw;
  }

  .top__line--hd{
    margin: 0 auto 5vw;
    text-align: center;
    width: 90%;
  }

  .top__line--btns{
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  .top__line--btns li{
    width: 100%;
    margin-bottom: 5vw;
  }


  .top__line--btns img:hover{
    opacity: 1;
  }
}


/*----------202310AS----------------------*/
.foot__bnr--tooth{
  margin-top: 2.5%;
  display: block;
}

ul.bnr{
  list-style: none;
}

@media screen and (max-width:768px) {
  .foot__bnr--tooth{
    margin-top: 5%;
  }
}

/*202411 MegaMenu ++ ------------------------------------------*/
.drawer__megamenu{
  top: 6rem;
  position: absolute;
  display: none;
  z-index: 1;
}
.pos01{
  left: -13rem;
}
.pos01 ol{
  width: 70% !important;
}
.pos02{
  left: 3.25rem;
}
.pos02 ol{
  width: 70% !important;
}
.pos03{
  left: 12rem;
}
.pos03 ol{
  width: 55% !important;
}
.drawer__megamenu ol{
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  background: #fff;
  border-radius: 10px;
  padding: 2rem 1rem 1rem 1.85rem;
  position: relative;
  box-shadow:1px 1px 8px #9e9e9e;
}

.drawer__megamenu ol::before{
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
}
.drawer__megamenu ol::before {
  top: -1rem;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  border-width: 0 1.15rem 1.35rem 1.15rem;
}
.drawer__megamenu ol li{
  list-style: none;
  width: 20%;
  padding: .5rem .85rem;
}
.drawer__megamenu ol.rows-Two li{
  width: 42%;
  padding: .5rem .85rem;
}
.drawer__megamenu ol.rows-TwoImg li{
  width: 40%;
  padding: .5rem .85rem .5rem .5rem;
}
.drawer__megamenu--btn{
  display: flex;
  align-items: center;
  justify-content: center;
}
.drawer__megamenu--btn span{
  display: block;
  width: 80%;
}
.drawer__megamenu--btn:after{
  background: url(../images/corporate-Menu/arrow.png) no-repeat;
  background-size: contain;
  content: "";
  display: block;
  width: 1.15rem;
  height: 1.15rem;
}
.drawer__megamenu--img{
  margin-bottom: 1rem;
}
.drawer__megamenu--img img{
  width: 100%;
  display: block;
}
.drawer__megamenu--btn{
  color: #006ca5;
  font-size: .75rem;
  line-height: 1rem;
  text-align: left;
  margin-bottom: .85rem;
  letter-spacing: -.010rem;
}
.drawer__megamenu--txt{
  font-size: .65rem;
  line-height: .9rem;
  letter-spacing: -.010rem;
  text-align: left;
}
@media screen and (max-width:1275px) {
  .pos01{
    left: -13rem;
  }
  .pos02{
    left: .5rem;
  }
  .pos03{
    left: 10rem;
  }
  .pos01 ol{
    width: 75% !important;
  }
  .pos02 ol{
    width: 70% !important;
  }
  .pos03 ol{
    width: 55% !important;
  }
}
@media screen and (max-width:768px) {
  /*既存スタイルシートそのまま活用*/
  #drawer_menu > li a,
  #drawer_menu > li a:hover,
  #drawer_menu > li a:visited,
  #drawer_menu > li a:visited:hover {
    color: white;
  }
  #drawer_menu > li a,
  #drawer_menu > li a:visited {
    display: block;
    background-color: #0095db;
    padding: 0.75em;
    box-sizing: border-box;
  }
  #drawer_menu > li a:hover,
  #drawer_menu > li a:visited:hover {
    background-color: #006da7;
  }
  #drawer_menu > li:nth-child(odd) a {
    background-color: #2581dc;
  }
  .drawer__megamenu{
    position: static;
  }
  .drawer__megamenu ol{
    border-radius: 0;
    position: static;
  }
  .drawer__megamenu ol li{
    width: 42.5%;
    padding:.25rem .55rem .25rem;
  }
  .drawer__megamenu ol.rows-Two li{
    width: 42.5%;
    padding:.25rem .55rem .25rem;
  }
  .drawer__megamenu ol.rows-TwoImg li{
    width: 42.5%;
    padding:.25rem .55rem .25rem;
  }
  .drawer__megamenu>ol>li a{
    padding: 0 !important;
    background-color:#fff !important;
  }
  .drawer__megamenu ol::before{
    content:none;
  }
  .pos01 ol{
    width: 100% !important;
    height:60vh;
    padding:1.25rem .5rem 2rem;
    overflow-y: scroll;
  }
  .pos02 ol{
    width: 100% !important;
    padding:1.5rem .5rem;
    /* height:60vh;
    overflow-y: scroll; */
  }
  .pos03 ol{
    width: 100% !important;
    padding:2rem .5rem;
    /* height:60vh;
    overflow-y: scroll; */
  }

  .drawer__megamenu--img{
    margin-bottom: .45rem;
  }
  .drawer__megamenu--txt{
    display: none;
  }
}
