@charset "utf-8";
/* CSS Document */
*,
::before,
::after{
  box-sizing: border-box;
  /* ↓↓debug code↓↓ */
  /* outline: 1px solid red; */
}
body {
  font-family: 'Noto Sans JP',"游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color:#555;
  font-size:14px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:0.06em;
  text-align:justify;
  background:#F6F5F3;
}
.design{
  position: absolute;
}
a {
  color: #333;
  text-decoration: none;
}
a:hover {
  color:#C0AB9A ;
}
.underline{
  text-decoration: underline #E5492B;
}
/*tel*/
[href^="tel"]:hover {
  cursor: default;
}
::selection{
  background-color:#99C1DA;
}
::-moz-selection{
  background-color:#99C1DA;
}
body,
.g_wrap.fixed,
#mv .inner,
header,
footer{
  min-width:1025px;
}
@media print{
html {
  -webkit-print-color-adjust: exact;
}
body {
  zoom: 80%;
}
.fixed {
  position: inherit !important;
}
}

/* 画像のにじみ（大きい画像を小さく表示した時等）対策 */
.visibility{
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  backface-visibility: hidden;
}

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

  header

============================================================================*/
header {
  width:100%;
  height:162px;/* navのtopと同じ値にする */
}
header.thank_head{
  border-bottom:1px solid #707070;
}
header .inner{
  position:relative;
  width:950px;
  height: inherit;
  margin:auto;
  padding-top:40px;
  display:flex;
  align-items: flex-end;
  flex-direction: column;
}
/* ロゴ */
header .header_logo{
  position:absolute;
  top:34px;
  left:0;
  margin:auto;
  z-index: 11;
  width:285px;
  height:54px;
}
header .header_logo img{
  width:280px;
  height:45px;
}

.g_wrap  .header_logo a.open{
  display:none;
}

/* 事前予約 */
.head_link a{
  background:#FFEB00;
  font-size:14px;
  font-family: 'Noto Sans JP', sans-serif;
  display:inline-block;
  border:2px solid #707070;
  text-align:center;
  width:216px;
  line-height:34px;
  border-radius:6px;
  letter-spacing:0.1em;
  margin:0 0 15px;
}

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

/* 翌日以降予約 */
.head_link2 a{
  background:#e05338;
  color: white;
  font-size:14px;
  font-family: 'Noto Sans JP', sans-serif;
  display:inline-block;
  border:2px solid #707070;
  text-align:center;
  width:216px;
  line-height:34px;
  border-radius:6px;
  letter-spacing:0.1em;
}

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

/* ご予約・お問合せ */
.head_tel{
  line-height: 1.4;
  display:block;
}
.head_tel a{
  color:#555;
  position:relative;
  font-size:28px;
  letter-spacing:0.1em;
  font-weight:600;
  line-height:1.3;
}
.head_tel a span{
  display:block;
  font-size:12px;
  letter-spacing: 0.06em;
  font-weight:400;
}


.head_sche_wrap{
  position:fixed;
  top:300px;
  right:0;
  transform:translateX(calc(100% - 53px));
  height:226px;
  z-index:1000;
  display:flex;
  transition: 0.8s cubic-bezier(.19, 1, .22, 1);
}
.head_sche_wrap.active{
  right:0;
  transform: translateX(0);
}
.head_sche_wrap .head_sche_ttl{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size:15px;
  color:#fff;
  background:#555;
  width:53px;
  height:100%;
  display:flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 1em;
  padding:10px 0 0;
  cursor: pointer;
}
.head_sche{
  width:680px;
  background:#fff;
  padding:20px 40px 15px 27px;
}
.tb_sche{
  width:100%;
}
.tb_sche th,.tb_sche td{
  padding:6px 0;
  font-size:18px;
  text-align:center;
}
.tb_sche th{
  letter-spacing: 0.3em;
  width:30%;
  padding:6px 30px 6px 0;
}
.tb_sche tr:first-child th{
  letter-spacing: 0.4em;
}
.sche_text{
  font-size:16px;
  letter-spacing: 0.4em;
  margin:20px 0 0;
}
.sche_text span{
  margin:0 20px 0 0;
}
.sche_text small{
  letter-spacing: 0.06em;
  font-size:11px;
  margin:0 0 0 20px; 
}

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

  nav

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

.g_wrap{
  position: absolute;
  z-index: 10;
  top: 119px;
  width: 100%;
}

.nav_menu_list{
  width: 950px;
  margin: 0 auto;
}
.nav_menu_list ul{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.nav_menu_list ul li{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right:54px;
}
.nav_menu_list ul li:first-child{
  margin-right:43px;
}
.nav_menu_list ul li.fixed_btn{
  display:none;
}

/* リンクテキスト */
.nav_menu_list ul li a,
.nav_menu_list ul li p{
  position: relative;
  color: #555;
  line-height: 1;
  text-align: center;
  font-size:16px;
}

.nav_menu_list ul li a::before{
  position:absolute;
  bottom:-5px;
  left:-12px;
  right:0;
  transform: scale(0, 1);
  margin:auto;
  width:calc(100% + 24px);
  height:13px;
  background:#FFF475;
  content:"";
  z-index:-1;
  transition: all .3s;
  transform-origin: center top;/*上部中央基点*/
}

.nav_menu_list ul li a:hover::before{
  transform:  scale(1,1);
}


/* ------- スライドメニュー シングル------- */
.nav_menu_list ul li.nav_menu_box{
  position: relative;
}

/* ドロップダウン */
.nav_menu_list ul li.nav_menu_box div{
  position: absolute;
  z-index: 1;
  top: 95%;
  left: 50%;
  width: 173px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  background:#fff;
  border-radius:10px;
  padding:10px 20px;
  transform:translateX(-50%) scale(0.5);
}
.nav_menu_list ul li.nav_menu_box:hover div{
  top: 160%;
  opacity: 1;
  visibility: visible;
  transform:translateX(-50%) scale(1);
}
.nav_menu_list ul li.nav_menu_box div a{
  position: relative;
  display: block;
  text-align: left;
  line-height: 1.75;
  padding: 9px 0 9px 5px;
  border-bottom: 1px solid #fff;
  font-size:16px;
}
.nav_menu_list ul li.nav_menu_box div a::before,
.nav_menu_list ul li.nav_menu_box div a::after{
  display: none;
}
.nav_menu_list ul li.nav_menu_box div a:last-child{
  border-bottom: none;
}

/* ホバーエフェクト */
.nav_menu_list ul li.nav_menu_box div a:hover{
  color: #a89e2d;
}
.nav_menu_list ul li.nav_menu_box div a:hover i.nav_arrow{
  right: 7px;
}

/* シングル */
.nav_menu_list ul li.nav_menu_box:focus-within > div{
  top: 100%;
  opacity: 1;
  visibility: visible;
}

/* 追従時の設定 */
.g_wrap.fixed{
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background:rgba(255,255,255,0.8);
}

.g_wrap.fixed .nav_menu_list ul{
  justify-content: center;
  padding:20px 0;
}

.g_wrap.fixed .nav_menu_list ul li.fixed_btn{
  display:block;
  margin:0;
}
.g_wrap.fixed .nav_menu_list ul li.fixed_btn a{
  line-height:34px;
  margin:0;
}
.g_wrap.fixed .nav_menu_list ul li.fixed_btn a:before{
  content:none;
}
.g_wrap.fixed .nav_menu_list ul li.fixed_btn a:hover{
  color:#a89e2d;
}

.sp_bottom_nav{
  display:none;
}

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

  #mv

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

/* 下層ページのメインビジュアルの高さ、背景画像（トップページの高さはtop.css参照） */
#mv{
  display:block;
  position:relative;
  height: 342px;
  background-image:url(../images/mv_slide1.jpg);
  background-color:#f0f0f0;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
#mv.examination{
  background-image:url(../images/mv_examination.jpg);
}
#mv.about{
  background-image:url(../images/mv_about.jpg);
}
#mv.recruit{
  background-image:url(../images/mv_recruit.jpg);
}
#mv.access{
  background-image:url(../images/mv_access.jpg);
}
#mv.blog{
  background-image:url(../images/mv_blog.jpg);
}
#mv.blog_single{
  background-image:url(../images/mv_blog_single.jpg);
}
#mv.news{
  background-image:url(../images/mv_news.jpg);
}
#mv .inner{
  display:table;
  position:relative;
  height: inherit;
  width:950px;
  margin: 0 auto;
  background-repeat:no-repeat;
}
#mv p.headline{
  position:relative;
}

.mv_headline {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
  padding-bottom:2px;
  letter-spacing: 0.15em;
  vertical-align: middle;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:600;
  width:217px;
  height:56px;
  border-radius:10px 10px 0 0;
  display:flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  background:#F6F5F3;
}

.mv_headline p.headline{
  font-weight:bold;
  font-size: 24px;
  letter-spacing: 0.1em;
  transform: scale(1);
}

.mv_headline p{
  font-size:10px;
  transform: scale(0.9);
  font-weight:100;
  letter-spacing: 0.2em;
  line-height:1.4;
}

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

  #contents

==================================================================*/
main{
  display:block;
}
#container{
}

#contents{
  position:relative;
  padding-bottom: 53px;
  overflow: hidden;
}
#contents_left{
  float:left;
  width:840px;
}

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

  $footer

============================================================================*/
footer {
  position:relative;
  width:100%;
}

/* フッターの採用バナー */
.footer_banner{
  margin:0 0 74px;
}
.footer_banner a{
  position:relative;
  display:block;
  width:950px;
  height:177px;
  margin:0 auto;
  border:1px solid #DBDBDB;
  color:#555;
  padding:31px 0 0 207px;
  background:url(../images/recruit_banner.jpg);
  background-size:cover;
}
.footer_banner a h2{
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
  left:-23px;
  width:132px;
  background:#555;
  color:#fff;
  font-size:18px;
  text-align:center;
  line-height:45px;
  display:table;
}
.footer_banner a h3{
  font-size:30px;
  letter-spacing: 0.06em;
  margin:0 0 2px;
}
.footer_banner a p{
  font-size:14px;
  line-height:25px;
}

/* フッターSNS */
.footer_sns{
  margin:0 0 98px;
}
.footer_sns p{
  text-align:center;
  font-size:16px;
  letter-spacing: 0.1em;
  margin:0 0 18px;
}
.sns_link{
  width:423px;
  height:94px;
  margin:0 auto;
  display:flex;
  justify-content: center;
  align-items: center;
  gap:121px;
  border-top:1px solid #707070;
  border-bottom:1px solid #707070;
  padding:0 0 0 5px;
}
.sns_link li img{
  width:31px;
}
.sns_link li.twitter img{
  width:32px;
}
.sns_link li a{
  display:flex;
  align-items: center;
  gap:19px;
  color:#555;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
}
.sns_link li.twitter a{
  gap:15px;
}

/* フッターの医院概要 */
.footer_info{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width:950px;
  margin:0 auto;
  padding:0 0 60px;
}
.footer_info_left{
  width: 392px;
}
.footer_logo{
  width:346px;
  margin:0 0 16px;
}
.footer_info_add{
  font-size:16px;
  letter-spacing: 0.06em;
  line-height:1;
  margin:0 0 2px;
}
.footer_info_tel{
  font-size:20px;
  letter-spacing: 0.06em;
  margin:0 0 14px;
}
.footer_info_tel span{
  margin:0 7px 0 0;
}
.footer_info_sche{
  position:relative;
  padding:16px 0 15px;
  border-top:1px solid #555;
  border-bottom:1px solid #555;
}
.footer_info_sche::before{
  position:absolute;
  top:0;
  bottom:0;
  left:86px;
  margin:auto;
  width:1px;
  height:115px;
  background:#707070;
  content:"";
}
.footer_info_sche dl{
  display:flex;
  gap:37px;
}
.footer_info_sche dl:first-child{
  margin:0 0 10px;
}
.footer_info_sche dt{
  font-size:16px;
}
.footer_info_sche dd{
  font-size:16px;
  line-height:1.7;
}
.footer_info_sche dl:nth-child(2) dd{
  line-height:1.4;
}
.footer_info_sche dd em{
  font-size:18px;
}
.footer_info_sche dd span{
  font-size:11px;
}
.footer_info_sns{
  display:flex;
  gap:34px;
  padding:20px 0;
  border-bottom:1px solid #555;
}
.footer_info_sns a{
  display:flex;
  align-items: center;
  gap:19px;
  color:#555;
  letter-spacing: 0.2em;
}
.footer_info_sns a img{
  width:26px;
}
.footer_info_sns li:nth-child(2) a{
  gap:16px;
}
.footer_info_banner{
  display:flex;
  align-items: center;
  padding:21px 0 0;
}
.footer_info_banner li:first-child{
  margin:0 17px 0 0;
}
.footer_info_banner li:nth-child(2){
  margin:0 9px 0 0;
}

.footer_info_right{
  width:520px;
}
.googlemap iframe{
  width:100%;
  height:406px;
  margin:0 0 3px;
}
.footer_info_right .btn02{
  text-align:right;
}

/* ページトップ */
.pagetop,
.pagetop img{
  width:50px;
  height:25px;
}
.pagetop{
  position:relative;
  margin:20px auto 20px;
  text-align:center;
  cursor:pointer;

}
.pagetop img{
  display:inline-block;
  position:relative;
  top:0;
  transition:0.5s ease-in-out;
}
.pagetop:hover img{
  top:-5px;
  padding-bottom:5px;
  transform: rotateY(180deg);
}
/* コピーライト */
.copy{
  padding-bottom:45px;
}
.copy small{
  line-height:1;
  font-size:10px;
  letter-spacing:0.06em;
}


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

  タイトル

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

h1{
  font-size: 12px;
  position: absolute;
  width: 950px;
  top: 5px;
  right: 0;
  left: 0;
  margin: auto!important;
}
/*中央寄せ　背景画像あり*/
.h2_ttl {
  position: relative;
  display:table;
  margin:0 auto 70px;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: #555;
  font-size: 24px;
  text-align: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:600;
  z-index:1;
}
.h2_ttl::before{
  position: absolute;
  width: 120px;
  height: 13px;
  bottom: 0px;
  left:50%;
  transform: translateX(-50%);
  margin: auto ;
  width:calc(100% + 20px);
  background:#FFF475;
  z-index:-1;
  content: "";
}
.h3_ttl{
  position:relative;
  padding:0 0 0 36px;
  font-size:22px;
  font-weight:600;
  font-family: 'Noto Sans JP', sans-serif;
}
.h3_ttl::before{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  margin:auto;
  width:27px;
  height:5px;
  background:#E5492B;
  content:"";
}
.h3_ttl span{
  font-size:16px;
}

.tit03{
  width:188px;
  background:#555; 
  border-radius:6px;
  text-align:center;
  color:#fff;
  font-size:14px;
  letter-spacing: 0.06em;
  font-family: 'Noto Sans JP', sans-serif;
  line-height:38px;
}
/*==================================================================

  .list
  共通CSSなので使っていないものも消さずに残してください

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


/*まる*/
.list01 li{
  position:relative;
  padding-left:9px;
  line-height:27px;
}
.list01 li:last-child{
  margin-bottom:0;
}
.list01 li:before{
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #555;
  border: 1px solid #555;
  border-radius: 100%;
  content: '';
}

.list02{
  position:relative;
  display:flex;
  flex-wrap: wrap;
  gap:19px 30px;
}
.list02 li{
  position:relative;
  font-size:18px;
  font-weight:600;
  letter-spacing: 0.06em;
  padding:0 0 0 30px;
}
.list02 li::before{
  position:absolute;
  top:0;
  bottom: 0;
  left:0;
  margin:auto;
  width:28px;
  height:24px;
  background:url(../images/list_icon.png);
  content:"";
}

.list03 li{
  position:relative;
  letter-spacing: 0;
  line-height:24px;
  margin:0 0 19px;
}
.list03 li:last-child{
  margin:0;
}

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

  .btn
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
/*ボタン ゴースト*/
.btn01 a {
  display: inline-block;
  position: relative;
  line-height: 40px;
  text-align: center;
  color: #555;
  font-weight: bold;
  transition: ease-in-out 0.1s;
  background:rgba(85,85,85,0.2);
  width:218px;
  text-align:center;
  font-size:14px;
  letter-spacing: 0.06em;
  font-family: 'Noto Sans JP', sans-serif;
}
.btn01 {
  position: relative;
}
.btn01 a:before{
  position:absolute;
  top:0;
  bottom:0;
  right:-35px;
  margin:auto;
  width:56px;
  height:8px;
  background:url(../images/arr01.png);
  background-size:cover;
  content:"";
  transition: ease-in-out 0.1s;
}
.btn01 a:hover{
  opacity:0.7;
}
.btn01 a:hover::before {
  right:-50px;
}
/* btn02 */
.btn02 a {
  font-size:12px;
  text-decoration: underline;
  color:#555;
  letter-spacing: 0.06em;
}
.btn02 a:hover {
  transform: translate3d(0, 3px, 0);
  box-shadow: 0px 1px 0 #74aa5f;
}


.btn03 a {
  display:inline-block;
  width:338px;
  line-height:54px;
  background:#707070;
  color:#fff;
  font-size:16px;
  font-weight:600;
  letter-spacing: 0.06em;
  text-align:center;
  border-radius:10px;
}

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

  $アンカーリンンク
  共通CSSなので使っていないものも消さずに残してください

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

/* 共通CSS */
[class^="ank0"]{
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
[class^="ank0"] li{
  margin: 0 1% 10px;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  position: relative;
}
[class^="ank0"] li a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding:10px 10px 20px;
  border:1px solid #00408f;
  font-weight:bold;
  font-size:13px;
  color:#00408f;
  text-align:center;
  vertical-align:middle;
  transition:0.1s ease-in-out;
}
[class^="ank0"] li a:hover{
  background-color:#00408f;
  color:#fff;
}
[class^="ank0"] li i{
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:4px;
  margin:auto;
}

/* 2個並び */
.ank02 li{
  width: 48%;
}

/* 3個並び */
.ank03 li{
  width: 30%;
}

/* 4個並び */
.ank04 li{
  width: 23%;
}

/*注意書き*/
.caution {
  background:#f4f5fb;
  display: block;
  position: relative;
  padding: 25px;
  border-radius: 15px;
}
.caution span {
  width: 55px;
  height: 55px;
  background: #1F2774;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -15px;
  left: -5px;
  border-radius: 50%;
  font-size: 25px;
  font-weight: 600;
  color: #fff;
  z-index: 2;
}
.caution span::before {
  position: absolute;
  width: 15px;
  height: 20px;
  bottom: -3px;
  right: -3px;
  margin: auto;
  -webkit-clip-path: polygon(100% 85%, 40% 0, 0 53%);
  clip-path: polygon(100% 85%, 40% 0, 0 53%);
  background-color: #1F2774;
  z-index: 1;
  content: "";
}
.caution p:nth-of-type(1) {
  font-size: 18px;
  margin: 0 0 15px;
  padding: 0 0 0 40px;
  font-weight: 600;
  color: #1F2774;
}

/*フッターの診療時間*/
.tb01{
  margin-bottom:12px;
  border-spacing: 0;
  border-collapse: collapse;
  white-space:nowrap;
}
.tb01 td,.tb01 th{
  border-bottom:1px solid #fff;
  vertical-align: middle;
}
.tb01 th{
  width: 30%;
  height: 50px;
  line-height:1;
  white-space:nowrap;
  text-align:center;

}
.tb01 td{
  width: 10%;
  text-align: center;
}

/*本文中のテーブル*/
.tb03{
  width:100%;
  margin:0 0 10px;
}
.tb03 th,.tb03 td{
  font-size:15px;
  line-height:1;
  background:#fff;
}
.tb03 th{
  width:20%;
  border-right:1px solid #CECECE;
  text-align:center;
  height:72px;
}
.tb03 td{
  padding:0 24px;
  vertical-align: middle;
}
.tb03 tr:first-child th,.tb03 tr:first-child td{
  border-bottom:1px solid #CECECE;
}
.tb03 tr:first-child th{
  border-radius:10px 0 0 0;
}
.tb03 tr:first-child td{
  border-radius:0 10px 0 0;
}
.tb03 tr:last-child th{
  border-radius:0 0 0 10px;
}
.tb03 tr:last-child td{
  border-radius:0 0 10px 0;
}
.tb03 small{
  font-size:80%;
}

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

  $box
  共通CSSなので使っていないものも消さずに残してください

==================================================================*/
.top_box{
  width:950px;
  margin:0 auto;
}
.box{
  width:950px;
  margin:0 auto;
}
.text {
  position:relative;
  margin-bottom:50px;
}
.text p {
  margin-bottom:1em;
  font-size:15px;
  letter-spacing: 0;
  line-height:28px;
}
.red{
  color:#E5492B;
}
.tit_text{
  padding: 30px 0;
  margin-bottom: 20px;
}

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

  $テンプレートcss

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

.text_flex{
  display:flex;
  gap:60px;
}
.text_flex .text{
  width:calc(50% - 30px);
  line-height:28px;
  font-size:15px;
  letter-spacing: 0.1em;
  margin:0;
}
.text_flex .text h4{
  font-size:18px;
  font-weight:600;
  letter-spacing: 0.06em;
  margin:0 0 4px;
}
.text_flex figure{
  width:calc(50% - 30px);
  margin:9px 0 0;
}

.box_style01{
  position:relative;
  padding:15px 0 20px;
}
.box_style01::before{
  position:absolute;
  top:0;
  right:0;
  width:345px;
  height:170px;
  border-radius:10px;
  border:1px solid #CECECE;
  content:"";
}

.box_style02{
  position:relative;
  padding:51px 0 58px;
}
.box_style02::before{
  position:absolute;
  top:0;
  left:50%;
  width:1142px;
  height:100%;
  transform:translateX(-50%);
  background:#fff;
  z-index:-1;
  border-radius:30px;
  content:"";
}

.box_style03{
  position:relative;
  border:1px solid #CECECE;
  border-radius:10px;
  padding:16px 24px 20px;
}
.box_style03 p{
  line-height:24px;
  letter-spacing: 0;
  margin:0;
}

.box_style04{
  display:flex;
  border-radius:10px;
  background:#fff;
  padding:33px 27px 27px;
  gap:32px;
}
.box_style04 h4{
  font-size:15px;
  font-weight:600;
  padding:6px 0 0;
  letter-spacing: 0;
}

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

  .top_news

==================================================================*/
.top_news{
  background:#fff;
  padding:113px 0 79px;
}
.top_news_list{
  margin:0 0 40px;
}
.top_news_list li{
  font-size:14px;
  letter-spacing: 0.06em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color:#555;
  font-family: 'Noto Sans JP', sans-serif;
  display:block;
  padding:30px 42px 28px 12px;
  line-height:17px;
  border-top:1px solid #CECECE;
}
.top_news_list li:last-child{
  border-bottom:1px solid #CECECE;
}
.top_news_list li a{
  position:relative;
  color:#555;
}
.top_news_list li a::before{
  position:absolute;
  top: 3px;
  bottom: 0;
  margin: auto;
  right: -39px;
  content:">>>";
}
.top_news_list li em{
  margin:0 29px 0 0;
  font-size:16px;
  letter-spacing: 0.08em;
}
.top_news_list li span{
  margin:0 30px 0 0;
  background:#555555;
  border:1px solid #707070;
  text-align:center;
  color:#fff;
  font-size:10px;
  display:inline-block;
  min-width:60px;
  padding:0 10px;
}
.top_news .btn01{
  text-align:right;
}


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

  $examination （下層）

==================================================================*/
.examination_info{
  display:flex;
  flex-wrap: wrap;
  gap:42px 60px;
  background:#fff;
  padding:27px 40px 20px;
  border-radius:10px;
  border:4px solid #CECECE;
}
.info_item{
  width:calc(50% - 30px);
}
.info_item:first-child{
  width:100%;
}
.info_item p{
  letter-spacing: 0;
}
.info_item .btn01{
  margin:20px 0 0;
}
.info_item .btn01 a{
  background:rgba(299,73,43,0.2);
  width:187px;
}
.info_item02_flex{
  display:flex;
  gap:32px;
}
.info_item02_flex figure{
  width:115px;
  margin:8px 0 0;
}
.info_item:first-child p:nth-child(2){
  line-height:30px;
}
.info_item02_flex p{
  line-height:27px;
  flex:1;
}
.info_item p.tit03{
  margin:0 0 30px;
  letter-spacing: 0.06em;
}
.info_item p a{
  color:#E5492B;
  font-weight:600;
}
.examination02{
  padding:105px 0 0;
}
.examination02 .h2_ttl{
  margin:0 auto 47px;
}
.examination02 h3{
  font-size:20px;
  letter-spacing: 0.16em;
  line-height:40px;
  font-weight:600;
  margin:0 0 40px;
}
.examination02 .text_flex{
  line-height:30px;
}
.examination02 .text_flex .text{
  line-height:30px;
}
.worries{
  background:#fff;
  border-radius:10px;
  border:4px solid #CECECE;
  padding:22px 47px;
  margin:57px 0 92px;
}
.worries h4{
  font-size:20px;
  font-weight:600;
  letter-spacing: 0.06em;
  margin:0 0 25px;
}
.worries ul{
  margin:0 0 26px;
}
.examination_aco{
  display:none;
}
.examination_list{
  position:relative;
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding:53px 0 40px;
  margin:99px 0 97px;
  gap:6px 0;
  z-index:1;
}
.examination_list::before{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform: translateX(-49%);
  background:#fff;
  width:1142px;
  height:100%;
  border-radius:20px;
  content:"";
  z-index:-1;
}
.examination_list02{
  gap:45px 0;
  margin:50px 0 104px;
  padding:53px 0 70px;
}
.examination_list li{
  display:flex;
  gap:40px;
  width:calc(50% - 30px);
}
.examination_list01 li:nth-child(3),.examination_list01 li:nth-child(4){
  margin:0 0 24px;
}
.examination_list li figure{
  width:82px;
  text-align:center;
  margin:20px 0 0;
}
.examination_list01 li:nth-child(2) figure{
  padding:0 0 0 17px;
}
.examination_list01 li:nth-child(3) figure{
  margin:30px 0 0;
}
.examination_list01 li:nth-child(4) figure{
  margin:34px 0 0 0;
  padding:0 0 0 13px;
}
.examination_list01 li:nth-child(6) figure{
  margin:13px 0 0 0;
  padding:0 0 0 15px;
}
.examination_list_text{
  flex:1;
}
.examination_list_text h4{
  font-size:18px;
  font-weight:600;
  margin:0 0 8px;
}
.examination_list_text p{
  font-size:15px;
  letter-spacing: 0;
  line-height:27px;
}
.examination_list02 .examination_list_text p{
  font-size:14px;
  margin:0 0 16px;
}

.pappy .h3_ttl{
  margin:0 0 6px;
}
.papy_info{
  margin:50px 0 0;
}
.papy_info p{
  line-height:34px;
}
.pappy .text_flex{
  margin:0 0 47px;
}
.pappy .text h4{
  margin:0 0 7px;
}
.pappy .text p{
  font-size:14px;
}
.papy_info p:nth-child(2){
  line-height:2;
}

.examination03{
  padding:100px 0 0;
}
.examination03 .h2_ttl{
  margin:0 auto 47px;
}
.examination03 .text p{
  line-height:28px;
}
.examination03 .text_flex{
  margin:0 0 54px;
}
.examination_list03{
  margin:52px 0 82px;
  padding:53px 0 66px;
  gap:11px 0;
}

.course{
  margin:57px 0 0;
  padding:51px 0 68px;
}
.course .text_flex{
  margin:0 0 43px;
}
.course_tit{
  border-bottom:1px solid #CECECE;
  margin:0 0 15px;
}
.course_tit h4 small{
  font-size:80%;
}
.course .text h4{
  font-size:20px;
  color:#555;
  font-weight:600;
  padding:0 0 20px;
}
.course .text h4 span{
  font-weight:300;
  margin:0 0 0 20px;
}
.course_tit p{
  display:none;
}

.course .plus{
  position:relative;
  padding:0 0 39px;
  font-size:18px;
  font-weight:600;
  margin:0 0 8px;
}
.course .plus::before{
  position:absolute;
  bottom:3px;
  left:0;
  width:24px;
  height:24px;
  background:url(../images/plus_icon.png);
  content:"";
}
.course02 .list03 li{
  margin:0 0 12px;
}
.course .box_style03 p{
  line-height:24px;
}

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

  $access （下層）

==================================================================*/
.access{
  margin:0 0 42px;
}
.access .h2_ttl{
  margin:0 auto 84px;
}
.illustmap{
  margin:0 0 77px;
  background:#fff;
  padding: 62px 80px;
}
.access_info{
  display:flex;
  justify-content: space-between;
  margin:0 0 120px;
}
.access_info dl{
  width:445px;
}
.access_info dt{
  text-align:center;
  margin:0 0 18px;
}
.access_info dt figure{
  margin:0 0 15px;
}
.access_info dt p{
  line-height:54px;
  border-top:1px solid #707070;
  border-bottom:1px solid #707070;
  font-size:22px;
}
.access_info dd p{
  font-size:18px;
  margin:0 0 5px;
}
.access_info dd li{
  line-height:28px;
}

.access_info .googlemap{
  margin:0 0 100px;
}
.access .googlemap iframe{
  width:100%;
  height:613px;
}


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

  $blog （一覧）

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

.blog_list{
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap:41px 0;
  margin:50px 0 101px;
}
.blog_list li{
  width:278px;
}

.blog_list li a{
  width:100%;
  display:inline-block;
  color:#555;
}

.blog_list li a .blog_date{
  font-size:14px;
  letter-spacing: 0.1em;
  margin:0 0 5px;
}

.blog_list li a .blog_thumb{
  margin:0 0 10px;
  border-radius:10px;
  overflow: hidden;
}

.blog_list li a .blog_thumb img{
	width: 100%;
	height: 192px;
	object-fit: cover;
	object-position: center;
}

.blog_list li a .blog_tit{
  font-size:20px;
  font-weight:600;
  letter-spacing: 0.1em;
}

/*--------------------ページャー--------------------*/
.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap:20px;
  font-size: 16px;
  padding: 9px 8px;
  margin: 0 auto 103px;
  border-radius: 3px;
  text-align: center !important;
  font-weight: bold;
}
.pager_sp{
  display:none;
}
.pager:after {
  display: block;
  content: "";
  clear: both;
}

.current {
	width: 60px;
	height: 60px;
  background: #707070;
  color: #FFF475;
/*   padding: 8px 12px; */
  display: inline-block;
  line-height: 60px;
  font-size:16px;
  font-weight:bold;
  border-radius:10px;
}

.pager .dots{
  font-size:16px;
}

.pager a {
	width: 60px;
	height: 60px;
  display: inline-block;
  text-decoration: none;
/*   padding: 8px 12px; */
  transition: all 0.2s linear;
  background: #fff;
  border:1px solid #707070;
  color: #707070;
  line-height: 60px;
  font-size:16px;
  border-radius:10px;
}

.pager a.prev,.pager a.next{
  width:9px;
  height:17px;
  background:url(../images/arr03.png);
  border:none;
}
.pager a:hover {
  background-color: #FFF475;
}
.pager a:hover.prev,.pager a:hover.next{
  background-color:transparent;
}
.pager a.next{
  transform: scale(-1,1);
}

.pager a:active {
  box-shadow: 1px 1px 3px -1px rgba(0, 0, 0, 0.55);
}

.blog_menu{
  margin:80px 0 0;
}
.blog_menu_item:not(:last-child){
  margin:0 0 112px;
}
.blog_menu_tit{
  position:relative;
  padding:0 43px 12px;
  margin:0 0 12px;
  border-bottom:1px solid #707070;
  font-size:20px;
  letter-spacing: 0.1em;
}
.blog_menu_tit::before{
  position:absolute;
  top:0;
  bottom:12px;
  left:0;
  margin:auto;
  width:27px;
  height:5px;
  background:#707070;
  content:"";
}
.blog_menu_list{
  display:flex;
  flex-wrap: wrap;
  gap:5px 53px;
}
.recent .blog_menu_list li{
  min-width:15%;
}
.blog_menu_list a{
  position:relative;
  font-size:16px;
  letter-spacing: 0.1em;
  color:#555;
}
.blog_menu_list a::before{
  content:"●";
}

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

  $blog （記事）

==================================================================*/
.blog_content{
  margin:0 0 140px;
}
.blog_content .date{
  font-size:14px;
  letter-spacing: 0.1em;
}
.blog_content .blog_tit{
  font-size:24px;
  line-height:1.3;
  padding:10px 0 20px;
  margin:0 0 10px;
  border-bottom:1px solid #707070;
}
.blog_text{
  padding:40px 0;
}
.blog_text h2{
  position:relative;
  font-size:20px;
  padding:8px 15px;
  margin:0 0 20px;
  line-height:1.3;
  background:#f6ef97;
}
.blog_text h3{
  position:relative;
  font-size:18px;
  padding:0 0 0 16px;
  margin:0 0 15px;
}
.blog_text h3::before{
  position:absolute;
  top:0px;
  left:0;
  bottom:0;
  margin:auto;
  width:8px;
  height:20px;
  background:#dfd562;
  border-radius:2px;
  content:"";
}
.blog_text h4{
  position:relative;
  font-size:16px;
  font-weight:bold;
  display:table;
  border-bottom:1px solid #cec440;
  margin:0 0 10px;
}

.post_link{
  display:flex;
  justify-content: center;
  gap:100px;
}
.post_link a{
  position:relative;
  border-bottom:1px solid #707070;
  font-size:16px;
  letter-spacing: 0.06em;
  color:#555;
}

.post_link a i{
  position:absolute;
  left: -20px;
  top: 0;
  bottom: 0;
  margin: auto;
  line-height: 29px;
}
.post_link a:last-child i{
  left:auto;
  right: -20px;
}

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

  $news

==================================================================*/
.news_list{
  margin:50px 0 0;
}
.news_list dl{
  margin:0 0 20px;
}
.news_list dt {
  position:relative;
  font-weight:600;
  background:rgba(206,206,206,0.5);
  padding:15px 20px;
  cursor: pointer;
}
.news_list dt:hover{
  opacity:0.7;
}
.news_list dt span{
  display:block;
  letter-spacing: 0;
  font-size:14px;
  font-weight:400;
}
.news_list dd{
  padding:25px 20px;
  background:#fff;
}
/* アコーディオン */
.js-toggle.news_list dt::after{
  position: absolute;
  right: 25px;
  top: 0;
  bottom: 0;
  margin: auto;
  width:17px;
  height:9px;
  background:url(../images/arr02.png);
  content: "";
  transition:.2s;
}
.js-toggle.news_list dt.is-open::after{
  transform: scale(-1);
}
.js-toggle.news_list dd{
  display: none;
}


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

  .top_concept

==================================================================*/
.top_concept{
  position:relative;
  padding:91px 0 133px;
  overflow: hidden;
}
.top_concept h2.concept_catch{
  font-size:18px;
  line-height:34px;
  margin:0 0 16px;
  letter-spacing: 0;
}
.top_concept p{
  font-size:14px;
  line-height:27px;
  width:323px;
  margin:0 0 35px;
}
.concept_img {
  position:absolute;
  top:100px;
  left:calc(50% - 90px);
  width:919px;
  border-radius:10px 0 0 20px;
  overflow: hidden;
}

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

  .top_medical

==================================================================*/
.top_medical{
  padding:0 0 144px;
}
.top_medical .h2_ttl{
  margin:0 auto 60px;
}
.top_medical_flex{
  display:flex;
  justify-content: space-between;
}
.top_medical_flex_item{
  width:445px;
}
.top_medical_flex_item .images{
  position:relative;
  margin:0 0 24px;
}
.top_medical_flex_item .images figure{
  position:relative;
}
.top_medical_flex_item .images h3{
  position:absolute;
  top:2px;
  bottom:0;
  left:-22px;
  margin:auto;
  display:table;
  line-height:45px;
  min-width:132px;
  text-align:center;
  color:#fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size:18px;
  letter-spacing: 0.06em;
  background:#555;
  padding: 0 23px;
  z-index:1;
}
.top_medical_flex_item h4{
  font-size:18px;
  text-align:center;
  letter-spacing: 0.06em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  margin:0 0 8px;
}
.top_medical_flex_item p{
  font-size:14px;
  letter-spacing: 0.06em;
  margin:0 0 33px;
}
.top_medical_flex_item .btn01{
  text-align:right
}

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

  .top_blog

==================================================================*/
.top_blog{
  position:relative;
  padding:48px 0 68px;
  margin:0 0 100px;
}
.top_blog .h2_ttl{
  margin:0 auto 77px;
}
.top_blog::before{
  position:absolute;
  top:0;
  left:0;
  right:0;
  margin:auto;
  border-radius:30px;
  width:100%;
  max-width:1160px;
  height:542px;
  background:#fff;
  content:"";
  z-index:-1;
}
.top_blog_list{
  display:flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap:50px 0;
  margin:0 0 44px;
}
.top_blog_list li {
  position:relative;
  width:445px;
}
.top_blog_list li a{
  display:flex;
  gap:24px;
  color:#555;
}
.top_blog_list li a:hover{
  opacity:0.8;
}
.top_blog_thumb{
  width:90px;
  height:90px;
  overflow: hidden;
}
.top_blog_thumb img{
  width: 100%;
  height:90px;
	object-fit: cover;
	object-position: center;
}
.top_blog_info{
  margin:1px 0 0;
  flex:1;
}
.top_blog_info h3{
  font-size:18px;
  letter-spacing: 0.06em;
  margin:0 0 2px;
  text-decoration: underline;
}
.top_blog_info p{
  font-size:14px;
  letter-spacing: 0.06em;
  line-height:26px;
}
.top_blog .btn01{
  text-align:right;
}

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

  $about

==================================================================*/
.about01{
  margin:0 0 154px;
}
.about01 .btn01 {
  margin:40px 0 0;
}
.about02{
  padding:0 0 80px;
}
.about02 .h2_ttl{
  margin:0 auto 56px;
}
.clinic_info ul{
  margin:0 0 38px;
}
.clinic_info li{
  border-top:1px solid #CECECE;
}
.clinic_info li:last-child{
  border-bottom:1px solid #CECECE;
}
.clinic_info dl{
  display:flex;
  align-items: center;
  gap:44px;
  font-size:14px;
  letter-spacing: 0;
  padding:0 11px;
  height:51.5px;
}
.clinic_info dt{
  width:85px;
}
.clinic_info .tb01{
  width:100%;
  border:1px solid #CECECE;
  margin: 0 0 20px;
}
.clinic_info .tb01 th{
  width:22%;
  height:73px;
  font-size:16px;
}
.clinic_info .tb01 td{
  width:9.75%;
}
.clinic_info .tb01 th,.clinic_info .tb01 td{
  background:#fff;
  border-bottom:1px solid #CECECE;
  border-right:1px solid #CECECE;
}
.clinic_info .tb01 tr:first-child th{
  height:32px;
}
.clinic_info .tb01 tr:first-child th,.clinic_info .tb01 tr:first-child td{
  background:rgba(206,206,206,0.4);
}
.clinic_info .schedule_note{
  font-size:15px;
}

.policy{
  padding:68px 0 0;
}
.policy .h2_ttl{
  margin:0 auto 67px;
}
.policy .text_flex figure{
  width:50%;
}
.policy .text_flex{
  gap:0;
  justify-content: space-between;
  margin:0 0 49px;
}
.policy .text_flex .text{
  width:445px;
  padding:6px 0 0;
}
.policy_catch{
  font-size:20px;
  margin:0 0 10px;
  letter-spacing: 0;
}
.policy_text p{
  padding:0 30px 0 0;
}
.feature_ttl{
  font-size:18px;
  padding:0 0 0 44px;
  margin:0 0 54px;
}
.feature_list {
  display:flex;
  justify-content: space-between;
}
.feature_list .item{
  width:280px;
}
.feature_list .item h4{
  text-align:center;
  margin:0 0 14px;
  font-size:18px;
  font-weight:600;
  letter-spacing: 0;
}
.feature_list .item p{
  font-size:15px;
}
.feature_list .item .num{
  width:60px;
  line-height:60px;
  margin:0 auto 26px;
  border-radius:50%;
  background:#E5492B;
  color:#fff;
  font-size:16px;
  text-align:center;
  font-family: 'Noto Sans JP', sans-serif;
}

.price{
  padding:84px 0 0;
  margin:0 0 122px;
}
.price .h2_ttl{
  margin:0 auto 50px;
}
.price .h3_ttl{
  font-size:20px;
  padding:0 0 0 42px;
  margin:0 0 12px;
}
.price .text{
  margin:0 0 89px;
}
.price .pay.text{
  margin:0 0 54px;
}
.pay .h3_ttl{
  margin:0 0 2px;
}
.insurance_box{
  display:flex;
  gap:30px;
  margin:23px 0 0;
  padding:34px 45px;
  border-radius:10px;
  background:#fff;
}

.doctor{
  margin:0 0 155px;
}
.doctor .h2_ttl{
  margin:0 auto 77px;
}
.doctor_flex{
  display:flex;
  gap:40px;
}
.doctor_flex:first-of-type{
  margin:0 0 40px;
}
.doctor_img{
  width:377px;
  margin:9px 0 0;
}
.doctor_text{
  line-height:30px;
  letter-spacing: 0;
  flex:1;
}
.doctor_text h3{
  font-weight:600;
}
.doctor_text .name{
  margin:0 0 30px;
}
.doctor_text .name span{
  font-size:18px;
  margin:0 20px 0 0;
}
.doctor_text ul{
  line-height:26px;
}

.staff{
  padding:0 0 42px;
}
.staff .h2_ttl{
  margin:0 auto 75px;
}
.staff_list{
  display:flex;
  gap:34px 23px;
  flex-wrap: wrap;
}
.staff_list li{
  width:220px;
  text-align:center;
}
.staff_list li p{
  font-size:14px;
  margin:14px 0 0;
}


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

  $recruit

==================================================================*/
.recruit_top{
  margin:0 0 145px;
  padding:2px 0 0;
}
.recruit_top p{
  font-size:16px;
  margin:0 0 54px;
}

.recruit01{
  margin:0 0 120px;
}
.recruit01 .h2_ttl{
  margin:0 auto 87px;
}
.recruit01 .h3_ttl{
  font-size:18px;
}
.recruit_work{
  border-radius:6px;
  background:#fff;
  padding:45px 40px 46px;
  margin:30px 0 100px;
}
.recruit_work h4{
  font-weight:600;
  margin:0 0 2px;
}
.recruit_work h4 span{
  font-weight:300;
  margin:0 0 0 20px;
}
.recruit_work p{
  line-height:28px;
}
.recruit_work ul{
  line-height:28px;
}
.recruit_feature{
  margin:27px 0 0;
}

.section_img{
  margin:0 0 114px;
}
.section_img02{
  margin:0 0 74px;
}

.recruit_info{
  margin:32px 0 80px;
}
.recruit_info dl{
  border-top:1px solid #CECECE;
  min-height:52.5px;
  display:flex;
  align-items: center;
  gap:30px;
  line-height:24.5px;
  font-size:14px;
  letter-spacing: 0;
  padding:14px 0;
}
.recruit_info dt{
  padding:0 17px;
  width:135px;
}
.recruit_info dd{
  flex:1;
}

.recruit02{
  margin:0 0 115px;
}
.recruit02 .h2_ttl{
  margin:0 auto 86px;
}
.recruit02 .h3_ttl{
  font-size:18px;
}
.recruit02 .recruit_info{
  margin:32px 0 80px;
}
.recruit02 .recruit_feature{
  margin:25px 0 0;
}
.recruit02 .recruit_work{
  padding:45px 40px 32px;
}

.recruit_qa{
  margin: 0 0 70px;
}
.recruit_qa .h2_ttl{
  margin:0 auto 55px;
}
.recruit_entry{
  margin:0 0 17px;
}
.recruit_entry .h2_ttl{
  margin:0 auto 54px;
}
.recruit_entry .underline{
  color:#555;
  text-decoration: underline;
}
.recruit_form{
  background:#fff;
  border-radius:10px;
  padding:40px 38px 61px;
  margin:0 0 13px;
}
.recruit_form .form{
  display:flex;
  justify-content: space-between;
  margin:0 0 14px;
}
.recruit_form .form div{
  width:410px;
}

.recruit_form dl{
  margin:0 0 40px;
}

.recruit_form dt{
  font-size:14px;
  letter-spacing: 0.06em;
  line-height:1;
  margin:0 0 10px;
}

.recruit_form .form input{
  height:60px;
  padding:5px 10px;
  border:none;
  border-radius:0;
  -webkit-appearance: none;
  background:rgba(206,206,206,0.3);
  width:100%;
  font-size:18px;
}
.recruit_form .form textarea{
  padding:5px;
  border:none;
  border-radius:0;
  -webkit-appearance: none;
  background:rgba(206,206,206,0.3);
  width:100%;
  font-size:14px;
  height:335px;
}
.submit_btn{
  text-align:center;
  margin-bottom: 40px;
}
.submit_btn input{
  display:inline-block;
  width:338px;
  line-height:50px;
  background:#707070;
  color:#fff;
  font-size:16px;
  font-weight:600;
  letter-spacing: 0.06em;
  text-align:center;
  border-radius:10px;
  border:none;
  -webkit-appearance: none;
}

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

  $confirm

==================================================================*/
.confirm{
  margin:0 0 48px;
  padding:75px 0 0;
}
.confirm h2{
  text-align:center;
  font-size:24px;
  letter-spacing: 0.1em;
  margin:0 0 63px;
}
.confirm_list{
  margin:57px 0 60px;
}
.confirm_list dl{
  display:flex;
  align-items: center;
  GAP:40px;
  line-height:24px;
  border-top:1px solid #707070;
  letter-spacing: 0.06em;
}
.confirm_list dl:last-child{
  border-bottom:1px solid #707070;
}
.confirm_list dt{
  padding:24.8px 20px;
  width:160px;
}
.confirm_list dd{
  flex:1;
}

.confirm_btn{
  display:flex;
  justify-content: center;
  gap:69px;
}
.confirm_btn input{
  width:218px;
  line-height:40px;
  background:rgba(85,85,85,0.2);
  color:#555;
  border:none;
  border-radius:0;
  -webkit-appearance: none;
}

.thanks{
  margin:0 0 161px;
  padding:75px 0 0;
}
.thanks h2{
  text-align:center;
  font-size:24px;
  letter-spacing: 0.1em;
  margin:0 0 63px;
}
.thanks p{
  font-size:14px;
  letter-spacing: 0;
  line-height:2;
}
.thanks .tel{
  font-size:26px;
  color:#555;
  margin:15px 0 0;
  display:inline-block;
}
.thanks .btn01{
  margin:97px 0 0;
  padding:0 33px 0 0;
  text-align:center;
}
.wpcf7-spinner{
	display:none !important;
	position:absolute;
	bottom:-40px;
	left:0;
	right:0;
	margin:auto;
}

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

  $qa

==================================================================*/
.recruit_qa dl{
  margin-bottom:20px;
}
.recruit_qa dl dt{
  position:relative;
  padding-left:40px;
  font-weight:bold;
  padding:19.5px 60px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height:21px;
  background:rgba(206,206,206,0.5);
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}
.recruit_qa dl dt:hover{
  opacity:0.7;
}
.recruit_qa dl dt span{
  position:absolute;
  top:14px;
  left:11px;
  width:32px;
  line-height:30px;
  color:#fff;
  background:#707070;
  border-radius:32px;
  text-align:center;
  font-size:12px;
}
.recruit_qa dl dd{
  position:relative;
  background:rgba(255,255,255,0.5);
  padding:19.5px 60px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height:21px;
}
.recruit_qa dl dd span{
  position:absolute;
  top:14px;
  left:11px;
  width:32px;
  line-height:30px;
  color:#707070;
  border:1px solid #707070;
  border-radius:32px;
  text-align:center;
  font-size:12px;
}

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

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

  $contact

==================================================================*/
.contact th,
.contact td{
  text-align: left;
  padding: 20px;
}
.contact th .required{
  display: inline-block;
  color: #fff;
  background: #f33;
  line-height: 1;
  padding: 3px;
  margin-left: 5px;
}
.contact input{
  max-width: 400px;
  width: 100%;
  font-size: 100%;
  padding: 8px 5px;
}
.contact input[type="date"]{
  width: auto;
  padding: 6px 5px 5px;
}
.contact select{
  padding: 9px 5px!important;
}
.contact textarea{
  max-width: 400px;
  width: 100%;
}

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

  .breadcrumb（ぱんくず）

==================================================================*/
.breadcrumbs {
  position: relative;
  width: 950px;
  margin: 20px auto 47px;
  font-size: 14px;
  display:flex;
}
.breadcrumbs:last-child {
  margin: 0 auto;
}
.breadcrumbs i {
  /*margin-left: 35px;*/
  margin-right: 5px;
}
.breadcrumbs a{
  color:#E5492B;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs span {
  margin-right: 5px;
}
.breadcrumbs > span:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  content: "\f054";
  padding-left: 10px;
}
.breadcrumbs > span:last-child:after {
  content:none;
}
.breadcrumbs li:last-child a{
  color:#d04634 !important;
}

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

  .404_p

==================================================================*/
.none_page_p{
  text-align: center;
  font-size: 26px;
  padding-top: 100px;
}

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

  .loop_slide

==================================================================*/
.loop_slide_wrap{
  margin: 0 auto 100px;
}
.loop_slide_wrap .slick-slider div{
 transition: none;
}
.loop_slide_wrap .slick-list{
  overflow: hidden!important;
}
.loop_slide_wrap .slick-initialized .slick-slide{
  height: auto;
}
.loop_slide_wrap .slick-initialized .slick-slide img{
  width: 400px;
  height: auto;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.loop_slide_wrap .slick-initialized .slick-slide:focus{
  outline: none;
}

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

  CSSアニメーション

==================================================================*/
/* フェードイン */
.fadeIn{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeIn{
  animation: fadeIn 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeIn {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

/* フェードイン（下→上） */
.fadeInUp{
  opacity: 0;
  visibility: visible;
}
.is-visible.fadeInUp{
  animation: fadeInUp 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes fadeInUp {
  0%{
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  80%{
    opacity: 1;
  }
  100%{
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* フェードイン（右→左） */
.fadeInRight{
  overflow: hidden;
}
.fadeInRight:before{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#f6f5f3;
  transition: .6s;
  content:"";
}
.is-visible.fadeInRight::before{
  transform:translateX(-100%);
}

/* フェードイン（左→右） */
.fadeInLeft{
  overflow: hidden;
}
.fadeInLeft:before{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#f6f5f3;
  transition: .6s;
  content:"";
}
.is-visible.fadeInLeft::before{
  transform:translateX(100%);
}

/* フリップ（右回転） */
.flipRight{
  opacity: 0;
  visibility: visible;
}
.is-visible.flipRight{
  animation: flipRight 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
  transform: rotateY(-180deg);
}
@keyframes flipRight {
  0%{
    opacity: 0;
    transform: rotateY(-180deg);
  }
  100%{
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* フリップ（左回転） */
.flipLeft{
  opacity: 0;
  visibility: visible;
  transform: rotateY(180deg);
}
.is-visible.flipLeft{
  animation: flipLeft 1s cubic-bezier(0.645, 0.045, 0.355, 1.000) forwards;
}
@keyframes flipLeft {
  0%{
    opacity: 0;
    transform: rotateY(180deg);
  }
  100%{
    opacity: 1;
    transform: rotateY(0deg);
  }
}

/* 恒常的に動くアニメーション */

/* ゆっくり回転（右回転） */
.rotateRight{
  animation: rotateRight 20s linear infinite;
}
@keyframes rotateRight {
  0%{
    transform: rotate(0deg);
  }
  100%{
    opacity: 1;
    transform: rotate(360deg);
  }
}

/* ゆっくり回転（左回転） */
.rotateLeft{
  animation: rotateLeft 20s linear infinite;
}
@keyframes rotateLeft {
  0%{
    transform: rotate(0deg);
  }
  100%{
    opacity: 1;
    transform: rotate(-360deg);
  }
}

/* 浮遊（基準点から上） */
.floatingUp{
  animation: floatingUp 10s ease-in-out infinite;
}
@keyframes floatingUp {
  0%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(-30px);
  }
  100%{
    transform: translateY(0);
  }
}

/* 浮遊（基準点から下） */
.floatingDown{
  animation: floatingDown 10s ease-in-out infinite;
}
@keyframes floatingDown {
  0%{
    transform: translateY(0);
  }
  50%{
    transform: translateY(30px);
  }
  100%{
    transform: translateY(0);
  }
}

/* 生き物が跳ねる（鳥、リスなど） */
.jumping{
  position: relative;
  animation: jumping 1s ease-in-out infinite;
}
@keyframes jumping{
	0%{
		top: 0;
	}
	10%{
		top: -5px;
	}
	20%{
		top: 0px;
	}
	30%{
		top: -5px;
	}
	40%{
		top: 0px;
	}
	100%{
		top: 0px;
	}
}

/*common*/
.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}
address,body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,option,p,pre,select{margin:0;padding:0;-webkit-text-size-adjust:100%}img{vertical-align:middle;}iframe{vertical-align:middle;}li,ul{list-style:none;margin:0;padding:0}a img{border:none}.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:0!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:0!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:700}.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:""}.sp{display:none!important}