@charset "utf-8";
/* CSS Document style.css */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, copyright {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

a {
	text-decoration: none;
	display: inline-block;
}

img {
	width: 100%;
	height: auto;
}

html {
	margin: 0;
}
body {
	width: 100%;
	font-size: 16px;
	line-height: 1.8;
	background-color: #FFFFFF;
	border-top: #93CA76 10px solid;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h2 {
	font-size: 1.6em; 
	border-bottom: #93CA76 2px solid;
	text-align: center;
	margin-bottom: 18px;
}
h3 {
	font-size: 1.4em; 
	color: #fff;
	background-color: #93CA76;
	padding: 4px 10px;
	text-align: center;
	margin-bottom: 10px;
}

.catch {
	font-size: 1.4em; 
	line-height: 1.3;
	display: inline-block;
	color: #93CA76;
	font-weight: bold;
	background: none !important;
	margin: 10px 0;
	padding: 0 10px;
	text-align: left;
	border-left: #93CA76 5px solid;
}

/******* ヘッダー *************************/

header {
	width: auto;
	overflow: hidden;
	border-bottom: #ccc 1px solid;
}
.header-content {
	width: 1000px;
	margin: 10px auto;
    overflow: hidden;
	position: relative;
}
header .logo {
	max-width: 400px;
	float: left;
}
header .number {
	max-width: 500px;
	float: right;
}
header .number .tel {
	font-size: 28px;
	font-weight: bold;
	color: #93CA76;
	position: relative;
}
header .number .tel:before {
	content:"";
	display:inline-block;
	position: absolute;
	top: 10px;
	left: -28px;
	width:1em;
	height:1em;
	background:url(../img/tel.png) no-repeat;
	background-size:contain;
}


.bts {
	width: 220px;
	margin: 0 10px ;
	float: left;
}
.bts a {
	display: block;
	width: 90px;
	float: left;
}
.bts a:first-child {
	display: block;
	width: 218px;
	margin-bottom: 10px;
}
.bts a:last-child {
	display: block;
	width: 115px;
	float: right;
}
.bts a:hover {
	color: #fff;
	font-weight: bold;
    background-color: #5F9C3D;
}
.bts .header-bt {
	text-align: center;
	border: #5F9C3D 1px solid ;
	border-radius: 10px;
	color: #5F9C3D;
}

.tel-bt {
	max-width: 250px;
	margin: 0 15px ;
	float: left;
}
.tel-bt a {
	text-align: right;
    display: block;
}
.tel-bt p {
	color: #222;
	text-align: right;
	font-size: 80%;
}

.header-navi {
	width: 1000px;
	margin: 0 auto;
	/*position: relative;*/
	overflow: hidden;
}
.header-navi ul {
	margin: 0;
	overflow: hidden;
}
.header-navi ul li {
	display:inline-block;
	width: 13.5%;
	text-align: center;
	float: left;
	margin: 0;
}
.header-navi ul li.and {
	width: 19%;
}
.header-navi ul li a {
	padding: 15px 0 0;
	width: 100%;
	height: 100%;
	color: #222;
	position: relative;
}
.header-navi ul li a::after{
	content: '';
	display: block;
	width: 0;
	margin: 10px auto 0;
	border-bottom: 0.3em solid #93CA76;
	transition: width 0.3s ease-in-out;
}
.header-navi ul li a:hover::after{
	width: 100%;
}
/******  トップページ背景  ***********************************************************/

.bg-img {
	width: 100%;
	height: 300px;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}

.staff { background:url(../img/staff.png) center center / cover no-repeat;}
.structure { /*background: #fcfcfc; */ background:url(../img/structure.jpg) center center / cover no-repeat; }
.voice-treatment { background:url(../img/voice-treatment.jpg) center center / cover no-repeat;}
.voice-therapy { background:url(../img/voice-therapy.jpg) center center / cover no-repeat;}
.disease { background:url(../img/disease.jpg) center center / cover no-repeat;}
.access { background:url(../img/access.jpg) center center / cover no-repeat;}

.title-cont{
	width: 1000px;
	overflow: hidden;
	margin: 0 auto;
}
.title-cont h1{
	width: 500px;
	font-size: 44px;
	color: #000;
	text-shadow: 1px 2px 3px #fff;	
	margin: 0 45px;
}

/******* コンテンツ *************************/

#contents {
	width: 1000px;
	margin: 35px auto 60px;
	overflow: hidden;
}

#contents ul {
  padding: 0.3em 0;
  list-style-type: none;
  border: none;
}
#contents ul li {
  position:relative;
  padding: 0.3em 0 0.3em 1.6em;
  line-height: 1.5;
}
#contents ul li:before{
  content: '';
  position: absolute;
  background-color: #fff;
  border: 1px solid #93CA76;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  left: 10px;
  top: 11px;
}

#contents ol {
	counter-reset: li;
}

#contents ol > li {
	list-style: none;
	position: relative;
	padding-left: 2.5em;
}

#contents ol > li:before {
	counter-increment: li;
	content: counter(li);
	margin-right: 1em;
	background: #93CA76;
	border: #93CA76 1px solid;
	color: #fff; 
	border-radius: 50%;
	text-align: center;
	width: 1.3em;
	height: 1.3em;
	position: absolute;
	left: 0em;
	top: 2px;
	line-height: 1.4;
}

.text {
	margin: 0 0 46px;
}
.text-low {
	margin: 0 0 86px;
}
.text-low p, .text p {
	margin: 10px 0;
}

.block50 {
	width: 48%;
	margin: 2.5% 2% 2.5% 0;
	float: left;
}
.block50:last-child {
	margin: 2.5% 0 2.5% 2%;
}

.block75 {
	width: 68%;
	margin: 2.5% 2% 2.5% 0;
	float: left;
}
.block25 {
	width: 28%;
	margin: 2.5% 0 2.5% 2%;
	float: left;
}

.triangle {
	width: 0;
	height: 0;
	margin: 25px 25px 15px;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 20px solid #93CA76;
}

/******* フッター *************************/

footer {
	width: 100%;
	overflow: hidden;
}

footer .footer-content {
	width: auto;
	background-color: #B5DAA0;
}
footer .footer-content dl {
	width: 1000px;
	padding: 0 0 50px;
	margin: 0 auto;
	text-align: center;
}
footer .footer-content dl dt {
	display: inline-block;
	text-align: center;
}
footer .footer-content-end {
	width: 1000px;
	margin: 0 auto;
}

footer .footer-navi {
	width: 1000px;
	padding: 40px 0;
	margin: 0 auto;
	text-align: center;
}
footer .footer-navi ul li {
    display: inline-block;
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid #222;
}
footer .footer-navi ul li:last-child {
    border-right: none;
}
footer .footer-navi a {
    color: #222;
    font-size: 90%;
}
copyright {
	margin: 10px;
	font-size: 12px;
	text-align: center;
}

.address {
	width: auto;
}
.address img {
	width: 320px;
}

/******* Googleマップ *************************/

.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/******  スライダー  ***********************************************************/
.bg-slider {
	width: 100%;
	height: 700px;
	background-position:center center;
	background-size: cover;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bg-slider__title{
	width: 350px;
	height: auto;
}

.blocks {
	width: 100%;
	overflow: hidden;
	margin: 0 0 60px;
}

.block30 {
	width: 31.3%;
	margin: 2.5% 1% 1%;
	float: left;
}

.sum { position: relative; color: #fff;}
.sum img { width: 100%;}
.sum p {
	position: absolute;
	bottom: 0;
	left: 0;
	margin:0;
	padding:10px 0;
	width: 100%;
    text-align: center;
    background: rgba(111,51,25,0.85);
}
.bts a:hover,
.bt-b:hover,
.sum:hover img,
.sum:hover p {
	opacity: 0.65;
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.bt-b {
    padding: 6px 25px;
    color: #fff;
    background-color: #93CA76;
    border-radius: 8px;
}

/************************************************************************* 1200pxまで *****/

@media screen and (max-width: 1200px) {
	.title-cont{
		width: 100%;
		margin: 0 40px;
	}
}

@media screen and (min-width: 769px) {
	.sp, .sp-menu {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	body {
		border-top: 0;
	}
	.bg-slider__title{
		width: 250px;
		height: auto;
	}
	.header-content,
	footer .footer-content dl,
	footer .footer-content-end,
	footer .footer-navi {
		width: 100%;
	}
	.bg-img {
		width: 100%;
		height: 150px;
	}	
	.title-cont{
		width: auto;
		overflow: hidden;
		margin: 0 auto;
	}
	.title-cont h1{
		width: 300px;
		font-size: 20px;
		margin: 0 ;
	}
	h2 { font-size: 1.4em; }
	h3 { font-size: 1.3em; }
	#contents {
		width: 92%;
		margin: 2.5% 4%;
	}
	.bg-slider {
		height: 400px;
	}

	.pc, .header-navi {
		display: none;
	}
	
	.sp, .sp-menu {
		width: 100%;
		overflow: hidden;
	}
	.sp-menu a {
		width: 30%;
		padding: 2.5% 1.5%;
		border-right: #fff 1px solid;
		border-bottom: #fff 1px solid;
		float: left;
		color: #fff;
		text-align: center;
		font-size: 15px;
		background-color: #93CA76;
	}
	.logo {
		width : 250px;
		margin: 10px;
	}
	
	.block30 {
		width: 48%;
		height: auto;
		margin: 2.5% 1%;
	}
	.sum p {
		padding:3px 0;
	    background: rgba(111,51,25,0.85);
	}
	/******* SPメニュー *************************/
	.sp-navi {
		position: relative;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		float: right;
	}
	 
	.el_humburger {
	  position: absolute;
	  top: 18px;
	  right: 18px;
	  width: 26px;
	  height: auto;
	  padding-top: 1px;
	  box-sizing: border-box;
	  z-index: 10000;
	  transition: all 0.2s ease-in-out;
	  cursor: pointer;
	  pointer-events: auto;
	}
	 
	.el_humburger > span {
	  display: block;
	  width: 100%;
	  margin: 0 auto 6px;
	  height: 3px;
	  background: #000;
	  transition: all 0.2s ease-in-out;
	}
	.el_humburger > span:last-child {
	  margin-bottom: 0;
	}
	.js_humburgerOpen .el_humburger > span {
	  background: #000;
	}
	 
	.js_humburgerOpen .el_humburger > span.top {
	  transform: translateY(9px) rotate(-45deg);
	}
	 
	.js_humburgerOpen .el_humburger > span.middle {
	  opacity: 0;
	}
	 
	.js_humburgerOpen .el_humburger > span.bottom {
	  transform: translateY(-9px) rotate(45deg);
	}
	 
	.el_humburgerButton.el_humburgerButton__close {
	  top: 2%;
	  right: 2%;
	}
	 
	.el_humburgerButton__close > span {
	  display: block;
	  width: 35px;
	  margin: 0 auto;
	  height: 4px;
	  background: #fff;
	}
	 
	.el_humburgerButton__close > span.el_humburgerLineTop {
	  transform: translateY(5px) rotate(-45deg);
	}
	 
	.el_humburgerButton__close > span.el_humburgerLineBottom {
	  transform: translateY(-6px) rotate(45deg);
	}
	
	.access { background:url(../img/access-sp.jpg) center center / cover no-repeat;}
	 
	/*ナビゲーション*/
	.uq_spNavi {
	  display: none;
	}
	.uq_spNavi.js_appear {
	  position: fixed;
	  top: 0;
	  left: 0;
	  bottom: 0;
	  right: 0;
	  display: block;
	  z-index: 9999;
	}
	 
	.uq_spNavi_screen {
	  position: absolute;
	  top: 0;
	  left: 0;
	  bottom: 0;
	  right: 0;
	  background-color: rgba(255, 255, 255, 0.96);
	  z-index: 0;
	  margin-top: 0px;
	  padding-top: 0px;
	  overflow: auto;
	  -webkit-overflow-scrolling: touch;
	}
	 
	.navigation {
		padding: 80px 0 0 0;
		text-align: center;
	}
	 
	.navigation_item {
		font-ize: 18px;
		margin-bottom: 20px;
	}
	 
	.navigation_item > a {
		color: #000;
		text-decoration: none;
	}
	 
	.js_fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	
	/********** フッター ************************************************/
	footer .footer-navi ul {
	    width: 80%;
	    margin: 0 10%;
	    border: #222 1px solid;
	}	
	footer .footer-navi ul li {
	    display: block;
	    width: auto;
	    text-align: left;
	    float: none;
	    margin-right: 0;
	    border-right: 0;
	    padding: 8px 10px;
    	border-bottom: #222 dashed 1px;
	}
	footer .footer-navi ul li:last-child {
    	border-bottom: none;
	}
	footer .footer-navi ul li {
		position: relative;
	}
	footer .footer-navi ul li:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f054";
		position: absolute;
		top: 50%;
		right: 10px;
		color: #444;
		margin-top: -12px;
	}
	.address img {
		width: 260px;
	}
	copyright {
		font-size: 10px;
	}
}


@media screen and (max-width: 640px) {
	.title-cont{
		margin: 0 22px;
	}
	.bg-slider {
		height: 270px;
	}
	.bg-slider__title{
		width: 150px;
		height: auto;
	}
	.block25, .block75, .block50 {
		width: 98%;
		height: auto;
		margin: 2.5% 1%;
	}
}