html{scroll-padding-top: 80px !important;}

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn7{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:#000;
  cursor: pointer;
    width: 50px;
    height:50px;
    z-index: 9999;
    right: 2%;
}

/*ボタン内側*/

.openbtn7 .openbtn-area{
    transition: all .4s;
}

.openbtn7 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
  background: #fff;
    width: 45%;
  }


.openbtn7 span:nth-of-type(1) {
  top:15px;
}

.openbtn7 span:nth-of-type(2) {
  top:23px;
}

.openbtn7 span:nth-of-type(3) {
  top:31px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

.openbtn7.active .openbtn-area{
  transform: rotateY(-360deg);
}

.openbtn7.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.openbtn7.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn7.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}

#nav.active{display: block !important;position: absolute;top:0;left: 0;width: 100%;height: 100vh;background: #fff;z-index: 10;overflow: scroll;padding-bottom: 150px}

.sub_nav{padding-top: 30vw;flex-wrap: wrap;}
.sub_nav li{display: block;width: 33%;}
.sub_nav li a{text-align: center;font-size: 16px !important}
.sub_nav li:last-child{width: 80%;margin:5px auto 10px}
.main_nav {display: block;border-bottom:dotted 1px #ccc;margin-bottom: 10vw}
.main_nav li{display: block;width: 100%;}
.main_nav li a{text-align: left;padding: 5vw ;border-top:dotted 1px #ccc;font-size:16px !important; }
.circle_nav{justify-content: center;display: flex;position: relative;}
.circle_nav li{margin:0 1vw !important}

.mb100{margin-bottom: 10vw;}

.pc{display: none;}
.sp{display: block;}
.sp_img{text-align: center;width: 100%;}
.sp_img img{max-height: 200px;margin-top: 20px;width: auto;}

.w7{width:100%;display: block;}
.sp_fx{flex-direction: column;}

.block{max-width: 96%;margin:0 auto;}
.inblock{max-width: 96%;margin:0 auto;position: relative;}

#nav{display: none !important;}
#logo{padding:5vw}
#logo img{width:35vw}

#mainview ul.main, #mainview ul li.slick-slide, #mainview .slick-list, #mainview .slick-track, #mainview ul.slick-slider,
#mainview{height: 40vh !important;margin:74px 0 0}

#mainview div.catch{margin-left: 43%}
#mainview div h2{font-size: 4.2vw;}
#mainview div h2 span{font-size: 4vw}
#mainview div p{font-size: 3.2vw}

.covid{margin-top: 10vw;padding:5vw !important}
.covid h2{padding-bottom: 2vw}

.box{padding:10vw 0}

/*60px*/
.page-template-page-contact .tel_ctt li.ctt_num,
#main_btn .tl{font-size: 12vw}

/*35px*/
#reason .flex li .thum strong span,
.tl,
.tl2{font-size: 7vw}

/*30px*/
#message .copy p strong,
#main_btn .bottom_btn .tl{font-size: 6vw}

/*20px*/
.single #news .entrysingle h3,
.blogsingle .entrybody h2 a,
.single #blog .entrysingle h3,
.faq dd h3,
.faq dt,
.sub_tl,
#main_btn .tl span,
#index #mainbnr dt{font-size: 4vw}

/*18px*/
.mw_wp_form table td,
table th,
.mw_wp_form table td span,
#reason .flex li dt{font-size: 3.6vw}

/*16px*/
#reason .flex li dd,
.mw_wp_form table td,
.btn2 a, .btn2 input,
table th,
.mw_wp_form table td span,
body{font-size: 3.2vw}

/*14px*/
.sub_nav li a,
#blog #sidebar li li,
#foot .submenu li a,
#index #blog li dl dt,
#main_btn .bottom_btn .tl span,
#index #mainbnr dd,
.tl span{font-size: 2.8vw}

/*13px*/
th span.hissu,
table.menu span,
#copyright{font-size: 2.6vw}

.circle_nav li{margin-left: 15px;}
.circle_nav li a{width: 20vw;height: 20vw;letter-spacing: 0;zoom: 120%}
.circle_nav li a img{height: 5vw}

.tl2,
.tl{margin-bottom: 8vw}

.tl_copy{margin-bottom: 5vw;margin-top: 2vw}

.sub_tl{margin-bottom: 6vw;padding:3vw 0}

.tl:after,
.tl:before{top:50%}

#index #mainbnr{display: block;padding:0 5vw 5vw }

#index #mainbnr dl{width: 100%;}
#index #mainbnr p{width: 60vw;margin:0 auto}
#index #mainbnr dt img{width: 50vw}
.top_btn{display: block;margin-bottom: 20px}

div#main_btn a.vc-btn2{margin-bottom: 20px;}

#main_btn .top_btn li{width: 100%;margin-bottom: 2%}
#main_btn .top_btn li a{height: 50vw}
#main_btn .tl{padding-top: 6vw;margin-bottom: 3vw}
#main_btn .bottom_btn{flex-wrap: wrap;}
#main_btn .bottom_btn li{width: 49%;margin-bottom: 2%;}
#main_btn .bottom_btn li a{height: 40vw}
#main_btn .bottom_btn .tl{padding-top: 8vw;margin-bottom:3vw; }

#reason .flex{display: block;}
#reason .flex li{width: 100%;display: flex;margin-bottom: 8vw;}
#reason .flex li:last-child{margin-bottom: 0;}
#reason .flex li .thum{width: 40%}
#reason .flex li dl{width: 57%;margin-left: 3%}
#reason .flex li dt{text-align: left;}

#reason .flex li .thum strong{width: 12vw;height: 12vw;font-size: 2vw;margin-left: -6vw;margin-top: -6vw}
#reason .flex li .thum strong span{margin-top: 0.5vw}

#index #blog ul{display: block;padding-bottom: 5vw}
#index #blog ul li{width: 100%;margin-bottom: 3%;}
#index #blog ul li:last-child{margin-bottom: 0;}
#index #blog ul li a{display: flex;align-items: center;}
#index #blog ul li a .thum{width: 25%;}
#index #blog ul li a dl{width: 72%;margin-left: 3%}



  .menu {
    flex-direction: column;
  }

  .submenu {
    position: static;
    box-shadow: none;
    padding: 0 5vw;
    margin:0 5vw 5vw;
    width: 90vw;
    flex-direction: column;
    opacity: 1;
    visibility: visible;
    background: #f2f5fa;
  }

.submenu dl{width: 100%;border-bottom:dotted 1px rgba(172,183,191,.5) ;padding:2vw 0;}
.submenu dl:last-child{border-bottom:none}
.submenu dt {margin:0;padding:2vw 0;}
.submenu dd {display: inline-block;}
.submenu dd a{padding:1vw;border: solid 1px rgba(172,183,191,1) !important; }
  .accordion dt{display: block;font-size: 14px;}
  .accordion dd {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
  }

  .accordion-header.active + dd,
  .accordion-header.active ~ dd {
    max-height: 200px; /* 高さは十分大きく */
    opacity: 1;
    visibility: visible;
  }

  .accordion dd + dt {
    margin-top: 1em;
  }
.accordion {height: 5em}
.accordion.open {height: auto}

#index #bnr_kirei{padding-top: 8vw;text-align: center;}

#news dl dd{width: 78%;}
#news .w800{padding-bottom: 5vw}

#bnr ul li{width: 49%;align-items: stretch;}
.btn3#bnr ul li{width: 32%}
#bnr ul li a img{height: 10vw}

#foot{padding:10vw 0}

#foot h3{width:45vw; }

#foot .sns li{margin:7vw 2vw}

#foot .menu{width: 96%;flex-wrap: wrap;margin:0 auto;padding:3vw 0}
#foot .menu li{width: 50%;}
#foot .menu li a{padding:3vw 0}
#foot .submenu{width: 100%;}
#foot #copyright{padding-top: 10vw}

#ft_nav{display: flex;justify-content: space-between;position: fixed;left: 0;bottom: 0;width: 100%;z-index: 99999}
#ft_nav img{height: 5vw;width: auto;vertical-align: bottom;margin-right: 3px;}
#ft_nav li{width:33.333%;}
#ft_nav li a{display: block;font-size: 4.5vw;line-height: 100%;padding:5vw 0;text-align: center;background: rgba(125,171,209,1);color:#fff;border-radius: 5px 5px 0 0;border:solid 1px #fff;border-bottom: none;margin:0 1.2%;box-shadow: 0 0 3px rgba(0,0,0,0.5)}
#ft_nav li:nth-child(2) a{background:rgba(238,166,163,1) }
#ft_nav li:nth-child(3) a{background:rgba(111,184,130,1) }
#ft_nav li.ft_tell{position: relative;}
#ft_nav li.ft_web{position: relative;}
#ft_nav li.ft_tell::before{content: "9時〜17時";position: absolute;top: -4vw;background: #fff457;padding: 1vw 5vw;font-size: 3vw;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);text-align: center;border: 1px solid #fff;color: #000;display: inline-flex;white-space: nowrap;letter-spacing: 0;border-radius: 5px}
#ft_nav li.ft_web::before{content: "無料カウンセリング";position: absolute;top: -4vw;background: #fff457;padding: 1.3vw 2vw;font-size: 2.7vw;left: 50%;transform: translateX(-50%);-webkit-transform: translateX(-50%);-ms-transform: translateX(-50%);text-align: center;border: 1px solid #fff;color: #000;display: inline-flex;white-space: nowrap;letter-spacing: 0;border-radius: 5px}


#second #mainview{height: 15vh !important}

#menu .flex{width: 100%;display: block;}
#menu .thum{width: 50%;margin:0 auto 5vw}
#menu .flex div{width: 100%;}
#menu .title td{padding: 0 0 3px}


table th, table td{height: auto;padding:3vw 0}

.mr50{margin:0 0 3vw!important}

#second #mainview h1{font-size: 10vw}
#second #mainview h1 span{font-size: 4vw}


#bnr .block{max-width: 100%;}

#bnr ul li a{font-size: 3vw;letter-spacing: -0.1em;}

#message .copy{width: 100%}
#photo ul li{width: 49%;line-height: 0;margin: 0.5%;}

.mw_wp_form table th,
.mw_wp_form table td{display: block;float: none;width: 100% !important;}
.mw_wp_form table tbody,
.mw_wp_form table tr{display: block;width: 100% !important;}

.mwform-radio-field{display: block;}
.mw_wp_form .horizontal-item + .horizontal-item{margin:0 !important}
.mw_wp_form table td{padding:20px 0}
.mw_wp_form table th{border-bottom: none !important}
.mw_wp_form table td{border-top: none !important;padding-top:0}
.mw_wp_form table input,
.mw_wp_form table textarea{width: 100%;}
.mw_wp_form table .mwform-tel-field input{width: 30%}
.mw_wp_form table .mwform-radio-field input{width: auto}

.page-template-page-contact .tel_ctt ul{display: block;}
.page-template-page-contact .tel_ctt ul li+li p{border:none;text-align: center;padding: 0}
.page-template-page-contact .tel_ctt li.ctt_num{padding-bottom: 0}
.page-template-page-contact .line_ctt ul{display: block;height: auto}
.page-template-page-contact .line_ctt li{text-align: center;padding-bottom: 0}
.page-template-page-contact .line_ctt li.li_add{padding: 30px 0 }

.pt80px{margin-top: 8vw}
.sub_tl{margin-bottom: 3vw}

#con_nav ul{display: block;background: rgba(172,183,191,1);padding:10px }
#con_nav ul li{border:none;}
#con_nav ul li a{padding:8px 0;color:#fff;text-align: center;display: block;text-align: center;}
#con_nav ul li:last-child{border: none;}


.faq dt{line-height: 160%;padding:5vw 10vw 5vw 5vw}

#blog .left{width: 100%}
.single #blog .entrysingle{padding-bottom: 10vw}
.single #blog .left .btn2{margin-top: 0;margin-bottom: 10vw}

#blog #sidebar{width: 100%;}

.blogsingle .thum_info{width: 35%;}

.blogsingle .entrybody{width: 62%;}
.blogsingle .thum_info img{width: 100%;height: 100%}

.blogsingle{align-items: flex-start;}

#content .covid{margin-top: 10vw;}

#item_lineup li{width: 48%;text-align: center;margin-right: 4%;margin-bottom: 4%;}
#item_lineup li:nth-child(3n){margin-right: 4%;}
#item_lineup li:nth-child(2n){margin-right: 0;}
.onlineshop_lineup li a span{ width: 100%}

#items .nav{margin-bottom: 8vw}

#trouble li{width: 48%;display: block;}
#trouble li span{width: 100%;}
#trouble li .thum{width: 100%;margin-right: 0;display: block;padding-bottom: 10px;}
#trouble li h3{font-size: 3.6vw;margin-bottom: 10px}
#trouble li a{font-size: 2.8vw}

#trouble2 li{width: 48%;display: block;}
#trouble2 li a{margin:0 3px 3px 0}
#trouble2 li h3{letter-spacing: 0;font-size: 16px}

#items .nav li{margin:0.5vw}
#items .nav li a{padding:10px 3vw}
#trouble2 li a{font-size: 11px;padding:4px}
#trouble2 li h3,
#trouble2 li .thum{margin-bottom: 12px;}

/* equipment */
div.entrysingle div.flex.sp_fx div.sp_img img{max-width: 100%;height: auto;}
div.entrysingle div.equipments ul li{width: 100%;}
div.entrysingle div.equipments p b.eq_subttl{font-size: 0.9rem;line-height: 1.4;}
div.entrysingle div.equipments table.menu td{width: 80px;text-align: right;}

/* インフルエンザ予防接種 */
div#content div.announcement.w800{padding: 10vw 10px;}
div#content div.announcement p{font-size: 1.2em;margin-bottom: 30px;}
.announcement .if-list{margin-bottom: 30px;}
.announcement .if-list li{font-size: 1.2em;color: #333;}
.announcement .btn-download{width: 100%;padding: 10px 15px;text-align: center;}
.announcement .btn-download:hover{background-color: #45a049;}

div#main_btn a.vc-btn2{min-width: 100%;font-size: 16px}

#resource .flex{display: block;}
#resource .flex div {width: 100%;}
#resource .flex div img{margin-bottom: 15px}
#benefit ol{display: block; margin-bottom: 20px}
#benefit ol li{font-size: 120%;width: 100%;margin:0 0 10px}
#benefit p br{display: none;}
#apply ul{margin:0 0 20px 5%}
#apply .flex {display: block;}
#apply .flex p{width: 100%;margin-bottom: 10px}
#apply .flex p:last-child{margin-bottom: 0}

#occupation ul {display: flex;justify-content: space-between;flex-wrap: wrap;}
#occupation ul li{width: 29vw !important;height: 29vw !important;margin:0 1vw 2vw !important;font-size: 120%}


.btn5#bnr ul li a{font-size: 90%}
.btn5#bnr ul li a:hover{letter-spacing: 0 !important}
.btn5#bnr ul li{margin-bottom: 10px !important}


#reason .flex li dd{text-align: left;}

#main_btn .bottom_btn2{display: block;}
#main_btn .bottom_btn2 li,
#main_btn .bottom_btn2 li:last-child{width: 100%;}
#main_btn .bottom_btn2 li:last-child{padding-top: 20px}
.bnr_recruit{padding-top: 20px;}

br.sp-dp{display: inline;content: "";line-height: 0;}
td.sp-small{font-size: 10px;}