@charset "UTF-8";

/*==================================================
common
==================================================*/

/*
:root {
  --dark:   #003e5a;
  --red:    #f05541;
  --yellow: #ffc800;
}
*/

* {
  box-sizing: border-box;
  line-height: 1px;
}

html {
  width: 100%;
  height: 100%;
  position: relative;
}

body {
  margin: 0;
  width: 100%;
  height: 100%;
  position: relative;
  font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", "Arial", "Meiryo", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 25px;
  color: #434343;
}

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

section {
  position: relative;
  z-index: 0;
}

.wrapper {
  /* 2024/06/03 幅750→400対応 */
  /* padding-bottom: 114px; */
  padding-bottom: 62px;
}

.container {
  /* 2024/06/03 幅750→400対応 */
  /* width: 750px; */
  width: 400px;
  max-width: 100%;
  margin: 0 auto;
}

.btn-move-to-pagetop {
  position: fixed;
  right: 0;
  bottom: 0;
  /* 2024/06/03 幅750→400対応 */
  /* margin: 0 calc((100vw - 750px) / 2 + 10px) calc(2.6% + 114px) 0; */
  margin: 0 calc((100vw - 400px) / 2 + 10px) calc(0% + 90px) 0;
}

.btn-move-to-pagetop img {
  display: inline-block;
  /* 2024/06/03 幅750→400対応 */
  /* width: 110px;
  height: 150px; */
  width: 64px;
  height: 90px;
}

.button-box {
  display: flex;
}

.map-box {
  display: flex;
}

.map-box span {
  /* 2024/06/03 幅750→400対応 */
  /* width: 48px; */
  width: 26px;
  flex-grow: 0;
  flex-shrink: 0;
}

.map-box iframe {
  /* 2024/06/03 幅750→400対応 */
  /* aspect-ratio: 654/500;
  width: 654px;
  height: 500px; */
  aspect-ratio: 348/270;
  width: 348px;
  height: 270px;
  flex-grow: 0;
  flex-shrink: 0;
}

@media (max-width: 749px) {
  .wrapper {
    padding-bottom: 15.46vw;
  }

  .btn-move-to-pagetop {
    margin: 0 1.3% calc(2.6% + 15.46vw) 0;
  }

  .btn-move-to-pagetop img {
    width: 14.67vw;
    height: auto;
  }

  .map-box span {
    width: 6.5%;
    flex-grow: 0;
    flex-shrink: 0;
  }

  .map-box iframe {
    width: 87.2%;
    height: auto;
    flex-grow: 0;
    flex-shrink: 0;
  }
}

/*==================================================
site header
==================================================*/

#site-header {
  position: absolute;
  z-index: 1;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  overflow: hidden !important;
}

#site-header>.container {
  position: relative;
  /* 2024/06/03 幅750→400対応 */
  /* width: 750px; */
  width: 400px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 75/10;
  margin: 0 auto;
}

#site-header>.container>#site-header-navigation {
  display: flex;
  justify-content: center;
  align-items: center;
}

#site-header>.container>#site-header-navigation #site-logo-container {
  width: 75%;
  text-align: center;
  margin-left: 12.5%;
}
#site-header>.container>#site-header-navigation #site-logo-container img {
  width: 50%;
}

#site-header>.container>#site-header-navigation #menu-btn-container {
  aspect-ratio: 1/1;
  width: 12.5%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

#site-header>.container>#site-header-navigation #menu-btn-container #menu-btn {
  display: inline-block;
  width: 50%;
  height: auto;
}

#site-header>.container>#site-header-navigation #menu-btn-container #menu-btn img {
  width: 100%;
  height: auto;
}

#menu-sp {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: none;
  opacity: 0;
  width: 100%;
  height: auto;
}

#menu-sp img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 749px) {
  #site-header>.container>#site-header-navigation #site-logo-container {
    width: 75%;
    text-align: center;
    margin-left: 12.5%;
  }

  #site-header>.container>#site-header-navigation #site-logo-container img {
    width: 30.9vw;
    height: auto;
  }
}

/*==================================================
site footer
==================================================*/

#footer-isehara-access {
  position: relative;
}

.footer-isehara-access_map-item,
.footer-isehara-access_list-item {
  position: absolute;
  display: block;
}

.footer-isehara-access_map-item img,
.footer-isehara-access_list-item img {
  transition: all ease-in-out 0.3s;
}

.footer-isehara-access_map-item img:hover,
.footer-isehara-access_list-item img:hover {
  transform: scale(1.1);
}

#footer-isehara-access_map_ito-shokudo {
  top: 22.84%;
  left: 16.53%;
  width: 11.74%;
  height: 5.60%;
}

#footer-isehara-access_map_d-parking-01 {
  top: 31.91%;
  left: 12.00%;
  width: 20.80%;
  height: 2.75%;
}

#footer-isehara-access_map_d-parking-02 {
  top: 34.65%;
  left: 47.33%;
  width: 21.33%;
  height: 2.75%;
}

#footer-isehara-access_map_direct-park-03 {
  top: 39.70%;
  left: 30.93%;
  width: 24.00%;
  height: 2.75%;
}

#footer-isehara-access_map_direct-park-12 {
  top: 45.03%;
  left: 47.87%;
  width: 24.00%;
  height: 2.75%;
}

#footer-isehara-access_list_ito-shokudo {
  top: 59.09%;
  left: 11.73%;
  width: 76.53%;
  height: 4.01%;
}

#footer-isehara-access_list_ito-shokudo img {
  width: 47.04%;
  height: auto;
}

#footer-isehara-access_list_d-parking-01 {
  top: 68.70%;
  left: 11.73%;
  width: 35.20%;
  height: 5.49%;
}

#footer-isehara-access_list_d-parking-01 img {
  width: 88.26%;
  height: auto;
}

#footer-isehara-access_list_d-parking-02 {
  top: 68.70%;
  left: 53.07%;
  width: 35.20%;
  height: 5.49%;
}

#footer-isehara-access_list_d-parking-02 img {
  width: 89.58%;
  height: auto;
}

#footer-isehara-access_list_direct-park-03 {
  top: 76.22%;
  left: 11.73%;
  width: 35.20%;
  height: 5.49%;
}

#footer-isehara-access_list_direct-park-03 img {
  width: 97.54%;
  height: auto;
}

#footer-isehara-access_list_direct-park-12 {
  top: 76.22%;
  left: 53.07%;
  width: 35.20%;
  height: 5.49%;
}

#footer-isehara-access_list_direct-park-12 img {
  width: 98.67%;
  height: auto;
}

/*==================================================
cv area
==================================================*/

#sticky-cv-buttons {
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
}

#sticky-cv-buttons .cv-button-group {
  display: flex;
  justify-content: space-between;
  margin: 0 -2px;
  background: #fff;
}

#sticky-cv-buttons .cv-button-group a {
  margin: 4px 2px 0;
}

#sticky-cv-buttons .cv-button-group img {
  width: 100%;
  height: auto;
}

/* 20241105 下部固定ボタン変更 */
/* #sticky-cv-buttons .cv-button-group .cv_line {
  width: calc((750px - 8px) * 0.2561);
} */

/* #sticky-cv-buttons .cv-button-group .cv_isehara {
  width: calc((750px - 8px) * 0.3719);
}

#sticky-cv-buttons .cv-button-group .cv_fujisawa {
  width: calc((750px - 8px) * 0.3719);
} */

/*==================================================
main visual
==================================================*/

#main-visual {
  position: relative;
  margin-bottom: -40px;
  z-index: 0;
}

#main-visual .container {
  background-color: #fff;
  /* 2024/06/03 幅750→400対応 */
  /* width: 750px; */
  width: 400px;
  max-width: 100%;
  height: auto;
/*   aspect-ratio: 1/1; */
}

#main-visual .slide {
  position: relative;
}

#main-visual .slide img {
  width: 100%;
  height: auto;
}
#main-visual .slide img#btn-invisalign-fv {
    width: 75%;
    margin: auto;
    margin-top: min(-44%, -140px);
    margin-bottom: 70px;
}
img#btn-invisalign-fv:hover {
    opacity: 0.8;
    transition: 0.5s;
}

.slick-prev,
.slick-next {
  z-index: 1;
  width: 60px !important;
  height: 60px !important;
  margin-top: -35px;
}

.slick-prev {
  left: 0 !important;
}

.slick-next {
  right: 0 !important;
}

.slick-prev:before,
.slick-next::before {
  display: block;
  content: "" !important;
  width: 60px;
  height: 60px;
  background-size: cover;
  opacity: 1 !important;
}

.slick-prev:before {
  background-image: url(../img/btn_slide_left@2x.png);
}

.slick-next::before {
  background-image: url(../img/btn_slide_right@2x.png);
}

@media (max-width:749px) {
  #main-visual {
/*     margin-bottom: -9.3vw; */
  }

  .slick-prev,
  .slick-next {
    width: 8vw !important;
    height: 8vw !important;
    margin-top: -4vw;
  }

  .slick-prev:before,
  .slick-next::before {
    width: 8vw;
    height: 8vw;
  }
}

/*==================================================
myosmile
==================================================*/

.myosmile-table-01 {
  display: flex;
  background: url(../img/myosmile_table_bg.png) no-repeat left top / cover;
  aspect-ratio: 15/23;
}

.myosmile-table-01>div {
  flex-grow: 0;
  flex-shrink: 0;
}

.myosmile-table-01 .heading {
  width: 10.8%;
}

.myosmile-table-01 .table {
  width: 89.2%;
}

.myosmile-table-01 .table .scroll {
  padding: 0 5% 20px 0;
  overflow-x: scroll;
}

.myosmile-table-01 .table img {
  /* 2024/06/03 幅750→400対応 */
  /* width: 976px;
  max-width: 976px;
  height: 992px;
  aspect-ratio: 976/992; */
  width: 520px;
  max-width: 520px;
  height: auto;
  aspect-ratio: 520 / 528;
}

@media (max-width:749px) {
  .myosmile-table-01 .table img {
    width: 130vw;
    height: auto;
  }
}

/*==================================================
invisalign
==================================================*/

.invisalign-table-01 {
  background: url(../img/invisalign_table_bg_2.png) no-repeat left top / cover;
  /* 2024/06/03 幅750→400対応 */
  /* aspect-ratio: 750/838; */
  aspect-ratio: 400 / 447;
}

.invisalign-table-01 .table .scroll {
  padding: 0 5% 20px;
  overflow-x: scroll;
}

.invisalign-table-01 .table img {
  /* 2024/06/03 幅750→400対応 */
  /* width: 4410px;
  max-width: 4410px;
  height: 662px;
  aspect-ratio: 4410/662; */
  width: 2500px;
  max-width: 2500px;
  height: auto;
  aspect-ratio: 2500 / 375;
}

@media (max-width:749px) {
  .invisalign-table-01 .table img {
    width: 588vw;
    height: auto;
  }
}

/*==================================================
responsive
==================================================*/

@media (max-width:749px) {
  body {
    font-size: 16px;
  }
}

@media (min-width:750px) {
  .for-mobile {
    display: none;
  }
}
