@charset "UTF-8";

/* --------------------------------------------------------------------------------
   大枠
-------------------------------------------------------------------------------- */
:root {
  --base-font-color_gray: #333;/*基本の文字色*/
  --point-color_brown: #68421d;/*ポイントカラーのネイビー*/
  --point-color_lightbrown: #7f5f3e;/*ポイントカラーのブルー*/
  --point-color_brown2: #845f3a;/*ポイントカラーの水色*/
  --bg-color_beige: #f4efea;/*背景色のベージュ*/
  --bg-color_orange: #ffc200;/*背景色のオレンジ*/
}

html {
  font-size: 62.5%;
}
body {
  position: relative;
  min-width: 100%;
  width: 100%;
  margin: 0;
  color: var(--base-font-color_gray);
  font-size: 1.5rem;
  line-height: 1.6;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  background: #fff;
  overscroll-behavior-y: none;
}
header,main,footer {
  display: block;
  position: relative;
}
img {
  width: auto;
  max-width: 100%;
  vertical-align: top;
}
section img {
  width: 100%;
}
a,a:visited {
  color: var(--base-font-color_gray);
  text-decoration: none;
}
a:hover {
  cursor: pointer;
}

.mb20{
  margin-bottom: 20px;
}
.mb30{
  margin-bottom: 30px;
}


/* --------------------------------------------------------------------------------
   共通
-------------------------------------------------------------------------------- */
/* ----- デバイズごとの改行 ----- */
.all_br {
	display: block;
}

.sp_br {
	display: block;
}

.pc_tablet_br {
	display: inline;
}

.pc_br {
	display: inline;
}

@media print, screen and (min-width: 426px) {
	.pc_tablet_br {
		display: block;
	}
	.sp_br {
		display: inline;
	}
}

@media print, screen and (min-width: 821px) {
	.pc_br {
		display: block;
	}
}

/* ----- デバイスごとの表示・非表示 ----- */
.sp {
	display: block;
}

.sp_tablet {
	display: block;
}

.tablet {
  display: none;
}

.pc_tablet {
	display: none;
}

.pc {
	display: none;
}

.pc_max {
  display: none;
}

@media print, screen and (min-width: 751px) {
  .sp {
		display: none;
	}
  .tablet {
    display: block;
  }
	.pc_tablet {
		display: block;
	}
}

@media print, screen and (min-width: 821px) {
	.sp_tablet {
		display: none;
	}
  .tablet {
    display: none;
  }
	.pc {
		display: block;
	}
}

@media print, screen and (min-width: 1550px) {
  .pc_max {
    display: block;
  }
}

/* paddingを枠内で調整してくれる */
* {
	box-sizing: border-box;
}

/* clearfix */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: ".";
  clear: both;
  height: 0;
}

/*----------- 共通 -----------*/
.w100p,
.w800 {
  width: 100%;
  padding: 0 15px;
}

.w650 {
  width: 90%;
  max-width: 450px;
  margin: 0 auto;
}

.section_bg {
  margin: 0 0 40px;
  padding: 60px 0;
  background: var(--bg-color_beige);
}

.section_wh {
  padding: 20px 0 60px;
}

#news.section_bg {
  margin: 0 0 40px;
  padding: 20px 0;
}

.h2_tit_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 40px;
}

#about_clinic .h2_tit_wrap,
#about_medical .h2_tit_wrap {
  margin: 0 0 20px;
}

.h2_tit_wrap .h2_tit__ico {
  width: 40px;
}

.h2_tit {
  margin: 15px 0;
  color: var(--point-color_brown);
  font-size: 2.6rem;
  line-height: 1;
}

.h2_tit__news {
  margin: 0 0 10px;
  padding: 0 0 0 30px;
  color: var(--point-color_brown);
  font-size: 2rem;
  line-height: 1;
  background: url(../images/ico_square.svg) no-repeat left center;
  background-size: 20px;
}

.h2_tit__contact {
  display: inline-block;
  margin: 0 0 20px;
  padding: 0 32px;
  color: var(--point-color_brown);
  font-size: 2.2rem;
  line-height: 1;
  background: url(../images/ico_square.svg) no-repeat left center,url(../images/ico_square.svg) no-repeat right center;
  background-size: 22px;
}

.h2_tit__en {
  color: #999;
  font-size: 1.4rem;
  line-height: 1;
}

.h3_tit {
  position: relative;
  margin: 0 0 20px;
  padding: 20px 0 0;
  color: var(--point-color_brown);
  font-size: 2rem;
  font-weight: normal;
  border-bottom: 2px solid var(--point-color_lightbrown);
  z-index: 10;
}

.h3_tit::after {
  content: "";
  position: absolute;
  top: 15px;
  left: -5px;
  width: 30px;
  height: 30px;
  background: var(--bg-color_beige);
  border-radius: 50%;
  z-index: -1;
}

.hours_link_btn {
  margin: 20px 0 0;
}

.map_link_btn {
  margin: 20px 0;
}

.hours_link_btn a,
.map_link_btn a {
  position: relative;
  display: block;
  width: 250px;
  margin: 0 auto;
  padding: 16px;
  color: var(--point-color_lightbrown);
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  background: #fff;
  border: 1px solid var(--point-color_lightbrown);
  border-radius: 15px;
  transition: 0.3s;
}

.hours_link_btn a::after,
.map_link_btn a::after {
  position: absolute;
  content: "\2227";
  right: 15px;
  transform: rotate(90deg);
}

@media print, screen and (min-width: 751px) {
  /*----------- 共通 -----------*/
  .w100p,
  .w800 {
    padding: 0 30px;
  }
  .section_bg {
    margin: 0 0 70px;
    padding: 60px 0;
  }
  .section_wh {
    padding: 20px 0 70px;
  }
  #news.section_bg {
    margin: 0 0 70px;
    padding: 25px 0;
  }
  .h2_tit_wrap {
    margin: 0 0 min(5vw,80px);
  }
  #about_clinic .h2_tit_wrap,
  #about_medical .h2_tit_wrap {
    margin: 0 0 min(3.047vw,60px);
  }
  .h2_tit_wrap .h2_tit__ico {
    width: min(6vw,70px);
  }
  #news .h2_tit_wrap .h2_tit__ico {
    width: min(2.4vw,30px);
  }
  .h2_tit {
    margin: min(2.5vw,30px) 0;
    font-size: min(4vw,4rem);
  }
  .h2_tit__news {
    padding: 0 0 0 min(3.4vw,40px);
    font-size: min(2.4vw,3rem);
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(2.4vw,3rem);
  }
  .h2_tit__contact {
    margin: 0 0 min(3.4vw,40px);
    padding: 0 min(3.4vw,40px);
    font-size: min(2.4vw,3rem);
    background: url(../images/ico_square.svg) no-repeat left center,url(../images/ico_square.svg) no-repeat right center;
    background-size: min(2.4vw,30px);
  }
  .h2_tit__en {
    font-size: min(1.8vw,2rem);
  }
  .h3_tit {
    margin: 0 0 min(3vw,50px);
    font-size: min(3vw,3rem);
  }
  .h3_tit::after {
    top: 0.2vw;
    left: -1.5vw;
    width: min(5vw,50px);
    height: min(5vw,50px);
  }

  .hours_link_btn {
    margin: min(2.5vw,40px) 0 0;
  }
  .hours_link_btn a,
  .map_link_btn a {
    margin: 0;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- 共通 -----------*/
  .w100p {
    max-width: 1140px;
    margin: 0 auto;
  }
  .w800 {
    max-width: 860px;
    margin: 0 auto;
  }
  .w650 {
    max-width: 650px;
  }
  .section_bg {
    margin: 0 0 90px;
    padding: 80px 0;
  }
  .section_wh {
    padding: 30px 0 90px;
  }
  #news.section_bg {
    margin: 0 0 90px;
    padding: 30px 0;
  }
  .hours_link_btn a:hover,
  .map_link_btn a:hover {
    color: #fff;
    background: var(--point-color_lightbrown);
  }
}

@media screen and (min-width: 1200px) {
  /*----------- 共通 -----------*/
  .w100p {
    width: 90%;
    padding: 0 15px;
  }
  .w800 {
    max-width: 830px;
    padding: 0 15px;
  }
  .section_bg {
    margin: 0 0 120px;
    padding: 100px 0;
  }
  .section_wh {
    padding: 30px 0 150px;
  }
  #news.section_bg {
    margin: 0 0 120px;
    padding: 40px 0;
  }
  .h2_tit__en {
    font-size: min(1.5vw,2rem);
  }
  .h3_tit {
    font-size: min(2vw,3rem);
  }
  .hours_link_btn a,
  .map_link_btn a {
    width: min(22vw,300px);
    padding: min(1.9vw,19px);
    font-size: min(1.5vw,2rem);
    border-radius: min(1.4vw,20px);
  }
}


/* --------------------------------------------------------------------------------
   ヘッダーとcontainer__inner
-------------------------------------------------------------------------------- */
header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 9999;
}

.header_wrap {
  position: relative;
  height: 50px;
  background: #fff;
  box-shadow: 0px 3px 6px rgb(0 0 0 / 20%);
}

.header_logo_wrap {
  display: flex;
  align-items: center;
  column-gap: 15px;
  height: 100%;
  padding: 0 10px;
}

.header_logo {
  width: 190px;
}

.header_logo img.print {
  display: none;
}

.header_subject_list {
  display: none;
}

.sp_tel {
  position: absolute;
  top: 0;
  right: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background: var(--point-color_brown2);
  cursor: pointer;
}

.sp_tel a {
  display: block;
  width: 25px;
}

.sp_menu {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  margin: 0;
  background: var(--point-color_brown);
  cursor: pointer;
  z-index: 11;
  text-align: center;
}

.sp_menu .line {
  position: absolute;
  top: 0;
  left: 10px;
  width: 30px;
  height: 2px;
  background: #fff;
  transition: all 0.3s ease-out;
}

.sp_menu .line_t { top: 14px; }
.sp_menu .line_c { top: 24px; }
.sp_menu .line_b { top: 34px; }

.sp_menu.is_active .line_t {
  top: 24px;
  transform: rotate(45deg);
}

.sp_menu.is_active .line_c {
  opacity: 0;
}

.sp_menu.is_active .line_b {
  top: 24px;
  transform: rotate(135deg);
}

#gnavi {
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgb(0 0 0 / 30%);
  transform: translateY(-100%);
  transition: 0.5s;
  z-index: -1;
}

#gnavi.on {
  transform: translateY(0);
}

.gnavi_menu_list {
  display: flex;
  flex-wrap: wrap;
}

.gnavi_menu_list li {
  width: 50%;
  border-bottom: 1px solid var(--point-color_brown);
}

.gnavi_menu_list li:nth-of-type(2n) {
  border-left: 1px solid var(--point-color_brown);
}
/*
.gnavi_menu_list li:last-child {
  width: 100%;
}*/

.gnavi_menu_list li a {
  display: block;
  padding: 18px 10px 18px 35px;
  color: var(--point-color_brown);
  font-size: 1.5rem;
  line-height: 1;
  font-weight: bold;
  background: url(../images/ico_square.svg) no-repeat 10px center,#fff;
  background-size: 15px;
}

.tel__header {
  display: none;
}

.header__ban {
  padding: 15px;
  background: #fff;
}

.header__ban a {
  display: block;
  width: 200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 1200px) {

.header_subject_list {
  display: none !important;
}

}
@media print, screen and (min-width: 821px) {
  /*----------- ヘッダーとcontainer__inner -----------*/
  header {
    height: 140px;
    padding: 15px;
    box-shadow: 0px 3px 6px rgb(0 0 0 / 20%);
  }
  .header_wrap {
    display: flex;
    /*align-items: flex-end;*/
    align-items: center;
    column-gap: min(4vw,40px);
    height: auto;
    box-shadow: none;
  }
  .header_logo_wrap {
    flex-direction: column;
    align-items: center;
    column-gap: 0;
    padding: 0;
  }
  .header_logo {
    width: 120px;
  }
  .header_subject_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .header_subject_list li {
    width: 49%;
    padding: 3px 6px;
    margin-bottom: 5px;
    color: #fff;
    font-size: 0.9rem;
    text-align: center;
    line-height: 1;
    background: var(--point-color_lightbrown);
    border-radius: 5px;
  }
  .sp_tel,
  .sp_menu {
    display: none;
  }
  #gnavi {
    position: static;
    width: calc(100% - 370px);
    height: auto;
    background: #fff;
    transform: none;
    transition: 0s;
    z-index: 0;
  }
  .gnavi_menu_list {
    display: flex;
    flex-wrap: wrap;
    column-gap: min(3vw,30px);
    row-gap: min(2vw,20px);
  }
  .gnavi_menu_list li {
    width: auto;
    border-bottom: none;
  }
  .gnavi_menu_list li:nth-of-type(2n) {
    border-left: none;
  }
  .gnavi_menu_list li:last-child {
    width: auto;
  }
  .gnavi_menu_list li a {
    padding: 0 0 0 min(2.6vw,26px);
    color: var(--point-color_brown);
    font-size: min(1.6vw,1.6rem);
    line-height: 1;
    font-weight: bold;
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(1.6vw,16px);
  }
  .tel__header {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
  .tel__header .pc_tel a {
    display: flex;
    align-items: center;
  }
  .tel__header .pc_tel a img {
    width: 20px;
    margin: 0 10px 0 0;
  }
  .tel__header .pc_tel a p {
    color: var(--point-color_brown);
    font-size: 2rem;
    line-height: 1;
    font-weight: bold;
  }
  .header__ban {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0;
  }
  .header__ban a {
    width: 180px;
  }
}

@media print, screen and (min-width: 1024px) {
  /*----------- ヘッダーとcontainer__inner -----------*/
  .tel__header .pc_tel {
    cursor: text;
  }
  .tel__header .pc_tel a {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- ヘッダーとcontainer__inner -----------*/
  .container {
    display: flex;
  }
  header {
    position: fixed;
    width: 280px;
    height: 100vh;
    padding: 10px 20px;
    box-shadow: 3px 0px 6px rgb(0 0 0 / 20%);
    overflow-y: scroll;
    scrollbar-width: none;
  }
  .container__inner {
    width: calc(100% - 280px);
    margin: 0 0 0 280px;
  }
  .header_wrap {
    display: block;
  }
  .header_logo_wrap {
    margin: 0 0 15px;
  }
  .header_logo {
    width: 100%;
  }
  .header_subject_list {
    margin: 20px 0 0;
  }
  .header_subject_list li {
    width: 90%;
    margin: 0 auto 10px;
    padding: 6px;
    font-size: 1.3rem;
  }
  .header_subject_list li:last-child {
    margin: 0 auto;
  }
  #gnavi {
    width: 100%;
  }
  .gnavi_menu_list {
    display: block;
  }
  .gnavi_menu_list li {
    border-bottom: 1px solid var(--point-color_brown);
  }
  .gnavi_menu_list li:first-child {
    border-top: 1px solid var(--point-color_brown);
  }
  .gnavi_menu_list li a {
    display: block;
    padding: 17px 0 17px 28px;
    color: var(--point-color_brown);
    font-size: 1.6rem;
    line-height: 1;
    font-weight: bold;
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: 16px;
  }
  .gnavi_menu_list li a:hover {
    background: url(../images/ico_square.svg) no-repeat left center,linear-gradient(to right, rgba(255,255,255,1) 20%,rgba(0,206,230,0.2) 100%);
    background-size: 16px,100%;
  }
  .tel__header {
    margin:  0 0 8px;
  }
  .tel__header {
    position: static;
  }
  .tel__header .pc_tel a img {
    width: 30px;
  }
  .tel__header .pc_tel a p {
    font-size: 2rem;
  }
  .header__ban {
    position: static;
  }
  .header__ban a {
    width: 100%;
  }
}


/* --------------------------------------------------------------------------------
   メインビジュアル
-------------------------------------------------------------------------------- */
.mv {
  position: relative;
}

.mv_slider {
  line-height: 0;
}

.mv_copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
  max-width: 1440px;
}

.mv_copy h1 {
  position: relative;
  color: var(--point-color_brown);
  font-size: min(4.8vw,6rem);
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: bold;
  font-family: "游明朝", "ヒラギノ明朝 ProN", "MS明朝", serif;
}

.mv_copy h1::after {
  content: "";
  position: absolute;
  top: -18%;
  left: -2.5%;
  z-index: -1;
  width: min(15vw,180px);
  height: min(15vw,180px);
  background: var(--bg-color_beige);
}

@media screen and (min-width: 1200px) {
  /*----------- メインビジュアル -----------*/
  .mv_copy h1 {
    font-size: min(3.7vw,6rem);
  }
  .mv_copy h1::after {
    width: min(11vw,180px);
    height: min(11vw,180px);
  }
}

/* ----- メインビジュアルslick用　ここから ----- */

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-dots {
	position: absolute;
	bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
	display: block;
  width: max-content;
  margin: 0;
	padding: 0;
	list-style: none;
}

.slick-dots li {
	position: relative;
	display: inline-block;
  width: 10px;
	height: 10px;
	margin: 0 10px;
	padding: 0;
	cursor: pointer;
}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 10px;
	height: 10px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: #fff;
	border-radius: 50%;
}

.slick-dots li button:hover {
	background: var(--point-color_brown2);
}

.slick-dots li.slick-active button {
	background: var(--point-color_brown2);
}

.slick-loading .slick-list {
  background: #fff url(../images/ajax-loader.gif) center center no-repeat;
}

@media print, screen and (min-width: 821px) {
  /*----------- メインビジュアルslick用 -----------*/
  .slick-dots {
    bottom: 20px;
  }
  .slick-dots li {
    width: 15px;
    height: 15px;
  }
  .slick-dots li button {
    width: 15px;
    height: 15px;
  }
}

/* ----- メインビジュアルslick用　ここまで ----- */


/* --------------------------------------------------------------------------------
   お知らせ　｜　#news
-------------------------------------------------------------------------------- */
#news{
  padding: 50px 0;
}
.news_wrap__inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.news_list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--point-color_brown2);
}

.news_list li:first-child {
  border-top: 1px solid var(--point-color_brown2);
}

.news_list li dl {
  display: flex;
  justify-content: space-between;
}

.news_list li dl dt {
  width: 25%;
  color: #666;
  font-size: 1.2rem;
}

.news_list li dl dd {
  width: 75%;
}

.news_list li dl dd h3 {
  color: var(--point-color_lightbrown);
  font-size: 1.5rem;
}

.news_list li dl dd p {
  font-size: 1.4rem;
  line-height: 1.6;
}

@media print, screen and (min-width: 751px) {
  /*----------- お知らせ　｜　#news -----------*/
  .news_wrap__inner {
    flex-direction: row;
    align-items: flex-start;
  }
  .news_list {
    width: calc(100% - 18vw);
  }
  .news_list li {
    padding: 15px 0;
  }
  .news_list li dl dt {
    width: 20%;
    font-size: 1.4rem;
  }
  .news_list li dl dd {
    width: 80%;
  }
  .news_list li dl dd h3 {
    font-size: 1.6rem;
  }
  .news_list li dl dd p {
    line-height: 1.8;
  }
}

@media print, screen and (min-width: 1024px) {
  /*----------- お知らせ　｜　#news -----------*/
  .news_list li dl dt {
    width: 15%;
    font-size: 1.6rem;
  }
  .news_list li dl dd {
    width: 85%;
  }
  .news_list li dl dd h3 {
    font-size: 2rem;
  }
  .news_list li dl dd p {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- お知らせ　｜　#news -----------*/
  .news_list {
    width: calc(100% - 16vw);
  }
  .news_list li {
    padding: 20px 0;
  }
  .news_list li dl dt {
    width: 18%;
    font-size: min(1.25vw,1.6rem);
  }
  .news_list li dl dd {
    width: 82%;
  }
  .news_list li dl dd h3 {
    font-size: min(1.5vw,2rem);
  }
  .news_list li dl dd p {
    font-size: min(1.25vw,1.6rem);
  }
}


/* --------------------------------------------------------------------------------
   院長挨拶　｜　#greetings

.greetings_box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}

.greetings_box__photo {
  position: relative;
  width: 70%;
  margin: 0 0 35px;
}

.greetings_box__photo .name_box {
  position: absolute;
  right: -15%;
  bottom: -35px;
  padding: 15px;
  background: var(--bg-color_beige);
}

.greetings_box__photo .name_box dt {
  font-size: 1.2rem;
}

.greetings_box__photo .name_box dd {
  font-size: 1.8rem;
  font-weight: bold;
}

.greetings_box__txt {
  margin: 20px 0 0;
}

.greetings_box__txt h3 {
  margin: 0 0 20px;
  font-family: serif;
  font-size: 2rem;
  text-align: center;
  line-height: 1.8;
  font-weight: normal;
}

.greetings_box__txt h3 span {
  letter-spacing: -0.4em;
}

.greetings_box__txt p {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media print, screen and (min-width: 751px) {
  .greetings_box {
    flex-direction: row;
    padding: 0 0 50px;
  }
  .greetings_box__photo {
    width: 33%;
    margin: 0;
  }
  .greetings_box__photo .name_box {
    right: -7%;
    bottom: -50px;
    padding: 20px;
  }
  .greetings_box__photo .name_box dt {
    font-size: min(1.5vw,1.6rem);
  }
  .greetings_box__photo .name_box dd {
    font-size: min(2.3vw,2.6rem);
  }
  .greetings_box__txt {
    width: 60%;
    margin: 0;
  }
  .greetings_box__txt h3 {
    margin: 0 0 min(2vw,40px);
    font-size: min(2.3vw,2.6rem);
    text-align: left;
  }
}

@media print, screen and (min-width: 1024px) {
  .greetings_box__txt p {
    font-size: 1.6rem;
    line-height: 2;
  }
  .greetings_box__txt h3 {
    line-height: 2;
  }
}

@media screen and (min-width: 1200px) {
  .greetings_box__photo .name_box dt {
    font-size: min(1.1vw,1.6rem);
  }
  .greetings_box__photo .name_box dd {
    font-size: min(1.65vw,2.6rem);
  }
  .greetings_box__txt h3 {
    font-size: min(1.65vw,2.6rem);
  }
  .greetings_box__txt p {
    font-size: min(1.25vw,1.6rem);
  }
}
-------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------
   診療科目　｜　#subject
-------------------------------------------------------------------------------- */
.subject_list {
  width: 80%;
  margin: 0 auto;
}
.subject_list li{
  margin-bottom: 20px;
}
.subject_list li:last-child{
  margin-bottom: 0;
}
.subject_list li dl dd h3{
  margin: 15px 0 5px;
  color: var(--point-color_brown);
  font-size: 2rem;
}
.subject_list li dl dd p{
  margin: 0 0 20px;
  font-size: 1.6rem;
}


@media print, screen and (min-width: 751px) {
  /*----------- 診療科目　｜　#subject -----------*/
  .subject_list {
    width: 100%;
  }
  .subject_list li dl{
    display: flex;
    align-items: flex-start;
    align-items: center;
  }
  .subject_list li dl dt{
    width: 30%;
  }
  .subject_list li dl dd{
    width: 70%;
    padding: 20px;
    background: rgb(255 255 255 / 100%);
    margin:  30px 0 0 -20px;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- 診療科目　｜　#subject -----------*/
  .subject_list {
    padding: 0 0 125px;
  }

}

@media screen and (min-width: 1200px) {
  /*----------- 診療科目　｜　#subject -----------*/
  .subject_list li dl dd h3 {
    font-size: min(2vw,3rem);
  }
  .subject_list li dl dd p {
    font-size: min(1.6vw,1.5rem);
  }
}


/* --------------------------------------------------------------------------------
   医師・スタッフ紹介　｜　#doctor_staff
-------------------------------------------------------------------------------- */

#doctor_staff{
  padding: 30px 0 0;
}
.doctor_box_wrap{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.doctor_box.full{
  width: 100% !important;
}
.doctor_box {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.doctor_box__main {
  position: relative;
  margin: 0 0 20px 0;
  padding: 20px 0 20px 50px;
  text-align: left;
  z-index: 10;
}

.doctor_box__main::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 98%;
  background: var(--bg-color_orange);
  z-index: -1;
}

.doctor_box__main dl {
  margin: 0 0 15px;
  line-height: 1;
}

.doctor_box__main dl dt {
  margin: 0 0 15px;
  font-size: 1.4rem;
}

.doctor_box__main dl dd {
  font-size: 2.4rem;
  font-weight: bold;
}

.doctor_box__main dl dd span {
  display: block;
  margin: 10px 0 0;
  color: var(--point-color_brown2);
  font-size: 1.4rem;
  font-weight: normal;
}

.doctor_box__main h3 {
  font-family: serif;
  font-size: 1.6rem;
  line-height: 1.8;
  font-weight: normal;
}

.doctor_box__sub h4 {
  margin: 0 0 10px;
  color: var(--point-color_lightbrown);
  font-size: 1.6rem;
  border-bottom: 1px solid var(--point-color_brown2);
}

.doctor_box__sub dl {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
  font-size: 1.4rem;
}

.doctor_box__sub dl dt:not(.end),
.doctor_box__sub dl dd:not(.end) {
  margin: 0 0 5px;
}

.doctor_box__sub dl dt {
  width: 6em;
}

.doctor_box__sub dl dd {
  width: calc(100% - 6em);
}

.doctor_box__sub ul li {
  font-size: 1.4rem;
}

.doctor_box__sub ul li:not(:last-child) {
  margin: 0 0 5px;
}

.doctor_box__sub ul li span {
  padding: 0 0.5em 0 0;
  color: var(--point-color_brown2);
}

.doctor_box .doctor_box__photo {
  width: 70%;
  margin: 0 auto;
}

.staff_box_wrap {
  display: flex;
  flex-direction: column;
  margin: 60px 0;
}

.staff_box {
  display: flex;
  justify-content: space-between;
}

.staff_box:not(:last-child) {
  margin: 0 0 30px;
}

.staff_box__photo {
  width: 41%;
}

.staff_box__txt {
  width: 53%;
}

.staff_box__txt dl {
  position: relative;
  margin: 0 0 10px;
  padding: 12px 0;
  line-height: 1;
}

.staff_box__txt dl::after {
  content: "";
  position: absolute;
  top: 0;
  left: -40px;
  width: 30px;
  height: 100%;
  background: var(--bg-color_beige);
}

.staff_box__txt dl dt {
  margin: 0 0 10px;
  font-size: 1.4rem;
}

.staff_box__txt dl dd {
  font-size: 1.8rem;
  font-weight: bold;
}

.staff_box__txt dl dd span {
  display: block;
  margin: 10px 0 0;
  color: var(--point-color_brown2);
  font-size: 1.4rem;
  font-weight: normal;
}

.staff_box__txt p {
  font-family: serif;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 751px) {
  /*----------- 医師・スタッフ紹介　｜　#doctor_staff -----------*/
  .doctor_box {
    flex-direction: row;
    justify-content: space-between;
  }
  .doctor_box .doctor_box__txt {
    width: 100%;
  }
  .doctor_box__main {
    margin: 0 0 min(4vw,40px);
    padding: 20px 0 20px 65px;
    text-align: left;
  }
  .doctor_box__main::after {
    top: 0;
    left: 0;
    width: min(4vw,50px);
    height: 100%;
  }
  .doctor_box__main dl {
    margin: 0 0 min(3vw,40px);
  }
  .doctor_box__main dl dt {
    font-size: 1.5rem;
  }
  .doctor_box__main dl dd {
    font-size: min(3vw,3rem);
  }
  .doctor_box__main dl dd span {
    display: inline;
    margin: 0;
    padding: 0 0 0 30px;
    font-size: 1.5rem;
  }
  .doctor_box__main h3 {
    font-size: 2rem;
    line-height: 2;
  }
  .doctor_box{
    width: 48%;
  }
  .doctor_box__sub {
    padding: 0 0 0 min(7vw,75px);
  }
  .doctor_box__sub h4 {
    font-size: 1.6rem;
  }
  .doctor_box__sub dl {
    margin: 0 0 min(4vw,40px);
  }
  .doctor_box .doctor_box__photo {
    width: 33%;
    margin: 0;
  }
  .staff_box_wrap {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: min(12vw,120px) 0;
    row-gap: 50px;
  }
  .staff_box {
    width: 47%;
  }
  .staff_box:not(:last-child) {
    margin: 0;
  }
  .staff_box__txt dl {
    margin: 0;
    padding: 15px 0;
  }
  .staff_box__txt dl::after {
    left: -35px;
    width: min(3vw,30px);
  }
  .staff_box__txt dl dd {
    font-size: min(2.6vw,2.6rem);
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- 医師・スタッフ紹介　｜　#doctor_staff -----------*/
  .doctor_box:not(:last-child) {
    margin: 0 0 min(15vw,150px);
  }
  .doctor_box__main {
    margin: 0 0 min(5vw,50px);
  }
  .doctor_box__main::after {
    width: min(4vw,50px);
  }
  .doctor_box__main dl {
    margin: 0 0 min(4vw,50px);
  }
  .doctor_box__main dl dt {
    font-size: 1.6rem;
  }
  .doctor_box__main dl dd span {
    font-size: 1.6rem;
  }
  .doctor_box__sub h4 {
    font-size: 1.8rem;
  }
  .doctor_box__sub dl {
    margin: 0 0 20px;
  }
  .staff_box__txt dl {
    line-height: 1.2;
  }
  .staff_box__txt dl::after {
    left: -40px;
  }
  .staff_box__txt p {
    font-size: min(1.6vw,1.6rem);
    line-height: 1.8;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- 医師・スタッフ紹介　｜　#doctor_staff -----------*/
  .doctor_box:not(:last-child) {
    margin: 0 0 150px;
  }
  .doctor_box__main {
    margin: 0 0 50px;
    padding: 40px 0 40px min(5vw,75px);
    text-align: left;
  }
  .doctor_box__main::after {
    width: min(3vw,50px);
  }
  .doctor_box__main dl {
    margin: 0 0 40px;
  }
  .doctor_box__main dl dd {
    font-size: min(3vw,3rem);
  }
  .doctor_box__main h3 {
    font-size: min(1.6vw,2.4rem);
    line-height: 2;
  }
  .doctor_box__sub {
    padding: 0 0 0 min(5vw,75px);
  }
  .doctor_box__sub h4 {
    font-size: 1.8rem;
  }
  .doctor_box__sub dl {
    margin: 0 0 50px;
    font-size: 1.5rem;
  }
  .doctor_box__sub ul li {
    font-size: 1.5rem;
  }
  .staff_box_wrap {
    margin: min(15vw,150px) 0;
    row-gap: 90px;
  }
  .staff_box__txt {
    width: 52%;
  }
  .staff_box__txt dl::after {
    left: -40px;
  }
  .staff_box__txt dl dt {
    font-size: min(1.16vw,1.6rem);
  }
  .staff_box__txt dl dd {
    font-size: min(2vw,2.6rem);
  }
  .staff_box__txt dl dd span {
    font-size: min(1.16vw,1.6rem);
  }
  .staff_box__txt p {
    font-size: min(1.16vw,1.6rem);
  }
}

@media screen and (min-width: 1420px) {
  /*----------- 医師・スタッフ紹介　｜　#doctor_staff -----------*/
  .staff_box__photo {
    width: 40%;
  }
  .staff_box__txt {
    width: 50%;
  }
  .staff_box__txt dl {
    padding: 20px 0;
  }
  .staff_box__txt dl::after {
    left: -70px;
    width: min(4vw,40px);
  }
  .staff_box__txt p {
    line-height: 2;
  }
}


/* --------------------------------------------------------------------------------
   当院について　｜　#about_clinic
-------------------------------------------------------------------------------- */
.overview_wrap {
  margin: 0 0 40px;
}

.overview_photo {
  margin: 0 0 20px;
}

.overview_list {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #cdcdcd;
}

.overview_list dt,
.overview_list dd {
  padding: 10px;
  font-size: 1.4rem;
  border-bottom: 1px solid #cdcdcd;
}

.overview_list dt {
  width: 25%;
}

.overview_list dd {
  width: 75%;
}

.overview_list dd span {
  display: block;
}

.overview_note li {
  padding: 0 0 0 1em;
  text-indent: -1em;
}

.introduction_list li:not(:last-child) {
  margin: 0 0 30px;
}

.introduction_list li dl dd {
  margin: 5px 0 0;
  font-size: 1.4rem;
  text-align: center;
}

@media print, screen and (min-width: 751px) {
  /*----------- 当院について　｜　#about_clinic -----------*/
  .overview_wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 80px;
  }
  .overview_photo {
    width: 47%;
    margin: 0;
  }
  .overview_list {
    width: 47%;
  }
  .overview_list dd span {
    display: inline;
    padding: 0 0 0 0.5em;
  }
  .introduction_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 40px;
  }
  .introduction_list li {
    width: calc((100% - 30px) / 3);
  }
  .introduction_list li:not(:last-child) {
    margin: 0;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- 当院について　｜　#about_clinic -----------*/
  .overview_list dt,
  .overview_list dd {
    padding: min(1.5vw,15px);
    font-size: min(1.6vw,1.6rem);
  }
  .introduction_list li dl dd {
    margin: min(1vw,10px) 0 0;
    font-size: min(1.6vw,1.6rem);
  }
}

@media screen and (min-width: 1200px) {
  /*----------- 当院について　｜　#about_clinic -----------*/
  .overview_list dt,
  .overview_list dd {
    padding: min(0.8vw,15px);
    font-size: min(1.25vw,1.6rem);
  }
  .introduction_list li dl dd {
    margin: min(0.6vw,10px) 0 0;
    font-size: min(1.25vw,1.6rem);
  }
}


/* --------------------------------------------------------------------------------
   診療について　｜　#about_medical
-------------------------------------------------------------------------------- */
.medical_box:not(:last-child) {
  margin: 0 0 40px;
}

.medical_box__txt p {
  font-size: 1.4rem;
  line-height: 1.8;
}

.list_style_01 {
  margin: 20px 0;
}

.list_style_01 dt {
  margin: 0 0 5px;
  padding: 0 0 0 26px;
  font-size: 1.6rem;
  line-height: 1;
  background: url(../images/ico_square.svg) no-repeat left center;
  background-size: 16px;
}

.list_style_01 dd {
  padding: 0 0 0 26px;
  font-size: 1.4rem;
  line-height: 1.8;
}

.list_style_01 dd:not(:last-child) {
  margin: 0 0 20px;
}

.medical_box__photo {
  margin: 20px auto 0;
}

.medical_box.box_type1 .medical_box__photo {
  width: 70%;
}

.list_style_02 {
  margin: 20px 0;
}

.list_style_02 li {
  padding: 0 0 0 26px;
  font-size: 1.6rem;
  background: url(../images/ico_square.svg) no-repeat left center;
  background-size: 16px;
}

.list_style_02 li:not(:last-child) {
  margin: 0 0 10px;
}

.medical_note li {
  padding: 0 0 0 1em;
  font-size: 1.4rem;
  text-indent: -1em;
}

.medical_note li:not(:last-child) {
  margin: 0 0 5px;
}

.tel__visit {
  margin: 30px 0;
}

.tel__visit .pc_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tel__visit .pc_tel a img {
  width: 35px;
  margin: 0 10px 0 0;
}

.tel__visit .pc_tel a .tel_number {
  color: var(--point-color_brown);
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
}

@media print, screen and (min-width: 751px) {
  /*----------- 診療について　｜　#about_medical -----------*/
  .medical_box {
    display: flex;
    justify-content: space-between;
  }
  .medical_box:not(:last-child) {
    margin: 0 0 80px;
  }
  .medical_box__txt {
    width: 52%;
  }
  .medical_box__photo {
    width: 45%;
    margin: 0;
  }
  .medical_box.box_type1 .medical_box__txt {
    width: 60%;
  }
  .medical_box.box_type1 .medical_box__photo {
    width: 35%;
  }
  .tel__visit .pc_tel a {
    justify-content: flex-start;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- 診療について　｜　#about_medical -----------*/
  .medical_box__txt p {
    font-size: min(1.8vw,1.8rem);
  }
  .list_style_01 {
    margin: min(2.5vw,40px) 0 0;
  }
  .list_style_01 dt {
    margin: 0 0 min(1.5vw,15px);
    padding: 0 0 0 min(3.2vw,32px);
    font-size: min(2.2vw,2.2rem);
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(2.2vw,22px);
  }
  .list_style_01 dd {
    padding: 0 0 0 min(3.2vw,32px);
    font-size: min(1.6vw,1.6rem);
  }
  .list_style_01 dd:not(:last-child) {
    margin: 0 0 min(2.5vw,40px);
  }
  .list_style_02 {
    margin: min(2.5vw,40px) 0;
  }
  .list_style_02 li {
    padding: 0 0 0 min(3.2vw,32px);
    font-size: min(2.2vw,2.2rem);
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(2.2vw,22px);
  }
  .list_style_02 li:not(:last-child) {
    margin: 0 0 min(1.2vw,30px);
  }
  .medical_note li {
    font-size: min(1.6vw,1.6rem);
  }
  .tel__visit {
    margin: min(2vw,30px) 0 0;
  }
}

@media print, screen and (min-width: 1024px) {
  /*----------- 診療について　｜　#about_medical -----------*/
  .tel__visit .pc_tel {
    cursor: text;
  }
  .tel__visit .pc_tel a {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- 診療について　｜　#about_medical -----------*/
  .medical_box__txt p {
    font-size: min(1.34vw,1.8rem);
  }
  .list_style_01 dt {
    margin: 0 0 min(0.8vw,15px);
    padding: 0 0 0 min(2.4vw,32px);
    font-size: min(1.6vw,2.2rem);
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(1.6vw,22px);
  }
  .list_style_01 dd {
    padding: 0 0 0 min(2.4vw,32px);
    font-size: min(1.25vw,1.6rem);
  }
  .list_style_02 li {
    padding: 0 0 0 min(2.4vw,32px);
    font-size: min(1.6vw,2.2rem);
    background: url(../images/ico_square.svg) no-repeat left center;
    background-size: min(1.6vw,22px);
  }
  .medical_note li {
    font-size: min(1.25vw,1.6rem);
  }
}


/* --------------------------------------------------------------------------------
   診療時間・休診日　｜　#hours
-------------------------------------------------------------------------------- */
.hours_list_wrap {
  overflow-x: scroll;
}
.hours_list {
  width: 460px;
}

.hours_list th,
.hours_list td {
  padding: 10px;
  font-size: 1.4rem;
  text-align: center;
}

.hours_list thead th {
  color: #fff;
  background: var(--point-color_lightbrown);
}

.hours_list thead th:not(:last-child) {
  border-right: 2px solid #fff;
}

.hours_list tbody th {
  color: var(--point-color_brown);
  background: #fff;
  border-right: 2px solid var(--point-color_lightbrown);
  border-bottom: 1px solid var(--point-color_lightbrown);
}

.hours_list tbody th span {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
}

.hours_list tbody td {
  color: var(--point-color_brown2);
  font-size: 2rem;
  line-height: 1;
  background: #fff;
  border-bottom: 1px solid var(--point-color_lightbrown);
}

.hours_list tbody td.close {
  color: #999;
}

.hours_list tbody td:not(:last-child) {
  border-right: 2px solid var(--point-color_lightbrown);
}

.hours_note {
  margin: 15px 0 0;
  font-size: 1.3rem;
}

#hours .list_style_02 {
  margin: 20px 0 0;
}

@media print, screen and (min-width: 490px) {
  /*----------- 診療時間・休診日　｜　#hours -----------*/
  .hours_list {
    width: 100%;
  }
}

@media print, screen and (min-width: 751px) {
  /*----------- 診療時間・休診日　｜　#hours -----------*/

  .hours_list_wrap {
    overflow-x: initial;
  }
  .hours_list th,
  .hours_list td {
    font-size: 1.6rem;
  }
  .hours_list tbody th span {
    font-size: 1.8rem;
  }
  .hours_list tbody td {
    font-size: 2.4rem;
  }
  .hours_note {
    font-size: 1.5rem;
  }
}


/* --------------------------------------------------------------------------------
   アクセス　｜　#access
-------------------------------------------------------------------------------- */
.access_box__logo {
  width: 300px;
  margin: 30px auto 20px;
}

.access_box__logo + p {
  font-size: 1.4rem;
  text-align: center;
}

.tel__access {
  margin: 0 0 30px;
}

.tel__access .pc_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tel__access .pc_tel a img {
  width: 25px;
  margin: 0 10px 0 0;
}

.tel__access .pc_tel a .tel_number {
  color: var(--point-color_brown);
  font-size: 2rem;
  line-height: 1;
  font-weight: bold;
}

#access .list_style_01 {
  margin: 0;
  padding: 30px;
  border: 1px solid var(--point-color_brown2);
  border-radius: 20px;
}

@media print, screen and (min-width: 751px) {
  /*----------- アクセス　｜　#access -----------*/
  .access_box_wrap {
    display: flex;
    justify-content: space-between;
  }
  .access_box {
    width: 47%;
  }
  .access_box__logo {
    margin: 30px 0;
  }
  .access_box__logo + p {
    text-align: left;
  }
  .tel__access {
    margin: 0;
  }
  .tel__access .pc_tel a {
    justify-content: flex-start;
  }
  .tel__access .pc_tel a img {
    width: 30px;
  }
  .tel__access .pc_tel a .tel_number {
    font-size: 2.5rem;
  }
  #access .list_style_01 {
    width: 47%;
    padding: 0;
    border: none;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- アクセス　｜　#access -----------*/
  .access_box__logo {
    width: min(35vw,400px);
    margin: min(3.5vw,40px) 0;
  }
  .access_box__logo + p {
    font-size: min(1.8vw,1.6rem);
  }
}

@media print, screen and (min-width: 1024px) {
  /*----------- アクセス　｜　#access -----------*/
  .tel__access .pc_tel {
    cursor: text;
  }
  .tel__access .pc_tel a {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- アクセス　｜　#access -----------*/
  .access_box__logo {
    width: min(25vw,400px);
    margin: min(2vw,40px) 0;
  }
  .access_box__logo + p {
    font-size: 1.6rem;
  }
}


/* --------------------------------------------------------------------------------
   お問い合わせ　｜　#contact
-------------------------------------------------------------------------------- */
#contact {
  margin: 0;
  padding: 100px 0;
  background: url(../images/contact_img_sp.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position-x: center;
}

.contact_wrap {
  padding: 30px 20px;
  text-align: center;
  background: rgb(255 255 255 / 90%);
  border-radius: 30px;
}

.contact_wrap p {
  font-size: 1.6rem;
}

.contact_wrap p span {
  display: block;
  font-size: 1.4rem;
}

.tel__contact {
  margin: 20px 0;
}

.tel__contact .pc_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tel__contact .pc_tel a img {
  width: 35px;
  margin: 0 10px 0 0;
}

.tel__contact .pc_tel a .tel_number {
  color: var(--point-color_brown);
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
}

.contact_wrap h3 {
  color: var(--point-color_brown);
  font-size: 1.6rem;
}

@media print, screen and (min-width: 751px) {
  /*----------- お問い合わせ　｜　#contact -----------*/
  .contact_wrap {
    padding: 40px;
    border-radius: min(4vw,40px);
  }
  .contact_wrap p span:not(.space) {
    display: block;
  }
  .contact_wrap p span.space {
    display: inline;
    padding: 0 0 0 1em;
  }
}

@media print, screen and (min-width: 821px) {
  /*----------- お問い合わせ　｜　#contact -----------*/
  .contact_wrap p {
    font-size: 1.8rem;
  }
  .contact_wrap p span {
    font-size: 1.5rem;
  }
  .tel__contact {
    margin: 30px 0;
  }
  .tel__contact .pc_tel a img {
    width: min(5vw,50px);
  }
  .tel__contact .pc_tel a .tel_number {
    font-size: min(4.5vw,4.5rem);
  }
  .contact_wrap h3 {
    font-size: 1.8rem;
  }
}

@media print, screen and (min-width: 1024px) {
  /*----------- お問い合わせ　｜　#contact -----------*/
  .tel__contact .pc_tel {
    cursor: text;
  }
  .tel__contact .pc_tel a {
    pointer-events: none;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- お問い合わせ　｜　#contact -----------*/
  #contact {
    background: url(../images/contact_img_pc.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position-x: center;
  }
}


/* --------------------------------------------------------------------------------
   フッター
-------------------------------------------------------------------------------- */
footer {
  padding: 20px 0 15px;
  background: linear-gradient(to right bottom, #fff, #e8e0d6);
}

.footer_logo {
  width: 120px;
  margin: 0 auto 20px
}

.copyright_wrap {
  text-align: center;
}

.copyright_wrap small {
  display: block;
  font-size: 1.1rem;
  line-height: 1;
}

.footer_wrap nav ul{
  width: 90%;
  margin: 0 auto 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.footer_wrap nav ul li{
  padding: 0 15px;
}
.footer_wrap nav ul li a{
  display: block;
  text-decoration: underline;
  font-size: 1.3rem;
  color: var(--point-color_brown);
}

#pagetop {
  width: 50px;
  filter: drop-shadow(0 0 4px #fff);
  z-index: 9999;
}

#pagetop a {
  display: block;
  transition: 0.3s;
}

@media print, screen and (min-width: 751px) {
  /*----------- フッター -----------*/
  footer {
    padding: 40px 0 20px;
  }
  .footer_logo {
    width: min(19vw,190px);
    margin: 0 auto min(3vw,30px);
  }
  .copyright_wrap {
    width: auto;
    margin-left: 0;
    padding: 0;
    background: none;
  }
  .copyright_wrap small {
    color: var(--point-color_lightbrown);
    font-size: 1.2rem;
  }
  #pagetop {
    width: 60px;
  }
}

@media screen and (min-width: 1200px) {
  /*----------- フッター -----------*/
  #pagetop {
    width: min(8vw,80px);
  }
  #pagetop a:hover {
    opacity: 0.7;
  }
}


/* --------------------------------------------------------------------------------
   プリント用
-------------------------------------------------------------------------------- */
@media print {
  body {
    min-width: 1260px;
    zoom: 0.8;
  }
  .w100p {
    padding: 0 30px;
  }
  header {
    position: static;
    box-shadow: none;
  }
  .header_logo picture {
    display: none;
  }
  .header_logo img.print {
    display: block;
  }
  .newpage {
    break-inside: avoid;
  }
  #contact {
    background: url(../images/contact_img_sp.jpg);
    background-attachment: unset;
    background-size: cover;
    background-position-y: center;
  }
  .footer_wrap {
    padding: 30px 0 0;
  }
  #pagetop {
    display: none !important;
  }
}