@charset "utf-8";
/* CSS Document */
html {
  /*font-family: 'Noto Serif JP', serif;*/
  font-family: "Osaka-mono", "Helvetica", "MS Gothic", "monospace";
  height: 100%;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
body * {
  color: #796E65;
}
/* article, aside, section,は必定に応じて分けて上書き指定 */
body, article, aside, main, section, div, p, ul, li, span, small, strong, img, figure, figcaption, form, table, caption, tbody, tfoot, thead, tr, th, td, i {
  margin: 0;
  border: 0;
  vertical-align: baseline;
  outline: 0;
}
body {
  padding: 0;
  color: #5f5039;
  line-height: 1;
  height: 100%;
	
}
header, main, nav, footer, section, .ly_wrapper, .ly_inner, .main-top {
  margin: 0 auto;
}
article, aside, details, figcaption, figure, footer, header, nav, section, div, h1, h2, h3 {
  display: block;
}
section {
  margin-bottom: 6rem;
}
/* 見出しタグは個別設定することがあるので別に */
h2, h3, h4 {
  margin: 0;
  text-align: center;
}
h2 {
  line-height: 1.4;
}
h3 {
  line-height: 1.1;
}
.h2_span, .h3_span {
  display: inline-block;
  color: #796E65;
  border-bottom: solid 5px #BDD974;
  margin-bottom: 1.2rem;
  padding-left: 0.2rem;
  padding-right: 0.2rem;
}
.h2_span {
  padding-top: 2rem;
  padding-bottom: 0.2rem;
}
/*トップページではコロナ対策以外のh3*/
.h3_base {
  color: #796E65;
  /*padding-left: 0.2rem;
	padding-right: 0.2rem;*/
  padding: 1.5rem 0.2rem 0.2rem 0.2rem;
  /*line-height: 1.2;*/
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
iframe {
  width: 100%;
  max-width: 100%;
  /*height:auto;*/
}
a {
  text-decoration: none;
}
button{
	background-color:transparent;
	margin: 0;
  border: 0;
  outline: 0;
}
section p {
  width: 100%;
  padding: 1.8rem;
  line-height: 1.4;
}
/*ドット柄*/
.infection_control::after, .concept_img::after, .greeting::after, .treatment_base::after, .first_visit > div::after, .fst_visit_img::after, .fst_visit_img::before, section.greeting div:nth-of-type(2)::before, .sb_comments::after, .sb_greenting_img::after, .tab_content::after{
  background-image:
    radial-gradient(#BDD974 20%, transparent 20%), radial-gradient(#BDD974 20%, transparent 20%);
  background-size: 18px 18px;
  background-position: 0 0, 9px 9px;
}
.ly_wrapper {
  /* max-width: 1280px;*/
	/*100vw*/
  width: 100%;
  position: relative;
  background-color: #FFF;
}
.top_color {
  width: 100%;
  background-color: #E8E3E0;
  padding-bottom: 20px;
}
/*top画像とtopと付属する項目を囲んでいる*/
/*ヘッダー navより上部*/
header {
  display: flex;
  position: relative;
  justify-content: space-between;
  width: min(100%, 1278px);
  padding: 20px;
  background: #fff;
  border-bottom-left-radius: 39px;
  border-bottom-right-radius: 39px;
}
.header_logo {
  width: min(40vw, 200px);
  margin-left: 2%;
}
/*headerの影響かheader_text_wrapper内もフロートするのでcolumn設定*/
.header_text_wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
}
.header_text1, .under_header {
  display: flex;
  padding-bottom: 5px;
}
.header_msg1, .header_msg2 {
  display: inline-block;
  border-radius: 3px;
  font-size: 0.8rem;
  margin-right: 1em;
  padding: 5px 6px 2px 6px;
}
.header_msg1 {
  margin-left: auto;
  background: #eee;
}
.header_tel tel {
  font-family: 'Montserrat';
  font-size: 1.5rem;
  color: #BDD974;
}
.header_tel tel a {
  color: rgba(189, 217, 116, 1.00);
}
.header_msg3 {
  display: block;
  padding-left: 1vw;
	white-space: nowrap;
}
.header_msg3 > span {
  display: inline-block;
  font-weight: 900;
  /*margin-left:20px;*/
}
.header_msg3 > span::before {
  display: inline-block;
  position: relative;
  bottom: -0.3em;
  content: "";
  width: 1.1em;
  height: 1em;
  background-image: url("../images/check.png");
  background-repeat: no-repeat;
}
/*ナビ*/
nav {
  /*width: clamp(900px, 78%, 1000px);*/
  /*width: 1000px;*/
  max-width: 1024px; /*128x8*/
}
nav ul {
  display: flex;
  justify-content: space-around;
  padding: 0 9px 0 5px;
  list-style: none;
}
nav ul li {
  display: block;
  text-align: center;
  padding: 12px 6px;
  cursor: pointer;
  transition: all .4s; /*変化速度は全て0.4s*/
}
nav ul li:first-child {
  padding: 12px 12px;
}
nav ul li a {
  /*font-size: min(1rem, 18px);*/
  font-weight: 900;
}
nav ul li a br {}
nav li:hover {
  background: white;
  /*border-radius: 3px;*/
}
/*トップイメージ*/
.ly_inner {
  /* width: calc(700px, 70%, 900px);*/
  /*max-width: 896px;*/
  /* max-width: calc(31.25rem + ((1vw - 6px) * 58.2353));*/
  width: min(70%, 896px); /*896÷1280*/
}
.main-top {
  position: relative;
  width: 100%;
  margin-bottom: 70px;
  display: block;
  border-radius: 21px;
  /*background: #E8E3E0;*/
}
.top_image {
  display: block;
  border-radius: 21px;
  background: #E8E3E0;
  overflow: hidden; /**/
  /*border-radius: 21px;*/
}
.top_image img {
  display: block;
  border-radius: 21px;
  /*width: 100%;
  max-width: 100%;
  height: auto;*/
}
.top-message {
  position: absolute;
  bottom: -3px;
  left: -50px;
  width: 8em;
  margin: 0;
  padding: 1em 1em 5px 1em;
  font-size: 2rem;
  line-height: 1.2;
  color: #796E65;
  font-weight: 900;
  background-color: #E8E3E0;
  border-top-right-radius: 21px;
}
span.h1tx01 > span, span.h1tx02 > span{
	display: block;
}
/*span.h1tx02{
	display: inline-block;
}*/
span.h1tx_q{
	display: inline-block;
}
.main-top-arrow {
  display: block;
  width: 72px;
  height: 72px;
  position: absolute;
  bottom: -38px;
  left: calc(50% - 35px);
  border-radius: 36px;
  background-color: #E8E3E0;
}
.main-top-arrow span {
  display: inline-block;
  width: 72px;
  height: 72px;
  position: relative;
  text-align: center;
  line-height: 60px;
  font-size: 12px;
  font-weight: 900;
}
.main-top-arrow span::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -20px;
  left: 36px;
  width: 1px;
  height: 50px;
  background: #796E65;
}
.main-top-arrow span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -21px;
  left: 39px;
  width: 1px;
  height: 10px;
  background: #796E65;
  transform: rotate(45deg);
}
.top_slider_base {
  /*.ly_inner 900pxの100％*/
  /*min-height: 417px;*/
  width: 100%;
}
ul.slider01 {
  /*width: 100%;
  height: 417px;*/
  /*heightを固定すると、横幅も固定される*/
  /*padding-inline-start: 5px;*/
  /*JQ側で勝手に40pxと設定されていたので上書き*/
  width: 100%;
  padding: 0;
}
.slider01 img {
  width: 100%;
}
/*slider01のページドット「.slidedots01」の指定*/
.slidedots01 {
  position: absolute;
  padding: 0 !important;
  top: 50%;
  transform: translateY(-43%);
  right: min(-7%, -10px);
}
.slidedots01 li {
  /*display: inline-block;*/
  display: block;
  margin: 0 16px 0 0;
}
.slidedots01 li button {
  position: relative;
  margin-top: 17px;
  /*text-indent: -9999px; */
  /* color: white;*/ /*背景色は指定していない場合デフォルトをユーザー設定できるので親セレクタ等で背景を指定している場合のみ*/
  border: none;
  background: transparent; /*規定で指定されているので実装先と同じ背景色に#E8E3E0*/
}
.slidedots01 li button:before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #E8E3E0;
  border: solid 1px #796E65;
  position: absolute;
  top: 0;
  left: 0;
}
.slidedots01 li.slick-active button:before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #796E65;
  border: solid 1px #796E65;
}
/*コロナ対策*/
.infection_control {
  position: relative;
  background-color: #fff;
  border-radius: 21px;
  width: min(80%, 1024px);
  ; /*1024px*/
  padding: 30px;
  margin-bottom: 30px;
}
.infection_control div {
  padding: 5px;
}
.infection_control div p a{
  text-decoration: underline;
  color: #5f5039;
}
.infection_control div p a:hover{
  text-decoration: none;
  color:#E89D3B;
  font-weight: bold;
}
.ly_flex {
  display: flex;
}
.icons {
  max-width: 300px;
  vertical-align: middle;
}
.infection_control::after {
  position: absolute;
  bottom: -2rem;
  right: -2rem;
  display: block;
  border-radius: 18px;
  content: "";
  width: 6rem;
  height: 6rem;
}
/*コンセプトスタイル*/
section.concept {
  /* min-width: 570px;*/
  /*max-width: 1280px;*/
  /*height: 430px;*/
  width: 100%;
  background: -webkit-linear-gradient(top, #e8e3e0 0%, #e8e3e0 50%, #ffffff 50%, #ffffff 100%);
  background: linear-gradient(to bottom, #e8e3e0 0%, #e8e3e0 50%, #ffffff 50%, #ffffff 100%);
  padding-top: 1rem;
}
.concept_base {
  display: block;
  overflow: hidden;
  width: min(100%, 1278px);
  margin: 0 auto;
}
/*float解除。基盤セレクタにoverflow: hidden;も設置*/
.concept_base::after {
  display: block;
  content: "";
  clear: both;
  font-size: 0;
}
.concept_base h2 {
  float: right;
  display: block;
  width: 50%;
}
.concept_base h2 span {
  text-align: center;
}
.concept_img {
  /*position: relative;*/
  display: block;
  width: 50%;
  padding-top: 4rem;
  float: left;
}
section.concept div.concept_img img {
  border-top-right-radius: 21px;
  border-bottom-right-radius: 21px;
}
.concept_text {
  float: right;
  display: block;
  width: 50%;
}
section.concept div span.button {
  text-align: center;
}
.concept_img::after {
  position: relative;
  bottom: 4rem;
  left: 90%;
  display: block;
  border-radius: 18px;
  content: "";
  width: 7.5vw;
  height: 7.5vw;
}
/*------*/
/*院長あいさつ*/
section.greeting {
  position: relative;
  width: min(80vw, 1024px);
  /*width: clamp(800px, 100%, 1200px);*/
  min-height: 700px;
}
/*院長あいさつ 挨拶テキスト部*/
section.greeting div:nth-of-type(1) {
  width: 60%;
  border-radius: 21px;
  background: #E8E3E0;
  position: absolute;
  top: 90px;
  right: 50px;
}
/*section.greeting div:nth-of-type(1) p*/
.greetng_txt {
  width: 80%;
  margin-left: 18%;
  border-radius: 21px;
  min-height: 500px;
}
/*院長挨拶 div２から4はimg。最大幅は親のsectionの幅1000pxのパーセンテージ*/
section.greeting div:nth-of-type(2) img, section.greeting div:nth-of-type(3) img, section.greeting div:nth-of-type(4) img {
  border-radius: 21px;
  position: relative; /*box-shadowを有効にするために追記*/
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
}
section.greeting div:nth-of-type(2) {
  width: 30%;
  border-radius: 21px;
  position: absolute;
  top: 18%; /*120px*/
  left: 12%; /*170px*/
  z-index: 10;
}
section.greeting div:nth-of-type(3) {
  width: 35%;
  border-radius: 21px;
  position: absolute;
  bottom: -30px;
  left: 30%;
  z-index: 20;
}
section.greeting div:nth-of-type(4) {
  width: 25%;
  border-radius: 21px;
  position: absolute;
  bottom: -5%;
  right: 30px; /*170px*/
  z-index: 30;
}
section.greeting div:nth-of-type(2)::before{
	display: block;
	content: "";
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 12px;
	position: absolute;
	top:-1.5rem;
  left:-1.5rem;
  z-index: 90;
}
section.greeting::after {
  display: none;
  content: "";
  width: 0;
  height: 0;
}
/*特徴*/
section.features {
  /*width: clamp(600px, 95%, 1200px);*/
  width: min(90%, 1152px);
}
.features_flex {
  display: flex;
  flex-wrap: wrap;
}
.features_flex div {
  /*(50-47)X2=6*/
  flex-basis: 47%;
  border-radius: 21px;
  background: #E8E3E0;
  margin-bottom: 20px;
}
.features_flex div:nth-child(odd) {
  margin-left: 1%;
  margin-right: 4%;
}
.features_flex div {
  display: flex;
  padding: 1rem;
}
.features_flex div p {
  padding: 5%;
}
.features_flex div img {
  width: 14vw;
  height: 13vw;
  /*width: min(18vw, 182px);
  height: min(16vw, 167px); */ /*ブラウザ「幅」で対応*/
}
/*施術メニュー*/
section.treatment {
  /*width: min(70%, 1200px);*/
  /*width: clamp(900px, 70%, 1100px);*/
  width: min(80%, 1024px);
  margin-right: auto;
  margin-left: 0;
  /*position: relative;*/
  /*display: flex;*/
  padding-right: 1rem;
  padding-left: 5rem; /* 5rem*/
  border-top-right-radius: 21px;
  border-bottom-right-radius: 21px;
  background: #E8E3E0;
}
.treatment_base {
  position: relative;
  /*width:900px;*/
  /*height: max(36vw, 450px);*/ /*470px*/
  min-height: 490px;
}
.treatment_base h2 {
  width: 90%;
  text-align: left;
  padding-left: 2rem;
  padding-bottom: 70px;
}
.treatment_base h2::after {
  content: "MENU No.";
  display: block;
  font-size: 0.9rem;
}
div.treatment_slider {
  display: block;
  /*width: min(60%, 539px); */
  width: min(43vw, 550px);
  border-radius: 21px;
  position: absolute;
  top: 80px;
  /*right: -31vw;*/ /*40px*/
  left: min(35vw, 500px);
}
.slider_text {
  width: min(36vw, 480px); /*500px*/
  padding: 15px 5px 15px 5px;
}
.slider_txh {
  display: inline-block;
  text-align: left;
  font-size: 1.2rem;
  line-height: 1.2;
  border-bottom: 2px solid #796E65;
  padding-bottom: 2px;
  color: #796E65;
  font-weight: 900;
}
.slider_txh + p {
  padding: 21px 3px;
}
.slider_text ul li span a {
  text-decoration: underline;
}
.treatment_base > span{
	display: inline-block;
	position: absolute;
  bottom: 30px;
  right: max(-6vw, -120px);
	/*left:min(55vw, 800px);*/
}
.treatment_base > span a.button2 {
  display: inline-block;
  /*position: absolute;
  bottom: 30px;
  right: -70px;*/
  border-radius: 21px;
  padding: 0.8rem 2rem;
  text-align: center;
  background-color: #BDD974;
  /*color: white;
  font-size: 0.8rem;
  font-weight: 900;*/
	/*white-space:nowrap;*/
}
.treatment_base > span a.button2 > span{
	display: inline-block;
	color:#FFFFFF;
	font-size: 1rem;
	font-weight: 900;
}
/*.treatment_base > span a.button2 br.btnnobr{
	display: none;
	width: 0;
}*/
a.button2:hover {
  color: #BDD974;
  background: #EBF4D5;
}
a.button2 {
  white-space: nowrap; /*レスポンシブでは変更する*/
}
/*right: 34%;from410px*/
.treatment_base::after {
  position: absolute;
  top: 30px;
  left: 34vw;
  display: block;
  border-radius: 18px;
  content: "";
  width: 8vw;
  height: 8vw;
  z-index: 50;
}
/*施術メニューslider02*/
div.treatment_slider span {
  display: block;
  width: 100%;
  position: relative;
  border-radius: 21px;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
}
.treatment_base .slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slider02 {
  width: 100%;
  padding: 0;
}
.slider02 img {
  border-radius: 21px;
}
.slidedots02 {
  position: absolute;
  top: 3rem;
  left: -80% !important; /*-500px*/
  padding-inline-start: 2px;
}
.slidedots02 li {
  display: inline-block;
  margin: 0 5px;
}
.slidedots02 li button {
  /* position: absolute;*/
  width: 24px;
  height: 24px;
  border-radius: 12px;
  text-align: center;
  line-height: 24px;
  color: #796E65;
  font-size: 1rem;
  border: none;
  background: white; /*規定で背景の指定あり*/
  padding: 0;
}
.slidedots02 li.slick-active button {
  color: white;
  background: #BDD974;
}
/*.slider02 button{
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}*/
.slide-arrow {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  border-radius: 15px !important; /**/
  background: #BDD974 !important;
  box-shadow: 2px 2px 2px rgba(60, 60, 60, 0.2); /**/
  border: none;
}
/*left arrow*/
.next-arrow {
  left: -40px !important;
  z-index: 90; /*テキストスライダーと重なるため*/
}
/*right arrow*/
.prev-arrow {
  right: -40px;
}
.prev-arrow::after, .next-arrow::after {
  /*margin-left: 10px;親要素をrelativeにできないので*/
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  text-align: center;
  /*z-index: 20;*/
}
.prev-arrow::after {
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.next-arrow::after {
  border-left: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/*slidedots02対応ナビテキスト*/
.trsl02text {
  display: block;
  padding: 0 !important;
  /*width: 500px;*/
  /*margin: 0 auto;*/
}
.trsl02text li {
  opacity: 0;
  /*text-align: center;*/
  animation-delay: 0.5s;
  animation-duration: 1.0s;
  animation-fill-mode: both;
}
.trsl02text li.slick-active {
  animation-name: open;
}
@keyframes open {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*jQuery用CSS設定ここまで*/
/*症例別メニュー*/
section.case {
  /*幅を900px未満にするとflexがずれる*/
  /* width: min(90%, 1200px);*/
  width: min(100%, 1278px);
}
.case_flex {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*aroundだと子要素が一つのみの際中央に寄る*/
  align-content: space-around;
  padding: 0 16px;
}
.case_flex figure {
  position: relative;
  flex-basis: 30%; /*33%*/
  border-radius: 15px;
  margin: 0 8px 24px 8px;
  /*padding: 0 8px 0 8px;*/
}
.case_flex figure:nth-of-type(3n) {
  margin-right: 0px;
}
.case_flex figure a img {
  border-radius: 15px;
}
.case_flex figure figcaption {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 0;
}
.case_flex figure figcaption h4 {
  white-space: nowrap;
  color: white;
  font-size: 1.8rem;
  padding: 0 0 0.5rem 0;
}
.case_flex figure figcaption span {
  display: inline-block;
  white-space: nowrap;
  width: 100%;
  color: white;
  font-size: 0.8em;
  text-decoration: underline;
  /*border-bottom: solid 1px white;*/
  text-align: center;
  line-height: 1.1;
}
/* はじめての方*/
/*section.first_visit > div*/
div.first_visit_base {
  position: relative;
  display: block;
  width: min(80%, 1024px);
  min-height: 400px;
  margin-left: auto;
  padding-left: 20px;
  background: #EBF4D5;
  border-top-left-radius: 21px;
  border-bottom-left-radius: 21px;
}
/*section.first_visit > div > div*/
div.fst_visit_img {
  display: block;
  width: min(45vw, 576px);
  /*width: clamp(300px, 40vw, 600px);*/
  position: absolute;
  bottom: -3.7vw; /*-48px*/
  left: -14vw; /*-64px*/
  border-radius: 21px;
}
div.fst_visit_img img {
  display: block;
  border-radius: 21px;
  position: relative;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
}
.fst_visit_img::before {
  display: inline-block;
  position: absolute;
  bottom: -2vw; /*25*/
  /*bottom: calc(-3vw - 10px);*/
  right: -2vw;
  border-radius: 18px;
  content: "";
  width: 11vw;
  height: 11vw;
  z-index: 20;
}
.fst_visit_tx {
  display: block;
  width: 50%;
  margin-left: auto;
  /*paddin-left:300px;*/
  padding-right: 2rem;
}
/*新着ブログ*/
section.cards {
  /*width: min(90%, 1200px);*/
  width: min(90%, 1152px);
  padding: 3rem;
  border-radius: 21px;
  background: #E8E3E0;
}
.cards_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-content: space-between;
}
.card {
  width: 288px;
  height: auto;
  margin-bottom: 0.2rem;
  border-radius: 15px;
  /* box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);*/
}
.card_imgframe {
  width: 100%;
  height: auto;
  border-radius: 15px 15px 0 0;
  padding-top: 56.25%;
  background: url("../images/card01.jpg") no-repeat center;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
  background-size: cover;
  overflow: hidden;
}
/*.card_imgframe*/
.card::before {
  display: inline-block;
  content: "";
  width: 90px;
  height: 20px;
  padding: 3px;
  position: relative;
  top: 21px;
  left: 0;
  border-top-left-radius: 15px;
  /*background-color: #BDD974;*/
  background: #BDD974 url("../images/clock01.png") no-repeat left;
  z-index: 50;
}
.categolly {
  display: flex;
	/*フォントアイコンの「付箋」は無料分だとアウトライン版はない*/
  background-image: url("../images/blg_categolly.png");
  background-repeat: no-repeat;
  background-position: 5px 3px;
  padding-left: 20px;
}
.ctg_01, .ctg_02 {
  display: inline-block;
  /*text-align: center;*/
  /*width:7em;*/
  margin: 0 0 2px 14px;
  padding: 4px 11px 3px 11px;
  font-size: 12px;
  height: 1.7em;
  border-radius: 9px;
  color: white;
}
.ctg_01 {
  background: #D1853E;
}
.ctg_02 {
  background: #796E65;
}
.card_textbox {
  width: 100%;
  height: 11rem;
  /*height指定。同じ行のboxと高さが異なると余白ができる*/
  border-radius: 0 0 15px 15px;
  padding: 20px 18px;
  background: #ffffff;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, .4);
}
/*.card_textbox > * + * {
  margin-top: 10px;
}*/
.card_titletext {
  font-size: 20px;
  font-weight: bold;
  /*line-height: 125%;*/
}
.card_overviewtext {
  font-size: 12px;
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.5em;
  max-height: 6em; /*1.5emの倍数*/
}
/*地図＆カレンダー*/
div.access {
  /*width: min(90%, 1200px);*/
  width: min(90%, 1152px);
	margin: 1rem auto 6rem auto;
	/*margin-bottom: 6rem;*/
  border-radius: 21px;
	
}
.ggmap {
  position: relative;
  padding-bottom: 30%; /*56.25%*/
  /*padding-top: 30px;*/
  height: 0;
  overflow: hidden;
}
.ggmap iframe, .ggmap object, .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ggmap iframe {
  border-radius: 21px;
}
/*mapの下 アドレス 連絡先 SNS カレンダー*/
/*calendarfakeは画像は臨時対応*/
.calendar {
  display: none;
	/*width: max(40%, 400px);
	height: max(20vw, 250px);
	margin-top: 3rem;*/
}
.calendar iframe{
	height: max(20vw, 250px);
}
.access_flex {
	width: 100%;
  display: flex;
  /*justify-content: space-around;*/
  padding: 35px;
}
.access_logo {
  display: block;
  padding: 4rem 0 1rem 0;
  /*width: min(50%, 180px);*/
  width: 180px;
}
.access_flex > div {
  /*padding-top: 0 30px 0 0;*/
  padding-top: 20px;
  width: 50%;
  margin-bottom: 8px;
}
/*---------*/
span.button {
  display: block;
  width: 100%;
  /*text-align: center;*/
  /*margin-top: 1rem;*/
}
span.button a {
  display: inline-block;
  border-radius: 21px;
  padding: 0.7rem 2rem;
  text-align: center;
  background-color: #BDD974;
  color: white;
  font-size: 0.9rem;
  font-weight: 900;
}
.button a:hover {
  color: #BDD974;
  background: #EBF4D5;
}
.btn_sns a {
  display: inline-block;
  width: 170px;
  border: solid 1px #796E65;
  border-radius: 18px;
  margin-top: 20px;
  padding: 10px;
  text-align-last: center;
  background: #796E65;
  /*vertical-align: middle;*/
  color: white;
  font-weight: 700;
	/*padding-right: 1.2em;*/
}
.btn_sns a i {
  /*padding-right: 1.2em;*/
  color: white;
}
.btn_sns a:hover {
  border: solid 2px #796E65;
  background: white;
  color: #796E65;
}
.btn_sns a:hover i {
  color: #796E65;
}
/*.btn_sns a i:hover ではないので注意*/
/*face book instaアイコン反映されない。他のアイコンはfontの太さ次第で表示された*/
/*.test0504::before{
  font-family: "Font Awesome 5 Free";
content: "\f16d";
font-weight: 400;
	color:#000;
	font-size:16px;
}*/
footer {
  width: 100%;
  padding: 1.8rem;
  text-align: center;
  background: #BDD974;
  color: white;
  font-weight: 900;
}
/* 基本レイアウト ここまで↑ */
/*バナーhover時視覚効果*/
/* table設定例 ここから↓ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/*border-spacing:0;・・・隣り合った各セルの枠線同士の間隔。collapseでも一応指定*/
/* figure使用ページ 設定例↓ */
/*
.gallery_box {
	overflow: hidden;
}
.gallery_box figure {
	margin: 0 0 15px 15px;
	width: 180px;
	float: left;
}
.gallery_box figure:first-child {
	margin-left: 0;
}
.gallery_box:first-of-type {
	margin-top: 30px;
}
*/
/* figure使用ページ 設定例ここまで↑ */
/* 「お問い合わせ」ページ ここから↓ */
/*

form p {
	margin-top: 0;
	margin-bottom: 30px;
}

form p:nth-last-child(2) {
	margin-bottom: 7px;
}

form p:last-child {
	margin-bottom: 0;
}

input[type="text"] {
	width: 200px;
}

input[type="email"] {
	width: 300px;
}

textarea {
	width: 420px;
	height: 115px;
	overflow-y: scroll;
}
*/
/*relativeはly_wrapperに設定*/
.sticky {
  position: fixed;
  display: block;
  z-index: 100;
  top: 130px;
  left: calc(97vw - 106px);
  padding: 0;
  width: 94px;
  text-align: center;
}
.sticky span {
  display: inline-block;
  width: 90px;
  height: 90px;
  border-radius: 45px;
  cursor: pointer;
  padding-top: 23px;
}
.sticky span a {
  display: inline-block;
  color: white;
  font-weight: 900;
  line-height: 1.2;
}
.sticky span.web_rsv {
  background: #D1853E;
  margin-bottom: 10px;
}
.sticky span.web_rsv:hover {
  background: #E89D3B;
}
.sticky span.line_rsv {
  background: #BDD974;
}
.sticky span.line_rsv:hover {
  background: #EBF4D5;
}
.sticky span.line_rsv:hover a {
  color: #BDD974;
}
/* 「お問い合わせ」ページ ここまで↑ E89D3B*/
.hamburger-menu {
  display: none;
  width: 0;
  height: 0;
}

@media (min-width: 1301px) {
  /*.concept_base{
		width: calc(1200px, 100%, 1300px);
	}*/
  div.first_visit_base {
    margin-right: auto;
    border-top-right-radius: 21px;
    border-bottom-right-radius: 21px;
  }
}
/*1280px*/
@media (min-width: 80em) {
  :root {
    font-size: 1rem;
  }
}

@media (min-width: 501px) {
  :root {
    /*font-size: calc(0.8rem + ((1vw - 4.81px) * 0.4005));
    min-height: 0vw;*/
    font-size: calc(0.8rem + ((1vw - 5.01px) * 0.4108));
    min-height: 0vw;
  }
}
@media (min-width: 1281px) {
  /*.ly_wrapper {
    width: 1280px;
  }*/
  section.concept {
    width: 100%;
  }
	/*section.concept */
  .concept_base {
    width: 1280px;
  }
  div.concept_img img {
    border-top-left-radius: 21px;
    border-bottom-left-radius: 21px;
  }
  /*.concept_base{
		width: calc(1200px, 100%, 1300px);
	}*/
  section.concept div.concept_img img {
    border-top-left-radius: 21px;
    border-bottom-left-radius: 21px;
  }
  section.treatment {
    /* width: 1024px;*/
    margin-right: auto;
    margin-left: auto;
    border-top-left-radius: 21px;
    border-bottom-left-radius: 21px;
  }
}