@charset "UTF-8";

* {
  margin: 0;
  padding: 0;
  min-height: 0vw;
  border-width: 0px;
  list-style-type: none;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
  overflow: auto;
}

body {
  text-shadow: none;
  overflow: hidden;
  color: #fff6ea;
  box-sizing: border-box;
  box-shadow: none;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  color: var(--dark);
  font-weight: 400;
}
/* 
body {
  color: #fff6ea;
} */

a {
  color: var(--dark);
  text-decoration: none;
}

:root {
  --body: #fff;
  --dark: #333;
}

.textColor01 {
  color: #eb7676;
}

.textColor02 {
  color: #e6536b;
}

/* 共通 */

.card {
  --bs-card-border-color: none;
}

.h1Text01 {
  font-size: clamp(1.313rem, 1.038rem + 1.46vw, 2.5rem);
}

.h1Text02 {
  font-size: clamp(1.281rem, 1.064rem + 1.15vw, 2.2rem);
}

.h2Text01 {
  font-size: clamp(1.25rem, 1.091rem + 0.85vw, 1.938rem);
}

.h2Text02 {
  font-size: clamp(1.188rem, 1.058rem + 0.69vw, 1.75rem);
}

.h2Text03 {
  font-size: clamp(1.1255rem, 1.01rem + 0.615vw, 1.625rem);
}

.h3Text01 {
  font-size: clamp(1.063rem, 0.962rem + 0.54vw, 1.5rem);
}

.h3Text02 {
  font-size: clamp(1.0315rem, 0.952rem + 0.425vw, 1.375rem);
}

.h3Text03 {
  font-size: clamp(1rem, 0.942rem + 0.31vw, 1.25rem);
}

.h4Text {
  font-size: clamp(0.938rem, 0.894rem + 0.23vw, 1.125rem);
}

.h5Text {
  font-size: clamp(0.875rem, 0.832rem + 0.23vw, 1.063rem);
}

.h6Text {
  font-size: clamp(0.75rem, 0.736rem + 0.08vw, 0.813rem);
}

.pText01 {
  font-size: clamp(0.813rem, 0.769rem + 0.23vw, 1rem);
}

.pText02 {
  font-size: clamp(0.75rem, 0.707rem + 0.23vw, 0.938rem);
}

.pText03 {
  font-size: clamp(0.75rem, 0.721rem + 0.15vw, 0.875rem);
}

.container-fluid,
.container-xxl,
.container {
  padding: 0;
}

ol,
ul {
  padding-left: initial;
}

/* =========================================================================================================================================

                    　　　　　　　　　　　　　　　SPファースト 300-375pxまででかく

                   　　　　　　　　　　　　　　　　　　　　
=========================================================================================================================================*/
/* =========================================================================================================================================


                    　　　　　　　　　　　　　　　共通

                   　　　　　　　　　　　　　　　　　　　　
=========================================================================================================================================*/

.whiteBox {
  background: rgb(255, 255, 255);
  width: 96%;
  border-radius: 10px;
}

/* ページトップへのボタン */
.page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  transition: 0.5s;
  z-index: 300;
}

.indexTop {
  position: relative;
  top: 0;
  right: -10px;
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 30px;
  background-color: #76b8b4;
  box-shadow: 2px 2px 4px #595959;
  z-index: 30;
}

.indexTop:before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

.indexTopLayer {
  position: relative;
  top: 15px;
  right: 0px;
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 30px;
  background-color: #eb7676;
  box-shadow: 2px 2px 4px #595959;
  z-index: 30;
}

.indexTopLayer:before {
  content: "";
  display: block;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

/* header PC  */
#headerPc .btn-secondary {
  --bs-btn-color: initial;
  --bs-btn-bg: initial;
  --bs-btn-border-color: initial;
  --bs-btn-hover-bg: initial;
  --bs-btn-active-bg: #d8dadc;
}

#headerPc .dropdown-menu {
  background-color: #ffffffef;
}

/* =========================================================================================================================================




                      　　　　　　　　　　　　　　　　　　　       #header（headerNavi）





=========================================================================================================================================*/

#headerPc {
  display: none;
}

#headerSp {
  display: block;
}

/* ↓これをnoneにしないと、問題が起こります。１：aタク飛ばない　２：ハンバーガーを開くとbgが消える*/
.modal-backdrop.show {
  /* background: #fff;
  position: relative;
  z-index: 1; */
  display: none;
}

.humMenu {
  top: 0;
  left: -10px;
  color: #fff;
}

/* menu for PC / hover animation */

#headerPc .nav-item a:hover {
  color: #eb7676;
}

.dropdown a:hover {
  color: #eb7676;
}
/* #headerPc a:hover {
  border-bottom: solid 2px #203f8c;
} */

#headerPc a {
  /* display: inline-block; */
  /* padding-bottom: 0px; */
  position: relative;
  cursor: pointer;
  padding: 0 8px;
  font-size: clamp(0.75rem, 0.676rem + 0.37vw, 3rem);
  z-index: 5;
  letter-spacing: -0.5px;
}

#headerPc .description_bottom,
.description_sp {
  width: 150px;
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 8px;
  border-radius: 10px;
  /* color: rgb(137, 131, 131); */
  font-size: clamp(0.625rem, 0.551rem + 0.37vw, 0.875rem);
  text-align: center;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  transition: 0.5s all;
}

#headerPc a:hover .description_bottom {
  top: 80%;
  left: 50%;
  font-size: 13px;
  color: #eb7676;
  visibility: visible;
  opacity: 1;
}
/* contact*/
/* ==========  ＃book お問い合わせ（SP） ============*/

#book {
  display: none;
}

/* slash*/
.slashLeft::before {
  transform: rotate(90deg);
}

.btnHeader {
  --bs-btn-padding-x: 0px;
}

.dropdown-toggle::after {
  color: #e6536b;
}

#headerSp.dropdown-toggle::after {
  position: relative;
  top: 4px;
}

/* =========================================================================================================================================




                      　　　　　　　　　　　　　　　　　　　       #hero（mainvisual）





=========================================================================================================================================*/

#hero {
  background: url(../img/TopPcFade.png);
  background-position: cover;
  background-repeat: repeat;
  width: 100%;
}
.img-box {
  display: none;
}

.img-boxSp {
  display: block;
}

@keyframes imgfade {
  0% {
    opacity: 0;
  }

  25% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  75% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/*SPのときに表示する */

.img-boxSp {
  height: 80vh;
  overflow: hidden;
  position: relative;
}

.img-boxSp > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 10;
  opacity: 0;
  animation-name: fade;
  animation-duration: 24s;
  animation-iteration-count: infinite;
}

@keyframes fade {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 7;
  }

  80% {
    opacity: 0;
    /* transform: scale(1); */
  }

  100% {
    z-index: 0;
    opacity: 0;
  }
}

/* 1枚目のスライド */
.img-boxSp > div:first-of-type {
  background-image: url("../images/sp01.jpg");
}

/* 2枚目のスライド */
.img-boxSp > div:nth-of-type(2) {
  /* background-image: url("../images/sp07.jpg"); */
  background-image: url("../images/annex.jpg");
  animation-delay: 4s;
}

/* 3枚目のスライド */
.img-boxSp > div:nth-of-type(3) {
  background-image: url("../images/sp07.jpg");
  /* background-image: url("../images/sp08.jpg"); */
  animation-delay: 8s;
}

/* 4枚目のスライド */
.img-boxSp > div:nth-of-type(4) {
  background-image: url("../images/sp06.jpg");
  animation-delay: 12s;
}

/* 追記 */

/* 5枚目のスライド */
.img-boxSp > div:nth-of-type(5) {
  background-image: url("../images/sp08.jpg");
  /* background-image: url("../images/annex.jpg"); */
  animation-delay: 16s;
}

/* 追記　done */

/* 6枚目のスライド */
.img-boxSp > div:last-of-type {
  background-image: url("../images/sp02.jpg");
  animation-delay: 20s;
}

/* =========================================================================================================================================




                      　　　　　　　　　　　　　　　　　　　       コンセプト (#concept)





=========================================================================================================================================*/
/* #concept {
  background: url(../img/ConceptBgSp.jpg);
  background-position: cover;
  background-repeat: repeat;
  width: 100%;
} */

.ConceptLine {
  top: -30px;
}

.hands {
  top: 130px;
  transform: rotate(-20deg);
}

/* =========================================================================================================================================




                      　　　　　　　　　　　　　　　　　　　       #news（news）





=========================================================================================================================================*/

#news {
  background: url(../img/newsBg.jpg);
  background-position: cover;
  background-repeat: repeat;
  width: 100%;
}

.labelPc {
  display: none;
}

.illustPc,
.illustCamera {
  display: none;
}

table {
  border-collapse: collapse;
  width: 700px;
}

th,
td {
  border: 1px solid #a3a3a3;
  padding: 10px 15px;
  width: 200px;
}

th {
  background-color: #ddd;
}

.tab_item {
  width: 36.7vw;
}

/* ======================================================================================================================================



                    　　　　　　　　　　　　　　　 
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 about.html(当院について)




========================================================================================================================================== */
/* #treatmentPolicy */

.links {
  background: url(../img/linksBgSp2.png);
  background-position: cover;
  background-repeat: no-repeat;
  width: 100%;
  background-position: center center;
}

/* ======================================================================================================================================



                    　　　　　　　　　　　　　　　 
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 下層ページ：料金について（price.html）




========================================================================================================================================== */

.underLayerPrice {
  margin-top: 80px;
  background-image: url(../img/priceBg.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  height: 100px;
  /* height: 250px; */
}

.priceWall {
  background-image: url(../img/priceWall.jpg);
  /* background-image: url(../img/ConceptBgPc.jpg); */

  background-size: cover;
  background-repeat: repeat;
  background-position: center top;
  width: 100%;
}

/* ======================================================================================================================================



                    　　　　　　　　　　　　　　　 
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 下層ページ：治療内容・各種療法について（treatment.html）




========================================================================================================================================== */

#treatment {
  background-image: url(../img/treatmentBg.jpg);
  /* background-image: url(../img/detail02_01.jpg); */

  background-attachment: fixed;
  background-repeat: repeat;
  background-size: cover;
  scroll-behavior: smooth;
  /* background-position: center top; */
  width: 100%;
}

/* ==== 絵画療法 ===== */

.carousel-item {
  transition: transform 0.6s ease-in-out;
  backface-visibility: hidden;
}

.carousel-item img {
  object-fit: contain;
  width: 100%;
  /* height: 300px; */
  transition: transform 0.1s ease;
}

.carousel {
  overflow: hidden;
}

/* ======================================================================================================================================



                    　　　　　　　　　　　　　　　 
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　 　　　　 下層ページ: お問合せ（contact.html）




========================================================================================================================================== */

contact.html {
  background-image: url(../img/contactBg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  width: 100%;
}

/* =============================================================================================================================================




                    　　　　　　　　　　　　　　                         #footer




/* ============================================================================================================================================= */

#footer {
  /* background: url(../img/footerBg.jpg); */
  background: url(../img/footerBgSp.png);
  background-position: center center;
  background-repeat: repeat;
  background-size: cover;
  width: 100%;
}

.flexSm {
  display: flex;
  justify-content: center;
  gap: 40px;
}

iframe {
  width: 280px;
}

.copyRight {
  padding-bottom: 70px;
}

/* =============================================================================================================================================




                    　　　　　　　　　　　　　　                        thxPage



/* ============================================================================================================================================= */

.thanksText {
  line-height: 1.4;
}

/* ============================================================================================================================================= 






                                                               responsive





 ============================================================================================================================================= */

/* ============================================================================================================================================= 



                                          0 476 responsive_min375px(376pxから575pxまで適応される):xxs


============================================================================================================================================= */

@media (min-width: 320px) {
}

@media (min-width: 382px) {
  /* =====  #concept ===== */

  .conceptTitleBr {
    display: none;
  }

  .ConceptLine {
    top: -35px;
  }

  /* ===== #footer ===== */

  iframe {
    width: 346px;
    height: 270px;
  }
}

@media (min-width: 437px) {
  /* ===== #concept  ===== */
  .hands {
    top: 30px;
  }
}

@media (min-width: 474px) {
  /* =====  #concept ===== */

  .ConceptLine {
    top: -40px;
  }
}

/* ============================================================================================================================================= 



                                          1 671 responsive_min576px(576pxから767pxまで適応される):xs


============================================================================================================================================= */
@media (min-width: 576px) {
  /* =====  #hero ===== */

  #hero {
    background: url(../img/TopPcFade.png);
  }

  /*PCのときに表示する */

  .img-box {
    display: block;
  }

  .img-boxSp {
    display: none;
  }

  .img-box {
    height: 100vh;
    overflow: hidden;
    position: relative;
  }

  .img-box > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 10;
    opacity: 0;
    animation-name: fade;
    animation-duration: 20s;
    animation-iteration-count: infinite;
  }

  @keyframes fade {
    0% {
      opacity: 0;
    }

    20% {
      opacity: 7;
    }

    80% {
      opacity: 0;
      /* transform: scale(1); */
    }

    100% {
      z-index: 0;
      opacity: 0;
    }
  }

  /* 1枚目のスライド */
  .img-box > div:first-of-type {
    background-image: url("../img/logoType.png");
    animation-delay: 2s;
    /* width: 100px; */
  }

  /* .img-box > div:first-of-type {
    background-image: url("../images/26674744_m.jpg");
  } */

  /* 2枚目のスライド */
  .img-box > div:nth-of-type(2) {
    background-image: url("../img/TopPc02.png");
    animation-delay: 4s;
    width: 100%;
  }

  /* 3枚目のスライド */
  .img-box > div:nth-of-type(3) {
    background-image: url("../img/TopPc03.png");
    animation-delay: 8s;
  }

  /* 3枚目のスライド */
  .img-box > div:nth-of-type(4) {
    background-image: url("../img/TopPc04.png");
    animation-delay: 12s;
  }

  /* 5枚目のスライド */
  .img-box > div:last-of-type {
    background-image: url("../img/TopPc05.png");
    animation-delay: 16s;
  }
  /* =====  #concept ===== */
  .ConceptLine {
    top: -50px;
  }

  .hands {
    top: 10px;
    transform: rotate(-10deg);
  }

  /* =======  #news  ====*/
  .labelPc {
    display: block;
  }

  .labelSp {
    display: none;
  }

  /* ===== #footer 576-767 ===== */

  .flexSm {
    display: block;
  }
  iframe {
    width: 500px;
    height: 350px;
  }

  .card-img-overlay {
    top: 30px;
  }
  /* ======= price.html ========= */
  .underLayerPrice {
    height: 150px;
  }

  /* ======= #thxpage ========= */

  .thanksText {
    line-height: 1.6;
  }
}

@media (min-width: 648px) {
}

/* ============================================================================================================================================= 


                                        2 883 responsive_min768px(768pxから991pxまで適応される):md


============================================================================================================================================= */
@media (min-width: 768px) {
  /* =====  #concept ===== */

  .ConceptLine {
    top: -70px;
  }

  .hands {
    top: -70px;
    transform: rotate(-10deg);
  }
  /* ======= #access 768-991======== */

  #footer {
    background: url(../img/footerBg.jpg);
  }

  /* ======= #access 768-991======== */
  .accessBox {
    display: flex;
  }
}

/* ============================================================================================================================================= 


                                        

                                             3 1095 responsive_min992px(992pxから1199pxまで適応される):lg




============================================================================================================================================= */
@media (min-width: 992px) {
  /* header */
  #headerPc {
    display: block;
  }

  #headerSp {
    display: none;
  }

  .dropdown-toggle::after {
    color: #333;
  }

  /* =====  #concept ===== */

  .hands {
    top: -120px;
    transform: rotate(-5deg);
  }

  /* ===== #footer 992-1199 ===== */

  iframe {
    width: 400px;
    height: 425px;
  }

  .copyRight {
    padding-bottom: initial;
  }

  .card-img-overlay {
    top: 140px;
  }

  /* #treatmentPolicy */

  .links {
    background: url(../img/linksBg.png);
    background-position: cover;
    background-repeat: no-repeat;
    width: 100%;
    background-position: center center;
  }

  /* ======= #thxpage ========= */

  .thanksText {
    line-height: 1.7;
  }
}

/* ============================================================================================================================================= 


                                       
                                           4 1299 responsive_min1200px(1200pxから1399pxまで適応される):xl



/* ============================================================================================================================================= */
@media (min-width: 1200px) {
  /* =====  #concept ===== */

  .hands {
    top: -200px;
    transform: rotate(-5deg);
  }

  /* ===== #footer 1200-1399 ===== */

  iframe {
    width: 500px;
    height: 400px;
  }

  .card-img-overlay {
    top: 150px;
  }

  /* ======= #thxpage ========= */

  .thanksText {
    line-height: 1.8;
  }

  #info01 .onlyTb {
    display: none;
  }
}

/* ============================================================================================================================================= 


                                      
                                                   5 responsive_min1400px(1400pxから1800pxまで適応される):xxl



============================================================================================================================================= */
@media (min-width: 1400px) {
  /* =====  #concept ===== */

  .hands {
    top: -260px;
    transform: rotate(-5deg);
  }
}

/* ============================================================================================================================================= 


                                      
                                                   6 responsive_min1400px(1600pxから1800pxまで適応される):



============================================================================================================================================= */
@media (min-width: 1600px) {
}

/* ============================================================================================================================================= 


                                      
                                                   7 responsive_min1800px(1800pxから無限まで適応される):



============================================================================================================================================= */
@media (min-width: 1800px) {
}

/* ============================================================================================================================================= 


                                      
                                                   more than 2500(2500pxから無限まで適応される):



============================================================================================================================================= */
@media (min-width: 2000px) {
}
