/* CSS Document */
@media (min-width: 601px) and (max-width: 1024px) {
  body,
  .g_wrap,
  .mv_wrap,
  #mv,
  header,
  footer {
    min-width: 1025px;
  }

  .nav_menu_list ul li.nav_mega_menu .mega_menu_wrap {
    width: 1300px;
  }
}

@media screen and (max-width:600px) {
body {
  font-size: 14px;
}

body,
.g_wrap.fixed,
#mv .inner,
header,
footer {
  min-width: 100%;
}

/* ナビ展開時スクロール禁止処理 */
body.nav-open {
  overflow: hidden !important;
}

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

  header

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

  header {
    display: none;
  }

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

  nav

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

.g_wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding:20px 18px 0px 20px;
}

.g_wrap .header_logo {
  position:relative;
  width: 198px;
  z-index:10000;
}

.g_wrap .header_logo a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 5px 0;
}

.g_wrap .header_logo img {
  width: 100%;
}

/* ハンバーガーボタン */
.btn_nav_menu {
  position: relative;
  right: 0;
  color: #fff;
  width: 40px;
  height:40px;
  background: #555555;
  border: none;
  padding: 0;
  margin: 0;
  text-align: center;
  transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
  border-radius:20px;
  z-index:10000;
}

.btn_nav_menu span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  transition: all 0.6s cubic-bezier(.19, 1, .22, 1);
  opacity: 1;
}

.btn_nav_menu span:nth-of-type(1) {
  top: 17.5px;
}

.btn_nav_menu span:nth-of-type(2) {
  top: 22.5px;
}

.btn_nav_menu span:nth-of-type(3) {
  top: 30px;
}

/* MENUボタン押下時 */
.btn_nav_menu.active {
  background:#fff;
}

.btn_nav_menu.active span:nth-of-type(1) {
  top: 20px;
  transform: rotate(225deg);
  background:#555555;
}

.btn_nav_menu.active span:nth-of-type(2) {
  top: 20px;
  transform: rotate(-225deg);
  background:#555555;
}

/* ドロップダウンメニュー */
.nav_menu_list {
  position: fixed;
  top: 0;
  right: 0;
  right: -100%;
  z-index: 2;
  overflow: hidden;
  width: 100%;
  height: 100%;
  transition: right 0.6s cubic-bezier(.19, 1, .22, 1);
  background: #555555;
  padding:95px 40px 15px;
}

.nav_menu_list ul {
  flex-flow: column wrap;
  align-items: flex-start;
}

.nav_menu_list ul li ,.nav_menu_list ul li:first-child{
  display: block;
  width: 100%;
  margin:0;
}

.nav_menu_list ul li::after {
  display: none;
}

.nav_menu_list ul li a,
.nav_menu_list ul li p {
  display: table;
  text-align: left;
  padding: 15px 10px 15px 20px;
  width: auto;
  color: #fff;
  font-weight: normal;
  letter-spacing: 0.09em;
}

.nav_menu_list ul li a::before,.nav_menu_list ul li p::before{
  top:0;
  bottom:0;
  left:0;
  right:auto;
  width:8.5px;
  height:5px;
  background:#F6F5F3;
  transform: inherit;
  z-index:1;
  content:"";
}

.nav_menu_list ul li a span,
.nav_menu_list ul li p span {
  display: none;
}

.nav_menu_list ul li a:hover {
  color: #fff;
}

body.nav-open .nav_menu_list {
  overflow-y: scroll;
  overscroll-behavior-y: none;
  right: 0;
}


.nav_menu_list .sns_nav ul li a::before,.nav_menu_list .info_nav ul li a::before{
  content:none;
}

.nav_menu_list .sns_nav{
  margin:40px 0 38px;
}
.nav_menu_list .sns_nav p{
  color:#fff;
  font-size:10px;
  letter-spacing: 0.06em;
  margin:0 0 15px;
}
.nav_menu_list .sns_nav ul{
  flex-flow: row;
  gap:24px;
}
.nav_menu_list .sns_nav ul li{
  width:20px;
}
.nav_menu_list .sns_nav ul li a{
  padding:0;
}

.nav_menu_list .info_nav ul li a{
  display:flex;
  align-items: center;
  gap:20px;
  padding:20px 13px;
  width:100%;
  border-top:1px solid #fff;
}
.nav_menu_list .info_nav ul li:last-child a{
  border-bottom:1px solid #fff;
}
.nav_menu_list .info_nav ul li a figure{
  width:17px;
}

/* ------- スライドメニュー シングル------- */
.nav_menu_list ul li.nav_menu_box{
  width:180px;
}
.nav_menu_list ul li.nav_menu_box::before{
  position:absolute;
  top:0;
  right:0;
  margin:auto;
  font-family: "Font Awesome 5 Free";
  font-weight:900;
  line-height:46px;
  color:#fff;
  content:"\f078";
  transition: 0.6s cubic-bezier(.19, 1, .22, 1);
}
.nav_menu_list ul li.nav_menu_box.active::before{
  transform: scale(1,-1);
}
.nav_menu_list ul li.nav_menu_box div {
  position: static;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  padding: 0;
  box-shadow: none;
  background:none;
  transform: inherit;
  height:0;
}

.nav_menu_list ul li.nav_menu_box div a {
  margin-left: 15px;
  background: none;
  padding: 3px;
  line-height: 2;
  text-indent: -1.2em;
  padding-left: 1.2em;
  border-bottom: none;
  display: table;
  font-size:15px;
}

.nav_menu_list ul li.nav_menu_box div a::before {
  position: static;
  content: "";
  margin-right: 10px;
}

.nav_menu_list ul li.nav_menu_box div a i.nav_arrow {
  display: none;
}

.nav_menu_list ul li.nav_menu_box div a:hover {
  color: #fff;
  background: none;
}

.nav_menu_list ul li.nav_menu_box:hover div{
  opacity: 0;
  visibility: 0;
  transform: none;
}

.nav_menu_list ul li.nav_menu_box.active div{
  height:auto;
  opacity: 1;
  visibility: visible;
}

/* ------- スライドメニュー メガ------- */
.nav_menu_list .nav_mega_menu {
  position: relative;
}

.nav_menu_list .nav_mega_menu p::before {
  position: absolute;
  display: flex;
  align-items: center;
  width: auto;
  height: auto;
  border: none;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f067";
}

.nav_menu_list .nav_mega_menu .mega_menu_wrap {
  display: none;
  position: static;
  opacity: 0;
  visibility: hidden;
  background: none;
  box-shadow: none;
  transition: height 0.5s cubic-bezier(.19, 1, .22, 1);
}

.nav_menu_list .nav_mega_menu.active .mega_menu_wrap {
  opacity: 1;
  visibility: visible;
}

.nav_menu_list .mega_menu_inner {
  display: block;
  padding: 0 0 10px 0;
  width: 100%;
}

.nav_menu_list .mega_menu_top a {
  padding: 12px 12px 12px 0;
}

.nav_menu_list .mega_menu_top a::before {
  position: static;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f105";
  border: none;
  margin-right: 10px;
}

.nav_menu_list .menu_list {
  margin-left: 0;
}

.nav_menu_list .nav_mega_menu .mega_menu_inner .menu_list p {
  display: none;
}

.nav_menu_list .nav_mega_menu .mega_menu_inner .menu_list li {
  border: none !important;
}
.nav_menu_list .nav_mega_menu .mega_menu_inner .menu_list li a{
  padding: 3px;
  padding-left: 1.2em;
}

.nav_menu_list .nav_mega_menu div a {
  margin-left: 15px;
  background: none;
  padding: 3px;
  line-height: 2;
  text-indent: -1.2em;
  padding-left: 1.2em;
}


/* メガメニュー展開時 */
.nav_menu_list .nav_mega_menu.active p::before {
  content: "\f068";
}

/* ナビ展開時の後ろの背景 */
.nav_overlay {
  display: none;
  opacity: 0;
  visibility: hidden;
  z-index: 10;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

body.nav-open .nav_overlay {
  display: block;
  opacity: 1;
  visibility: visible;
}

body.nav-open .header_logo .open{
  display:block;
}
body.nav-open .header_logo .close{
  display:none;
}


.g_wrap.fixed{
  padding:10px 18px 10px 20px;
}
.g_wrap.fixed .nav_menu_list ul{
  justify-content: flex-start;
  padding:0;
}
.g_wrap.fixed .nav_menu_list ul li.fixed_btn{
  display:none;
}

.sp_bottom_nav{
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  display:block;
}
.sp_bottom_nav a{
  position:relative;
  width:100%;
  background:#FFEB00;
  font-size:14px;
  font-family: 'Noto Sans JP', sans-serif;
  text-align:center;
  display:flex;
  justify-content: center;
  align-items: center;
  height:45px;
}

.sp_bottom_nav a::after{
  content:">";
  margin:0 0 0 5px;
}

.sp_bottom_nav ul {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sp_bottom_nav li {
  width: 50%;
  margin: 0;
  padding: 0;
}
.sp_bottom_nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  text-decoration: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 13px;
  font-weight: bold;
  box-sizing: border-box;
}
.sp_bottom_nav li.nav_web a {
  background: #FFEB00;
  color: #333;
  border-right: 1px solid #fff;
}
.sp_bottom_nav li.nav_web a::after {
  content: ">";
  margin-left: 5px;
  font-weight: bold;
}
.sp_bottom_nav li.nav_tel a {
  background: #e05338;
  color: #fff;
}

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

#mv

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

#mv {
  background-position: center;
  background-attachment: scroll;
  height: 200px;
	width:calc(100% - 40px);
	margin:80px auto 0;
  overflow: hidden;
}

#mv.examinaiton{
  background-image:url(../images/mv_examination_sp.jpg);
  background-size:cover;
}
#mv.about{
  background-image:url(../images/mv_about_sp.jpg);
  background-size:cover;
}
#mv.recruit{
  background-image:url(../images/mv_recruit_sp.jpg);
  background-size:cover;
}
#mv.access{
  background-image:url(../images/mv_access_sp.jpg);
  background-size:cover;
}
#mv.blog{
  background-image:url(../images/mv_blog_sp.jpg);
  background-size:cover;
}
#mv.blog_single{
  background-image:url(../images/mv_blog_single_sp.jpg);
  background-size:cover;
}
#mv.news{
  background-image:url(../images/mv_news_sp.jpg);
  background-size:cover;
}

#mv .inner {
  width: auto;
  height: inherit;
}

.mv_headline{
  width:127px;
  height:45px;
}
.mv_headline p.headline{
  font-size:16px;
}
.mv_headline p{
  transform: scale(0.6);
}

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

#contents

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

.top_box{
  width:100%;
  padding:0 20px;
}

#contents {
  width: auto;
}

#contents_left {
  width: auto;
  float: none;
  margin-right: 0;
}

#contents_right {
  width: auto;
  padding: 0 6%;
  float: none;
}

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

footer

============================================================================*/
.footer_banner{
  margin:0 0 54px;
}
.footer_banner .h2_ttl{
  margin:0 auto 61px;
}
.footer_banner a{
  width:100%;
  height:90vw;
  padding:5vw 0;
  background:url(../images/footer_banner_bg_sp.jpg);
  background-size:cover;
  border:1px solid #707070;
  border-radius:10px;
  text-align:center;
  letter-spacing: 0.06em;
}
.footer_banner a h3{
  font-size:4.2vw;
  font-weight:bold;
  margin:0 0 6px;
}
.footer_banner a p{
  font-size:3.7vw;
  line-height:1.6;
}
.footer_sns{
  margin:0 0 19px;
}
.sns_link{
  width:68%;
  gap:91px;
  height:120px;
  padding:0;
}
.sns_link li a{
  flex-direction: column;
  gap:5px;
  font-size:10px;
}
.sns_link li.twitter a{
  gap:10px;
}

.footer_info {
  width: auto;
  padding: 40px 6%;
}

.footer_info_left{
  width: 100%;
}

.footer_info_left {
  margin-bottom: 20px;
}

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

.footer_info_add{
  margin:0 0 6px;
}

.footer_info_tel{
  font-size:16px;
}

.footer_info_sche{
  padding:16px 0 17px;
}

.footer_info_sche::before{
  left:82px;
  height:105px;
}

.footer_info_sche dl{
  gap:33px;
}
.footer_info_sche dl:first-child{
  margin:0 0 3px;
}

.footer_info_sche dt,.footer_info_sche dd{
  font-size:15px;
}

.footer_info_sche dd{
  flex:1;
}

.footer_info_sche dd span{
  font-size:10px;
}

.footer_info_sche dd em{
  font-size:16px;
}

.footer_info_sns,.footer_info_banner{
  display:none;
}

.footer_info_right{
  display:none;
}

.copy {
  margin-top: 14px;
}

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

$top

============================================================================*/
.top_news{
  padding:56px 0 35px;
}
.top_news_list{
  margin:0 0 29px;
}
.top_news_list li{
  padding:24px 12px 18px 12px;
}
.top_news_list li em{
  font-size:14px;
  margin:0 11px 0 0;
}
.top_news_list li a{
  display:inline-block;
  margin:13px 0 0;
}

.top_concept{
  padding:60px 0 56px;
}
.concept_img{
  position:static;
  width:100%;
  margin:0 0 33px;
}
.concept_img img{
  border-radius:6px;
}
.top_concept h2.concept_catch{
  font-size:16px;
  line-height:30px;
  margin:0 0 28px;
}
.top_concept p{
  width:100%;
}
.top_concept .btn01{
  text-align:right;
}

.top_medical{
  padding:0 0 60px;
}
.top_medical .h2_ttl{
  margin:0 auto 78px;
}
.top_medical_flex{
  flex-direction: column;
  gap:62px;
}
.top_medical_flex_item{
  width:100%;
}
.top_medical_flex_item .images{
  margin:0 0 15px;
}
.top_medical_flex_item .images img{
  border-radius:10px;
}
.top_medical_flex_item .images h3{
  line-height:32px;
  top:-16px;
  bottom:auto;
  left:0;
  font-size:14px;
  min-width:115px;
  letter-spacing: 0.06em;
}
.top_medical_flex_item h4{
  font-size:16px;
  text-align:left;
  font-weight:bold;
  margin:0 0 4px;
}

.top_blog{
  background:#fff;
  padding:36px 0 31px;
  margin:0 0 54px;
}
.top_blog::before{
  content:none;
}
.top_blog .h2_ttl{
  margin:0 auto 62px;
}
.top_blog_list{
  gap:19px 0;
  margin:0 0 26px;
}
.top_blog_list li{
  width:100%;
}
.top_blog_list li a{
  gap:21px;
}
.top_blog_info{
  margin:0;
}
.top_blog_info h3{
  font-size:14px;
}
.top_blog_info p{
  line-height:25px;
}


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

$breadcrumbs ぱんくず

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

.breadcrumbs {
  width: 90%;
  margin: 0 5% 40px;
}

.breadcrumbs span {
  display: inline-block;
}

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

$共通

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

#contents {
  padding-bottom: 0;
}

.box {
  width: auto;
  padding: 0 6% 8%;
}

.text {
  float: none;
  width: auto;
  padding: 0;
  margin:0 0 40px;
  border: none;
}

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

$見出し

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

h1 {
  font-size: 12px;
  width: auto;
  padding: 5px 15px;
  text-align: center;
  position: static;
  margin-top: 0 !important;
}

.h2_ttl{
  font-size:18px;
  margin:0 auto 41px;
}
.h3_ttl{
  font-size:18px;
}
.tit03{
  width:159px;
  line-height:26px;
  border:1px solid #707070;
  color:#555;
  background:#fff;
  letter-spacing: 0.06em;
}




.nowrap {
  white-space: normal;
}




/* ボタン */
.btn01 a {
  width:123px;
  font-size:12px;
  line-height:30px;
  border-radius:4px;
}

.btn01 a::before{
  content:none;
}
.btn01 a::after{
  content:">";
  margin:0 0 0 5px;
}

.btn03 a{
  color:#555;
  background:rgba(112,112,112,0.2);
  width:223px;
  line-height:37px;
  border-radius:6px;
  font-size:14px;
}



/* アンカーリンク */
.ank02 {
  width: 100%;
}

.ank02 li {
  width: 100%;
}

.ank03 {
  width: 100%;
}

.ank03 li {
  width: 100%;
}

.ank04 {
  width: 100%;
}

.ank04 li {
  width: 100%;
}


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

$examination

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

.examination_info{
  padding:42px 20px 32px;
  flex-direction: column;
  border:none;
  gap:35px;
}
.info_item{
  width:100%;
}
.info_item:first-child{
  margin:0 0 5px;
}
.info_item p.tit03{
  margin:0 auto 33px;
  border-radius:4px;
}
.info_item:nth-child(2) p.tit03{
  margin:0 auto 28px;
}
.info_item:nth-child(3) p.tit03{
  margin:0 auto 23px;
}
.info_item:first-child p:nth-child(2){
  line-height:2;
}
.info_item .btn01{
  text-align:center;
  margin:34px 0 0;
}
.info_item .btn01 a{
  width:218px;
  line-height:40px;
  border-radius:0;
  font-size:14px;
}
.info_item .list01{
  padding:0 5px;
}
.info_item02_flex{
  flex-direction: column;
  align-items: center;
  gap:14px;
}
.info_item02_flex figure{
  margin:0;
}
.info_item02_flex p{
  line-height:24px;
}
.examination02{
  padding:66px 0 0;
}
.examination02 .h2_ttl{
  margin:0 auto 32px;
}
.examination02 h3.h3_ttl{
  font-size:16px;
}
.examination02 h3{
  font-size:14px;
  line-height:32px;
  letter-spacing: 0.1em;
  margin:0 0 24px;
}
.examination02 .text_flex.reverse {
  flex-direction: column-reverse;
}
.examination02 .text_flex .text{
  line-height:28px;
}
.worries{
  padding:18px 18px;
  margin:27px 0 53px;
  border:none;
}
.worries h4{
  font-size:16px;
  text-align:center;
  margin:0 0 17px;
}
.worries ul{
  margin:0 0 20px;
}
.examination_list{
  flex-direction: column;
  padding:24px 16px 21px;
  border-radius:10px;
  border:1px solid #CECECE;
  gap:20px;
  margin:50px 0 52px;
}
.examination_list li{
  width:100%;
  flex-wrap: wrap;
  align-items: center;
  gap:12px 10px;
}
.examination_list li figure{
  width:23px;
  margin:0;
}
.examination_list li h4{
  font-size:16px;
}
.examination_list_text{
  width:100%;
  flex:auto;
}
.examination_list_text p{
  line-height:24px;
}
.examination_list02 .examination_list_text p{
  margin:0 0 16px;
}
.examination_list::before{
  content:none;
}
.examination_list01,.examination_list03{
  display:none;
}
.examination_aco{
  display:block;
  margin:20px 0 0;
}
.examination_aco dl{
  border-bottom:1px solid #fff;
}
.examination_aco dt{
  position:relative;
  display:flex;
  align-items: center;
  height:67px;
  font-size:16px;
}
.examination_aco figure{
  width:80px;
  text-align:center;
}
.examination_aco01 dl:first-child figure img{
  width:54px;
}
.examination_aco01 dl:nth-child(2) figure img{
  width:33px;
}
.examination_aco01 dl:nth-child(3) figure img{
  width:36px;
}
.examination_aco01 dl:nth-child(4) figure img{
  width:39px;
}
.examination_aco01 dl:nth-child(5) figure img{
  width:26px;
}
.examination_aco01 dl:nth-child(6) figure img{
  width:20px;
}
.examination_aco dd{
  background:#fff;
  padding:20px;
  border-radius:6px;
  line-height:24px;
}
.examination_list02 .box_style01 p{
  font-size:15px;
  margin:0;
  line-height:26px;
}
.examination03 .text p{
  font-size:14px;
  letter-spacing: 0;
  line-height:24px;
  margin:0 0 11px;
}


/* アコーディオン */
.js-toggle.examination_aco dt::after{
  position: absolute;
  right: 11px;
  top: 0;
  bottom: 0;
  margin: auto;
  width:17px;
  height:9px;
  background:url(../images/arr02.png);
  content: "";
  transition:.2s;
}
.js-toggle.examination_aco dt.is-open::after{
  transform: scale(-1);
}
.js-toggle.examination_aco dd{
  display: none;
}

.prevention{
  margin:63px 0 0;
}

.pappy .h3_ttl{
  margin:0 0 28px;
}
.pappy .text_flex{
  margin:0 0 39px;
}
.pappy .text h4{
  font-size:16px;
  margin:0 0 8px;
}
.pappy .text p{
  line-height:24px;
}
.papy_info p{
  line-height:29px;
}
.examination02 .text.papy_info p:first-child{
  line-height:29px;
  margin:0 0 44px;
}
.examination03{
  padding:25px 0 0;
}
.examination03 .h2_ttl{
  margin:0 auto 35px;
}
.examination_list03 {
  margin:0 0 28px;
}
.examination_aco02 dl:first-child figure img{
  width:27px;
}
.examination_aco02 dl:nth-child(2) figure img{
  width:31px;
}
.examination_aco02 dl:nth-child(3) figure img{
  width:35px;
}
.examination_aco02 dl:nth-child(4) figure img{
  width:34px;
}
.examination_aco02 dl:nth-child(5) figure img{
  width:21px;
}
.examination_aco02 dl:nth-child(6) figure img{
  width:24px;
}
.examination_aco02 dl:nth-child(7) figure img{
  width:39px;
}
.course{
  margin:30px 0 0;
}
.course .text_flex{
  margin:0 0 20px;
}
.course .text h4{
  color:#555555;
  font-size:16px;
  padding:0;
  margin:0 0 11px;
}
.course_tit{
  padding:0 0 3px;
}
.course_tit p{
  display:block;
}
.box_style02.course{
  background:none;
  padding:0;
}
.course01,.course02{
  background:#fff;
  padding:20px 20px 16px;
  border-radius:10px;
}
.course .course02 .plus{
  margin:0 0 6px;
}
.course02 .list03 li{
  margin:0 0 4px;
}


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

$about

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

.about01{
  margin:0;
}
.about01 p{
  font-size:14px;
}
.about02{
  padding:9px 0 40px;
}
.about02 .h2_ttl{
  display:none;
}
.clinic_info ul{
  margin:0 0 41px;
}
.clinic_info dl{
  padding:15px 0;
  height:auto;
  align-items: flex-start;
  gap:34px;
}
.clinic_info dt{
  width:60px;
}
.clinic_info dd{
  flex:1;
  line-height:20px;
}
.clinic_info dd small{
  font-size:12px;
}
.clinic_info .tb01{
  border:none;
  margin:0 0 7px;
}
.clinic_info .tb01 th{
  height:42px;
  font-size:13px;
  width:32%;
}
.clinic_info .tb01 tr:first-child th{
  height:23px;
}
.clinic_info .tb01 td{
  font-size:12px;
  width:8.5%;
}
.clinic_info .tb01 th, .clinic_info .tb01 td{
  border-right:none;
  border-bottom:none;
}

.clinic_info .tb01 tr:nth-child(2) th, .clinic_info .tb01 tr:nth-child(2) td{
  border-bottom:1px solid #CECECE;
}
.clinic_info .schedule_note{
  font-size:13px;
  letter-spacing: 0;
}
.policy .h2_ttl{
  margin:0 auto 33px;
}
.policy .text_flex{
  flex-direction: column-reverse;
  margin:0 0 30px;
}
.policy .text_flex .text{
  width:100%;
  padding:14px 0 0;
}
.policy_text p{
  padding:0;
  letter-spacing: 0.1em;
}
.policy_catch{
  font-size:14px;
  letter-spacing: 0.1em;
  line-height:32px;
  font-weight:bold;
  margin:0 0 26px;
}
.policy .text_flex figure{
  width:100%;
}
.feature_ttl{
  font-size:16px;
  margin:0 0 56px;
}
.feature_list{
  flex-direction: column;
  gap:40px;
}
.feature_list .item{
  width:100%;
}
.feature_list .item h4{
  font-size:16px;
  margin:0 0 17px;
}
.feature_list .item p{
  font-size:14px;
}
.price{
  margin:0 0 14px;
  padding:4px 0 0;
}
.price .h2_ttl{
  margin:0 auto 53px;
}
.price .text{
  margin:0 0 50px;
}
.price .h3_ttl {
  font-size:16px;
  margin:0 0 36px;
}
.price .text p{
  font-size:13px;
  line-height:21px;
}
.pay .h3_ttl{
  margin:0 0 30px;
}
.price .text.pay p{
  margin:0 0 10px;
}
.insurance .h3_ttl{
  margin:0 0 30px;
}
.insurance_box{
  padding:24px 20px;
  gap:13px;
}

.doctor{
  margin:0 0 59px;
}
.doctor .h2_ttl{
  margin:0 auto 59px;
}
.doctor_flex{
  flex-direction: column;
  gap:29px;
}
.doctor_flex:first-of-type{
  margin:0 0 47px;
}
.doctor_img{
  width:100%;
}
.doctor_text{
  color:#555;
}
.staff .h2_ttl{
  margin:0 auto 62px;
}
.staff_list{
  gap:15px 0;
  justify-content: space-between;
}
.staff_list li{
  width:calc(50% - 8px);
  text-align:left;
  color:#555;
  font-size:13px;
}


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

$recruit

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

.recruit_top{
  margin:0 0 81px;
}
.recruit_top p{
  color:#555;
  font-size:14px;
  letter-spacing: 0;
  line-height:28px;
}

.recruit01{
  margin:0 0 83px;
}
.recruit01 .h2_ttl{
  margin:0 auto 56px;
}
.recruit_work{
  padding:14px 18px 20px;
  margin:30px 0 29px;
  font-size:15px;
}
.section_img{
  margin:0 0 52px;
}
.recruit_info{
  margin:32px 0 50px;
}
.recruit_info dl{
  padding:15px 0;
  align-items: flex-start;
}
.recruit_info dt{
  width:80px;
  font-size:14px;
  padding:0;
}
.recruit_info dd{
  line-height:20px;
}

.recruit02{
  margin:0 0 70px;
}
.recruit02 .h2_ttl{
  margin:0 auto 50px;
}
.recruit02 .recruit_work{
  padding:20px;
}
.recruit02 .recruit_info{
  margin:32px 0 40px;
}

.js-toggle.recruit_qa dt::after{
  right:9px;
}

.recruit_entry{
  margin:0;
}
.recruit_entry .h2_ttl{
  margin:0 auto 62px;
}
.recruit_form{
  padding:20px 20px 35px;
}
.recruit_form .form{
  flex-direction: column;
}
.recruit_form .form div {
  width:100%;
}
.recruit_form .form input{
  height:40px;
}
.recruit_form dl{
  margin:0 0 20px;
}
.submit_btn input{
  width:223px;
  line-height:37px;
  background:rgba(85,85,85,0.2);
  font-size:14px;
  color:#555;
  border-radius:6px;
}
.recruit_form .form textarea{
  height:201px;
}


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

$confirm

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

.confirm h2{
  font-size:16px;
  margin:0 0 10px;
}
.confirm p{
  line-height:22px;
}
.confirm_list{
  margin:17px 0 39px;
}
.confirm_list dl {
  gap:0;
}
.confirm_list dt{
  padding:24.8px 0;
  font-size:13px;
  width:40%;
}

.confirm_list dd{
  width:50%;
}
.confirm_btn{
  gap:20px;
}
.confirm_btn input{
  width:123px;
  line-height:37px;
  border-radius:6px;
}

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

$thanks

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

.thanks{
  margin:80px 0 0;
  padding:0;
}
.thanks .box{
  border-top:1px solid #707070;
  padding:25px 20px;
}
.thanks h2{
  font-size:16px;
  margin:0 0 10px;
  font-weight:600;
}
.thanks p{
  line-height:22px;
}
.thanks .tel{
  font-size:14px;
  margin:22px 0 0;
}
.thanks .btn01{
  margin:31px 0 50px;
}
.thanks .btn01 a{
  width:223px;
  line-height:37px;
}

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

$access

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

.access .h2_ttl{
  display:none;
}
.illustmap{
  padding:15px 20px;
  margin:0 0 58px;
}
.access_info{
  flex-direction: column;
  gap:75px;
  margin:0;
}
.access_info dl{
  width:100%;
}
.access_info dt figure img{
  width:46px;
}
.access_info dl:nth-child(2) figure img{
  width:69px;
}
.access_info dl:nth-child(2) dt{
  margin:0 0 23px;
}
.access_info dt p{
  font-size:18px;
  margin:0 0 9px;
}
.access_info dd li{
  line-height:20px;
}
.access .googlemap iframe{
  height:447px;
}

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

$blog

============================================================================*/
.blog_list{
  justify-content: space-between;
  gap:30px 0;
  margin:16px 0 39px;
}
.blog_list li{
  width:calc(50% - 10px);
}
.blog_list li a .blog_tit{
  font-size:14px;
  letter-spacing: 0.06em;
}
.blog_list li a .blog_date{
  font-size:13px;
  margin:0;
}
.blog_list li a .blog_thumb{
  margin:0 0 5px;
}
.blog_list li a .blog_thumb img{
  height:109px;
}

.pager_pc{
  display:none;
}
.pager_sp{
  display:flex;
}
.pager{
  gap:10px;
  margin:0 auto 17px;
}
.current{
  width:30px;
  height:30px;
  line-height:30px;
  border-radius:6px;
  font-size:10px;
}
.pager a{
  width:30px;
  height:30px;
  line-height:30px;
  border-radius:6px;
  font-size:10px;
}

.pager a.prev,.pager a.next{
  width:6px;
  height:10px;
  background:url(../images/arr04.png);
}

.post_link{
  gap:30px;
}
.post_link a{
  font-size:12px;
}
.post_link a i{
  line-height:22px;
  font-size:16px;
}

.blog_menu_tit{
  font-size:16px;
  padding:0 43px 15px 29px;
}
.blog_menu_tit::before{
  width:20px;
}
.blog_menu_item:not(:last-child){
  margin:0 0 48px;
}

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

$news

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

.news{
  margin:0;
}
.js-toggle.news_list dt::after{
  right:16px;
}
.news_list dt{
  padding:12px 17px;
}
.news_list dd{
  padding:17px 18px;
  line-height:22.5px;
}

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

$template

============================================================================*/
.text_flex{
  flex-direction: column;
  gap:18px;
}
.text_flex .text{
  width:100%;
  line-height:24px;
}
.text_flex figure{
  width:100%;
}

.recruit_qa dl dt{
  padding:9px 60px;
  line-height:20px;
  min-height:60px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.box_style01{
  padding:16px 15px;
  border-radius:10px;
  background:#fff;
}
.box_style01::before{
  content:none;
}
.box_style02{
  padding:26px 24px;
  background:#fff;
  border-radius:10px;
}
.box_style02::before{
  content:none;
}
.box_style03{
  padding:19px 14px 8px;
}
.box_style04{
  flex-direction: column;
  gap:10px;
  padding:20px 15px 13px;
}
.box_style04 h4{
  padding:0;
}


.list02{
  gap:16px 0;
}
.list02 li{
  font-size:14px;
  letter-spacing: 0.06em;
  width:50%;
  padding:0 0 0 28px;
}
.list02 li::before{
  width:18px;
  height:15px;
  background-size:cover;
}

.list03 li{
  margin:0 0 4px;
  font-size:14px;
}

.tb03{
  margin:0 0 14px;
}
.tb03 th{
  width:50%;
  height:42px;
  text-align:left;
  font-size:14px;
  padding:0 10px 0 20px;
}
.tb03 td{
  width:50%;
  font-size:14px;
  padding:0 20px;
}

/*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}img{max-width:100%;height:auto}.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}


}

@media screen and (max-width:320px) {
.main_open {
  position: absolute;
  top: auto;
  bottom: 50px;
  right: 0;
  left: 0;
  width: 50%;
  margin: auto;
}

.sp_inline_iP {
  display: inline !important
}
}
