@charset "utf-8";

/* CSS Document */
*,
*::before,
*::after {
  box-sizing: border-box;
}
:root {
	--main-color: #118ccf;
    --sub-color: #1eb9ee;
  --bg-color: #f7f7f7; /*サイドメニュー・レイアウト類の背景色*/
  --border-color: #a5a29a; /*境界線色*/
}
html {}
body {
  /* 丸ゴシック体 */
font-family: 'Zen Maru Gothic',"游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	color: #555;
	font-size: 15px;
	font-weight: 400;
	line-height: 2;
	position: relative;
	word-wrap: break-word;
	word-break:break-all;
	background: #fff;
	text-align: justify;
	border: 8px solid #c0e1f2;
}

a {
  color: var(--main-color);
  text-decoration: none;
  transition: .5s;
}
a:hover {
  color: var(--sub-color);
}
::selection {
  background-color: var(--sub-color);
}
::-moz-selection {
  background-color: var(--sub-color);
}
strong {
  font-weight:600;
}
body,
#mainvisual,
header,
footer {
  min-width: 1240px;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
p,
dt,
dd,
form,
select,
option,
address,
pre {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
ul,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}
a img {
  border: none;
}
/*TELリンクのカーソルはデフォルトにする*/
[href^="tel"]:hover {
  cursor: default;
  color: var(--main-color);
}
/*==================================================================================================================================

  ヘッダー

==================================================================================================================================*/
header {
  width: 100%;
  min-height: 120px;
  /* height: 170px; */
}
header .inner {
  position: relative;
  width: 1200px;
  height: inherit;
  margin: auto;
}
/*----------ロゴ----------*/
.head_logo {
  position: absolute;
  box-sizing: border-box;
  z-index: 9;
  top: 25px;
}
.head_logo a {
  display: block;
  max-width: 420px;
  height: auto;
}
.head_logo img {
  width: auto;
  height: auto;
  max-height: 80px;
}
/*----------基本情報----------*/
.head_info_wrap {
  display: flex;
  justify-content: flex-end;
  width: 765px;
  margin: 0 0 21px auto;
}
.head_info_wrap:after {
  display: block;
  content: "";
  clear: both;
}
.head_info {
  margin-top: 30px;
  text-align: right;
  line-height: 1.2;
}
.head_info_add {
  font-size: 13px;
}
.head_info_tel {
  font-size: 32px;
  line-height: 1;
  vertical-align: middle;
}
.head_info_tel span {
  position: relative;
  top: -5px;
  margin-right: 10px;
  font-size: 19px;
  color: var(--main-color);
}
/*----------予約・問診ボタン----------*/
.head_btn_area {
  display: flex;
  flex-wrap: nowrap;
  margin-left: 10px;
  padding-top: 35px;
}
.head_btn_area li {
  width: 140px;
  margin-right: 5px;
}
.head_btn_area li:last-child {
  margin-right: 0;
}
.head_btn_area li a {
  display: block;
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
  font-size: 17px;
  padding: 15px 0;
  line-height: 1;
  transition: 0.2s ease-in-out;
  border-radius: 4px;
}
.head_btn_area li a:hover {
  background-color: var(--sub-color);
}
.head_btn_area li a i {
  margin-right: 8px;
}
.sp_header {
  display: none;
}
.fixed_web_yoyaku_btn {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9;
    width: 60px;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.fixed_web_yoyaku_btn a {
  display: flex;
  background: var(--main-color);
  writing-mode: vertical-rl;
  color: #fff;
  width: 100%;
  padding: 15px 10px;
  letter-spacing: 4px;
  font-size: 1.2em;
  font-weight:600;
  margin-bottom: 10px;
  line-height: 1;
  align-items: center;
  justify-content: center;
  border-radius: 4px 0 0 4px;
}
.fixed_web_yoyaku_btn a:hover {
  background: var(--sub-color);
}
.fixed_web_yoyaku_btn a i{
  margin-bottom: 5px;
}
.fixed_web_yoyaku_btn a:last-child{
  margin-bottom: 0;
}
/*==================================================================================================================================

  ナビゲーション

==================================================================================================================================*/
nav {
  /* position: absolute; */
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto auto 10px;
  width: 95%;
  z-index: 999999;
}
nav ul {
  display: flex;
  flex-wrap: nowrap;
	justify-content: space-evenly;
}
nav li {
  position: relative;
}
nav li:first-child {
  margin-left: 0;
}
nav li a {
  position: relative;
  display: block;
  color: #555;
  font-size: 17px;
  text-align: center;
  letter-spacing: 1px;
  z-index: 2;
  transition: 0.15s ease-out;
  line-height: 1.5;
  margin-bottom: 5px;
}
nav li a p {
  font-size: 60%;
  color: var(--sub-color);
}
nav li a:hover {
  color: var(--main-color);
}
/*----------ホバーのボーダー----------*/
nav li a::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: var(--main-color);
  transition: 0.15s ease-out;
  transform: scaleX(0);
  content: "";
  z-index: 1;
}
nav li a:hover::before,
nav li.active2 a::before {
  transform: scaleX(1);
}
/*----------固定時のナビ----------*/
nav.fixed {
  position: fixed;
  top: 10px;
  left: 0;
  right: 0;
  bottom: auto;
  width: 1200px;
  background: #fff;
  height: 70px;
  padding: 0 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  box-shadow: 0 0 3px #d4d2cf;
  margin: auto;
}
nav.fixed ul {
  width: 1200px;
}
/*----------ホバーで表示されるナビ----------*/
nav ul li div {
  position: absolute;
  display: none;
  /*1列にしたい場合はwidthを300px前後にしてください*/
  width: 580px;
  top: 100%;
  left: 0%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 9999;
}
nav ul li.nav_slidebtm:hover div{
  display: flex!important;
  flex-wrap: wrap;
}
nav ul li div a {
  display: flex;
  align-items: center;
  position: relative;
  padding: 13px 20px;
  border-bottom: 1px solid var(--border-color);
  line-height: 1.4;
  text-align: left;
  font-size: 16px;
  margin: 0!important;
  /*1列にする場合はwidth不要*/
  width: 50%;
}
nav ul li div a:nth-child(odd){
  /*1列にする場合は不要*/
  border-right: 1px solid var(--border-color);
}
nav ul li div a::after,
nav ul li div a::before {
  display: none;
}
nav ul li div a:hover {
  background-color: rgba(255, 255, 255, 1);
}
.sp_under_nav {
  display: none;
}

/* MV下部メニュー */
.nav_bottom_wrap .nav_bottom_inner{
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1200px;
  width: 100%;
  margin: auto;
}
.nav_bottom_wrap nav{

  position: static;
  background: none;
  box-shadow: none;
}
.nav_bottom_wrap nav ul li{
  padding: calc((70px - 45.8px) / 2) 0;
}
.nav_bottom_wrap nav.fixed{
  position: fixed;
  background: #fff;
  box-shadow: 0 0 3px #d4d2cf;
}
.nav_bottom_wrap nav.fixed ul li{
  padding: 0;
}

/*==================================================================================================================================

  ホーム（2カラム・共通設定）

==================================================================================================================================*/
/*----------メインビジュアル----------*/
body.home .mainvisual_wrapper {
  position: relative;
}
body.home #mainvisual {
  position: relative;
  width: calc(100% - 16px);
  height: 600px;
  background-image: none;
  margin: auto;
  border-radius: 4px;
}

body.home #mainvisual .inner {
  display: block;
  align-items: unset;
  justify-content: unset;
}
.slider{
  opacity: 0;
  transition: opacity .3s linear;
}
.slider.slick-initialized{
  opacity: 1;
}
/*----------ホームのセクションの間隔----------*/
body.home .wrapper main section {
  position: relative;
  margin: 0 0 80px;
}
/*----------ホームのh2の装飾----------*/
body.home h2{
  text-align: center;
  display: table;
  margin: 0 auto 30px;
}
body.home h2::after{
  border-bottom: none;
}
/*----------サブイベント（内覧会等）----------*/
.box_wrap {
  display: flex;
  justify-content: space-between;
}
.sec_top_nairankai .text {
  padding: 24px 0;
  background: url(images/11_tit02.svg) repeat-x left top, url(images/11_tit02.svg) repeat-x left bottom;
  margin-bottom: 0;
}
.sec_top_nairankai h2{
  color: var(--main-color);
  display: block!important;
  margin-bottom: 20px!important;
}
.top_nairankai_img {
  padding-top: 12px;
  margin-bottom: 20px;
}
.top_nairankai_img img {
  width: 100%;
  height: auto;
}
.nairankai_date {
  margin-bottom: 18px !important;
  color: var(--main-color);
  font-size: 26px;
  font-weight:600;
  line-height: 1.4;
	text-align:center;
}
.nairankai_time {
  margin-bottom: 10px !important;
  color: var(--main-color);
  font-size: 22px;
  font-weight:600;
  line-height: 1.4;
	text-align:center;
}
/*----------お知らせ----------*/
.sec_top_news .box1 {
    padding: 30px 10px;
    background: rgba(218,210,207,0.2);
	max-width:90%;
    width: auto;
    border-radius: 4px;
}
.sec_top_news h2{
  margin-top: 0;
}
.sec_top_news_list {
	max-height: 450px;
	overflow-y: auto;
	padding:0 15px;
	box-sizing: border-box;
}
.sec_top_news_list li {
  border-bottom: 1px dashed var(--border-color);
}
.sec_top_news_list li a {
  color: var(--main-color);
  border-bottom: solid 1px;
}
.sec_top_news_list li a:hover {
  opacity: .7;
}
.sec_top_news .btn01{
  text-align: center;
  margin-top: 15px;
}
.top_news_info {
	padding: 15px 0;
}
.top_news_info .btn01 a{
  color: #fff!important;
}
.top_news_info .btn01 a:hover{
	color:var(--main-color)!important;
}

.top_news_desc{
	font-size: 90%;
	display:inline-flex;
}
.top_news_desc li {
  display: inline-block;
  border-bottom: none;
  margin-right: 5px;
  min-width: 40px;
  text-align: center;
}
.top_news_desc li:first-of-type {
  margin-left: 0;
}
.top_news_date {
  margin-right: 10px;
}
.top_news_date{
  padding: 0;
}
.top_news_cate em {
  display: block;
  padding: 0 10px;
  font-style: normal;
}
.top_news_info h3 {
  display: inline-flex;
  position: relative;
/*  width: 100%;*/
  font-size: 120%;
  box-sizing: border-box;
  border-bottom: none;
	padding: 10px 0;
  margin: 0;
  background: none;
}

.top_news_text p {
  display: block;
  position: relative;
  width: 100%;
  box-sizing: border-box;
	line-height:1.7em;
}
/*スクロールバーの横幅指定*/
.sec_top_news_list::-webkit-scrollbar {
  width: 5px;
}
/*スクロールバーの背景色・角丸指定*/
.sec_top_news_list::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
}
/*スクロールバーの色・角丸指定*/
.sec_top_news_list::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: var(--border-color);
}
/*MPクラウドのお知らせ
.news_list li{
    margin-bottom: 10px;
}
.news_list em , .news_text_list em{
    display:inline-block;
    min-width:75px;
    padding:0 5px;
    background-color: #efefef;
    font-style: normal;
    color: #333;
    text-align:center;
}
.news_text_list dt{
    margin-bottom:10px;
    font-weight:600;
    font-size: 17px;
}
.news_text_list dt em,.news_text_list dt span{ 
    font-weight:normal;
    font-size: 13px;
}
.news_text_list dd{
    margin-bottom:30px;
    padding-bottom:10px;
    border-bottom:1px solid #ccc;
}
*/
/*--------------------$sec_top_blog--------------------*/
.sec_top_blog_list {
  border-top: 1px solid var(--border-color);
}
.sec_top_blog_list li {
  border-bottom: 1px solid var(--border-color);
}
.sec_top_blog_list li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  padding: 15px 10px;
}
.sec_top_blog_list li a:hover {
  background-color: var(--sub-color);
}
.top_blog_thum img {
  width: 150px;
  height: 150px;
  object-fit: cover;
  border: 1px solid var(--border-color);
}
.top_blog_thum {
  width: 17.44%;
}
.top_blog_info {
  width: 79%;
}
.top_blog_desc li {
  display: inline-block;
  border-bottom: none;
  min-width: 40px;
  text-align: center;
}
.top_blog_date {
  margin-right: 10px;
}
.top_blog_cate {
  background-color: var(--main-color);
  color: #fff;
  padding: 0 8px!important;
}
.top_blog_info h3 {
  display: block;
  position: relative;
  width: 100%;
  font-size: 120%;
  border-bottom: none;
  margin: 10px 0 5px;
}
.top_blog_text p {
  display: block;
  position: relative;
  width: 100%;
}
/*----------ホームのご挨拶----------*/
.top_greeting_wrap {
  margin-bottom: 30px;
}
.sec_top_doctor .box1 div:last-of-type {
  margin-bottom: 0!important;
}
.top_greeting_flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 20px;
}
.top_greeting_center {
  margin-bottom: 20px;
}
.top_greeting_flex .text {
  width: 70%;
  margin-bottom: 0;
}
.top_greeting_center .text {
  margin-bottom: 0;
}
.top_greeting_flex .text_w100 {
  width: 100%;
  margin-bottom: 0;
}
.top_greeting_flex .text_w100 p {
  margin-bottom: 22px;
}
.top_doctor_img {
	max-width: 25%;
	margin-bottom: 20px;
}
.top_doctor_img img{
  margin: auto;
  border-radius: 4px;
}
.top_greeting_center .top_doctor_img {
	width: 100%;
	margin: 0 auto 20px;
}
.top_greeting_center .top_doctor_img img {
  width: 100%;
  max-width: 280px;
  height: auto;
}
.sec_top_doctor .btn01{
  text-align: center;
}
/*----------署名----------*/
.top_doctor_name {
  font-weight:600;
  text-align: right;
}
.top_doctor_name span {
  padding-left: 20px;
  font-size: 150%;
}
.top_greeting_center .top_doctor_name {
  text-align: center;
}
/*ボタン*/
.top_greeting_center .btn01 {
  text-align: center;
}
/*----------当院の特徴----------*/
.top_feature_item {
  margin: 0 0 30px 0;
}
.top_feature_item_inner {
  display: flex;
  justify-content: space-between;
}
.top_feature_img {
  margin: 0 30px 10px 0;
  max-width: 300px;
}
.top_feature_img img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.top_feature_box {
  width: -moz-available;
  width: -webkit-fill-available;
}
.top_feature_item_inner.text_w100 .top_feature_box{
  width: 100%;
}
.top_feature_box h3 {
  font-size: 20px;
}
.top_feature_text .btn01 a {
  display: table;
  margin: 10px 0 10px auto;
}
/*==================================================================================================================================

  ホーム（1カラム）

==================================================================================================================================*/
main.osaka{
  width: 100%;
}
main.osaka .box1{
  width: 1200px;
  margin: 0 auto;
  padding: 0 0 50px;
}
/*内覧会のお知らせ*/
main.osaka .sec_top_nairankai{
  background: #ccc;
}
/*フリーエリア(上)*/
main.osaka .sec_freearea_up{
  background: #eee;
  margin-bottom: 0!important;
}
/*お知らせ*/
main.osaka .sec_top_news{
  background: #ccc;
}
main.osaka .sec_top_news .box1{
  padding: 0 0 50px;
  border: none;
}
main.osaka .sec_top_news .sec_top_news_list{
  background: #fff;
}
/*ブログ*/
main.osaka .sec_top_blog{
  background: #eee;
}
/*院長紹介*/
main.osaka .sec_top_doctor{
  background: #ccc;
}
/*当院の特徴*/
main.osaka .sec_top_feature{
  background: #eee;
}
/*診療案内ボタン*/
main.osaka .sec_top_medical{
  background: #ccc;
}
main.osaka .sec_top_medical_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main.osaka .sec_top_medical_flex .item{
  width: 350px;
  height: 350px;
  position: relative;
  background-image: url(images/medical_bg01.jpg);
  background-size: cover;
  background-position: center;
}
main.osaka .sec_top_medical_flex .item:nth-child(2){
  background-image: url(images/medical_bg02.jpg);
}
main.osaka .sec_top_medical_flex .item:nth-child(3){
  background-image: url(images/medical_bg03.jpg);
}
main.osaka .sec_top_medical_flex .item a{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
main.osaka .sec_top_medical_flex .item h3{
  display: block;
  border: none;
  margin: 0;
  padding: 0;
}
main.osaka .sec_top_medical_flex .item p{
  margin: 0;
  display: block;
  font-size: 16px;
}
/*フリーエリア下*/
main.osaka .sec_freearea_under{
  background: #eee;
  margin-bottom: 0!important;
}
/*サイドバーのflex_wrap*/
main.osaka .flex_wrap{
  display: flex;
}
main.osaka .doctor_wrap{
  width: fit-content;
}
main.osaka .side_area{
  width: 30%;
  margin-left: 3%;
  background: none;
}
/*==================================================================================================================================

  メインビジュアル

==================================================================================================================================*/
/*--------------------#mainvisual--------------------*/
#mainvisual {
  display: block;
  position: relative;
  width: calc(100% - 16px);
  height: 180px;
  overflow: hidden;
  margin: auto;
  border-radius: 4px;
}
#mainvisual .header_img{
  object-fit: cover;
  width: 100%;
  position: absolute;
  z-index: -1;
  overflow: hidden;
  min-height: 100%;
  top: 0;
	bottom: 150px;
  margin: auto;
}
#mainvisual .inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: inherit;
  margin: 0 auto;
  width: 1200px;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mainvisual .slider-slide + .inner {
  width: 1160px;
}
/*----------スライダー フェード----------*/
.slider-fade .slick-slide img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
/*----------スライダー スライド----------*/
.slider-slide {
  width: 100%;
  margin: 0 auto;
}
.slick-slider{
  position: relative;
  overflow: hidden;
}
.slider-slide .slick-slide img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  border-radius: 5px;
}
.slider-slide .pattern{
  width: 100%;
}
.slider-slide .slick-slide{
  margin: 0 5px;
}
.slider-slide .slick-list.draggable{
  width: 1200px!important;
  margin: 0 auto;
  padding: 0!important
}
/*----------キャッチコピー----------*/
.main_catch {
  position: absolute;
  left: 0;
  top: 90px;
  bottom: auto;
  width:100%;
  max-width: 550px;
  height: 350px;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
/*  filter: drop-shadow(0 0 10px #fff) drop-shadow(0 0 15px #fff) drop-shadow(0 0 30px #fff) drop-shadow(0 0 50px #fff);*/
	filter:drop-shadow(0 0 10px #fff);
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 15px rgba(255, 255, 255, 1), 0px 0px 15px rgba(255, 255, 255, 1), 0px 0px 15px rgba(255, 255, 255, 1), 0px 0px 15px rgba(255, 255, 255, 1);
}

.catchcopy_tit {
  margin-bottom: 5px;
  display: block;
}
.catchcopy_tit span {
  display: inline-block;
  font-size: 32px;
  color: #555;
  line-height: 1.3;
  padding: 5px 7px;
}
.catchcopy_text {
  margin-bottom: 5px;
  display: block;
}
.catchcopy_text span {
  display: inline-block;
  font-size: 22px;
  color: #555;
  line-height: 1.3;
  padding: 5px 7px;
}
/*----------左下のバナー----------*/
.mv_bannar{
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 550px;
  height: 110px;
}
.mv_bannar img{
  max-width: 100%;
  max-height: 100%;
  height: auto;
  width: auto;
}
.mv_bannar a:hover{
  opacity: .8;
}
.mv_bannar .btn01 a{
  font-size: 120%;
}
/*----------右上のイベント----------*/
.main_open {
  width: auto;
  max-width: 550px;
  position: absolute;
  right: 0;
  top: 20px;
  background: rgba(247,247,247,0.8);
  align-content: center;
  justify-content: center;
  padding: 15px 25px;
  box-sizing: border-box;
  border-radius: 4px;
}
.main_open p.main_opentext {
  font-size: 130%;
  text-align: center;
  color: var(--main-color);
  letter-spacing: 0.08em;
  line-height: 1.3;
/*  margin-bottom: 10px; */
}
.main_open p.main_opentext span {
  display: block;
	font-size: 200%;
  text-align: center;
}
.main_open p.nairankai_title {
  background: var(--main-color);
  color:#fff;
  width: 100%;
  text-align: center;
  margin: 0 0 8px;
  border-radius: 4px;
}
.main_open p.nairankai_date {
  display: block;
  font-size: 110%;
  letter-spacing: 0.1em;
  margin-bottom: 0 !important;
  text-align: center;
  color: var(--main-color);
}
.main_open p.nairankai_time {
  display: block;
  font-size: 110%;
  letter-spacing: 0.1em;
  margin-bottom: 0 !important;
  text-align: center;
  color: var(--main-color);
}
/*----------右下の診療時間----------*/
.main_time {
	position: absolute;
	right: 0;
	bottom: 20px;
	width: auto;
	min-width:400px;
	max-width: 550px;
	box-sizing: border-box;
	padding: 10px 20px;
	background: rgba(255,255,255,0.85);
	font-size: 90%;
	border-radius: 4px;
}
.main_time .text{
  margin: 0;
}
.main_time .tb02 tr:first-of-type{
  background: none;
}
/*==================================================================================================================================

  フッター

==================================================================================================================================*/
/*--------------------footer--------------------*/
footer {
  position: relative;
  width: 100%;
}
.footer_inner {
  width: 1200px;
  margin: auto;
  padding: 50px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*--------------------footer 左側--------------------*/
.footer_info_left {
  width: 45%;
  box-sizing: border-box;
}
/*ロゴ*/
.footer_info_left .logo{
  text-align: center;
  margin: 0 0 20px;
}
.footer_info_left .logo img {
  max-width: 400px;
  max-height: 200px;
}
/*文章部分*/
.footer_info_left_content{
}
.footer_info_kamoku {
	padding: 8px 20px;
	background: var(--sub-color);
	text-align: center;
	line-height: 1.5;
	margin-bottom: 15px;
	border-radius: 40px;
	color:white;
	font-weight:600;
}
.footer_info_add {
  line-height: 1.5;
  margin-bottom: 15px;
}
.footer_info_add span {
  display: block;
}
.footer_info_access {
  line-height: 1.5;
  margin-bottom: 15px;
}
.footer_info_access li {
  position: relative;
  list-style: none !important;
  display: table;
  list-style-image: none;
  margin-bottom: 5px;
  padding: 5px 15px;
  background: var(--bg-color);
  border-radius: 4px;
}
.footer_info_access li:last-child {
  margin-bottom: 0;
}
.footer_info_tel {
  font-size: 34px;
  line-height: 1;
margin-bottom:10px;
}
.footer_info_tel span{
  font-size: 70%;
}
.footer_info_fax {
  line-height: 1.5;
}
.footer_info_tel_text {
  line-height: 1.5;
  margin-bottom: 15px;
}
/*--------------------footer 右側--------------------*/
.footer_info_right {
  width: 50%;
}
.footer_info_right .sche_wrap {
  box-sizing: border-box;
  margin-bottom: 15px;
}
.footer_info_right .sche_wrap:last-child {
  margin-bottom: 0;
}
footer .tb02 tr:first-of-type{
  background: none;
}
footer .text{
  margin: 0;
}
/*--------------------GoogleMAP--------------------*/
.footer_googlemap {
  width: 100%;
}
.googlemap {
  position: relative;
}
.googlemap iframe {
  width: 100%;
  height: 400px;
  vertical-align: bottom;
}
.sec_access .googlemap iframe{
  border-radius: 4px;
}
/*----------フッターのナビ----------*/
.footer_navi {
}
.footer_navi .inner {
  width: 1200px;
  padding: 16px 20px 18px;
  margin: 0 auto;
}
.footer_navi ul {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer_navi ul li {
  margin-left: 30px;
}
.footer_navi ul li:first-child {
  margin-left: 0;
}
.footer_navi ul li a {
  position: relative;
  color: #555;
  font-size: 16px;
  text-align: center;
  transition: 0.15s ease-out;
}
.footer_navi ul li a p {
  display: none;
}
.footer_navi ul li.nav_slidebtm div {
  display: none;
}
.footer_navi ul li a:hover {
  color: var(--main-color);
}
/*----------フッターナビのホバーのボーダー----------*/
.footer_navi ul li a::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: var(--main-color);
  transition: 0.15s ease-out;
  transform: scaleX(0);
  content: "";
  z-index: 1;
}
.footer_navi ul li.btn01 a::before {
  display: none;
}
.footer_navi ul li a:hover::before,
.footer_navi ul li.active2 a::before {
  transform: scaleX(1);
}
.footer_navi ul li.btn01 a {
  color: #fff;
}
.footer_navi ul li.btn01 a:hover {
  color: var(--main-color);
}
/*----------ページトップ----------*/
.pagetop {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 40px;
  height: 40px;
  background: var(--main-color);
  color: #fff;
  text-align: center;
  cursor: pointer;
  z-index: 9999;
  transition: 0.5s ease-in-out;
  border-radius: 4px;
}
.pagetop i {
  margin-top: 12px;
}
.pagetop:hover {
  transform: translate(0, -10px);
  border: 1px solid var(--main-color);
  background: transparent;
  color: var(--main-color);
}
/*----------コピーライト----------*/
.copy {
  text-align: center;
  padding: 7px 0;
}
.copy small {
  font-size: 14px;
  color: var(--main-color);
}
/*==================================================================================================================================

  共通要素（wrapper,box,section等）

==================================================================================================================================*/
/*--------------------main(ページレイアウト)--------------------*/
.contents_bg {
  position: relative;
}
.contents_bg:before {
  content: '';
  height: 100%;
  display: block;
  position: absolute;
  background: var(--bg-color);
  top: 0;
  width: calc((100% - 1200px) / 2);
  right: 0;
}
.contents {
  width: 1200px;
  margin: auto;
  padding: 50px 20px 56px;
  box-sizing: border-box;
}
.wrapper {
  position: relative;
  width: 1200px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto;
  /* z-index: 2; */
}
main img {
  max-width: 100%;
  height: auto;
}
.wrapper main {
	width: 66%;
	padding: 30px 0;
}
/*--------------------box--------------------*/
.box {}
.box1 {
  width: 100%;
  margin: auto;
  box-sizing: border-box;
}
section:first-child .box1 {
  padding-top: 0;
}

/*--------------------text--------------------*/
.text {
  position: relative;
  margin: 0 0 80px;
}
.text p {
  margin-bottom: 1em;
}
.text p:last-child {
  margin-bottom: 0;
}
.textarea p {
  font-size: 16px;
  margin-bottom: 22px;
}
.textarea p:last-child {
  margin-bottom: 0;
}
/*--------------------下層ページのレイアウト--------------------*/
.body_single,
.sec_doctor,
.sec_clinic,
.price_wrap,
.faq_wrap,
.sec_access,
.access_route,
.sec_recruit,
.sec_freearea_up,
.sec_freearea_under,
.medical_list li,
.clinic_facilities {
  position: relative;
  margin: 0 0 80px;
}
.footerfreearea{
	position: relative;
	margin: 10px 0 30px;
}
	
section.sec_freearea_under_up,
section.sec_freearea_under,
section.body_single{
	clear:both;
}
.body_single p{
	margin-bottom: 1em;
}
.sec_medical .text{
  margin-bottom: 0;
}

/*--------------------サイドバー--------------------*/
.side_area {
	width: 30%;
	padding: 50px 16px;
  /* z-index: 3; */
  background: var(--bg-color);
}
.side_box,.side_bannar {
  margin-bottom: 40px;
}
.side_area .btn01 a{
	width: 100%;
	color: #fff;
}
.side_bannar ul li{
  margin-bottom: 10px;
  text-align: center;
}
.side_bannar ul li a:hover{
  opacity: .8;
}
.side_area .side_title {
  text-align: center;
  font-size: 110%;
  font-weight:600;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: dotted 4px var(--border-color);
  line-height: 1.6;
}
.side_area .side_title i {
  margin-right: 12px;
  vertical-align: middle;
  color: var(--main-color);
}
.side_area li {
}
.side_area li a {
  color: #333;
}
.side_area li a:hover {
  color: var(--main-color)!important;
}
.op_sidefreearea {
	background: #fff;
	padding: 20px 13px;
	border-radius: 4px;
}
.op_sidefreearea p a {
  display: block;
}
/*----------SNSボタン----------*/
.side_sns {
  display: flex;
  justify-content: center;
  margin: 0 0 20px;
}
.side_sns li {
  width: -moz-available;
  width: -webkit-fill-available;
  margin-right: 5px;
}
.side_sns li:last-child {
  margin-right: 0;
}
.side_sns li a {
  display: block;
  background-color: #fff;
  color: var(--main-color);
  text-align: center;
  font-size: 12px;
  padding-top: 7px;
  border-radius: 5px;
}
.side_sns li a i {
  display: block;
  font-size: 18px;
}
.side_sns li a:hover{
  color: #fff!important;
  background: var(--sub-color);
} 
/*----------診療案内メニュー----------*/
.medical_menu{
  background: #fff;
  padding: 10px 5% 32px;
  border-radius: 4px;
}
.medical_menu .side_title{
  padding-top: 50px;
  background: url(images/11_tit01.svg) no-repeat center top / auto 40px;
}
.medical_menu li {
  position: relative;
  border-bottom: 1px dashed var(--border-color);
  line-height: 1.6;
}
.medical_menu li:last-of-type {
  border-bottom: none;
}
.medical_menu li:before {
  font-family: "Font Awesome 5 Free";
  content: '\f0da';
  font-weight: 900;
  position: absolute;
  top: 10px;
  left: 10px;
  color: var(--main-color);
}
.medical_menu li a {
  display: block;
  padding: 10px 0 10px 25px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
}
.medical_menu li a:hover {
  background: rgba(0, 0, 0, 0.05);

}

/*--------------------ボタン--------------------*/
.btn01 a {
  display: inline-block;
  padding: 8px 30px 8px 15px;
  margin: 10px 0;
  background-color: var(--main-color);
  color: #fff;
  border: 1px solid var(--main-color);
  transition: .2s ease-in-out;
  position: relative;
  border-radius: 4px;
}
.btn01 a:hover {
  border-color: var(--sub-color);
  background-color: var(--sub-color);
  color: var(--main-color);
  opacity: 0.8;
}
.btn01 a:before{
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  color: #fff;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  height: 30px;
  transition: .2s ease-in-out;
}
.btn01 a:hover::before {
  color: var(--main-color);
}
.btn01 a i {
  margin: 0 0 0 10px;
}
/*--------------------パンくず--------------------*/
#breadcrumb {
  width: 100%;
  margin: 0 0 50px 0;
}
#breadcrumb ol {
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  counter-reset: unset;
}
#breadcrumb ol li {
  position: relative;
  padding-right: 20px;
  line-height: 1.5;
  margin: 0;
}
#breadcrumb ol li::before {
  content: '›';
  width: 20px;
  height: 16px;
  line-height: 1;
  text-align: center;
  font-size: 16px;
  color: inherit;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: none;
  border:none;
  margin: 0;
  padding: 0;
  border-radius: none;
  left: unset;
}
#breadcrumb ol li:last-child {
  margin-right: 0;
  padding-right: 0;
}
#breadcrumb ol li:last-child::before {
  content: normal;
}
#breadcrumb ol li a {
  display: inline-block;
  position: relative;
  width: auto;
}
#breadcrumb ol li:last-child {
  display: inline-block;
  position: relative;
  width: auto;
}
/*--------------------タイトル--------------------*/
h1 {
  position: absolute;
  top: 12px;
  right: 0;
  line-height: 1.3;
  font-weight: 500;
  font-size: 11px;
}
h2 {
  text-align: center;
  position: relative;
  padding: 70px 0 8px;
  margin: 0 0 20px;
  line-height: 1.4;
  font-size: 160%;
  font-weight:600;
}
h2:after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 62px;
  height: 62px;
  background: url(images/11_tit01.svg) no-repeat center / contain;
}
h3 {
  padding: 0 0 8px;
  margin: 0 0 15px;
  line-height: 1.4;
  font-size: 130%;
  font-weight:600;
  clear:both;
  background: url(images/11_tit02.svg) repeat-x left bottom;
}
h4 {
  position: relative;
  margin: 0 0 5px;
  line-height: 1.6;
  font-size: 125%;
  font-weight:600;
  color: var(--main-color);
  clear:both;
  padding-left: 16px;
  background: url(images/11_tit03.svg) no-repeat left top 11px;
}
h5 {
  position: relative;
  margin: 0 0 5px;
  line-height: 1.4;
  font-size: 115%;
  font-weight:600;
  color: var(--main-color);
  clear:both;
}
/*--------------------下層の見出しの上に余白を付ける--------------------*/
.freearea_up h2:nth-child(n+2),
.freearea_under h2:nth-child(n+2),
.body_single h2:nth-child(n+2){
  margin-top: 2em;
}

.freearea_under h3,
.freearea_up h3,
.body_single h3{
  margin-top: 1.5em;
}

.freearea_under h4,
.freearea_under h5,
.freearea_under h6,
.freearea_up h4,
.freearea_up h5,
.freearea_up h6,
.body_single h4,
.body_single h5,
.body_single h6{
  margin-top: 1.2em;
}

.freearea_under h3:first-child,
.freearea_under h3 + h4,
.freearea_under h4 + h5,
.freearea_up h3:first-child,
.freearea_up h3 + h4,
.freearea_up h4 + h5,
.body_single h3:first-child,
.body_single h3 + h4,
.body_single h4 + h5,
div > h3:first-child,
div > h4:first-child,
div > h5:first-child,
td > h3:first-child,
td > h4:first-child,
td > h5:first-child,
th > h3:first-child,
th > h4:first-child,
th > h5:first-child{
	margin-top: 0px;
}

/*--------------------TinyMCEエディタ用--------------------*/
/*----------見出し----------*/
/*太字*/
.title_style01{
  color: var(--main-color);
  font-weight:600;
  border: none;
  background: none;
  text-align: left;
  margin-right: 0;
  margin-left: 0;
  padding: 0;
  display: table;
}
/*下線*/
.title_style02{
  color: var(--main-color);
  font-weight:600;
  border-bottom: 1px solid var(--main-color);
  background: none;
  text-align: left;
  margin-right: 0;
  margin-left: 0;
  padding: 0;
  display: table;
}
/*背景色付き・白抜き*/
.title_style03{
  background: var(--main-color);
  color: #fff;
  font-weight:600;
  border: none;
  text-align: left;
  margin-right: 0;
  margin-left: 0;
  padding: 5px 10px;
}
h2.title_style01:before,
h2.title_style01:after,
h3.title_style01:before,
h3.title_style01:after,
h4.title_style01:before,
h4.title_style01:after,
h5.title_style01:before,
h5.title_style01:after,
h2.title_style02:before,
h2.title_style02:after,
h3.title_style02:before,
h3.title_style02:after,
h4.title_style02:before,
h4.title_style02:after,
h5.title_style02:before,
h5.title_style02:after,
h2.title_style03:before,
h2.title_style03:after,
h3.title_style03:before,
h3.title_style03:after,
h4.title_style03:before,
h4.title_style03:after,
h5.title_style03:before,
h5.title_style03:after{
  display:none;
}
/*----------枠----------*/
.box_style01{
  background: var(--bg-color);
  padding: 20px;
  margin: 0 0 15px;
  border-radius: 4px;
}
.box_style02{
  border: solid 1px var(--border-color);
  padding: 20px;
  margin: 0 0 15px;
  border-radius: 4px;
}
.box_style03{
  border: dashed 1px var(--border-color);
  padding: 20px;
  margin: 0 0 15px;
  border-radius: 4px;
}
.box_style01 ul,
.box_style02 ul,
.box_style03 ul,
.box_style01 p:last-of-type,
.box_style02 p:last-of-type,
.box_style03 p:last-of-type{
  margin-bottom: 0!important;
}

div.box_style01::after,
div.box_style02::after,
div.box_style03::after{
   content: "";
   clear: both;
   display: block;
}

/*----------テーブル----------*/
.body_single table,
.freearea_up table,
.freearea_under table,
.table_style2_30,
.table_style2_50,
.table_style2_70,
.table_style3_b,
.table_style3 {
	width: 100%;
	border-spacing: 1px;
	border-collapse: separate;
	background-color: var(--bg-color);
}
.body_single th,
.body_single td,
.freearea_up th,
.freearea_up td,
.freearea_under th,
.freearea_under td,
.table_style2_30 th,
.table_style2_30 td,
.table_style2_50 th,
.table_style2_50 td,
.table_style2_70 th,
.table_style2_70 td,
.table_style3_b th,
.table_style3_b td,
.table_style3 th,
.table_style3 td {
	padding: 8px 20px;
}
.body_single th,
.freearea_up th,
.freearea_under th,
.table_style2_30 th,
.table_style2_50 th,
.table_style2_70 th,
.table_style3_b th,
.table_style3 th {
	font-weight: bold;
	background-color: var(--bg-color);
	border: 1px solid var(--border-color);
}
.body_single td,
.freearea_up td,
.freearea_under td,
.table_style2_30 td,
.table_style2_50 td,
.table_style2_70 td,
.table_style3_b td,
.table_style3 td {
	background-color: #fff;
	border: 1px solid var(--border-color);
}
/*.table_style2_30 span,
.table_style2_50 span,
.table_style2_70 span,
.table_style3 span {
  font-size: 80%;
}*/
.table_style2_30 tr:first-of-type th,
.table_style2_30 tr:first-of-type td{
  width: 30%;
}
.table_style2_30 tr:first-of-type td:nth-child(2){
  width: 70%;
}
.table_style2_50 tr:first-of-type th,
.table_style2_50 tr:first-of-type td{
  width: 50%;
}
.table_style2_70 tr:first-of-type th,
.table_style2_70 tr:first-of-type td{
  width: 70%;
}
.table_style3 th,
.table_style3 td{
  width: calc(100% / 3)!important;;
}

.table_style3_b tr:first-of-type td:nth-child(2){
	width: 55%;
}
.table_style3_b tr:first-of-type td:nth-child(3){
	width: 18%;
}

/*----------ラインマーカー----------*/
.marker{
  background:linear-gradient(transparent 60%, #ffff93 60%);
}
/***********以下はクラスを作るときの参考CSS*********
中央下下線
.tit01 {
  position: relative;
  margin: 30px 0;
  padding: 0;
  line-height: 1.5;
  font-size: 150%;
  text-align: center;
  font-weight:600;
  border-bottom: none;
}
.tit01 span {
  font-size: 80%;
  color: var(--sub-color);
  display: block;
}
.tit01:after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: 3px solid var(--main-color);
  bottom: -3px;
  width: 20%;
  margin: auto;
  right: 0;
  left: 0;
}

背景画像有り 中央寄せ
.tit02 {
  position: relative;
  margin: 30px 0 50px;
  padding: 10px 0 0;
  line-height: 1.5;
  font-size: 150%;
  text-align: center;
  font-weight:600;
  margin-top: 30px;
  background: url(images/h2_bg.png) no-repeat;
  background-position: center top;
  background-size: contain;
  border-bottom: none;
}
.tit02 span {
  border-bottom: none;
  padding-bottom: 9px;
  display: block;
  font-size: 60%;
  color: var(--sub-color);
}
.tit02:after {
  display: none;
}


左右線　中央寄せ
.tit03 {
  border-bottom: dotted 4px var(--main-color);
  margin: 0 0 50px;
}
.tit03 span {
  border-bottom: none;
  padding-bottom: 9px;
  font-size: 80%;
  color: var(--sub-color);
}
.tit03:after {
  display: none;
}

ドットの下線　左寄せ
.tit04 {
  position: relative;
  padding: 0 55px;
}
.tit04 {
  overflow: hidden;
  text-align: center;
  border-bottom: none;
  line-height: 1.5;
  margin: 0 0 40px;
}
.tit04 span {
　　position: absolute;
  display: inline-block;
  margin: 0 0.5em;
  padding: 0 0.25em;
  text-align: left;
  color: #333;
  font-size: 100%;
}
.tit04 span::before,
.tit04 span::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20%;
  height: 1px;
  background-color: black;
}
.tit04 span::before {
  left:0;
}
.tit04 span::after {
  right: 0;
}
/*************************************************/




/*----------下層ページの見出し----------*/
.main_headline {
  padding-bottom: 2px;
  letter-spacing: 0.15em;
  vertical-align: middle;
  text-align: center;
	text-shadow: 0px 0px 3px white, 0px 0px 3px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 5px white;
}
.main_headline p {
  letter-spacing: 0.2em;
  display: inline-block;
  font-size: 105%;
  color: var(--main-color);
  font-weight:600;
  text-transform: capitalize;
}
.main_headline p.midashi {
  line-height: 1.5;
  font-size: 200%;
  text-align: center;
  font-weight:600;
  display: block;
  color: #333;
  text-transform:inherit;
}
.main_headline p.midashi:before,
.main_headline p.midashi:after{
  display: none;
}
/*----------飾りの英語の棒----------*/
.main_headline p::before,
.main_headline p::after {
  position: relative;
  content: "-";
}
.main_headline p::before {
  left: -0.5em;
}
.main_headline p::after {
  right: -0.5em;
}
/*--------------------診療内容などのコンテンツ部分--------------------*/
.body_list li {
  margin-bottom: 60px;
}
.body_list li .text {
  margin-bottom: 15px;
}
.body_wrap_float:after {
  display: block;
  clear: both;
  content: "";
}

/*ページ内リンク設定*/
.ank_single{
  position: relative;
  margin: 0 0 80px;
}
.anklink{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.anklink li{
  width: 49%;
  display: flex;
  align-items: center;
  align-content: flex-start;
  justify-content: space-between;
  position: relative;
  margin: 0 0 10px;
}
.anklink li a{
  width: 100%;
  height: 100%;
  padding: 10px;
  border:1px solid var(--main-color);
  font-weight:600;
  color:var(--main-color);
  text-align:center;
  vertical-align:middle;
  transition:0.1s ease-in-out;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
}
.anklink li a:hover{
  background-color:var(--main-color);
  color:#fff;
}
.anklink li i{
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  margin:auto;
}



/*--------------------共通--------------------*/
/*----------無装飾----------*/
.list01 {
  margin: 0 0 15px;
  padding: 0;
  border-width: 0 1px 1px;
}
.list01 li {
  margin-bottom: 12px;
  list-style-type: none;
}
.list01 p:last-of-type{
  margin-bottom:0;
}
/*----------下線----------*/
.list02 {
  margin: 10px 0;
  border-width: 0 1px 1px;
}
.list02 li {
  margin: 0;
  border-bottom: 1px dotted var(--border-color);
  list-style-type: none;
}
.list02 p:last-of-type{
  margin-bottom:0;
}
/*----------点----------*/
.list03 {
  list-style: none !important;
  margin: 0 0 15px;
}
.list03 li {
  position: relative;
  padding-left: 15px;
  list-style: none !important;
  display: block;
  list-style-image: none;
}
.list03 li:before {
  display: block;
  position: absolute;
  top: 13px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 100%;
  content: '';
}
.list03 li i {
  margin-right: 8px;
}
.list03 p:last-of-type{
  margin-bottom:0;
}
/*----------三角----------*/
.list04 {
  margin: 0 0 15px;
}
.list04 li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 15px;
  list-style-type: none;
}
.list04 li:before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 5px solid var(--main-color);
  content: "";
}
.list04 p:last-of-type{
  margin-bottom:0;
}
/*----------矢印----------*/
.list05 {
  margin: 0 0 15px;
}
.list05 li {
  position: relative;
  padding-left: 15px;  list-style-type: none;
  margin-bottom: 8px;
}
.list05 li:before {
  position: absolute;
  left: 0;
  top: 14px;
  height: 5px;
  width: 5px;
  transform: rotate(45deg);
  background-color: transparent;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
}
.list05 p:last-of-type{
  margin-bottom:0;
}
/*----------点と背景色----------*/
.list06 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px;
  background-color: var(--bg-color);
  display: flex;
  flex-wrap: wrap;
  border-radius: 4px;
}
.list06:after {
  display: block;
  clear: both;
  content: "";
}
.list06 li {
  position: relative;
  float: left;
  margin-bottom: 8px;
  padding-left: 0.9em;
  padding-right: 5%;
  list-style-type: none;
}
.list06 li:before {
  display: block;
  content: '';
  position: absolute;
  top: 13px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 100%;
}
.list06 p:last-of-type{
  margin-bottom:0;
}
/*----------点と枠----------*/
.list07 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px;
  border: 3px solid var(--bg-color);
  display: flex;
  flex-wrap: wrap;
  border-radius: 4px;
}
.list07:after {
  display: block;
  clear: both;
  content: "";
}
.list07 li {
  position: relative;
  padding-left: 1em;
  margin: 0 2em 0.5em 0;
  list-style-type: none;
}
.list07 li:last-child {
  margin-bottom: 0;
}
.list07 li:before {
  display: block;
  content: '';
  position: absolute;
  top: 13px;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 100%;
}
.list07 li i {
  margin-right: 8px;
}
.list07 p:last-of-type{
  margin-bottom:0;
}
/*----------チェックと背景色（一行ずつ表示）----------*/
.list08_w100 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px 30px 10px;
  background-color: var(--bg-color);
  border-radius: 4px;
}
.list08_w100:after {
  display: block;
  clear: both;
  content: "";
}
.list08_w100 li {
  position: relative;
  float: none;
  margin: 0 30px 10px;
  border-bottom: 1px dotted var(--border-color);
  list-style-type: none;
  display: table;
}
.list08_w100 li:before {
  display: block;
  position: absolute;
  left: -28px;
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  color: var(--main-color);
}
.list08_w100 p:last-of-type{
  margin-bottom:0;
}
/*----------チェックと背景色（文章幅に合わせる）----------*/
.list08 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px;
  background-color: var(--bg-color);
  display: flex;
  flex-wrap: wrap;
  border-radius: 4px;
}
.list08:after {
  display: block;
  clear: both;
  content: "";
}
.list08 li {
  position: relative;
  margin: 0 10px 10px 40px;
  border-bottom: 1px dotted var(--border-color);
  list-style-type: none;
  display: inline-block;
}
.list08 li:before {
  display: block;
  position: absolute;
  left: -23px;
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  color: var(--main-color);
}
.list08 p:last-of-type{
  margin-bottom:0;
}
/*----------チェックなし----------*/
.list08_nocheck {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px;
  background-color: var(--bg-color);
  display: flex;
  flex-wrap: wrap;
  border-radius: 4px;
}
.list08_nocheck:after {
  display: block;
  clear: both;
  content: "";
}
.list08_nocheck li {
  position: relative;
  margin: 0 10px 10px 10px;
  border-bottom: 1px dotted var(--border-color);
  list-style-type: none;
  display: inline-block;
}
.list08_nocheck p:last-of-type{
  margin-bottom:0;
}
/*----------チェックなし----------*/
.list_kakomi {
/*  margin: 0 0 15px;
  margin-bottom: 27px; */
  display: flex;
  flex-wrap: wrap;
}
.list_kakomi:after {
  display: block;
  clear: both;
  content: "";
}
.list_kakomi li {
  position: relative;
  margin: 0 5px 10px 0;
  padding: 3px 8px;
  border: 1px solid var(--border-color);
  list-style-type: none;
  display: inline-block;
  border-radius: 4px;
}
.list_kakomi p:last-of-type{
  margin-bottom:0;
}
/*----------番号付き----------*/
ol {
  margin: 5px 0;
  padding: 0;
  counter-reset: number;
  list-style: none;
}
ol li {
  margin: 0 0 10px 30px;
  list-style-type: none;
  position: relative;
}
ol li:last-of-type {
  margin: 0 0 0 30px;
}
ol li:before {
  padding: 0 8px;
  border-radius: 2%;
  color: var(--sub-color);
  counter-increment: number;
  content: counter(number)".";
  font-weight:600;
  left: -30px;
  position: absolute;
}
/*----------番号（四角の背景色付き）----------*/
ol.square {
  margin: 0;
  padding: 0;
  counter-reset: number;
  list-style: none;
}
ol.square li {
  margin-bottom: 12px;
  list-style-type: none;
}
ol.square li:before {
  margin-top: 2px;
  line-height: 25px;
  min-width: 25px;
  padding: 0 8px;
  background: var(--sub-color);
  color: #fff;
  counter-increment: number;
  content: counter(number);
}
/*----------番号（四角の背景色付き）----------*/
ol.circle {
  margin: 0;
  padding: 0;
  counter-reset: number;
  list-style: none;
}
ol.circle li {
  margin-bottom: 12px;
  list-style-type: none;
}
ol.circle li:before {
  margin: 4px 0 0;
  line-height: 1.6;
  width: 25px;
  height: 25px;
  text-align: center;
  padding: unset;
  background: var(--sub-color);
  border-radius: 50%;
  color: #fff;
  counter-increment: number;
  content: counter(number);
}
/*----------何かの装飾----------*/
.top_flex_box {
  display: flex;
  justify-content: space-between;
}
.top_flex_box>div {
  flex: 1;
  padding: 0 35px;
}
/*----------引用----------*/
blockquote{
  padding: 20px;
  background: #f0f0f0;
  color: #555;
  font-style: italic;
  font-size: 85%;
}
blockquote p:last-of-type{
  margin-bottom: 0;
}
/*--------------------アンカーリンンク--------------------*/
/*4個並び*/
.ank01 {
  margin: 0 auto 100px;
}
.ank01 li {
  display: table;
  position: relative;
  float: left;
  width: 24%;
  height: 66px;
  margin-bottom: 1.5%;
  margin-left: 1.33%;
  line-height: 1.4;
}
.ank01 li:nth-child(1),
.ank01 li:nth-child(5),
.ank01 li:nth-child(9) {
  margin-left: 0;
}
.ank01 li a {
  display: table-cell;
  padding: 12px 5px 15px;
  border: 1px solid var(--main-color);
  font-weight:600;
  font-size: 13px;
  color: var(--main-color);
  text-align: center;
  vertical-align: middle;
  transition: 0.1s ease-in-out;
}
.ank01 li a:hover {
  background-color: var(--main-color);
  color: #fff;
}
.ank01 li i {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  margin: auto;
}

/*-------------------layout--------------------*/
/*1つ並びのレイアウト。画像は無し、左にタイトル、右に文章*/

.layout01 {
  position: relative;
  margin: 0 0 15px;
}
.layout01:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--border-color);
  content: "";
}
.layout01 dl {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 5px 0;
}
.layout01 dl:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--border-color);
  content: "";
}
.layout01 dt {
  width: 30%;
  padding: 3%;
  background-color: var(--bg-color);
  letter-spacing: 0.1em;
  color: var(--main-color);
  font-weight:600;
  font-size: 120%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  line-height: 1.5;
}
.layout01 dt em {
  display: block;
  width: 100%;
  line-height: 1;
  font-family: "Times New Roman", Times, serif;
  font-size: 150%;
  font-weight: normal;
  color: var(--sub-color);
}
.layout01 dt span{
  font-size: 75%;
}
.layout01 dd {
  width: 70%;
  box-sizing: border-box;
  padding: 3%;
}
/*2つ並びのレイアウト。最初(dt)にタイトル、画像がその下(dd)、画像の下に文章*/
.layout02 {
  margin: 0 0 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.layout02::after {
  display: block;
  clear: both;
  content: "";
}
.layout02 dl {
  width: 49%;
  margin: 0 2% 0 0;
  margin-bottom: 25px;
  padding: 4%;
  background-color: var(--bg-color);
}
.layout02 dl:nth-child(even) {
  margin-right: 0;
}
.layout02 dl dt {
  margin-bottom: 10px;
  font-weight:600;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  color: var(--main-color);
}
/*1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章*/
.layout03 {
  margin: 0 0 15px;
}
.layout03 dl {
  display: flex;
  margin-bottom: 20px;
  background-color: var(--bg-color);
  padding: 2%;
}
.layout03 dt {
  width: 27%;
  padding: 2%;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  line-height: 1.5;
}
.layout03 dt img {
  width: 100%;
  padding-bottom: 10px;
}
.layout03 dd {
  width: 73%;
  padding: 1% 3%;
}
.layout03 dd h5 {
  color: var(--main-color);
  font-size: 18px;
  font-weight:600;
}
.layout03 dd h5 em {
  margin-right: 10px;
  color: var(--sub-color);
  font-family: "Times New Roman", Times, serif;
  font-size: 30px;
  font-weight: normal;
}
/*1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリア(dd)は背景色が別の色*/
.layout04 {
  margin: 0 0 15px;
}
.layout04 dl {
  display: flex;
  margin-bottom: 20px;
  background-color: var(--bg-color);
  padding: 2%;
}
.layout04 dt {
  width: 27%;
  padding-right: 2%;
  display: flex;
  align-items: center;
}
.layout04 dt img {
  width: 100%;
}
.layout04 dd {
  width: 73%;
  padding: 3%;
  background-color: #fff;
}
.layout04 dd h5 {}
.layout04 dd h5 span {
  margin-right: 10px;
  color: var(--sub-color);
  font-family: "Times New Roman", Times, serif;
  font-size: 30px;
  font-weight: normal;
}
/*1つ並びで3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章*/
.layout05 {
  margin: 0 0 15px;
}
.layout05 dl {
  display: flex;
  margin-bottom: 20px;
  background-color: var(--bg-color);
  padding: 2%;
}
.layout05 dt {
  padding: 2%;
  width: 25%;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
.layout05 dt img {
  width: 100%;
  padding-bottom: 10px;
  display: block;
}
.layout05 dd {
  padding: 1% 3%;
  vertical-align: top;
}
.layout05 dd:nth-child(2) {
  width: 40%;
}
.layout05 dd:nth-child(3) {
  width: 40%;
  border-left: 1px solid var(--border-color);
}
.layout05 dd h5 em {
  margin-right: 10px;
  color: var(--sub-color);
  font-family: "Times New Roman", Times, serif;
  font-size: 30px;
  font-weight: normal;
}
.layout05 dd h5 {
  font-size: 100%;
  margin: 0 0 5px;
}
.layout05_text1 {}
.layout05_text1 ul {
  margin-bottom: 15px;
}
.layout05 ul.list03 li{
  margin: 0;
}
/*1つ並びで3列に区切られたレイアウト。左がタイトル、真ん中と右に文章*/
.layout06 {
  margin: 0 0 15px;
}
.layout06 dl {
  display: flex;
  padding-bottom: 5px;
  position: relative;
}
.layout06 dl:before {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--border-color);
  content: "";
}
.layout06 dl:last-child:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid var(--border-color);
  content: "";
}
.layout06 dt {
  width: 30%;
  padding: 0 3%;
  background-color: var(--bg-color);
  letter-spacing: 0.1em;
  color: var(--main-color);
  font-weight:600;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  font-size: 120%;
}
.layout06 dl:last-of-type {
  padding: 0;
}
.layout06 dt em {
  display: block;
  width: 100%;
  line-height: 1;
  margin: 0 8px;
  font-family: "Times New Roman", Times, serif;
  font-size: 170%;
  font-weight: normal;
  color: var(--sub-color);
}
.layout06 dd {
  padding: 2% 3%;
  vertical-align: top;
}
.layout06 dd:nth-child(2) {
  width: 35%;
}
.layout06 dd:nth-child(3) {
  width: 35%;
  border-left: 1px solid var(--border-color);
}
.layout06 dd h5 {
  font-size: 100%;
  margin: 0 0 5px;
}
.layout06_text1 {}
.layout06_text1 ul {}
.layout06_text1 ul li span {}
/*3つ並びのレイアウト*/
.layout07 {
  margin: 0 0 15px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}
.layout07::after {
  display: block;
  clear: both;
  content: "";
}
.layout07 dl {
  width: 32%;
  margin-right: 2%;
  margin-bottom: 2%;
  box-sizing: border-box;
  padding: 3%;
  border-radius: 10px;
  background-color: var(--bg-color);
}
.layout07 dl:nth-child(3n) {
  margin-right: 0;
}
.layout07 dl dt {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed var(--border-color);
  font-size: 17px;
  font-weight:600;
  text-align: center;
line-height: 1.5;
}
.layout07 dl dt em {
  margin-right: 8px;
  font-size: 24px;
  font-family: "Times New Roman", Times, serif;
  font-size: 170%;
  font-weight: normal;
  color: var(--sub-color);
}
.layout07 dl dd {
  line-height: 1.5;
}
/*3つ並びのレイアウト。矢印付き*/
.layout08 {
  margin: 0 0 15px;
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
}
.layout08 dl {
  position: relative;
  width: 31%;
  margin-right: 3%;
  margin-bottom: 25px;
  padding: 3%;
  border-radius: 10px;
  background-color: var(--bg-color);
}
.layout08 dl:nth-child(3n) {
  margin-right: 0;
}
.layout08 dl::before {
  position: absolute;
  right: -17px;
  top: 0;
  height: 7px;
  width: 7px;
  transform: rotate(45deg);
  background-color: transparent;
  border-top: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
  content: "";
  bottom: 0;
  margin: auto;
}
.layout08 dl:nth-child(3n)::before {
  display: none;
}
.layout08 dl dt {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed var(--border-color);
  font-size: 17px;
  font-weight:600;
  text-align: center;
line-height: 1.5;
}
.layout08 dl dt em {
  margin-right: 8px;
  font-size: 24px;
  font-family: "Times New Roman", Times, serif;
  font-size: 170%;
  font-weight: normal;
  color: var(--sub-color);
}
.layout08 dl dd {
  line-height: 1.5;
}
/*--------------------table--------------------*/
td img.aligncenter, th img.aligncenter {
  width: fit-content;
  margin: 0!important;
}
table{
  text-align: initial;
}
table th,
table td{
  vertical-align: top;
}
table th p,
table td p{
  margin: 0!important;
}
/*テーブル1*/
.tb01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  margin: 10px 0;
}
.tb01 tr{
	border-bottom: 1px dotted var(--border-color);
/*  display: flex;*/
	vertical-align: middle;
}
.tb01 th {
	text-align: left;
	font-weight:500;
	width: 25%;
}
.tb01 td {
	text-align: left;
	font-weight:500;
}

/*診療時間*/
.tb02_tit{
  border-bottom: none;
  font-size: 18px;
  text-align:center;
  width: 100%;
  border: 1px var(--border-color) solid;
  padding: 8px;
  margin-bottom: 10px;
  border-radius: 4px;
}
.tb02 {
  width: 100%;
  border-spacing: 0;
  margin-bottom: 12px;
    line-height: 1.5em;
}
.tb02 tr:first-of-type {
  background: var(--bg-color);
}
.tb02 th {
  font-weight:400;
  width: 30%;
  min-width: 110px;
  border-bottom: 1px dashed var(--border-color);
  padding: 5px 0;
}
.tb02 td {
  text-align: center;
	width:10%;
  border-bottom: 1px dashed var(--border-color);
  padding: 5px 0;
	vertical-align:middle;
}
.kyushinbi {
  color: var(--main-color);
  font-weight:600;
}
/*本文中のテーブル*/
.tb03 {
  width: 100%;
  border-spacing: 1px;
  border-collapse: separate;
  background-color: var(--border-color);
}
.tb03 td,
.tb03 th {
  padding: 8px 20px;
}
.tb03 th {
  font-weight:600;
  text-align: left;
  background-color: var(--bg-color);
}
.tb03 th span {
  font-size: 13px;
}
.tb03 td {
  background-color: #fff;
  text-align: center;
}
/*==================================================================================================================================

  フリーエリア（上・下）

==================================================================================================================================*/
.sec_freearea_up .box1,
.sec_freearea_under .box1 {
}
.sec_freearea_up .text,
.sec_freearea_under .text {
  margin-bottom: 0;
}
.sec_freearea_up h2,
.sec_freearea_under h2 {
  margin-top: 0;
}
.footerfreearea:after,
.freearea_up:after,
.freearea_under:after {
  display: block;
  clear: both;
  content: "";
}
.freearea_up_img,
.freearea_under_img {
}
.freearea_up_img img,
.freearea_under_img img {
  max-height: 390px;
  width: auto;
  max-width: 500px;
  margin: 0 auto 10px;
  display: block;
}
.footerfreearea div.container{
	display:flex;
	align-content:center;
	align-items:flex-start;
	max-width:100%;
	justify-content:center;
	flex-wrap:wrap;
	margin:10px 0;
}
.footerfreearea .container img{
	max-height: 250px;
	width: auto;
	max-width: 300px;
	margin:5px;
	display:inline-flex!important;
	align-self:center;
}
/*==================================================================================================================================

  医師紹介

==================================================================================================================================*/
/*----------ご挨拶----------*/
.doctor_greeting_flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-bottom: 20px;
}
.doctor_greeting_center {
  margin-bottom: 20px;
}
.doctor_greeting_center .text {
  margin-bottom: 0;
}
.doctor_greeting_flex .text {
  width: 67%;
  margin-bottom: 0;
}
.doctor_greeting_flex .text_w100 {
  width: 100%;
  margin-bottom: 0;
}
.text_w100 p {
  margin-bottom: 22px;
}
.doctor_img {
  width: 30%;
  margin-bottom: 15px;
}
.doctor_img img {
  width: 100%;
  max-width: 280px;
  height: auto;
  border-radius: 4px;
	margin:auto;
}
.doctor_greeting_center .doctor_img {
  width: 100%;
  text-align: center;
  margin-bottom: 15px;
}
.doctor_greeting_center .doctor_img img {
  width: 100%;
  max-width: 280px;
  height: auto;
  margin: auto;
}
/*----------署名----------*/
.doctor_name {
  font-weight:600;
  text-align: right;
}
.doctor_name span {
  font-size: 150%;
  display: block;
}
.doctor_greeting_center .doctor_name {
  text-align: center;
}
/*----------経歴・資格----------*/
.doctor_carr_wrap {
}
.doctor_carr_box {
  width: 100%;
  padding: 3%;
  box-sizing: border-box;
  background: var(--bg-color);
  margin-bottom: 15px;
  border-radius: 4px;
}
.doctor_carr_box .text p {
  margin-bottom: 0;
}
/*----------院長紹介その他----------*/
.sec_doctor_etc {
  width: 100%;
  box-sizing: border-box;
}
/*==================================================================================================================================

  医院案内

==================================================================================================================================*/
.sec_clinic div.sche_wrap{
  margin-bottom: 20px;
}
.sec_clinic div.sche_wrap:last-of-type{
  margin-bottom: 0;
}
.clinic_desc {
  width: 100%;
}
.clinic_desc dl {
  display: flex;
}
.clinic_desc dl dt {
  width: 20%;
  border-bottom: 1px dotted var(--border-color);
  padding: 15px;
  font-weight:600;
}
.clinic_desc dl dd {
  width: 80%;
  border-bottom: 1px dotted var(--border-color);
  padding: 15px;
}
.clinic_desc dl dd .tb02 tr:first-of-type :is(th,td){
  border-bottom: none;
}
.clinic_facilities_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.facilities_item {
  overflow: hidden;
  border-radius: 4px;
  width: 47%;
  margin-bottom: 15px;
  background: var(--bg-color);
}
.facilities_item_img {
  overflow: hidden;
  background-color: var(--bg-color);
}
.facilities_item_img img{
  max-height: 260px;
  margin: 0 auto;
  display: block;
}
.facilities_item dd {
  padding: 15px;
}
.facilities_item dd h3 {
  font-weight:600;
  font-size: 20px;
  display:table;
}
/*==================================================================================================================================

  料金表

==================================================================================================================================*/
.price_table {
  width: 100%;
  margin-bottom: 15px;
}
.price_table th {
  text-align: center;
  background-color: var(--bg-color);
}
.price_table tr td:nth-child(1) {
  width: 25%;
  text-align: center;
}
.price_table tr td:nth-child(2) {
  width: 60%;
}
.price_table tr td:nth-child(3) {
  width: 15%;
  white-space: nowrap;
  text-align: center;
}
.price_table th,
.price_table td {
  padding: 15px;
  border: 1px solid var(--border-color);
  vertical-align: middle;
}
/* ---------- 料金表テンプレート ---------- */
.price_wrap h2 {
  margin-bottom: 30px;
}

.middle_category_wrap {
  margin-bottom: 50px;
}

.middle_category_wrap:last-of-type {
  margin-bottom: 0;
}

/* アコーディオン表示の場合 */
.middle_category_wrap .accordion_title {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  padding: 15px;
  cursor: pointer;
  transition: background-color .3s;
  border-bottom: none;
  background: var(--bg-color);
  font-weight: bold;
}

.middle_category_wrap .accordion_title:hover {
	background: rgba(200, 200, 200, 0.4);
}

.middle_category_wrap .accordion_title::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  transform: rotate(90deg);
  background: var(--main-color);
  transition: all .3s ease-in-out;
}

.middle_category_wrap .accordion_title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  background: var(--main-color);
  transition: all .2s ease-in-out;
}

.middle_category_wrap .accordion_title.open::before {
  transform: rotate(180deg);
}

.middle_category_wrap .accordion_title.open::after {
  opacity: 0;
}

.middle_category_wrap .accordion_title span {
  display: block;
  padding-right: 50px;
}
/* アコーディオン表示の場合ここまで */

.middle_category_wrap .price_hosoku_up {
  margin-bottom: 20px;
}

.price_table_temp {
  width: 100%;
}

.price_table_temp:not(:last-child) {
  margin-bottom: 15px;
}

.price_table_temp th {
  text-align: center;
  background-color: var(--bg-color);
}

.price_table_temp tr td:nth-child(1) {
  width: 25%;
  text-align: center;
}

.price_table_temp tr td:nth-child(2) {
  width: 60%;
}

.price_table_temp tr td:nth-child(3) {
  width: 15%;
  white-space: nowrap;
  text-align: center;
}

.price_table_temp tr:has(td:nth-child(2):last-child) td {
  width: 50%;
  text-align: center;
}

.price_table_temp tr td[colspan="3"] {
  text-align: left;
  background: var(--main-color);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding: 10px 15px;
}

.price_table_temp th,
.price_table_temp td {
  padding: 15px;
  border: 1px solid var(--border-color);
  vertical-align: middle;
}
/* ---------- 料金表テンプレートここまで ---------- */

/*==================================================================================================================================

  FAQ

==================================================================================================================================*/
.faq_wrap dl {
  margin-bottom: 10px;
}
.faq_wrap dl dt {
  position: relative;
  margin: 0;
  padding: 15px;
  background-color: var(--bg-color);
  font-weight:600;
  cursor: pointer;
}
.faq_wrap dl dt:hover,
.faq_wrap dl dt:active,
.faq_wrap dl dt.open {
  background-color: var(--sub-color);
}
.faq_wrap dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  /*縦線に*/
  transform: rotate(90deg);
  background: var(--border-color);
  transition: all .3s ease-in-out;
}
.faq_wrap dl dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  /*横線*/
  width: 15px;
  height: 2px;
  background: var(--border-color);
  transition: all .2s ease-in-out;
}
.faq_wrap dl dt.open::before {
  transform: rotate(180deg);
}
.faq_wrap dl dt.open::after {
  opacity: 0;
}
.faq_wrap dl dd {
  padding: 15px;
}
.faq_wrap dl dt .faq_q {
  position: relative;
  padding: 0 35px 0 35px;
}
.faq_wrap dl dt .faq_q:before {
  position: absolute;
  top: 0;
  left: 0;
  margin-right: 7px;
  line-height: 1;
  font-family: "Times New Roman", Times, serif;
  font-weight: normal;
  font-size: 28px;
  color: var(--main-color);
  content: "Q.";
}
.open .faq_wrap dl dt .faq_q:before {
  color: #fff;
}
.faq_wrap dl dd .faq_a {
  position: relative;
  padding: 0 0 0 35px;
}
.faq_wrap dl dd .faq_a:before {
  position: absolute;
  top: 0;
  left: 0;
  margin-right: 7px;
  line-height: 1;
  font-family: "Times New Roman", Times, serif;
  font-weight: normal;
  font-size: 28px;
  color: var(--sub-color);
  content: "A.";
}
/*==================================================================================================================================

  求人案内

==================================================================================================================================*/
.recruit_img {
  float: right;
  margin-left: 50px;
  margin-top: 7px;
  margin-bottom: 15px;
}
.recruit_img img {
  width: 100%;
  max-width: 408px;
  height: auto;
}
.recruit_table {
  width: 100%;
  margin-bottom: 30px;
}
.recruit_table th {
  text-align: center;
  background-color: var(--bg-color);
  width: 20%;
}
.recruit_table th,
.recruit_table td {
  padding: 15px;
  border: 1px solid var(--border-color);
  vertical-align: middle;
}
.sec_recruit .btn01 {
  text-align: center;
}

.recruit_freearea_inner div.text{
	margin-bottom:30px;
}

/*==================================================================================================================================

  アクセス

==================================================================================================================================*/
.access_add {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.access_add dt {
	width: 16%;
}
.access_add dd {
	width: 84%;
}
.access_add dt i {
  color: var(--main-color);
}
.sec_access .googlemap {
  margin-bottom: 20px;
}
.access_desc {
  border: 1px solid var(--border-color);
  padding: 20px;
  border-radius: 4px;
}
.access_route ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  counter-reset: count 0;
}
.access_route ul li {
  width: 48%;
  margin-bottom: 20px;
}
.access_route ul li p.title {
  font-size:120%;
  font-weight:600;
  position: relative;
  padding-left: 2em;
}
.access_route ul li p.title::before{
  content: counter(count);
  counter-increment: count 1;
  color: #fff;
  line-height: 1;
  padding: 4px 8px;
  background: var(--sub-color);
  position: absolute;
  left: 0;
  top: 5px;
}
.access_route .text:last-child{
  margin: 0;
}
.access_route ul li p.text {
  margin: 0;
}
.access_route ul li img {
  max-width: 100%;
  height: auto;
  max-height: 250px;
  display: block;
  margin: 0 auto 10px;
}
/*==================================================================================================================================

  お知らせ

==================================================================================================================================*/
.page-template-page-news .sec_top_news_list{
  max-height: unset;
  padding: 0;
}
.page-template-page-news .top_news_info{
  padding: 30px 0;
}
/*
.page-template-page-news h2{
  border-bottom: none;
  margin: 20px 0 10px;
  font-size: 140%;
}
.page-template-page-news h2:before,
.page-template-page-news h2:after{
  display: none;
}*/
/*==================================================================================================================================

  ブログ

==================================================================================================================================*/
.blog_box {
  border-top: 4px solid var(--main-color);
  /*記事ボックスの上の色*/
  box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
  margin-bottom: 50px;
  padding-bottom: 10px;
  background-color: #fff;
}
.blog_tit {
  font-size: 22px;
  color: #333;
  padding: 0 20px;
}
.blog_content {
  margin: 20px 25px;
}
.blog_content p {
  margin-bottom: 1em;
}
.blog_box .btn01 a {
  display: table;
  margin: 10px 0 10px auto;
}
/*----------見出し----------*/
.blog_box h1 {}
.blog_box h2.blog_tit {
  border-bottom: none;
  padding: 20px 20px 0;
}
.blog_box h2.blog_tit:after {
  display: none;
}
.blog_box h3 {}
.blog_box h4 {}
.blog_box h5 {}
.blog_box h6 {}

/*----------日付・カテゴリ----------*/
.blog_class li {
  display: inline-block;
  margin-right: 15px;
}
.blog_class {
  margin-bottom: 10px;
}
.blog_class i {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-right: 5px;
  color: var(--main-color);
}
.blog_class li a {
  color: #333;
}
.blog_class li a:hover {
  color: var(--main-color);
}
/*----------ページャー----------*/
.pager {
  display: block;
  font-size: 15px;
  padding: 9px 8px;
  margin: 0 auto;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  text-align: center !important;
  font-weight:600;
}
.pager:after {
  display: block;
  content: "";
  clear: both;
}
.current {
  background: var(--main-color);
  color: #fff;
  padding: 8px 12px;
  display: inline-block;
  border-radius: 16px;
  margin: 5px 5px 8px;
  line-height: 1;
}
.pager a {
  display: inline-block;
  text-decoration: none;
  padding: 8px 12px;
  margin: 5px 6px 8px 5px;
  border-radius: 50%;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: var(--border-color);
  color: var(--main-color);
  line-height: 1;
}
.pager a:hover {
  background: var(--main-color);
  color: #fff;
}
.pager a:active {
  -webkit-box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, .55);
  -moz-box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, .55);
  box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, .55);
}

/*--------------------ブログ エディター用--------------------*/
.alignleft {
  display: inline;
  float: left;
}
.alignright {
  display: inline;
  float: right;
}
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
  margin: 0.4em 1.6em 5px 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
  margin: 0.4em 0 5px 1.6em;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
  clear: both;
  margin-top: 0.4em;
  margin-bottom: 1.6em;
}
.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
  margin-bottom: 1.2em;
}

p img.alignleft {
  margin: 0 10px 10px 0;
}
p img.alignright {
  margin: 0 0 10px 10px;
}

/*整形済みテキスト*/
.blog_content>div pre {
  font-weight: 400;
  margin-top: 20px;
  padding: 20px;
  background-color: var(--bg-color);
  color: #7F7F7F;
  overflow: auto;
}
/*引用*/
.blog_content>div blockquote {
  position: relative;
  color: #3F3F3F;
  margin-top: 20px;
  padding: 20px 20px 20px 70px;
  background-color: var(--bg-color);
}
.blog_content>div blockquote::before {
  position: absolute;
  top: 20px;
  left: 20px;
  font-family: "icomoon";
  content: "\e909";
  font-size: 3rem;
  color: #D9D9D9;
}
.blog_content>div blockquote *:first-child {
  margin-top: 0;
}
/*ライン*/
.blog_content>div hr {
  margin-top: 40px;
  border-top: 1px solid  var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
.blog_content>div *:first-child {
  margin-top: 0;
}
.blog_content iframe {
	margin-left: auto;
	margin-right: auto;
	display: block;
}
iframe,
video,
embed{
	max-width:100%!important;
}
/*サムネイル*/
.thumbnail{
  display:block;
  position:relative;
  float:left;
  margin:0 15px 0 0;
  text-align:center;
}
.thumbnail img{
  object-fit: cover;
    max-width: 100%;
    max-height: unset;
    width: 150px;
    height: 150px;
}
/*==================================================================================================================================

  MPクラウド

==================================================================================================================================*/
.sec_mpcloud {
  padding: 0!important;
}
#mpcloud_schedule {
  width: 220px;
  position: fixed;
  bottom: 15px;
  left: 22px;
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 1);
  z-index: 999999999;
}
.shcedule_box{
  box-shadow: 0 8px 22px 8px rgba(0, 0, 0, .1);
  font-size: 14px;
  letter-spacing: .06em;
  border-radius: 15px;
}
.shcedule_title {
  font-size: 16px;
  font-weight: 600;
  border-bottom: 2px solid var(--border-color);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  text-align: center;
  padding: 3px 0 0;
}
.shcedule_title i {
  position: relative;
  top: -2px;
  right: -25px;
  font-style: normal;
  font-size: 12px;
  cursor: pointer;
}
.schedule_time {
  margin: 8px 0 0 0;
}
.schedule_time dt {
  font-weight: bold;
}
.shcedule_box dt {
  background: var(--border-color);
  text-align: center;
}
.shcedule_box dd {
  height: auto;
  vertical-align: top;
  text-align: center;
}
.shcedule_today {
  padding: 10px 16px;
}
.shcedule_today_footer{
	padding: 0 0 12px;/* コメントのスクロールが出た時にはみ出るため */
}
.schedule_comment {
  border-top: 1px solid var(--border-color);
  padding: 8px 12px;
  font-size: 14px;
}
/*スクロールバーの横幅指定*/
.sec_top_news_list::-webkit-scrollbar,
.schedule_comment::-webkit-scrollbar {
	width: 5px;
}
/*スクロールバーの背景色・角丸指定*/
.sec_top_news_list::-webkit-scrollbar-track,
.schedule_comment::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
}
/*スクロールバーの色・角丸指定*/
.sec_top_news_list::-webkit-scrollbar-thumb,
.schedule_comment::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: var(--border-color);
}
.schedule_comment {
  border-top: 1px solid var(--border-color);
  padding: 8px 12px;
  font-size: 14px;
  max-height: 200px;
  overflow-y: scroll;
  overflow-x: hidden;
line-height:1.5em;
}
/*==================================================================================================================================

  RIBON

==================================================================================================================================*/
.ribon-link {
  background-color: #fa6565;
  background-image: url(images/ribon_banner.png);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  height: auto;
  max-width: 300px;
  text-decoration: none;
  transition: 0.3s;
  width: 100%;
	margin:0 auto 20px;
}
.ribon-link::before {
  content: "";
  display: block;
  padding-top: 36%;
}
.ribon-link:hover {
  opacity: 0.75;
  transition: 0.3s;
}
/*==================================================================================================================================

  お問い合わせ

==================================================================================================================================*/
.contact {
  margin: 0 auto;
  width: 700px;
}
.contact form {
  margin: 50px 0 0;
}
.contact p {
  margin: 15px 0 0;
}
.contact label {
  margin: 30px 0 0;
  font-size: 16px;
  font-weight:600;
  color: var(--main-color);
}
.contact input,
.contact textarea {
  width: 100%;
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  padding: 16px 8px;
}
.contact input[type='submit'] {
  color: var(--main-color);
  border: 1px solid var(--main-color);
  width: 50%;
  margin: 0 auto;
  display: block;
  background: #fff;
  padding: 10px;
  cursor: pointer;
}
/*==================================================================================================================================

  common

==================================================================================================================================*/
.pc{}.sp{display:none!important;}.pc_inline{display:inline!important;}.sp_inline{display:none!important;}.sp_inline_ip{display:none!important;}.pc_table{display:none!important;}.sp_table{display:none!important;}.sp_flex{display:none!important;}.w010par{width:10%;}.w020par{width:20%;}.w025par{width:25%;}.w050par{width:50%;}.w075par{width:75%;}.w100par{width:100%;}.w010{width:10px!important;}.w020{width:20px!important;}.w030{width:30px!important;}.w040{width:40px!important;}.w050{width:50px!important;}.w060{width:60px!important;}.w070{width:70px!important;}.w080{width:80px!important;}.w090{width:90px!important;}.w100{width:100px!important;}.w110{width:110px!important;}.w120{width:120px!important;}.w130{width:130px!important;}.w140{width:140px!important;}.w150{width:150px!important;}.w160{width:160px!important;}.w170{width:170px!important;}.w180{width:180px!important;}.w190{width:190px!important;}.w200{width:200px!important;}.w210{width:210px!important;}.w220{width:220px!important;}.w230{width:230px!important;}.w240{width:240px!important;}.w250{width:250px!important;}.w255{width:255px!important;}.w260{width:260px!important;}.w270{width:270px!important;}.w280{width:280px!important;}.w290{width:290px!important;}.w300{width:300px!important;}.w305{width:305px!important;}.w310{width:310px!important;}.w320{width:320px!important;}.w330{width:330px!important;}.w340{width:340px!important;}.w350{width:350px!important;}.w360{width:360px!important;}.w365{width:365px!important;}.w370{width:370px!important;}.w380{width:380px!important;}.w390{width:390px!important;}.w400{width:400px!important;}.w410{width:400px!important;}.w415{width:415px!important;}.w420{width:420px!important;}.w430{width:430px!important;}.w435{width:435px!important;}.w440{width:440px!important;}.w450{width:450px!important;}.w460{width:460px!important;}.w470{width:470px!important;}.w480{width:480px!important;}.w490{width:490px!important;}.w500{width:500px!important;}.w510{width:510px!important;}.w520{width:520px!important;}.w530{width:530px!important;}.w540{width:540px!important;}.w550{width:550px!important;}.w560{width:560px!important;}.w570{width:570px!important;}.w580{width:580px!important;}.w590{width:590px!important;}.w600{width:600px!important;}.w610{width:610px!important;}.w620{width:620px!important;}.w630{width:630px!important;}.w640{width:640px!important;}.w650{width:650px!important;}.w660{width:660px!important;}.w670{width:670px!important;}.w680{width:680px!important;}.w690{width:690px!important;}.w700{width:700px!important;}.w710{width:710px!important;}.w720{width:720px!important;}.w730{width:730px!important;}.w740{width:740px!important;}.w750{width:750px!important;}.w760{width:760px!important;}.w765{width:765px!important;}.w960{width:960px!important;}.w980{width:980px!important;}.h030{height:30px!important;}.h180{height:180px!important;}.h190{height:190px!important;}.h200{height:200px!important;}.h240{height:240px!important;}.h250{height:250px!important;}.h280{height:280px!important;}.h300{height:300px!important;}.h350{height:350px!important;}.mt00{margin-top:0px!important;}.mt01{margin-top:1px!important;}.mt02{margin-top:2px!important;}.mt03{margin-top:3px!important;}.mt04{margin-top:4px!important;}.mt05{margin-top:5px!important;}.mt06{margin-top:6px!important;}.mt07{margin-top:7px!important;}.mt08{margin-top:8px!important;}.mt09{margin-top:9px!important;}.mt10{margin-top:10px!important;}.mt15{margin-top:15px!important;}.mt20{margin-top:20px!important;}.mt25{margin-top:25px!important;}.mt30{margin-top:30px!important;}.mt35{margin-top:35px!important;}.mt40{margin-top:40px!important;}.mt45{margin-top:45px!important;}.mt50{margin-top:50px!important;}.mt60{margin-top:60px!important;}.mt70{margin-top:70px!important;}.mt80{margin-top:80px!important;}.mt90{margin-top:90px!important;}.mt100{margin-top:100px!important;}.mt110{margin-top:110px!important;}.mt120{margin-top:120px!important;}.mr00{margin-right:0px!important;}.mr01{margin-right:1px!important;}.mr02{margin-right:2px!important;}.mr03{margin-right:3px!important;}.mr04{margin-right:4px!important;}.mr05{margin-right:5px!important;}.mr06{margin-right:6px!important;}.mr07{margin-right:7px!important;}.mr08{margin-right:8px!important;}.mr09{margin-right:9px!important;}.mr10{margin-right:10px!important;}.mr15{margin-right:15px!important;}.mr20{margin-right:20px!important;}.mr25{margin-right:25px!important;}.mr30{margin-right:30px!important;}.mr35{margin-right:35px!important;}.mr40{margin-right:40px!important;}.mr45{margin-right:45px!important;}.mr50{margin-right:50px!important;}.mr60{margin-right:60px!important;}.mr70{margin-right:70px!important;}.mr80{margin-right:80px!important;}.mr90{margin-right:90px!important;}.mr100{margin-right:100px!important;}.mb00{margin-bottom:0!important;}.mb01{margin-bottom:1px!important;}.mb02{margin-bottom:2px!important;}.mb03{margin-bottom:3px!important;}.mb04{margin-bottom:4px!important;}.mb05{margin-bottom:5px!important;}.mb06{margin-bottom:6px!important;}.mb07{margin-bottom:7px!important;}.mb08{margin-bottom:8px!important;}.mb09{margin-bottom:9px!important;}.mb10{margin-bottom:10px!important;}.mb15{margin-bottom:15px!important;}.mb20{margin-bottom:20px!important;}.mb25{margin-bottom:25px!important;}.mb30{margin-bottom:30px!important;}.mb35{margin-bottom:35px!important;}.mb40{margin-bottom:40px!important;}.mb45{margin-bottom:45px!important;}.mb50{margin-bottom:50px!important;}.mb60{margin-bottom:60px!important;}.mb70{margin-bottom:70px!important;}.mb80{margin-bottom:80px!important;}.mb90{margin-bottom:90px!important;}.mb100{margin-bottom:100px!important;}.ml00{margin-left:0!important;}.ml01{margin-left:1px!important;}.ml02{margin-left:2px!important;}.ml03{margin-left:3px!important;}.ml04{margin-left:4px!important;}.ml05{margin-left:5px!important;}.ml06{margin-left:6px!important;}.ml07{margin-left:7px!important;}.ml08{margin-left:8px!important;}.ml09{margin-left:9px!important;}.ml10{margin-left:10px!important;}.ml12{margin-left:12px!important;}.ml15{margin-left:15px!important;}.ml20{margin-left:20px!important;}.ml25{margin-left:25px!important;}.ml30{margin-left:30px!important;}.ml35{margin-left:35px!important;}.ml40{margin-left:40px!important;}.ml45{margin-left:45px!important;}.ml50{margin-left:50px!important;}.ml60{margin-left:60px!important;}.ml70{margin-left:70px!important;}.ml80{margin-left:80px!important;}.ml90{margin-left:90px!important;}.ml100{margin-left:100px!important;}.ml140{margin-left:140px!important;}.ml160{margin-left:160px!important;}.ma10{margin:10px!important;}.ma15{margin:15px!important;}.ma_auto{margin-left:auto;margin-right:auto;}.pt00{padding-top:0!important;}.pt01{padding-top:1px!important;}.pt02{padding-top:2px!important;}.pt03{padding-top:3px!important;}.pt04{padding-top:4px!important;}.pt05{padding-top:5px!important;}.pt06{padding-top:6px!important;}.pt07{padding-top:7px!important;}.pt08{padding-top:8px!important;}.pt09{padding-top:9px!important;}.pt10{padding-top:10px!important;}.pt15{padding-top:15px!important;}.pt20{padding-top:20px!important;}.pt25{padding-top:25px!important;}.pt30{padding-top:30px!important;}.pt35{padding-top:35px!important;}.pt40{padding-top:40px!important;}.pt45{padding-top:45px!important;}.pt50{padding-top:50px!important;}.pt60{padding-top:60px!important;}.pt70{padding-top:70px!important;}.pt80{padding-top:80px!important;}.pt90{padding-top:90px!important;}.pt100{padding-top:100px!important;}.pt120{padding-top:120px!important;}.pr00{padding-right:0!important;}.pr01{padding-right:1px!important;}.pr02{padding-right:2px!important;}.pr03{padding-right:3px!important;}.pr04{padding-right:4px!important;}.pr05{padding-right:5px!important;}.pr06{padding-right:6px!important;}.pr07{padding-right:7px!important;}.pr08{padding-right:8px!important;}.pr09{padding-right:9px!important;}.pr10{padding-right:10px!important;}.pr15{padding-right:15px!important;}.pr20{padding-right:20px!important;}.pr25{padding-right:25px!important;}.pr30{padding-right:30px!important;}.pr35{padding-right:35px!important;}.pr40{padding-right:40px!important;}.pr45{padding-right:45px!important;}.pr50{padding-right:50px!important;}.pr60{padding-right:60px!important;}.pr70{padding-right:70px!important;}.pr80{padding-right:80px!important;}.pr90{padding-right:90px!important;}.pr100{padding-right:100px!important;}.pb00{padding-bottom:0!important;}.pb01{padding-bottom:1px!important;}.pb02{padding-bottom:2px!important;}.pb03{padding-bottom:3px!important;}.pb04{padding-bottom:4px!important;}.pb05{padding-bottom:5px!important;}.pb06{padding-bottom:6px!important;}.pb07{padding-bottom:7px!important;}.pb08{padding-bottom:8px!important;}.pb09{padding-bottom:9px!important;}.pb10{padding-bottom:10px!important;}.pb15{padding-bottom:15px!important;}.pb20{padding-bottom:20px!important;}.pb25{padding-bottom:25px!important;}.pb30{padding-bottom:30px!important;}.pb35{padding-bottom:35px!important;}.pb40{padding-bottom:40px!important;}.pb45{padding-bottom:45px!important;}.pb50{padding-bottom:50px!important;}.pb60{padding-bottom:60px!important;}.pb70{padding-bottom:70px!important;}.pb80{padding-bottom:80px!important;}.pb90{padding-bottom:90px!important;}.pb100{padding-bottom:100px!important;}.pl00{padding-left:0!important;}.pl01{padding-left:1px!important;}.pl02{padding-left:2px!important;}.pl03{padding-left:3px!important;}.pl04{padding-left:4px!important;}.pl05{padding-left:5px!important;}.pl06{padding-left:6px!important;}.pl07{padding-left:7px!important;}.pl08{padding-left:8px!important;}.pl09{padding-left:9px!important;}.pl10{padding-left:10px!important;}.pl15{padding-left:15px!important;}.pl20{padding-left:20px!important;}.pl25{padding-left:25px!important;}.pl30{padding-left:30px!important;}.pl35{padding-left:35px!important;}.pl40{padding-left:40px!important;}.pl45{padding-left:45px!important;}.pl50{padding-left:50px!important;}.pl60{padding-left:60px!important;}.pl70{padding-left:70px!important;}.pl80{padding-left:80px!important;}.pl90{padding-left:90px!important;}.pl100{padding-left:100px!important;}.pa01{padding:1px!important;}.pa02{padding:2px!important;}.pa03{padding:3px!important;}.pa04{padding:4px!important;}.pa05{padding:5px!important;}.pa10{padding:10px!important;}.pa15{padding:15px!important;}.fr{float:right!important;}.fl{float:left!important;}.fr10{float:right;margin-left:10px!important;}.fr15{float:right;margin-left:15px!important;}.fr30{float:right;margin-left:15px!important;}.fl10{float:left;margin-right:10px!important;}.fl15{float:left;margin-right:15px!important;}.fl30{float:left;margin-right:30px!important;}.txt10{font-size:10px!important;}.txt11{font-size:11px!important;}.txt12{font-size:12px!important;}.txt13{font-size:13px!important;}.txt14{font-size:14px!important;}.txt15{font-size:15px!important;}.txt16{font-size:16px!important;}.txt17{font-size:17px!important;}.txt18{font-size:18px!important;}.txt19{font-size:19px!important;}.txt20{font-size:20px!important;}.txt21{font-size:21px!important;}.txt22{font-size:22px!important;}.txt23{font-size:23px!important;}.txt24{font-size:24px!important;}.txt25{font-size:25px!important;}.txt26{font-size:26px!important;}.txt27{font-size:27px!important;}.txt28{font-size:28px!important;}.txt29{font-size:29px!important;}.txt30{font-size:30px!important;}.txt31{font-size:31px!important;}.txt32{font-size:32px!important;}.txt33{font-size:33px!important;}.txt34{font-size:34px!important;}.txt35{font-size:35px!important;}.txt36{font-size:36px!important;}.txt37{font-size:37px!important;}.txt38{font-size:38px!important;}.txt39{font-size:39px!important;}.txt40{font-size:40px!important;}.bold{font-weight:600!important;}.left{text-align:left!important;}.center{text-align:center!important;}.right{text-align:right!important;}.clear{clear:both!important;}.v_top{vertical-align:top!important;}.v_mid{vertical-align:middle!important;}.v_btm{vertical-align:bottom!important;}.color_red{color:#F33;}.color_pink{color:#ed8c96;}.color_blue{color:#00408f;}.color_green{color:#479f9d;}.color_ore{color:#FF8327;}.color_yellow{color:#FFEB8B;}.color_beige{color:#dac58b;}.color_brown{color:#9b8052;}.color_navy{color:#1F2774;}.color_black{color:#3e3a39;}.ls_0{letter-spacing:0!important;}.ls_1{letter-spacing:1px!important;}.indent{margin-left:1em!important;text-indent:-1em!important;}.line_h_2{line-height:2!important;}.clearfix:after{display:block;clear:both;content:"";}.centering{display:table;margin:auto;text-align:left;}.img_fr{display:block;position:relative;float:right;margin-left:30px;margin-bottom:1em;text-align:center;}.img_fr img{border-radius:3px;margin-bottom:7px;max-width: 300px;max-height: 300px;width: auto;height: auto;}.img_fr dd{padding-left:20px;line-height:1.3;font-size:15px; font-weight:600;color:#1F2774;text-align:left;}.img_fl{display:block;position:relative;float:left;margin-bottom:1em;margin-right:30px;text-align:center;}.img_fl img{border-radius:3px;margin-bottom:7px;max-width: 300px;max-height: 300px;width: auto;height: auto;}
.img_fr+p:after{
  display: block;
  clear: both;
  content: "";
}
.float_clear{
  float: none!important;
}
.tbl_auto{
	width: fit-content;
	margin:auto;
	text-align:left;
	width:-moz-fit-content;
}
/* SNSバナーを横並びにする 外枠sns_container設定　バナー部分sns_items設定が必要*/
.sns_container{
	display:flex;
	flex-direction:row;
	justify-content:center;
}
.sns_container div.sns_items{
	margin:0px 7px;
}
/* 画像キャプション用 */
figure {
	display: table;
	max-width: 250px;
	margin: 0 auto 15px;
	font-size: 0.8em;
    line-height: 1.5em;
}

figcaption {
	display: table-caption;
	caption-side: bottom;
}

/*整えるためのCSS */
figure img {
	width: 100%!important;
	object-fit: contain;
	height: auto;
}

div.alignleft,
blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
	margin: 0.4em 1.6em 1.6em 0;
}
div.alignright,
blockquote.alignright,
.wp-caption.alignright,
img.alignright {
	margin: 0.4em 0 1.6em 1.6em;
}
.doctor_greeting_flex figure img{
    margin-bottom: 10px;
}
/*==================================================================================================================================

  スマホ設定

==================================================================================================================================*/
/*--------------------基本設定（スマホ）--------------------*/
@media screen and (max-width:640px) {
html {
  margin-top: 0 !important;
}
body {
  font-size: 14px;
  border: none;
}
body,
  #mainvisual,
  header,
  footer,
  nav,
.slider,
.mainvisual_wrapper {
  min-width: 100%;
}
body.page #mainvisual .inner,
  body.archive #mainvisual .inner,
  body.single #mainvisual .inner,
  body.home #mainvisual .inner,
  body.error404 #mainvisual .inner {
  max-width: 100%;
}
html #wpadminbar {
  display: none;
}
body,
  #mainvisual,
  header,
  footer {
  width: 100%;
  min-width: 100%;
}
/*--------------------ヘッダー（スマホ）--------------------*/
header {
  display: none;
}
.sp_header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background-color: #fff;
  z-index: 99999;
}
.sp_header .inner {
  position: relative;
}
.sp_header .sp_logo {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 65px);
  height: 60px;
}
.sp_header .sp_logo a{
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items:center;
  padding: 5px;
}
.sp_header .sp_logo img {
  width:auto;
  max-height: 53px;
  height: auto;
}
/*--------------------ナビゲーション（スマホ）--------------------*/
@media (min-width: 641px) {
.drawer-hamburger {
  display: none;
}
.drawer--left .drawer-nav {
  left: 0;
}
.drawer-nav {
  position: relative;
}
.drawer-nav .drawer-menu li {
  display: inline-block;
}
}
.drawer-nav {
  background-color: var(--main-color) !important;
  padding: 20px;
}
/*メニュー装飾*/
.sp_navi {
  border-top: 1px solid #fff;
}
.sp_navi li {
  border-bottom: 1px solid #fff;
}
.sp_navi li a {
  display: block;
  padding: 5px;
  color: #fff;
}
.sp_navi li a p {
  display: none;
}
/*SNSボタン*/
.sp_btn_area {
  display: flex;
  justify-content: center;
  margin: 20px 0;
}
.sp_btn_area li {
  width: -moz-available;
  width: -webkit-fill-available;
  margin-right: 5px;
}
.sp_btn_area li:last-child {
  margin-right: 0;
}
.sp_btn_area li a {
  display: block;
  background-color: #fff;
  color: var(--main-color);
  text-align: center;
  font-size: 12px;
  padding-top: 7px;
  border-radius: 5px;
}
.sp_btn_area li a i {
  display: block;
  font-size: 18px;
}
/*メニュー本体*/
.drawer-menu {
  padding-bottom: 30px;
}
.drawer-hamburger {
  top: -2px;
  background: var(--main-color);
}
.drawer-hamburger:hover {
  top: -2px;
  background: var(--main-color);
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  background: #fff;
}
/*子要素*/
.nav_slidebtm div {
  padding-bottom: 10px;
}
.nav_slidebtm div a {
  margin-left: 15px;
  padding: 3px;
  text-indent: -1.2em;
  padding-left: 1.2em;
}
.nav_slidebtm div a:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  margin-right: 10px;
}
.sp_under_nav {
  display: block;
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  z-index: 10;
  height: 52px;
  }
.sp_under_nav ul {
  display: flex;
  justify-content: center;
  height: 100%;
}
.sp_under_nav li {
  width: -moz-available;
  width: -webkit-fill-available;
  box-sizing: border-box;
  background-color: var(--main-color);
  text-align: center;
}
.sp_under_nav li:nth-child(2){
  background-color: var(--main-color);
  opacity: 0.8;
}
.sp_under_nav li a {
  display: block;
  color: #fff;
  font-weight:600;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sp_under_nav li a i {
  margin-right: 5px;
}
.sp_under_nav li a:hover{
	color:#fff;
}
.sp_ribonnavi{
	display:block;
}

/* MV下部メニュー */
.nav_bottom_wrap{
  display: none;
}
/*--------------------ホーム（スマホ）--------------------*/
body.home, 
body.home #main,
body.home header,
body.home footer {
  overflow-x: visible;
}
body.home #contents {
  padding-top: 30px !important;
}
body.home .mainvisual_wrapper{
  margin-top: 60px;
}
body.home .mainvisual_wrapper > div {
  margin: 0!important;
}
body.home #mainvisual {
  height: 330px;
  background-image: none;
}
body.home #wrapper, html, body, #main{
  min-height:500px;
}

body.home #main{
  width:100%;
  min-width:100%;
  background-size: 100% auto!important;
}
body.home #main .inner{
  width:100%;
  min-width:100%;
}
body.home #main{
  background-size: auto 100% !important; 
}
body.home #main p,
body.home #main p img {
width: 168px;
height: 102px;
}
body.home #main h2{
  top: 258px;
  padding: 0 12%;
}

body.home .top_greet .text{
  width:88%;
  padding:0 6%;
}
body.home .top_greet_img{
  position:relative !important;
  right:0;
  top:0;
  bottom:0;
  width: 210px;
  height: auto;
  margin:0 auto 30px !important;
}
body.home .top_greet_doctor{
  float:none;
  margin-bottom:20px;
}
body.home .top_greet_doctor dd span{
  margin-right:0;
}
body.home .top_greet .btn01{
  float:none;
  margin:auto;
}
body.home h1{
  position: unset;
  padding: 10px 6%;
  text-align: center;
}
h1{
  position: unset;
  padding: 10px 6%;
  text-align: center;
  background: var(--bg-color);
}
/*ホーム：内覧会情報（スマホ）*/
.nairankai_date {
  font-size: 20px;
  margin-bottom: 6px !important;
}
.nairankai_time {
  font-size: 18px;
}
/*ホーム：ブログ（スマホ）*/
/*ホーム：お知らせ（スマホ）*/
.sec_top_news .box1{
  margin: 5%;
}
.top_blog_thum {
  height: 50px;
}
.top_blog_thum img{
  height: 100%;
  width: 100%;
}
/*ホーム：医師紹介（スマホ）*/
.sec_top_doctor .box1 {
  padding: 0 20px 0;
}
.top_greeting_flex {
  display: block;
}
.top_greeting_flex .text {
  width: 100%;
}
.top_doctor_img {
  max-width: 280px;
  width: 100%;
  text-align: center;
  margin: 0 auto 20px;
}
.top_doctor_name span{
  display: block;
  padding-left: 0;
}

/*ホーム：当院の特徴（スマホ）*/
.top_feature_item_inner {
  display: block;
}
.top_feature_img{
  text-align: center;
  margin: 0 auto 10px;
  max-width: unset;
  height: auto;
}
.top_feature_img img {
  width: fit-content;
  max-height: 450px;
  margin: 0 auto;
}
.top_feature_text {
  width: auto;
}
.sec_top_feature .box1 {
  padding: 30px 20px 40px;
}

/*--------------------診療時間表（スマホ）--------------------*/
.tb02 th {
  vertical-align: middle;
  min-width: unset;
  font-size: calc(11px + 3 * (100vw - 320px)/320);
}
.tb02 th,
.tb02 td {
  padding: 3px 0 3px 0;
}
.tb02 tr:first-child th,
.tb02 tr:first-child td {
  padding: 0 0 2px 0;
}
.tb02_tit{
	margin-bottom: 18px;
}
/*--------------------ホーム（2カラム）--------------------*/
main.osaka{
  width: 100%;
}
main.osaka .box1{
  width: auto;
  margin: 0 auto;
  padding: 0 5% 50px;
}
main.osaka .top_sp_only.box1{
  margin: 20px auto 0!important;
}
/*内覧会のお知らせ*/
main.osaka .sec_top_nairankai{
}
/*フリーエリア(上)*/
main.osaka .sec_freearea_up{
  margin: 0;
}
/*お知らせ*/
main.osaka .sec_top_news{
}
main.osaka .sec_top_news .box1{
  padding: 0 0 50px;
  border: none;
}
main.osaka .sec_top_news .sec_top_news_list{
  margin: 0 3%
}
/*ブログ*/
main.osaka .sec_top_blog{
}
/*院長紹介*/
main.osaka .sec_top_doctor{
}
/*当院の特徴*/
main.osaka .sec_top_feature{
}
/*診療案内ボタン*/
main.osaka .sec_top_medical{
}
main.osaka .sec_top_medical_flex{
  flex-wrap: wrap;
  justify-content: center;
}
main.osaka .sec_top_medical_flex .item{
  width: 48%;
  margin: 1%;
  height: 25vh;
}
main.osaka .sec_top_medical_flex .item a{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
main.osaka .sec_top_medical_flex .item h3{
  display: block;
  border: none;
  margin: 0;
  padding: 0;
}
main.osaka .sec_top_medical_flex .item p{
  margin: 0;
  display: block;
  font-size: 16px;
}
/*フリーエリア下*/
main.osaka .sec_freearea_under{
  margin-bottom: 0!important;
}
/*サイドバーのflex_wrap*/
main.osaka .flex_wrap{
  display: block;
}
main.osaka .side_area{
  width: auto;
  margin-left: 0;
}
/*--------------------下層のメインビジュアル（スマホ）--------------------*/
#mainvisual {
  position: relative;
  height: 160px;
  margin-top: 60px;
  background-position: center;
  background-attachment: scroll;
}
#mainvisual .header_img{
	bottom:0px;
}
#mainvisual .inner {
  width: 100%;
  height: inherit;
}
#mainvisual .inner+div {
  width: 100% !important;
  top: 0 !important;
}
.main_headline {
  padding: 10px 0 0;
}
.main_headline p.midashi {
  font-size: 150%;
  margin: 0 30px;
}
/*----------トップページキャッチフレーズ（スマホ）----------*/
.main_catch {
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: auto;
  height: 330px;
  max-width: 100%;
  padding: 10px;
  box-sizing: border-box;
  filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff) drop-shadow(0 0 5px #fff);
	text-shadow: 0px 0px 3px white, 0px 0px 3px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 5px white, 0px 0px 6px white;
}
.catchcopy_tit span {
  font-size: 5vw;
}
.catchcopy_text span {
  font-size: 3vw;
}
/*----------スライダー フェード（スマホ）----------*/
.slider-fade .slick-slide img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
/*----------スライダー スライド（スマホ）----------*/
.slick-slider{
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.slider-slide .slick-slide img {
  width: 100%;
  max-width: 100%!important;
  height: 330px;
  object-fit: cover;
  border-radius: 0px;
}
.slider-slide .slick-slide{
  margin: 0;
}
.slider-slide .slick-list.draggable{
  width: 100%!important;
  margin: 0 auto;
}
.slider-slide .slick-track,
.slick-slider {
  height: auto;
  margin: 0;
}
.main_time{
  display: none;
}
/*----------スマホのみのエリア（スマホ）----------*/
.top_sp_only {
  padding: 0 4% !important;
}
.top_sp_only .main_open {
  position: unset;
  margin: 15px auto;
  height: auto;
  opacity: 1;
  padding: 15px;
  width: 100%;
  display: block;
}
.top_sp_only .main_time {
  position: unset;
  width: auto;
  font-size: unset;
}
.top_sp_only .sche_wrap .tb02 tr:first-of-type :is(th,td){
  border-bottom: none;
}
/*--------------------フッター（スマホ）--------------------*/
.pagetop {
  right: 10px;
  bottom: 60px;
  left: auto;
  margin: auto;
  width: 40px;
  height: 40px;
}
.pagetop i {
  margin-top: 10px;
}
.pagetop:hover {
  transform: unset;
}
.footer_inner {
  width: 100%;
  padding: 40px 20px 40px;
  display: block;
}
.footer_logo {
  width: 65%;
  margin: 0 auto 30px;
}
.footer_info_wrap {
  display: block;
}
.footer_info_left {
  width: 100%;
  margin-bottom: 30px;
  padding: 0;
}
.footer_info_access{
  margin: 20px 0;
}
.footer_info_tel{
  font-size: calc(22px + 8 * (100vw - 320px)/320);
}
.footer_info_right .sche_wrap {
  padding: 0;
}
footer .text {
  margin: 0;
}
.footer_info_right {
  width: 100%;
}
.footer_navi {
}
.footer_navi .inner{
  width: auto;
  padding: 0;
}
.footer_navi ul{
  display: block;
  padding: 0;
  padding: 5px 0;
}
.footer_navi ul li:first-child{
  margin: unset;
}
.footer_navi ul li{
  margin: 5px 0;
  text-align: center;
  border-bottom: 1px dotted var(--border-color);
}
.footer_navi ul li a{
  font-size: 13px;
}
.footer_navi ul li:last-child{
  margin-bottom: 0;
  border-bottom: none;
}
.footer_navi ul li a::before{
  display: none;
}
.copy {
  margin-top: 0;
  padding: 7px 0 65px;
}
/* PCで左寄せにしたのでスマホではセンタリング　kita */
.footer_info_left .logo{
text-align:center;
}
.footer_info_left .logo img{
	max-width: 95%;
	margin:0 auto;
}
/*--------------------サイドバー（スマホ）--------------------*/
.side_area {
  width: 100%;
  margin: auto;
  padding: 30px 20px 20px;
	clear:both;
}
/*--------------------パンくず（スマホ）--------------------*/
#breadcrumb {
  position: static;
  font-size: 12px;
  padding: 15px 0;
}
/*--------------------共通仕様（スマホ）--------------------*/
#contents {
  padding-bottom: 70px;
}
body.home .freearea_up,
body.home .freearea_under,
.box1 {
  width: 100%;
  padding: 0 20px 0;
}
.textarea p {
  font-size: 14px;
  margin-bottom: 1.5em;
}
.contents {
  width: 100%;
}
.wrapper {
  width: 100%;
  display: block;
  padding: 10px 0 0;
}
.wrapper main {
  width: 100%;
  margin-bottom: 40px;
  padding: 0 20px 0;
}
body.home .wrapper main {
  padding-left: 0;
  padding-right: 0;
}
.medical_single {
  padding: 0 !important;
}
.body_single p img{
	display: block!important;
	margin: 0 auto 10px;
	float: none!important;
}
.sns_container{
	display:block;
}
.sns_container div.sns_items{
	margin:10px 0px;
}
/*----------リスト----------*/
.list08 {
  padding: 6%;
}
/*----------テーブル----------*/
.sp_w100 th,
.sp_w100 td{
  width: 100%!important;
  display: block!important;
  border-top: none;
}
.sp_w100 tr:first-child th,
.sp_w100 tr:first-child td:first-child{
      border-top: 1px solid var(--border-color);
}

.tb01 {
  width: 100%;
  table-layout: fixed;
  white-space: inherit;
}
.tb01 tr{
}
.tb01 th{
  width: 30%;
}
.tb01 td{
}

.tb03,
.tb03 th {
  white-space: inherit;
}
.tb03.w075par {
  width: 100%;
}
.tb04,
.tb04 th {
  white-space: normal;
}
.tb04 th {
  font-size: 13px;
}
.tb04 td,
.tb04 th {
  padding: 2%;
}
.table_style2_30 td img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.table_style3_b td,
.table_style3_b th{
	width: 100%!important;
	display:block;
}

/*--------------------フリーエリア上（スマホ）--------------------*/
.freearea_up_img {
  float: none;
  margin: 0 0 15px 0;
  text-align: center;
}
.freearea_up_img img {
  width: 100%;
  height: auto;
}
	.freearea_up img{
		width:fit-content;
		margin:0 auto!important;
	}

/*--------------------フリーエリア下（スマホ）--------------------*/
	.freearea_under img{
		width:fit-content;
		margin:0 auto!important;
	}

.freearea_under_img {
  float: none;
  margin: 0 0 15px 0;
  text-align: center;
}
.freearea_under_img img {
  width: 100%;
  height: auto;
}
.freearea_up iframe,
.freearea_under iframe{
max-height: 250px;
max-width: 100%;
}
/*--------------------医師紹介（スマホ）--------------------*/
.doctor_greeting_flex {
  display: block;
}
.doctor_greeting_flex img{
	max-width:80%;
	height:auto;
	margin: auto;
	margin-bottom: 15px;
}
	
.doctor_greeting_flex .text {
  width: 100%;
}
.doctor_img {
  width: 100%;
  text-align: center;
}
/*----------経歴・資格----------*/
.doctor_carr_wrap {
  display: block;
}
.doctor_carr_box {
  width: 100%;
  margin-bottom: 20px;
}
.doctor_carr_box:last-child {
  margin-bottom: 0;
}
.doctor_carr_box .tb01 th,
.doctor_carr_box .tb01 td {
    display: block;
    width: 100%;
}
.doctor_carr_box .tb01 td.carr_indt{
	padding-left:15px;
}
/*--------------------医院紹介（スマホ）--------------------*/
.clinic_desc dl {
  display: block;
}
.clinic_desc dl dt {
  width: 100%;
  padding: 15px 0 0;
  border-bottom: none;
}
.clinic_desc dl dd {
  width: 100%;
  padding: 0 0 15px;
}
.clinic_sche .tb02 th,
.clinic_sche .tb02 td {
  font-size: 12px;
}
.clinic_facilities_wrap {
  display: block;
}
.facilities_item {
  width: 100%;
  margin-bottom: 20px;
}
.facilities_item_img img{
  max-height: 390px;
}
/*--------------------料金表（スマホ）--------------------*/
.price_table {
}
.price_table tr:first-child {
  display: none;
}
.price_table tr td:nth-child(1) {
  background-color: var(--bg-color);
  font-weight:600;
}
.price_table {
  border-bottom: 1px solid var(--border-color)
  }
.price_table tr:first-child {
  display: none;
}
.price_table td {
  display: block;
  border-bottom: none;
}
.price_table tr td:nth-child(1) {
  width: 100%;
}
.price_table tr td:nth-child(2) {
  width: 100%;
}
.price_table tr td:nth-child(2):empty {
	padding:0;
	border:none;
}
.price_table tr td:nth-child(3) {
  width: 100%;
  white-space: normal;
}
/* ---------- 料金表テンプレート（スマホ）---------- */
.price_table_temp tr:first-child {
  display: none;
}

.price_table_temp tr td:nth-child(1) {
  background-color: var(--bg-color);
  font-weight: bold;
}

.price_table_temp {
  border-bottom: 1px solid var(--border-color);
}

.price_table_temp tr:first-child {
  display: none;
}

.price_table_temp th {
  border-bottom: none;
}

.price_table_temp td {
  display: block;
  border-bottom: none;
}

.price_table_temp tr td:nth-child(1) {
  width: 100%;
}

.price_table_temp tr td:nth-child(2) {
  width: 100%;
}

.price_table_temp tr td:nth-child(3) {
  width: 100%;
  white-space: normal;
}
	
.price_table_temp tr:has(td:nth-child(2):last-child) td {
  width: 100%;
  text-align: center;
}
	
.price_table_temp tr:has(td:nth-child(3):last-child) td:nth-of-type(2):empty {
  display: none;
}
	
.price_table_temp tr td[colspan="3"] {
  text-align: left;
  background: var(--main-color);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  padding: 10px 15px;
}
/* ---------- 料金表テンプレート（スマホ）ここまで---------- */
	
/*--------------------求人情報（スマホ）--------------------*/
.recruit_img {
  float: none;
  margin: 0 0 15px 0;
  text-align: center;
}
.recruit_img img {
  width: 100%;
  height: auto;
}
.recruit_table {
  border-bottom: 1px solid var(--border-color);
}
.recruit_table th,
.recruit_table td {
  width: 100%;
  display: block;
  border-bottom: none;
}
.recruit_table th {
  border-bottom: none;
}
/*--------------------アクセス（スマホ）--------------------*/
.access_add {
  display: block;
}
.access_add dt {
  width: 100%;
}
.access_add dd {
  width: 100%;
}
.access_route ul {
  display: block;
}
.access_route ul li {
  width: 100%;
}
/*--------------------ブログ（スマホ）--------------------*/
.blog_box h2 {
}
.thumbnail{
  float:none;
  margin:0;
  text-align:center;
}
.thumbnail img{
  object-fit: cover;
  max-width: 100%;
  max-height: unset;
  width: 200px;
  height: 200px;
}
.blog_content iframe {
  max-width: 100%;
  height: auto;
}
/*--------------------お問い合わせ（スマホ）--------------------*/
.contact {
  margin: 0 auto;
  width: auto;
}
/*--------------------診療内容などのコンテンツ（スマホ）--------------------*/
.anklink li {
  width: 100%;
  margin: 0 0 10px;
}
/*--------------------レイアウト（スマホ）--------------------*/
/*----------1つ並びのレイアウト。画像は無し、左にタイトル、右に文章----------*/
.layout01 {
}
.layout01:before {
}
.layout01 dl {
  display: block;
}
.layout01 dl:after {
}
.layout01 dt {
  width: 100%;
}
.layout01 dd {
  width: 100%;
}
.layout01 dd img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
/*----------2つ並びのレイアウト。最初(dt)にタイトル、画像がその下(dd)、画像の下に文章----------*/
.layout02 {
  display: block;
}
.layout02::after {
}
.layout02 dl {
  width: 100%;
}
.layout02 dl:nth-child(even) {
}
.layout02 dt {
}
.layout02 dd img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
/*----------1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章----------*/
.layout03 {
  margin: 0 0 15px;
}
.layout03 dl {
  display: block;
}
.layout03 dt {
  width: 100%;
}
.layout03 dt img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.layout03 dd {
  width: 100%;
  padding: 15px 3% 1%;
}
.layout03 dd h5 {
}
.layout03 dd h5 em {}

/*----------1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章、タイトルと文章のエリア(dd)は背景色が別の色----------*/
.layout04 {
}
.layout04 dl {
  display: block;
}
.layout04 dt {
  width: 100%;
  padding: 2%;
}
.layout04 dt img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.layout04 dd {
  width: 100%;
}
.layout04 dd h5 {
}
.layout04 dd h5 span {}

 /*----------1つ並びで3列に区切られたレイアウト。画像が左、画像の下にタイトル、右に文章----------*/
.layout05 {
}
.layout05 dl {
  display: block;
}
.layout05 dt {
  width: 100%;
  text-align: center;
  display: block;
}
.layout05 dt img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.layout05 dd {
}
.layout05 dd:nth-child(2) {
  width: 100%;
  margin-top: 10px;
}
.layout05 dd:nth-child(3) {
  width: 100%;
  border-left: none;
}
.layout05 dd h5 em {
}
.layout05 dd h5 {
}
.layout05_text1 {
}
.layout05_text1 ul {}

  /*----------1つ並びで3列に区切られたレイアウト。左がタイトル、真ん中と右に文章----------*/
.layout06 {
  margin: 0 0 15px;
}
.layout06 dl {
  display: block;
}
.layout06 dl:before {
}
.layout06 dl:last-child:after {
}
.layout06 dt {
  width: 100%;
  padding: 3%;
  display: block;
  text-align: center;
}
.layout06 dt img {
  width: 70%;
  margin: 0 auto;
  display: block;
}
.layout06 dl:last-of-type {}

  /*----------数字----------*/
.layout06 dt em {
}
.layout06 dd {
}
.layout06 dd:nth-child(2) {
  width: 100%;
  margin-top: 10px;
}
.layout06 dd:nth-child(3) {
  width: 100%;
  border-left: none;
}
.layout06 dd h5 {
}
.layout06_text1 {
}
.layout06_text1 ul {
}
.layout06_text1 ul li span {}
/*----------3つ並びのレイアウト。----------*/
.layout07 {
  display: block;
}
.layout07::after {
}
.layout07 dl {
  display: block;
  width: 100%;
}
.layout07 dl:nth-child(3n) {
}
.layout07 dl dt {
}
.layout07 dl dt em {
}
.layout07 dl dd {
}
/*----------3つ並びのレイアウト。矢印付き----------*/
.layout08 {
  display: block;
}
.layout08 dl {
  position: relative;
  width: 100%;
  margin-right: 0;
  margin-bottom: 35px;
}
.layout08 dl:nth-child(3n) {}
.layout08 dl::before {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  top: 110%;
  height: 7px;
  width: 7px;
  transform: rotate(135deg);
  background-color: transparent;
  border-top: 2px solid var(--main-color);
  border-right: 2px solid var(--main-color);
  content: "";
  bottom: 0;
  margin: auto;
}
.layout08 dl:nth-child(3n)::before {
  display: none;
}
.layout08 dl dt {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed var(--border-color);
  font-size: 17px;
  font-weight:600;
  text-align: center;
}
.layout08 dl dt em {
  margin-right: 8px;
  font-size: 24px;
  font-family: 'Quicksand', sans-serif;
}
.layout08 dl dd {
  line-height: 1.5;
}
/*--------------------MPクラウド--------------------*/
#mpcloud_schedule {
  bottom: 60px;
}
/*--------------------common--------------------*/
.pc {
  display: none !important;
}
.sp {
  display: block !important;
}
.pc_inline {
  display: none !important;
}
.sp_inline {
  display: inline !important;
}
.pc_table {
  display: table !important;
}
.sp_table {
  display: table !important;
}
.sp_flex {
  display: flex !important;
}
img {
  max-width: 100%;
  height: auto;
	display: block!important;
	float: none!important;
}
.sp_mb00 {
  margin-bottom: 0 !important;
}
.sp_mr00 {
  margin-right: 0 !important;
}
.sp_ml00 {
  margin-left: 0 !important;
}
.sp_mt00 {
  margin-top: 0 !important;
}
.sp_pb00 {
  padding-bottom: 0 !important;
}
.sp_pr00 {
  padding-right: 0 !important;
}
.sp_pl00 {
  padding-left: 0 !important;
}
.sp_pt00 {
  padding-top: 0 !important;
}
.sp_center {
  text-align: center;
}
.img_fl,
.img_fr {
  float: none;
  margin: 0;
  text-align: center;
}
.img_fl img,
.img_fr img {
    margin-bottom: 15px;
    width: auto;
    max-width: 100%;
    max-height: 300px;
    height: auto;
}
div.alignleft,
div.alignright{
	margin: 0 auto;
	display: block;
	float: none;
}
}
@media screen and (max-width:320px) {
.main_catch p {
  font-size: 16px;
}
/*--------------------サイドバー--------------------*/
.side_area {
  width: 100%;
}
/* 画面幅サイズ小さい時はimgの回り込みは解除する kita */
.body_single table td img{
display:block;
margin:auto;
float:none;
}
/*--------------------common--------------------*/
.sp_inline_iP {
  display: inline !important;
}
}
nline_iP {
  display: inline !important;
}
}
