@charset "utf-8";
/* CSS Document */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {}

body {
  font-family: "新ゴ R", Shin Go Regular, sans-serif;
  color: #1b1b1b;
  font-size: 15px;
  font-weight: 500;
  line-height: 2.2;
 /* text-align: justify; */
  position: relative;
  word-wrap: break-word;
/*   background-color: #75d2d2; */
  background-image: url(/wp-content/uploads/2022/02/body_bg.jpg);
  background-size: contain;
}

strong,bold{
  font-family: "新ゴ B", Shin Go Regular, sans-serif;
}
img{
backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
a {
  color: #2ab8ba;
  text-decoration: none;
}

a:hover {
  color: #2ab8ba;
}

::selection {
  background-color: #2ab8ba;
}

::-moz-selection {
  background-color: #2ab8ba;
}

strong {
  font-weight: bold;
}
.anchor{
	display: block;
	margin-top:-100px;
	padding-top:100px;
}
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: #2ab8ba;
}

.sp{
	display:none;
}


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

	header

============================================================================*/
header {
  width: 100%;
  height: 155px;
}

header .inner {
  position: relative;
  width: 1240px;
  height: inherit;
  margin: auto;
}

/*ロゴ*/
.head_logo {
  position: relative;
  box-sizing: border-box;
  z-index: 1;
  top: 15px;
  width: 500px;
}

.head_logo a {
  display: block;
  max-width: 385px;
  height: auto;
}

.head_logo img {
  width: auto;
  height: auto;
}


/*ヘッダー基本情報*/
.head_info_wrap {
  display: flex;
  justify-content: flex-end;
    position: relative;
    top: -50px;
}

.head_info_wrap:after {
  display: block;
  content: "";
  clear: both;
}

.head_info {
  margin-top: 8px;
  text-align: right;
}

.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;
  font-size: 16px;
  margin-right: 10px;
  font-size: 19px;
  color: #2ab8ba;
}


/* ヘッダーのボタン */
.head_btn_area {
  display: flex;
  flex-wrap: nowrap;
  margin-left: 20px;
  padding-top: 15px;
}

.head_btn_area li {
  width: auto;
  margin-right: 5px;
}

.head_btn_area li:last-child {
  margin-right: 0;
}

.head_btn_area li a {
  display: block;
  background-color: #ff5e2e;
  color: #fff;
  text-align: center;
  font-size: 18px;
  padding: 15px 20px;
  line-height: 1;
  transition: 0.2s ease-in-out;
}

.head_btn_area li a:hover {
  background-color: #2ab8ba;
}

.head_btn_area li a i {
  margin-right: 8px;
}

.sp_header {
  display: none;
}



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

	nav

============================================================================*/
nav {
  position: absolute;
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto;
  width: 95%;
  z-index: 999999;
}

nav ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

nav li {
  position: relative;
}

nav li:first-child {
  margin-left: 0;
}

nav li a {
  position: relative;
  display: block;
  color: #1b1b1b;
  font-size: 12px;
  text-align: center;
  letter-spacing: 1px;
  z-index: 2;
  transition: 0.15s ease-out;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 5px;
  font-family: "新ゴ M", Shin Go Regular, sans-serif;
}

nav li a p {
  font-size: 40px;
  font-family: FB Shimano Square Light Narrow;
}

nav li a:hover {
  color: #fff;
}

/* ホバーのボーダー */
nav li a::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #fff;
  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: 0;
  left: 0;
  bottom: auto;
  width: 100%;
  background: #75d2d2;
  /*background: rgba(255, 255, 255, 0.8);*/
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

nav.fixed ul {
  width: 1240px;
}

/*ホバーで表示されるナビ*/
nav ul li div {
  position: absolute;
  display: none;
  width: 300%;
  top: 100%;
  left: 0%;
  background-color: rgba(255, 255, 255, 0.7);
}

nav ul li div a {
  display: block;
  position: relative;
  padding: 13px 20px;
  border-bottom: 1px solid #f0f0f0;
  line-height: 1.4;
  text-align: left;
  font-size: 16px;
}

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, 0.9);
}


.sp_under_nav {
  display: none;
}




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

	front-page only

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


body.home .mainvisual_wrapper {
	position: relative;
}
body.home #mainvisual {
	height: 600px;
	background-image: none;
}
.mainvisual_wrapper > div{
	background-size: auto;
	background-position: center;
}
body.home #mainvisual .inner {
    display: block;
    align-items: unset;
    justify-content: unset;
}
.slider{
  opacity: 0;
  transition: opacity .3s linear;
}
.slider.slick-initialized{
  opacity: 1;
}

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

	front-page osaka only

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


main.osaka .contents_bg:before {
  display: none;
}
main.osaka .wrapper main {
  width: 100%;
}

/*1カラムのインナー*/
main.osaka .box1{
	width: 1240px;
	margin: 0 auto;
}
main.osaka .sec_top_news .box1{
	background: #fff;
	padding: 50px;
}
/*フリーエリア1*/
main.osaka .sec_top_freearea01{
	padding: 50px 0;
	margin:0 !important;
}
/*内覧会のご案内*/
main.osaka .sec_top_nairankai{
	padding: 50px 0;
}
/*お知らせ*/
main.osaka .sec_top_news{
	padding: 80px 0;
}
/*ブログ*/
main.osaka .sec_top_blog{
	padding: 50px 0;
}
/*ご挨拶*/
main.osaka .sec_top_message{
	padding: 50px 0 320px;
	text-align:center;
	background: url(/wp-content/uploads/2022/03/seminar-scaled-e1648210383361.jpeg) center 90% #fff no-repeat;
}
.sec_top_message_text{

	max-width:400px;
	text-align:left;

}


.sec_top_message_list {
    display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
}
.sec_top_message_list li{
    max-width: 385px;
    width: 100%;
    border: 2px solid #efefef;
    padding: 1.5em;
    margin-bottom: 1em;
}
/*特徴*/
main.osaka .sec_top_feature{
	padding: 50px 0 0;
}
/*フリーエリア2*/
main.osaka .sec_top_freearea02{
	padding: 50px 0 0;
}

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

	$sec_top_news

============================================================================*/
.sec_top_news_list {
 height: 300px;
  overflow-y: auto;
  padding: 15px;
  box-sizing: border-box;
}


.sec_top_news_list li {
  border-bottom: 1px solid #D3D3D3;
}

.sec_top_news_list li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  padding: 15px 10px;
}

.sec_top_news_list li a:hover {
  background-color: #1b1b1b;
}


/*お知らせページ*/
.page-template-page-news .sec_top_news_list{
	max-height: unset;
	padding: 0;
}
.page-template-page-news .sec_top_news_list li{
	padding: 10px;
}


.top_news_info {
  padding: 20px 0;
}

.top_news_desc li {
  display: inline-block;
  border-bottom: none;
  padding: 0;
}

.top_news_date {
  margin-right: 10px;
}

.top_news_cate {
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.top_news_cate em {
  display: block;
  padding: 5px;
  font-style: normal;
}

.top_news_info h3 {
  display: block;
  position: relative;
  width: 100%;
  font-size: 120%;
  box-sizing: border-box;
  border-bottom: none;
  margin: 10px 0 5px;
}

.top_news_text p {
  display: block;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.sec_top_news_list li a{
  display: block!important;
}
.top_news_text iframe,
.sec_top_news_list li a iframe{
  max-width: 100%!important;
}

/*スクロールバーの横幅指定*/
.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: #1b1b1b;
}

.top_news_cate{
	padding: 5px!important;
	background: #ff9900;
}

.sec_top_news h2{
	font-size:60px;
font-family: FB Shimano Square Light Narrow;
	margin:0;
	padding:0;
	line-height:1;
	text-align: center;
	border: none;
	display: block;
	letter-spacing: 0;
}


.top_flex{
	display :flex;
	justify-content: center;
}
.top_flex .item{
	width: 30%;
	font-size: 150%;
}
.top_flex a{
	width: 100%;
  position: relative;
  display: inline-block;
	color: #fff;
	transition: 1s;
}
.top_flex a:hover{
	color:#222;
}

.top_flex a.btn-flat {
  overflow: hidden;
  padding: 3rem;
text-align: center;
  border-radius: 0;
  background: #ff5e2e;
}

.top_flex a.btn-flat span {
  position: relative;
  z-index: 1;
}

.top_flex a.btn-flat:before {
  position: absolute;
  top: 0;
  left: calc(-165% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
	background: #fff;
}

.top_flex a.btn-flat:after {
  position: absolute;
  top: -400%;
  right: calc(-165% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #fff;
}

.top_flex a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

.top_flex a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}









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

	#mainvisual

============================================================================*/
#mainvisual {
  display: block;
  position: relative;
  height: 180px;
  background: url(/wp-content/uploads/2022/02/mainvisual_under.jpg);
    background-position: center top;
}

#mainvisual .inner {
  position: relative;
  height: inherit;
  margin: 0 auto;
  width: 1240px;
  margin: 0 auto;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* キャッチコピー */
.main_catch {
  position: absolute;
  margin-bottom: 40px;
  left: 0;
  top: 230px;
}

.main_catch h1 {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 24px;
  line-height: 1.9em;
  color: #fff;
}

.main_catch h1 span {
  display: block;
  font-size: 36px;
}


/*MVの開院情報*/
.main_open {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  right: 0;
  top: 20px;
  background: #2ab8ba;
  font-weight: bold;
  align-content: center;
  justify-content: center;
  padding: 30px 20px 15px;
  opacity: 0.8;
}

.main_open p.main_opentext {
  font-size: 130%;
  text-align: center;
  color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin-bottom: 20px;
}

.main_open p.main_opentext span {
  display: block;
  font-size: 220%;
  text-align: center;
}

.main_open p.nairankai_date {
  display: block;
  font-size: 110%;
  letter-spacing: 0.1em;
  margin-bottom: 0 !important;
  text-align: center;
  color: #fff;
}

.main_open p.nairankai_time {
  display: block;
  font-size: 110%;
  letter-spacing: 0.1em;
  margin-bottom: 0 !important;
  text-align: center;
  color: #fff;
}


.mv_text {
  position: absolute;
  right: 0;
	bottom: 200px;
	width: 378px;
  box-sizing: border-box;
  padding: 20px 30px;
  background: rgba(255, 255, 255, 0.9);
  border: solid 1px #006cb6;
}
.mv_text_wrap2,
.mv_text_wrap{
	height:100%;
	width: 100%;
	position: relative;
	font-size: 0.9em;

}
/*
.mv_text_wrap::before{
	content:"";
	position: absolute;
	background: url(images/waku.svg) no-repeat;
	width: 50px;
	height:50px;
	left: -35px;
	top: -25px;
}
.mv_text_wrap::after{
	content:"";
	position: absolute;
	background: url(images/waku.svg) no-repeat;
	width: 50px;
	height:50px;
	right: -35px;
	top: -25px;
	transform: rotate(90deg);
}
.mv_text_wrap2::before{
	content:"";
	position: absolute;
	background: url(images/waku.svg) no-repeat;
	width: 50px;
	height:50px;
	left: -35px;
	bottom: -25px;
	transform: rotate(-90deg);
}
.mv_text_wrap2::after{
	content:"";
	position: absolute;
	background: url(images/waku.svg) no-repeat;
	width: 50px;
	height:50px;
	right: -35px;
	bottom: -25px;
	transform: rotate(-180deg);
}
 */




.right{
	text-align: right;
}

.mv_bnr01{
	position: absolute;
	left: 0;
	top:67px;
	bottom: auto;
	max-width: 500px;
}
.mv_bnr02{
	position: absolute;
	left: 0px;
	bottom: 90px;
}
.mv_bnr03{
	position: absolute;
	right: 0;
	bottom: 105px;
	width: 378px;
}
.mv_bnr03 img{
	width: 100%;
}
.mv_bnr04{
	position: absolute;
	right: 0;
	bottom: 10px;
	width: 378px;
}
.mv_bnr04 img{
	width: 100%;
}
/* 下層ページの見出し */
.main_headline {
  padding-bottom: 2px;
  letter-spacing: 0.15em;
  vertical-align: middle;
  text-align: center;
  text-shadow: 0 0 5px rgba(255, 255, 255, 0.7);
}

.main_headline h1 {
  letter-spacing: 0.2em;
}

.main_headline p {
  display: inline-block;
  font-size: 105%;
  font-family: FB Shimano Square Light Narrow;
  text-transform: uppercase;
}

/* 飾りの英語の棒 */
.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;
}

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

	main(ページレイアウト)

==================================================================*/
.contents_bg {
  position: relative;
}

/*.anchor {
	margin-top: -124px;
	padding-top: 124px;
}*/
.contents {
  width: 1240px;
  margin: auto;
  padding: 50px 20px 56px;
}

.wrapper {
  position: relative;
  width: 1240px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: auto;
  z-index: 2;
}

.wrapper main {
  width: 100%;
  padding: 58px 0px 56px;
}

.wrapper main section {
  padding: 0 0 80px;
}

.home .wrapper main section {
  margin-bottom: 0;
}
#sec_top_freearea02_01{
	padding: 0;
}

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

	footer

============================================================================*/
footer > p.mb30{
	margin: 0 auto;
	text-align:center;
}

footer {
  position: relative;
  width: 100%;
}

.footer_inner {
  width: 1240px;
  margin: auto;
  padding: 50px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* フッターロゴ */
.footer_logo {
  width: 20%;
}

.footer_logo a {
  display: block;
  width: 100%;
  max-width: 250px;
  margin: auto;
}

.footer_logo a img {
  max-width: 100%;
}

/* 基本情報 */
.footer_info_left {
  width: 50%;
  box-sizing: border-box;
  padding: 0;
}

.footer_info_kamoku {
  line-height: 1.5;
  margin-bottom: 15px;
}

.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;
  padding-left: 15px;
  list-style: none !important;
  display: block;
  list-style-image: none;
  margin-bottom: 5px;
}

.footer_info_access li:last-child {
  margin-bottom: 0;
}

.footer_info_access li:before {
  display: block;
  position: absolute;
  top: 16px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #333;
  border: 1px solid #333;
  border-radius: 100%;
  content: '';
}

.footer_info_tel {
  font-size: 55px;
  line-height: 30px;
margin-bottom:0;
font-family: FB Shimano Square Light Narrow;
}
.footer_info_tel a{
	color: #1b1b1b;
}
.footer_info_tel span{
  font-size: 25px;
 width:30px;
	display: inline-block;
}

.footer_info_fax {
  line-height: 1.5;
}

.footer_info_tel_text {
  line-height: 1.5;
  margin-bottom: 15px;
}

.footer_info_right {
  width: 40%;
}

.footer_info_right .sche_wrap {
  box-sizing: border-box;
  padding: 4%;
}

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;
}


/* フッターのナビ */
.footer_navi {
}

.footer_navi .inner {
  width: 1240px;
  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: 40px;
}

.footer_navi ul li:first-child {
  margin-left: 0;
}

.footer_navi ul li a {
  position: relative;
  color: #1b1b1b;
  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: #2ab8ba;
}

/* ホバーのボーダー */
.footer_navi ul li a::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #2ab8ba;
  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: #2ab8ba;
}

/* ページトップ */
.pagetop {
  position: fixed;
  right: 30px;
  bottom: 57px;
  width: 50px;
  height: 50px;
  background: #2ab8ba;
  color: #fff;
  border-radius: 100%;
  text-align: center;
  cursor: pointer;
  z-index: 999;
  transition: 0.5s ease-in-out;
}

.pagetop i {
  margin-top: 15px;
}

.pagetop:hover {
  transform: translate(0, -10px);
  border: 1px solid #2ab8ba;
  background: transparent;
  color: #2ab8ba;
}


/* コピーライト */
.copy {
  text-align: center;
  padding: 7px 0;
}

.copy small {
  font-size: 14px;
}

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

	box

==================================================================*/
.box {}

.box1 {
  width: 100%;
  margin: auto;
  padding: 0 20px 40px;
}

section:first-child .box1 {
  padding-top: 0;
}

.text {
  position: relative;
  margin: 0 0 80px;
}

.text p {
  margin-bottom: 1.5em;
}

.text p:last-child {
  margin-bottom: 0;
}

.textarea p {
  font-size: 16px;
  margin-bottom: 1.5em;
}

.textarea p:last-child {
  margin-bottom: 0;
}

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

	サイドバー

==================================================================*/
.side_area {
  width: 28%;
  padding: 50px 1% 56px 3%;
  z-index: 3;
  background: #fff;;
}

.side_box {
  margin-bottom: 40px;
}

.side_area .side_title {
  font-size: 110%;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: solid 3px #2ab8ba;
  /*サイド見出しの下線*/
  text-align: left;
  line-height: 1.6;
}

.side_area .side_title i {
  margin-right: 12px;
  vertical-align: middle;
  color: #2ab8ba;
}

.side_area li {
  /*   padding-left: 10px; */
}

.side_area li a {
  color: #1b1b1b;
}

.side_area li a:hover {
  color: #2ab8ba;
}

.op_sidefreearea {}

.op_sidefreearea p a {
  display: block;
}


.medical_menu li {
  position: relative;
  border-bottom: 1px dotted #D3D3D3;
  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: #2ab8ba;
}

.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 15px;
  margin: 10px 0;
  background-color: #2ab8ba;
  color: #fff;
  border: 1px solid #2ab8ba;
  transition: .2s ease-in-out;
}

.btn01 a:hover {
  display: inline-block;
  background-color: #fff;
  color: #2ab8ba;
  opacity: 0.8;
}

.btn01 a i {
  margin: 0 0 0 10px;
}

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

	$breadcrumb

============================================================================*/
#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;
}

#breadcrumb ol li {
  position: relative;
  padding-right: 20px;
  line-height: 1.5;
}

#breadcrumb ol li::before {
  content: '›';
  width: 16px;
  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%);
}

#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:200%
	h2:150%
	h3:130%
	h4:125%
	h5:110%
	h6:105%


==================================================================*/
h1 {
  line-height: 1.5;
  font-size: 200%;
  text-align: center;
  font-weight: bold;
}


/*下線中央寄せ*/
h2 {
  padding: 0 0 8px;
  line-height: 1.4;
  font-size: 200%;
  border-bottom: 3px solid #2ab8ba;
  margin: 30px auto 50px;
  letter-spacing: 0.2em;
     position: relative;
     display: table;
     padding-bottom:0.5em;
     border-bottom: 1px solid black;
}
h2 span::before,
h2 span::after {
     position: absolute;
     top: 100%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 10px solid transparent;
}
h2 span::before {
     border-top: 10px solid #1b1b1b;
}
h2 span::after {
     margin-top: -1px;
     border-top: 10px solid #fff;
}


h3 {
  border-bottom: 2px solid #2ab8ba;
  padding: 0 0 4px;
  margin: 0 0 20px;
  line-height: 1.4;
  font-size: 130%;
  font-weight: bold;
  display: inline-block;
}

h3 span {
  font-size: 80%;
  color: #2ab8ba;
}

h4 {
  position: relative;
  margin: 10px 0 5px;
  line-height: 1.6;
  font-size: 125%;
  font-weight: bold;
  color: #2ab8ba;
}

h4 span {
  font-size: 80%;
  color: #2ab8ba;
}

h5 {
  position: relative;
  margin: 0 0 15px;
  line-height: 1.4;
  font-size: 115%;
  font-weight: bold;
  color: #2ab8ba;
}

h5 span {
  font-size: 80%;
  color: #2ab8ba;
}

h6 {
  position: relative;
  margin: 0 0 15px;
  line-height: 1.4;
  font-size: 110%;
  font-weight: bold;
  color: #2ab8ba;
}

h6 span {
  font-size: 80%;
  color: #2ab8ba;
}


.blog_box h1 {}

.blog_box h2.blog_tit {
  border-bottom: none;
}

.blog_box h2.blog_tit:after {
  display: none;
}

.blog_box h3 {}

.blog_box h4 {}

.blog_box h5 {}

.blog_box h6 {}



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

	共通

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

/*無装飾*/
.list01 {
  margin: 0 0 15px;
  padding: 0;
  border-width: 0 1px 1px;
}

.list01 li {
  margin-bottom: 12px;
  list-style-type: none;
  line-height: 1.7;
}

/*下線*/
.list02 {
  margin: 0 0 15px;
  border-width: 0 1px 1px;
}

.list02 li {
  margin: 0;
  padding: 6px 4px 6px 0;
  border-bottom: 1px dotted #ddd;
  list-style-type: none;
  line-height: 1.7;
}

/*まる*/
.list03 {
  list-style: none !important;
  margin: 0 0 15px;
}

.list03 li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 12px;
  list-style: none !important;
  display: block;
  list-style-image: none;
  line-height: 1.7;
}

.list03 li:last-child {
  margin-bottom: 0;
}

.list03 li:before {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #2ab8ba;
  border: 1px solid #2ab8ba;
  border-radius: 100%;
  content: '';
}

.list03 li i {
  margin-right: 8px;
}

.list03 li span {
  display: block;
  font-weight: bold;
}

/*さんかく*/
.list04 {
  margin: 0 0 15px;
}

.list04 li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 15px;
  list-style-type: none;
  line-height: 1.7;
}

.list04 li:before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 5px solid #2ab8ba;
  content: "";
}


/*やじるし*/
.list05 {
  margin: 0 0 15px;
}

.list05 li {
  position: relative;
  padding-left: 15px;
  line-height: 1.7;
  list-style-type: none;
  margin-bottom: 8px;
}

.list05 li:before {
  position: absolute;
  left: 0;
  top: 10px;
  height: 5px;
  width: 5px;
  transform: rotate(45deg);
  background-color: transparent;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  content: "";
}



/* まる & 背景 */
.list06 {
  margin: 0 0 15px;
  padding: 20px 30px;
  background-color: #fff;;
}

.list06:after {
  display: block;
  content: "";
  clear: both;
}

.list06 li {
  position: relative;
  float: left;
  margin-bottom: 8px;
  padding-left: 0.9em;
  padding-right: 5%;
  list-style-type: none;
  line-height: 1.7;
}

.list06 li:before {
  display: block;
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #2ab8ba;
  border: 1px solid #2ab8ba;
  border-radius: 100%;
}


/*まる & 枠 */
.list07 {
  margin: 0 0 15px;
  border: 3px solid #fff;;
  padding: 20px 30px;
}

.list07 li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 0.9em;
  list-style-type: none;
}

.list07 li:last-child {
  margin-bottom: 0;
}

.list07 li:before {
  display: block;
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #2ab8ba;
  border: 1px solid #2ab8ba;
  border-radius: 100%;
}

.list07 li i {
  margin-right: 8px;
}


/*チェック*/
.list08 {
  margin: 0 0 15px;
  margin-bottom: 27px;
  padding: 20px 30px 10px;
  background-color: #fff;;
}

.list08:after {
  display: block;
  clear: both;
  content: "";
}

.list08 li {
  position: relative;
  float: left;
  margin-right: 5%;
  margin-bottom: 20px;
  margin-left: 28px;
  border-bottom: 1px dotted #cdcdcd;
  list-style-type: none;
  line-height: 1.7;
}

.list08 li:before {
  display: block;
  position: absolute;
  top: 7px;
  left: -28px;
  width: 16px;
  height: 14px;
  background-image: url(images/check.svg);
  background-repeat: no-repeat;
  background-position: left center;
  content: '';
}


/*番号付き*/
ol.list09 {
  margin: 0;
  padding: 0;
  counter-reset: number;
  /* 名前を付けたカウンターをリセット */
  list-style: none;
  /* olが数字を付けることをキャンセル */
}

ol.list09 li {
  margin-bottom: 12px;
  list-style-type: none;
}

ol.list09 li:before {
  margin-right: 8px;
  padding: 2px 8px;
  background: #FAF6F6;
  border-radius: 2%;
  border: 1px solid #2ab8ba;
  color: #2ab8ba;
  counter-increment: number;
  content: counter(number);
}


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

.top_flex_box>div {
  flex: 1;
  padding: 0 35px;
}

.scroll_area {
  height: 300px;
}



.whitebox{
	padding: 50px;
	background: #fff;
}
.whitebox .list08{
	padding: 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 #00408f;
  font-weight: bold;
  font-size: 13px;
  color: #00408f;
  text-align: center;
  vertical-align: middle;
  transition: 0.1s ease-in-out;
}

.ank01 li a:hover {
  background-color: #00408f;
  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 #ededed;
  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 #f0f0f0;
  content: "";
}

.layout01 dt {
  width: 30%;
  padding: 3%;
  background-color: #fff;;
  letter-spacing: 0.1em;
  color: #2ab8ba;
  font-weight: bold;
  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: #C3AF97;
}

.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: #fff;;
}

.layout02 dl:nth-child(even) {
  margin-right: 0;
}

.layout02 dl dt {
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  color: #2ab8ba;
}




/* 1つ並びのレイアウト。画像が左、右にタイトル、タイトル下に文章 */
.layout03 {
  margin: 0 0 15px;
}

.layout03 dl {
  display: flex;
  margin-bottom: 20px;
  background-color: #fff;;
  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: #2ab8ba;
  font-size: 18px;
  font-weight: bold;
}

.layout03 dd h5 em {
  margin-right: 10px;
  color: #BDA087;
  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: #fff;;
  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: #BDA087;
  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: #fff;;
  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 #e2e2e2;
}

.layout05 dd h5 em {
  margin-right: 10px;
  color: #BDA087;
  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 #ededed;
  content: "";
}

.layout06 dl:last-child:after {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  border-top: 1px solid #f0f0f0;
  content: "";
}


.layout06 dt {
  width: 30%;
  padding: 0 3%;
  background-color: #fff;;
  letter-spacing: 0.1em;
  color: #2ab8ba;
  font-weight: bold;
  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: #C3AF97;
}

.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 #e2e2e2;
}

.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: #fff;;
}

.layout07 dl:nth-child(3n) {
  margin-right: 0;
}

.layout07 dl dt {
  margin-bottom: 7px;
  padding-bottom: 7px;
  border-bottom: 1px dashed #ddd;
  font-size: 17px;
  font-weight: bold;
  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: #C3AF97;
}

.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: #fff;;
}

.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 #2ab8ba;
  border-right: 2px solid #2ab8ba;
  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 #ddd;
  font-size: 17px;
  font-weight: bold;
  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: #C3AF97;
}

.layout08 dl dd {
  line-height: 1.5;
}


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

	table

==================================================================*/
.tb02 {
  width: 100%;
  border-spacing: 0;
  margin-bottom: 12px;
}

.tb02 tr:first-of-type {
  background: #fff;;
}

.tb02 th {
  font-weight: bold;
  width: 26%;
  border-bottom: 1px solid #e0e0e0;
  padding: 5px 0;
}

.tb02 td {
  text-align: center;
  border-bottom: 1px solid #e0e0e0;
  padding: 5px 0;
}



/*本文中のテーブル*/
.tb03 {
  width: 100%;
  border-spacing: 1px;
  border-collapse: separate;
  background-color: #f0f0f0;
}

.tb03 td,
.tb03 th {
  padding: 8px 20px;
}

.tb03 th {
  font-weight: bold;
  text-align: left;
  background-color: #FAFAFA;
}

.tb03 th span {
  font-size: 13px;
}

.tb03 td {
  background-color: #ffffff;
  text-align: center;
}

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

	.sec_top_freearea01

==================================================================*/
.sec_top_freearea01 {
  margin-bottom: 20px !important;
}

.sec_top_freearea01 .box1 {
  border: 3px double #FF9800;
}

.sec_top_freearea01 h2.tit01 {
  margin-top: 30px;
}

.sec_top_freearea01 h2.tit01 span {
  border-bottom: #FF9800 3px solid;
}

.sec_top_freearea01 h3 {
  margin-bottom: 40px;
}

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

	.sec_top_nairankai

==================================================================*/
.box_wrap {
  display: flex;
  justify-content: space-between;
}

.top_nairankai_img {
  padding-top: 12px;
  margin-bottom: 20px;
}

.top_nairankai_img img {
  width: 100%;
  height: auto;
}

.nairankai_date {
  margin-bottom: 18px !important;
  color: #2ab8ba;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.4;
}

.nairankai_time {
  margin-bottom: 10px !important;
  color: #2ab8ba;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
}

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

	.sec_sp_schedule

==================================================================*/
.sche_wrap {
  margin-bottom: 30px;
}

.sche_wrap:last-child {
  margin-bottom: 0;
}

.kyushinbi {
  color: #2ab8ba;
  font-weight: bold;
}

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

	.sec_top_doctor

==================================================================*/
.top_greeting_wrap {
  margin-bottom: 50px;

}

.top_greeting_wrap:last-child {
  margin-bottom: 0;
}

.top_greeting02_wrap {
  margin-top: 80px;
}

.top_greeting {}

.top_greeting:after {
  display: block;
  clear: both;
  content: "";
}

.top_greeting h3.tit01 {
  margin-bottom: 68px;
}

.top_greeting_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}

.top_doctor_img {
  width: 32%;
  margin-bottom: 15px;
}

.top_doctor_img img {
  width: 100%;
  height: auto;
}

.top_doctor_img_center {
  text-align: center;
}

.top_doctor_img_center img {
  width: 100%;
  height: auto;
}

.top_doctor_name {
  font-weight: bold;
}

.top_doctor_name span {
  padding-left: 20px;
  font-size: 130%;
}

.top_greeting_flex .text {
  width: 65%;
  margin: 0;
}


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

.top_carr_wrap_center {
  display: flex;
  justify-content: center;
}

.top_carr_box {
  width: 100%;
  box-sizing: border-box;
  padding: 3%;
  border: 1px solid #ccc;
}

/* 経歴・資格 */
.tb01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.tb01 td,
.tb01 th {
  vertical-align: middle;
}

.tb01 th {
  text-align: left;
  font-weight: normal;
}

.top_carr_box .tb01 th {
  width: 25%;
}

.top_carr_box .tb01 td {
  width: 75%;
}

.top_carr_box .text p {
  margin-bottom: 0;
}


.sec_doctor {
}

.sec_doctor_etc {
  width: 100%;
  box-sizing: border-box;
}

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

	$sec_top_feature

============================================================================*/
.top_feature_item {
  margin: 0 0 30px 0;
}

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

.top_feature_img {
  margin-bottom: 10px;
  width: 45%;
}

.top_feature_img img {
  width: 100%;
  height: auto;
}

.top_feature_box {
  width: 50%;
}

.top_feature_box h3 {
  font-size: 20px;
}

.top_feature_text .btn01 {
  text-align: right;
}

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

	$sec_top_news

============================================================================*/
.sec_top_news_list {
  max-height: 500px;
  overflow-y: auto;
  padding: 15px;
  box-sizing: border-box;
}

.sec_top_news_list li {
  border-bottom: 1px solid #D3D3D3;
}

.sec_top_news_list li a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #333;
  padding: 15px 10px;
}

.sec_top_news_list li a:hover {
  background-color: #2ab8ba;
}


/*お知らせページ*/
.page-template-page-news .sec_top_news_list{
	max-height: unset;
	padding: 0;
}
.page-template-page-news .sec_top_news_list li{
	padding: 10px;
}


.top_news_info {
  padding: 20px 0;
}

.top_news_desc li {
  display: inline-block;
  border-bottom: none;
  padding: 0;
}

.top_news_date {
  margin-right: 10px;
}

.top_news_cate {
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 5px !important;
}

.top_news_cate em {
  display: block;
  padding: 5px;
  font-style: normal;
}

.top_news_info h3 {
  display: block;
  position: relative;
  width: 100%;
  font-size: 120%;
  box-sizing: border-box;
  border-bottom: none;
  margin: 10px 0 5px;
}

.top_news_text p {
  display: block;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

/*スクロールバーの横幅指定*/
.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: #1b1b1b;
}



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

	$sec_top_blog

============================================================================*/
.sec_top_blog_list {
  border-top: 1px solid #D3D3D3;
}

.sec_top_blog_list li {
  border-bottom: 1px solid #D3D3D3;
}

.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: #2ab8ba;
}

.top_blog_thum img {
  border: 1px solid #D3D3D3;
}

.top_blog_thum {
  width: 17.44%;
}

.top_blog_info {
  width: 79%;
}

.top_blog_desc li {
  display: inline-block;
  border-bottom: none;
  padding: 0;
}

.top_blog_date {
  color: #a3a3a3;
  margin-right: 10px;
}

.top_blog_cate {
  background-color: #2ab8ba;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 5px !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%;
}

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

	.sec_top_freearea02

==================================================================*/
.top_freearea02:after {
  display: block;
  clear: both;
  content: "";
}

.top_freearea02 h3.tit01 {
  margin-bottom: 46px;
}

.top_freearea02_img {
  float: left;
  margin-right: 40px;
  margin-top: 7px;
  margin-bottom: 15px;
}

.top_freearea02_img img {
  width: 100%;
  max-width: 408px;
  height: auto;
}

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

	.sec_top_doctor

==================================================================*/
.greeting_wrap {
  margin-bottom: 80px;
	background: #fff;
	padding: 30px 50px;
}

.greeting_wrap:last-child {
  margin-bottom: 0;
}

.greeting {
  margin-bottom: 50px;
}

.greeting:after {
  display: block;
  clear: both;
  content: "";
}

.greeting h3.tit01 {
  margin-bottom: 68px;
}

.doctor_img {
  float: right;
  margin-left: 50px;
  margin-top: 7px;
  margin-bottom: 15px;
}

.doctor_img img {
  width: 100%;
  max-width: 280px;
  height: auto;
}

.doctor_img_center {
  text-align: center;
}

.doctor_img_center img {
  width: 100%;
  max-width: 280px;
  height: auto;
}

.doctor_name {
  font-weight: bold;
}

.doctor_name span {
  padding-left: 20px;
}

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

.carr_wrap_center {
  display: flex;
  justify-content: center;
}

.carr_box {
  width: 46%;
}

/* 経歴・資格 */
.tb01 {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.tb01 td,
.tb01 th {
  vertical-align: middle;
}

.tb01 th {
  text-align: left;
  font-weight: normal;
}

.carr_box .tb01 th {
  width: 25%;
}

.carr_box .tb01 td {
  width: 75%;
}

.carr_box .text p {
  margin-bottom: 0;
}

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

	$clinic

==================================================================*/
.clinic_desc {
  width: 100%;
}

.clinic_desc dl {
  display: flex;
}

.clinic_desc dl dt {
  width: 20%;
  border-bottom: 1px dotted #D3D3D3;
  padding: 15px;
  font-weight: bold;
}

.clinic_desc dl dd {
  width: 80%;
  border-bottom: 1px dotted #D3D3D3;
  padding: 15px;
}

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

.facilities_item {
  width: 31.5%;
  margin-bottom: 5%;
  background: #fff;;
}

.facilities_item_img {
  overflow: hidden;
  background-color: #f9f9f9;
/*  width: 100%;
  padding-bottom: 100%;
  height: 0;
  position: relative;
  border-bottom: 3px #fff solid
*/
}
/*
.object-fit-con-ie {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 100%;
  max-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}*/

.facilities_item dd {
  padding: 15px;
}

.facilities_item dd h3 {
  font-weight: bold;
  font-size: 20px;
  display:table;
}

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

	$medical

==================================================================*/
.medical_list li {
  margin-bottom: 60px;
}

.medical_list li .text {
  margin-bottom: 15px;
}

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

	$access

==================================================================*/
.price_table {
  width: 100%;
  margin-bottom: 15px;
}

.price_table th {
  text-align: center;
  background-color: #fff;;
}

.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 #D3D3D3;
  vertical-align: middle;
}

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

	$FAQ

==================================================================*/
.faq_wrap dl {
  margin-bottom: 10px;
}

.faq_wrap dl dt {
  position: relative;
  margin: 0;
  padding: 15px;
  background-color: #fff;;
  font-weight: bold;
  cursor: pointer;
}

.faq_wrap dl dt:hover,
.faq_wrap dl dt:active,
.faq_wrap dl dt.open {
  background-color: #2ab8ba;
}

.faq_wrap dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  width: 15px;
  height: 2px;
  /*縦線に*/
  transform: rotate(90deg);
  background: #a6a6a7;
  transition: all .3s ease-in-out;
}

.faq_wrap dl dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  /*横線*/
  width: 15px;
  height: 2px;
  background: #a6a6a7;
  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: #a6a6a7;
  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: #d66565;
  content: "A.";
}

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

	$recruit

==================================================================*/
.recruit_freearea_inner {
  margin-bottom: 40px;
}

.recruit_freearea_inner:after {
  display: block;
  content: "";
  clear: both;
}

.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: #2ab8ba;
}

.recruit_table th,
.recruit_table td {
  padding: 15px;
  border: 1px solid #D3D3D3;
  vertical-align: middle;
}

.sec_recruit .btn01 {
  text-align: center;
}

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

	$access

==================================================================*/
.access_add {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.access_add dt {
  width: 14%;
}

.access_add dd {
  width: 86%;
}

.access_add dt i {
  color: #2ab8ba;
}

.sec_access .googlemap {
  margin-bottom: 20px;
}

.access_desc {
background:#fff;
  padding: 20px;
}

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

	ブログ

==================================================================*/
.blog_box {
  border-top: 4px solid #2ab8ba;
  /*記事ボックスの上の色*/
  box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
  margin-bottom: 50px;
  padding-bottom: 30px;
  background-color: #fff;
}

.blog_tit {
  font-size: 22px;
  color: #333333;
  padding: 0 20px;
}

.blog_content {
  margin: 20px 25px;
}

.blog_content p {
  margin-bottom: 1em;
}

.blog_btn {
  margin: 20px 0 0 10px;
}

.blog_btn::after {
  content: "";
  display: block;
  clear: both;
}

.blog_btn a {
  display: inline-block;
  padding: 8px 25px;
  float: right;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
  transition-property: all;
  transition: 0.3s linear;
  background-color: #2ab8ba;
  color: #fff !important;
}

.blog_btn a:hover {
  color: #fff !important;
  background-color: #2ab8ba;
  text-decoration: none;
}

.blog_btn span {
  position: relative;
  padding-right: 1em;
  transition: all .3s;
  color: #fff !important;
}

.blog_btn span::after {
  position: absolute;
  top: 50%;
  right: -12px;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color: #fff;
  transition: all .3s;
}

.blog_btn:hover span {}

.blog_btn:hover span::after {
  right: -16px;
}

/* 日付・カテゴリ */
.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: #2ab8ba;
}

.blog_class li a {
  color: #333333;
}

.blog_class li a:hover {
  color: #2ab8ba;
}

/* ページャー */
.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: bold;
}

.pager:after {
  display: block;
  content: "";
  clear: both;
}

.current {
  background: #2ab8ba;
  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: #eee;
  color: #999;
  line-height: 1;
}

.pager a:hover {
  background: #2ab8ba;
  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);
}

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

	ブログ エディター用

==================================================================*/
/**
 * 8.0 Alignments
 */
.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 1.6em 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
  margin: 0.4em 0 1.6em 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;
}

/*整形済みテキスト*/
.blog_content>div pre {
  font-family: "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 400;
  margin-top: 20px;
  padding: 20px;
  background-color: #F2F2F2;
  color: #7F7F7F;
  overflow: auto;
}

/*引用*/
.blog_content>div blockquote {
  position: relative;
  color: #3F3F3F;
  margin-top: 20px;
  padding: 20px 20px 20px 70px;
  background-color: #F2F2F2;
}

.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 #F2F2F2;
  border-bottom: 1px solid #E5E5E5;
}

.blog_content>div *:first-child {
  margin-top: 0;
}

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

	schedule（MPCLOUD）

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

#mpcloud_schedule {
  width: 220px;
  position: fixed;
  bottom: 15px;
  right: 22px;
  box-shadow: 0 8px 22px 8px rgba(0, 0, 0, .1);
  border-radius: 15px;
  background-color: rgba(255, 255, 255, 1);
  z-index: 999999999;
  font-size: 14px;
  letter-spacing: .08em;
}

.shcedule_title {
  display: block;
  margin: 0;
  padding: 10px 0;
  font-size: 16px;
  font-weight: 600;
  border-bottom: 2px solid #aaa;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;

  text-align: center;
}

.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: #eee;
  text-align: center;
}

.shcedule_box dd {
  height: auto;
  vertical-align: top;
}

.shcedule_box dd i {
  display: inline-block;
  width: 17px;
  height: 17px;
  background: url("../images/schedule.svg") no-repeat center left;
  background-size: 17px 17px;
  padding: 2px 0 2px 22px;
  margin-left: 15px;
  vertical-align: inherit;

}

.shcedule_today {
  padding: 10px 16px;
}

.schedule_comment {
  border-top: 1px solid #d6d6d6;
  padding: 8px 12px;
  font-size: 14px;
}

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

	追加

==================================================================*/
main section ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}

main ol ol {
  padding-left: 1em;
}

main ol li {}

main ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
  padding-right: .5em;
  font-weight: bold;
  color: #2ab8ba;
}



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

	contact

==================================================================*/
.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: bold;
  color: #2ab8ba;
}

.contact input,
.contact textarea {
  width: 100%;
  background: #F2F2F3;
  border: 1px solid #e5e5e5;
  padding: 16px 8px;
}

.contact input[type='submit'] {
  color: #2ab8ba;
  border: 1px solid #2ab8ba;
  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;
}

/* CSS Document */


.w010par {
  width: 10%;
}

.w020par {
  width: 20%;
}

.w025par {
  width: 25%;
}

.w050par {
  width: 50%;
}

.w075par {
  width: 75%;
}

.w100par {
  width: 100%;
}

.w010 {
  width: 10px;
}

.w020 {
  width: 20px;
}

.w030 {
  width: 30px;
}

.w040 {
  width: 40px;
}

.w050 {
  width: 50px;
}

.w060 {
  width: 60px;
}

.w070 {
  width: 70px;
}

.w080 {
  width: 80px;
}

.w090 {
  width: 90px;
}

.w100 {
  width: 100px;
}

.w110 {
  width: 110px;
}

.w120 {
  width: 120px;
}

.w130 {
  width: 130px;
}

.w140 {
  width: 140px;
}

.w150 {
  width: 150px;
}

.w160 {
  width: 160px;
}

.w170 {
  width: 170px;
}

.w180 {
  width: 180px;
}

.w190 {
  width: 190px;
}

.w200 {
  width: 200px;
}

.w210 {
  width: 210px;
}

.w220 {
  width: 220px;
}

.w230 {
  width: 230px;
}

.w240 {
  width: 240px;
}

.w250 {
  width: 250px;
}

.w255 {
  width: 255px;
}

.w260 {
  width: 260px;
}

.w270 {
  width: 270px;
}

.w280 {
  width: 280px;
}

.w290 {
  width: 290px;
}

.w300 {
  width: 300px;
}

.w305 {
  width: 305px;
}

.w310 {
  width: 310px;
}

.w320 {
  width: 320px;
}

.w330 {
  width: 330px;
}

.w340 {
  width: 340px;
}

.w350 {
  width: 350px;
}

.w360 {
  width: 360px;
}

.w365 {
  width: 365px;
}

.w370 {
  width: 370px;
}

.w380 {
  width: 380px;
}

.w390 {
  width: 390px;
}

.w400 {
  width: 400px;
}

.w410 {
  width: 400px;
}

.w415 {
  width: 415px;
}

.w420 {
  width: 420px;
}

.w430 {
  width: 430px;
}

.w435 {
  width: 435px;
}

.w440 {
  width: 440px;
}

.w450 {
  width: 450px;
}

.w460 {
  width: 460px;
}

.w470 {
  width: 470px;
}

.w480 {
  width: 480px;
}

.w490 {
  width: 490px;
}

.w500 {
  width: 500px;
}

.w510 {
  width: 510px;
}

.w520 {
  width: 520px;
}

.w530 {
  width: 530px;
}

.w540 {
  width: 540px;
}

.w550 {
  width: 550px;
}

.w560 {
  width: 560px;
}

.w570 {
  width: 570px;
}

.w580 {
  width: 580px;
}

.w590 {
  width: 590px;
}

.w600 {
  width: 600px;
}

.w610 {
  width: 610px;
}

.w620 {
  width: 620px;
}

.w630 {
  width: 630px;
}

.w640 {
  width: 640px;
}

.w650 {
  width: 650px;
}

.w660 {
  width: 660px;
}

.w670 {
  width: 670px;
}

.w680 {
  width: 680px;
}

.w690 {
  width: 690px;
}

.w700 {
  width: 700px;
}

.w710 {
  width: 710px;
}

.w720 {
  width: 720px;
}

.w730 {
  width: 730px;
}

.w740 {
  width: 740px;
}

.w750 {
  width: 750px;
}

.w760 {
  width: 760px;
}

.w765 {
  width: 765px;
}

.w960 {
  width: 960px;
}

.w980 {
  width: 980px;
}

.h030 {
  height: 30px;
}

.h180 {
  height: 180px;
}

.h190 {
  height: 190px;
}

.h200 {
  height: 200px;
}

.h240 {
  height: 240px;
}

.h250 {
  height: 250px;
}

.h280 {
  height: 280px;
}

.h300 {
  height: 300px;
}

.h350 {
  height: 350px;
}

.mt00 {
  margin-top: 0px !important;
}

.mt01 {
  margin-top: 1px;
}

.mt02 {
  margin-top: 2px;
}

.mt03 {
  margin-top: 3px;
}

.mt04 {
  margin-top: 4px;
}

.mt05 {
  margin-top: 5px;
}

.mt06 {
  margin-top: 6px;
}

.mt07 {
  margin-top: 7px;
}

.mt08 {
  margin-top: 8px;
}

.mt09 {
  margin-top: 9px;
}

.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mt110 {
  margin-top: 110px;
}

.mt120 {
  margin-top: 120px;
}

.mr00 {
  margin-right: 0px !important;
}

.mr01 {
  margin-right: 1px;
}

.mr02 {
  margin-right: 2px;
}

.mr03 {
  margin-right: 3px;
}

.mr04 {
  margin-right: 4px;
}

.mr05 {
  margin-right: 5px;
}

.mr06 {
  margin-right: 6px;
}

.mr07 {
  margin-right: 7px;
}

.mr08 {
  margin-right: 8px;
}

.mr09 {
  margin-right: 9px;
}

.mr10 {
  margin-right: 10px;
}

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px;
}

.mr25 {
  margin-right: 25px;
}

.mr30 {
  margin-right: 30px;
}

.mr35 {
  margin-right: 35px;
}

.mr40 {
  margin-right: 40px;
}

.mr45 {
  margin-right: 45px;
}

.mr50 {
  margin-right: 50px;
}

.mr60 {
  margin-right: 60px;
}

.mr70 {
  margin-right: 70px;
}

.mr80 {
  margin-right: 80px;
}

.mr90 {
  margin-right: 90px;
}

.mr100 {
  margin-right: 100px;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb01 {
  margin-bottom: 1px;
}

.mb02 {
  margin-bottom: 2px;
}

.mb03 {
  margin-bottom: 3px;
}

.mb04 {
  margin-bottom: 4px;
}

.mb05 {
  margin-bottom: 5px;
}

.mb06 {
  margin-bottom: 6px;
}

.mb07 {
  margin-bottom: 7px;
}

.mb08 {
  margin-bottom: 8px;
}

.mb09 {
  margin-bottom: 9px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.ml00 {
  margin-left: 0 !important;
}

.ml01 {
  margin-left: 1px;
}

.ml02 {
  margin-left: 2px;
}

.ml03 {
  margin-left: 3px;
}

.ml04 {
  margin-left: 4px;
}

.ml05 {
  margin-left: 5px;
}

.ml06 {
  margin-left: 6px;
}

.ml07 {
  margin-left: 7px;
}

.ml08 {
  margin-left: 8px;
}

.ml09 {
  margin-left: 9px;
}

.ml10 {
  margin-left: 10px;
}

.ml12 {
  margin-left: 12px;
}

.ml15 {
  margin-left: 15px;
}

.ml20 {
  margin-left: 20px;
}

.ml25 {
  margin-left: 25px;
}

.ml30 {
  margin-left: 30px;
}

.ml35 {
  margin-left: 35px;
}

.ml40 {
  margin-left: 40px;
}

.ml45 {
  margin-left: 45px;
}

.ml50 {
  margin-left: 50px;
}

.ml60 {
  margin-left: 60px;
}

.ml70 {
  margin-left: 70px;
}

.ml80 {
  margin-left: 80px;
}

.ml90 {
  margin-left: 90px;
}

.ml100 {
  margin-left: 100px;
}

.ml140 {
  margin-left: 140px;
}

.ml160 {
  margin-left: 160px;
}

.ma10 {
  margin: 10px;
}

.ma15 {
  margin: 15px;
}

.ma_auto {
  margin-left: auto;
  margin-right: auto;
}

.pt00 {
  padding-top: 0 !important;
}

.pt01 {
  padding-top: 1px;
}

.pt02 {
  padding-top: 2px;
}

.pt03 {
  padding-top: 3px;
}

.pt04 {
  padding-top: 4px;
}

.pt05 {
  padding-top: 5px;
}

.pt06 {
  padding-top: 6px;
}

.pt07 {
  padding-top: 7px;
}

.pt08 {
  padding-top: 8px;
}

.pt09 {
  padding-top: 9px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt25 {
  padding-top: 25px;
}

.pt30 {
  padding-top: 30px;
}

.pt35 {
  padding-top: 35px;
}

.pt40 {
  padding-top: 40px;
}

.pt45 {
  padding-top: 45px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt100 {
  padding-top: 100px;
}

.pt120 {
  padding-top: 120px;
}

.pr00 {
  padding-right: 0 !important;
}

.pr01 {
  padding-right: 1px;
}

.pr02 {
  padding-right: 2px;
}

.pr03 {
  padding-right: 3px;
}

.pr04 {
  padding-right: 4px;
}

.pr05 {
  padding-right: 5px;
}

.pr06 {
  padding-right: 6px;
}

.pr07 {
  padding-right: 7px;
}

.pr08 {
  padding-right: 8px;
}

.pr09 {
  padding-right: 9px;
}

.pr10 {
  padding-right: 10px;
}

.pr15 {
  padding-right: 15px;
}

.pr20 {
  padding-right: 20px;
}

.pr25 {
  padding-right: 25px;
}

.pr30 {
  padding-right: 30px;
}

.pr35 {
  padding-right: 35px;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px;
}

.pr50 {
  padding-right: 50px;
}

.pr60 {
  padding-right: 60px;
}

.pr70 {
  padding-right: 70px;
}

.pr80 {
  padding-right: 80px;
}

.pr90 {
  padding-right: 90px;
}

.pr100 {
  padding-right: 100px;
}

.pb00 {
  padding-bottom: 0 !important;
}

.pb01 {
  padding-bottom: 1px;
}

.pb02 {
  padding-bottom: 2px;
}

.pb03 {
  padding-bottom: 3px;
}

.pb04 {
  padding-bottom: 4px;
}

.pb05 {
  padding-bottom: 5px;
}

.pb06 {
  padding-bottom: 6px;
}

.pb07 {
  padding-bottom: 7px;
}

.pb08 {
  padding-bottom: 8px;
}

.pb09 {
  padding-bottom: 9px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb15 {
  padding-bottom: 15px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb25 {
  padding-bottom: 25px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb35 {
  padding-bottom: 35px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb45 {
  padding-bottom: 45px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb100 {
  padding-bottom: 100px;
}

.pl00 {
  padding-left: 0 !important;
}

.pl01 {
  padding-left: 1px;
}

.pl02 {
  padding-left: 2px;
}

.pl03 {
  padding-left: 3px;
}

.pl04 {
  padding-left: 4px;
}

.pl05 {
  padding-left: 5px;
}

.pl06 {
  padding-left: 6px;
}

.pl07 {
  padding-left: 7px;
}

.pl08 {
  padding-left: 8px;
}

.pl09 {
  padding-left: 9px;
}

.pl10 {
  padding-left: 10px;
}

.pl15 {
  padding-left: 15px;
}

.pl20 {
  padding-left: 20px;
}

.pl25 {
  padding-left: 25px;
}

.pl30 {
  padding-left: 30px;
}

.pl35 {
  padding-left: 35px;
}

.pl40 {
  padding-left: 40px;
}

.pl45 {
  padding-left: 45px;
}

.pl50 {
  padding-left: 50px;
}

.pl60 {
  padding-left: 60px;
}

.pl70 {
  padding-left: 70px;
}

.pl80 {
  padding-left: 80px;
}

.pl90 {
  padding-left: 90px;
}

.pl100 {
  padding-left: 100px;
}

.pa01 {
  padding: 1px;
}

.pa02 {
  padding: 2px;
}

.pa03 {
  padding: 3px;
}

.pa04 {
  padding: 4px;
}

.pa05 {
  padding: 5px;
}

.pa10 {
  padding: 10px;
}

.pa15 {
  padding: 15px;
}

.fr {
  float: right;
}

.fl {
  float: left;
}

.fr10 {
  float: right;
  margin-left: 10px;
}

.fr15 {
  float: right;
  margin-left: 15px;
}

.fr30 {
  float: right;
  margin-left: 15px;
}

.fl10 {
  float: left;
  margin-right: 10px;
}

.fl15 {
  float: left;
  margin-right: 15px;
}

.fl30 {
  float: left;
  margin-right: 30px;
}

.txt10 {
  font-size: 10px;
}

.txt11 {
  font-size: 11px;
}

.txt12 {
  font-size: 12px;
}

.txt13 {
  font-size: 13px;
}

.txt14 {
  font-size: 14px;
}

.txt15 {
  font-size: 15px;
}

.txt16 {
  font-size: 16px;
}

.txt17 {
  font-size: 17px;
}

.txt18 {
  font-size: 18px;
}

.txt19 {
  font-size: 19px;
}

.txt20 {
  font-size: 20px;
}

.txt21 {
  font-size: 21px;
}

.txt22 {
  font-size: 22px;
}

.txt23 {
  font-size: 23px;
}

.txt24 {
  font-size: 24px;
}

.txt25 {
  font-size: 25px;
}

.txt26 {
  font-size: 26px;
}

.txt27 {
  font-size: 27px;
}

.txt28 {
  font-size: 28px;
}

.txt29 {
  font-size: 29px;
}

.txt30 {
  font-size: 30px;
}

.txt31 {
  font-size: 31px;
}

.txt32 {
  font-size: 32px;
}

.txt33 {
  font-size: 33px;
}

.txt34 {
  font-size: 34px;
}

.txt35 {
  font-size: 35px;
}

.txt36 {
  font-size: 36px;
}

.txt37 {
  font-size: 37px;
}

.txt38 {
  font-size: 38px;
}

.txt39 {
  font-size: 39px;
}

.txt40 {
  font-size: 40px;
}

.bold {
  font-weight: bold;
}

.left {
  text-align: left !important;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right;
}

.clear {
  clear: both;
}

.v_top {
  vertical-align: top;
}

.v_mid {
  vertical-align: middle;
}

.v_btm {
  vertical-align: bottom;
}

.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;
}

.ls_1 {
  letter-spacing: 1px;
}

.indent {
  margin-left: 1em !important;
  text-indent: -1em;
}

.line_h_2 {
  line-height: 2 !important;
}

.clearfix:after {
  display: block;
  clear: both;
  content: "";
}
.img_fr{
	display:block;
	position:relative;
	float:right;
	margin-left:30px;
	margin-bottom:0 !important;
	text-align:center;
}
.img_fr img{
	border-radius:3px;
	margin-bottom:7px;
	max-width: 300px;
	height: auto;
}
.img_fr dd{
	padding-left:20px;
	line-height:1.3;
	font-size:15px; 
	font-weight:bold;
	color: #1F2774;
	text-align:left;
}
.img_fl{
	display:block;
	position:relative;
	float:left;
	margin-left:30px;
	margin-bottom:0 !important;
	text-align:center;
}
.img_fl img{
	border-radius:3px;
	margin-bottom:7px;
	max-width: 300px;
	height: auto;
}




.sponsor_box{
	width: 800px;
    margin: 0 auto;
    padding: 50px;
	background: #fff;
}
.sponsor_box ul{

}
.sponsor_box li{
display: flex;
align-items: center;
flex-wrap: wrap;
width: 100%;
padding:20px 0;
border-bottom: #ccc dotted 1px;
}
.sponsor_box li p{
	font-size:120%;
	width:50%;
	padding-left: 50px;
}
.sponsor_box li .btn01{
	width:50%;
	text-align: center;
}
.sponsor_box li .btn01 a{
	width:250px;
}
.sponsor_text{
	width: 100%!important;
	text-align:left;
	display: block;
}
.sponsor_text p{
	width: 100%!important;
	text-align:left;
	padding: 0 50px!important;
	font-size: 100%!important;
}
.sponsor_text p img{
	width: auto;
	max-width: 100%;
}


.notice{
	color: #ff6a00;
	font-weight: bold;
	font-family: "新ゴ B", Shin Go Regular, sans-serif;
	font-size: 115%;
}


.news ul.newsbox{
	background: #fff;
	padding: 50px 50px 80px;
}
.news ul.newsbox > li{
	border-bottom: 1px solid #D3D3D3;
}


/*モーダル関連*/
div.modal {
	position: fixed;
	z-index:9999999;
	background: rgba(0,0,0,0.7);
	height: 100%;
	width: 100%;
	top: 0;
}
div.modal .pr_box {
	position: fixed;
	width: 90%;
	max-width:500px;
	height:auto;
	margin:auto;
	box-shadow:0px 0px 12px rgba(0,0,0,0.4);
	padding:40px;
	background:#FFFFFF;
	transform: translate(-50%, 0);
	left: 50%;
	top: 30%;
	text-align:center;
}
.pr_box img:hover {
	filter: alpha(opacity=50);
	-webkit-opacity:0.50;
	-moz-opacity:0.50;
	-ms-opacity:0.50;
	-o-opacity:0.50;
	opacity:0.50;
}
.disclaimer_bt p{
	margin: 10px auto 0;
	display: flex;
	justify-content: space-between;
}
.close_modal{
	display: block;
	width: 48%;
	line-height:50px;
	display: inline-table;
	color: #fff;
	border: 2px solid #018ad1;
	background: #018ad1;
}
.close_modal:hover {
	text-decoration: none;
	display: inline-table;
	color: #018ad1;
	border: 2px solid #018ad1;
	background: #fff;
}
.close_modal_no{
	display: block;
	width: 48%;
	line-height:50px;
	display: inline-table;
	color: #fff;
	border: 2px solid #60cfff;
	background: #60cfff;
}
.close_modal_no:hover {
	text-decoration: none;
	display: inline-table;
	color: #018ad1;
	border: 2px solid #60cfff;
	background: #fff;
}


/* div.modal {
	position: relative;
	display:none;
	z-index:9999;
}
div.modal .pr_box {
	width:500px;
	height:auto;
	margin:auto;
	box-shadow:0px 0px 12px rgba(0,0,0,0.4);
	padding:40px;
	background:#FFFFFF;
}
.pr_box img:hover {
	filter: alpha(opacity=50);
	-webkit-opacity:0.50;
	-moz-opacity:0.50;
	-ms-opacity:0.50;
	-o-opacity:0.50;
	opacity:0.50;
}
.close_modal{
	display: block;
	width: 180px;
	line-height:50px;
	display: inline-table;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	transition: all 200ms linear;
	-webkit-transition: all 300ms linear;
	-moz-transition: all 300ms linear;
	-o-transition: all 300ms linear;
	transition: all 300ms linear;
	color: #fff;
	border: 2px solid #018ad1;
	background: #018ad1;
	*display: inline;
	*zoom: 1;
}
.close_modal:hover {
	text-decoration: none;
	display: inline-table;
	color: #018ad1;
	border: 2px solid #018ad1;
	background: #fff;
}
.close_modal_no{
	display: block;
	width: 180px;
	line-height:50px;
	display: inline-table;
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	transition: all 200ms linear;
	-webkit-transition: all 300ms linear;
	-moz-transition: all 300ms linear;
	-o-transition: all 300ms linear;
	transition: all 300ms linear;
	color: #fff;
	border: 2px solid #60cfff;
	background: #60cfff;
	*display: inline;
	*zoom: 1;
}
.close_modal_no:hover {
	text-decoration: none;
	display: inline-table;
	color: #018ad1;
	border: 2px solid #60cfff;
	background: #fff;
} */

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

  #modal

============================================================================*/
/* #modal{
 display: none;
} */

.modal{
  position: fixed;
  z-index: 1000000;
  top: 0;
  left: 0;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
}

.modal.active{
  display: block;
}

.modal_box{
  position: absolute;
  transform: translate(-50%,-50%);
  top: 50%;
  left: 50%;
  width: 85%;
  max-width: 800px;
  padding: 30px 30px 70px 35px;
  background: #fff;
}

.close_btn{
  position: relative;
  display: block;
  width: 25px;
  height: 25px;
  margin: 0 0 20px auto;
  cursor: pointer;
}

.close_btn span{
  position: absolute;
  transform: translate(-50%,-50%);
  top: 50%;
  left: 0;
  display: block;
  width: 25px;
  height: 2px;
  background: #000;
}

.close_btn span:nth-of-type(1n){
  transform: rotate(-45deg);
}

.close_btn span:nth-of-type(2n){
  transform: rotate(45deg);
}

.modal_inner h2{
  margin-bottom: 50px!important;
}

