* {
	margin: 0;
	padding: 0;
}

html, body {
	height: 100%;
	font-family: 'Noto Sans Japanese', sans-serif;
	font-weight: 400;
	color: #505050;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: 15px;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
}

a {
	color: #4BB055;
	text-decoration: underline;
	cursor: pointer;
	transition: 0.3s;
}

a:hover {
	text-decoration: none;
	opacity: 0.5;
}

i {
	vertical-align: middle;
}

p {
	line-height: 2em;
	font-size: 15px;
	letter-spacing: 0.05em;
}

#wrapper {
	background-color: #fff;
	width: 100%;
	position: relative;
	height: auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}

header {
	margin: 0 auto;
	width: 1000px;
	height: 240px;
	background-color: #fff;
	position: relative;
}

header h1 {
	text-align: center;
	padding-top: 40px;
}

header h1 img {
	width: 200px;
	height: auto;
}

header #head-info {
	position: absolute;
	top: 20px;
	right: 0;
	font-size: 13px;
	color: #8f8f8f;
	letter-spacing: 0.1;
}

header #head-info .head-tel {
	font-weight: bold;
	font-family: 'Lato', sans-serif;
	font-size: 23px;
	line-height: 30px;
	letter-spacing: 0.05em;
}

header #head-info i {
	padding-right: 7px;
	font-size: 16px;
}

a[href^="tel:"] {
	pointer-events: none;
	color: #8f8f8f;
	text-decoration: none;
}

/* ----- 共通ナビゲーション ----- */
header nav {
	position: absolute;
	bottom: 15px;
}

header nav#head-nav {
	overflow: hidden;
}

header nav#head-nav ul {
	list-style-type: none;
}

header nav#head-nav ul li {
	width: 247px;
	height: 60px;
	float: left;
	text-align: center;
	border-left: 3px solid #FFCA6C;
}

header nav#head-nav ul li:first-child {
	border-left: none;
}

header nav#head-nav ul li.current {

}

header nav#head-nav ul li a {
	display: block;
	text-decoration: none;
}

header nav#head-nav ul li a strong {
	font-weight: 400;
	font-size: 17px;
	line-height: 2.1em;
	letter-spacing: 0.075em;
	color: #505050;
}

header nav#head-nav ul li a span {
	display: block;
	font-size: 10px;
	letter-spacing: 0.2em;
	line-height: 1;
	text-transform: uppercase;
	font-family: 'Lato', sans-serif;
}

header nav#head-nav ul li:hover {
}

header .navToggle {
	display: none;
}

#bg {
	text-align: center;
	width: 100%;
	height: 500px;
	background-color: #FEF8DD;
}

.topslide {
	width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.topslide ul {
	padding: 0;
}

.topslide ul img {
	max-width: 100%;
	height: auto;
}

#catch {
	margin: 0 auto;
	text-align: center;
	width: 100%;
	height: 300px;
	background-color: #FEF8DD;
	overflow: hidden;
	font-size: 1;
	position: relative;
}

#catch img {
	width: 1000px;
}

#container {
	padding: 50px 0 560px 0;
	width: 1000px;
	margin: 0 auto;
	background-color: #fff;
	text-align: center;
}

#container section {
	margin: 20px auto 70px;
	overflow: hidden;
}

#container section:last-child {
	margin-bottom: 50px;
}

section h2 {
	font-weight: 700;
	text-align: center;
	color: #4BB055;
	font-size: 28px;
	letter-spacing: 0.1em;
	margin-bottom: 50px;
	display: inline-block;
	padding: 0px 55px 3px;
	text-indent: 0.1em;
	position: relative;
	top:0;
}

section h2 span {
	display: block;
	font-size: 12px;
	font-weight: normal;
	letter-spacing: 0.4em;
	margin-bottom: 3px;
	text-transform: uppercase;
	font-family: 'Lato', sans-serif;
}

section h2:before,section h2:after{
	position: absolute;
	top: 0;
	content:'';
	width: 8px;
	height: 100%;
	display: inline-block;
}

section h2:before{
	border-left: solid 3px #FFCA6C;
	border-top: solid 3px #FFCA6C;
	border-bottom: solid 3px #FFCA6C;
	left: 0;
}

section h2:after{
	content: '';
	border-top: solid 3px #FFCA6C;
	border-right: solid 3px #FFCA6C;
	border-bottom: solid 3px #FFCA6C;
	right: 0;
}

section h3 {
	text-align: center;
	font-size: 22px;
	letter-spacing: 0.05em;
	line-height: 1;
	color: #4BB055;
	padding-bottom: 44px;
	padding-top: 20px;
	padding-right: -0.05em;
	font-weight: 700;
}

section h3 span {
	border-bottom: solid 2px #42AA4C;
	padding-bottom: 4px;
}

section i {
	padding-right: 10px;
}

section p.preface {
	font-size: 17px;
}

/* ----- トップ　お知らせ一覧 ----- */
section dl.news {
	font-size: 15px;
	width: 400px;
	margin: 0 auto;
	line-height: 1.5em;
	text-align: left;
}

section dl.news dt {
	float: left;
	width: 150px;
	padding-bottom: 10px;
}

section dl.news dd {
	float: left;
	width: 250px;
	padding-bottom: 10px;
}

/* ----- お知らせ ----- */
section .info {
	width: 800px;
	margin: 0 auto;
	text-align: left;
}

section .info h4 {
	text-align: left;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-size: 18px;
	line-height: 1em;
	margin-bottom: 15px;
	color: #4BB055;
}

section .info time {
	display: block;
	font-size: 13px;
	padding-bottom: 10px;
	font-weight: normal;
	color: #bbb;
}

section .info p em {
	font-weight: bold;
	font-style: normal;
	background: linear-gradient(transparent 80%, #FFDB44 70%);
}

section ul.info-list {
	list-style-type: none;
	margin: 17px 20px 17px 1em;
}

section ul.info-list li {
	line-height: 1.75em;
	text-align: left;
	position: relative;
	padding: 0 0 0 0em;
	font-weight: bold;
}

section ul.info-list li:last-child {
	margin-bottom: 10px;
}

section ul.info-list li:before {
    content: "・";
	padding-right: 0.5em;
    color: #F59609;
}

/* ----- 当院について ----- */

/* 院内のご案内 */
section ul.floorlist {
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

section ul.floorlist li {
	width: 300px;
	float: left;
	padding: 0;
	margin: 0 50px 30px 0;
}

section ul.floorlist li:nth-child(3n) {
	margin-right: 0;
}

section ul.floorlist li figure img {
	width: 300px;
	border-radius: 7px;
}

section ul.floorlist li figure figcaption {
	font-size: 14px;
	margin-top: 15px;
	line-height: 1.75em;
	text-align: justify;
}

/* 院長のご紹介　*/
section .staff {
	margin: 0 auto 70px;
	width: 1000px;
	overflow: hidden;
	font-family: '游ゴシック', 'Hiragino Sans', 'Noto Sans Japanese', sans-serif;
}

section .staff:last-child {
	margin-bottom: 0;
}

section .staff img {
	width: 400px;
	margin-right: 50px;
	border-radius: 7px;
}

section .staff .staff_profile {
	width: 550px;
	float: right;
}

section .staff h4 {
	font-weight: 500;
	font-size: 22px;
	letter-spacing: 0.25em;
	padding: 10px 0 20px;
	text-align: left;
}

section .staff h4 i {
	font-size: 13px;
	padding-bottom: 3px;
	display: inline-block;
	font-style: normal;
	font-weight: 300;
	letter-spacing: 0.075em;
}

section .staff h4 small {
	font-size: 12px;
	letter-spacing: 0.1em;
	margin-left: 15px;
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	color: #bbb;
}

section .staff dl {
	width: 550px;
	overflow: hidden;
	text-align: left;
	font-size: 14px;
}

section .staff dl dt {
	width: 100px;
	float: left;
	border-top: 1px solid #ccc;
	padding: 7px 0;
	font-weight: 500;
}

section .staff dl dd {
	width: 450px;
	float: left;
	border-top: 1px solid #eee;
	padding: 7px 0;
}

section .staff dl ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

section .staff dl ul li {
	line-height: 1.5em;
	margin-bottom: 10px;
}

section .staff dl ul li:last-child {
	margin-bottom: 0;
}

/* ----- 施術について ----- */
nav.sub-nav ul {
	margin: 0 0 30px 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

nav.sub-nav ul li {
	float: left;
	margin: 0 35px 30px 0;
}

nav.sub-nav ul li a {
	width: 310px;
	border-radius: 5px;
	line-height: 30px;
	font-size: 17px;
	padding: 15px 0;
	letter-spacing: 0.025em;
	color: #fff;
	display: block;
	text-decoration: none;
	font-weight: 500;
	background-color: #57BB61;
}

nav.sub-nav ul li:nth-child(3n) {
	margin-right: 0;
}

nav.sub-nav ul li a span {
	display: inline-block;
}

/* --- 施術のながれ --- */
ol.flow {
	width: 800px;
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	font-size: 16px;
}

/* リスト項目 */
ol.flow li {
	margin-bottom: 15px;
	padding-bottom: 30px;
	background: url(../images/flow_arrow.gif) no-repeat center bottom;
}

/* 最後のリスト項目 */
ol.flow li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	background-image: none;
}

/* 囲み数字 */
ol.flow li dl dt span {
	position: relative;
	color: #fff;
	z-index: 1;
	margin: 0 10px 0 49px;
	font-family: 'Noto Sans Japanese', sans-serif;
}

/* 囲み数字の丸 */
ol.flow li dl dt span:before{
	content: '';
	display: block;
	position: absolute;
	top: 3px;
	left: -7px;
	border-radius: 50%;
	height: 25px;
	width: 25px;
	background-color: #57BB61;
	z-index: -1;
}

/* ボックス */
ol.flow dl {
	margin: 0;
	border: 2px #57BB61 solid;
	border-radius: 10px;
}

/* タイトルエリア */
ol.flow dl dt {
	font-weight: bold;
	font-size: 20px;
	text-align: left;
	margin-top: 30px;
	letter-spacing: 0.05em;
}

/* タイトル */
ol.flow dt strong {
	margin-left: 3px;
	color: #505050;
	font-family: 'Noto Sans Japanese', sans-serif;
}

/* 本文エリア */
ol.flow li dl dd {
	margin: 0;
	padding: 20px 40px 40px;
	overflow: hidden;
}

ol.flow li dl dd img {
	width: 280px;
	float: left;
	border-radius: 7px;
}

ol.flow li dl dd p {
	width: 400px;
	float: right;
	text-align: justify;
}

ol.flow li dl dd em {
	font-weight: bold;
	font-style: normal;
	background: linear-gradient(transparent 80%, #FFDB44 70%);
}

ol.flow li dl dd i {
	font-style: normal;
	font-size: 14px;
	line-height: 1.5em;
}

/* --- 保険診療について --- */
.insurance {
	overflow: hidden;
	margin-bottom: 70px;
	text-align: justify;
}

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

.insurance p {
	margin-bottom: 20px;
}

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

.insurance p em {
	font-weight: bold;
	font-style: normal;
	background: linear-gradient(transparent 80%, #FFDB44 70%);
}

.insurance ul.illust-slick1 {
	width: 100%;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.insurance ul.illust-slick1 li.is1 {
	width: 235px;
	height: auto;
	float: left;
	margin-right: 20px;
	padding: 0;
	font-weight: bold;
	margin-bottom: 40px;
	font-size: 16px;
	text-align: center;
}

.insurance ul.illust-slick1 li.is1:last-child {
	margin-right: 0;
}

.insurance ul.illust-slick1 li.is1 img {
	height: 235px;
	width: 235px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #fff5cc;
}

.insurance ul.illust-slick2 {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

.insurance ul.illust-slick2 li.is2 {
	width: 235px;
	height: auto;
	float: left;
	margin-right: 20px;
	font-weight: bold;
	margin-bottom: 40px;
	font-size: 16px;
	text-align: center;
}

.insurance ul.illust-slick2 li.is2:last-child {
	margin-right: 0;
}

.insurance ul.illust-slick2 li.is2 img {
	height: 235px;
	width: 235px;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #eeffcc;
}

.insurance .maintxt {
	float: left;
	width: 550px;
	margin-right: 30px;
	margin-bottom: 20px;
}

.insurance .maintxt p {
	margin-bottom: 15px;
}

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

.insurance .sidetxt {
	width: 330px;
	padding: 20px 25px;
	text-align: justify;
	float: right;
	border-radius: 7px;
	border: 2px dotted #57BB61;
}

.insurance .sidetxt p {
	color: #42AA4C;
	line-height: 1.6em;
}

.insurance .pointtxt {
	width: 330px;
	margin-bottom: 25px;
	padding: 20px 25px;
	text-align: justify;
	float: right;
	border-radius: 7px;
	border: 2px dotted #e34949;
}

.insurance .pointtxt p {
	color: #e64949;
	line-height: 1.6em;
}

.insurance h4 {
	text-align: left;
	font-weight: 500;
	letter-spacing: 0.05em;
	font-size: 18px;
	line-height: 1em;
	margin-bottom: 20px;
	color: #4BB055;
}

.insurance_notice {
	width: 720px;
	padding: 50px 40px 45px;
	margin: 0 auto;
	background-color: #FFF9DD;
	border-radius: 10px;
	border: 2px dotted #FFCA6C;
	text-align: center;
}

.insurance_notice ul {
	list-style-type: none;
	margin: 0 70px;
}

.insurance_notice ul li {
	line-height: 1.5em;
	font-size: 16px;
	text-align: left;
	position: relative;
	padding: 0 0 0 1.5em;
	margin-bottom: 25px;
	text-indent: -1.5em;
	text-align: justify;
}

.insurance_notice ul li:last-child {
	margin-bottom: 10px;
}

.insurance_notice ul li:before {
    content: "●";
	padding-right: 0.5em;
    color: #FFCA6C;
}

.insurance_notice p {
	display: inline-block;
	font-size: 18px;
	margin: 25px auto 0;
	padding: 0;
	color: #F59609;
	font-weight: 500;
	line-height: 1.5em;
	border-bottom: 2px solid #FFCA6C;
}

.insurance_accident {
	text-align: justify;
}

.insurance_accident em {
	font-weight: bold;
	font-style: normal;
	background: linear-gradient(transparent 80%, #FFDB44 70%);
}

/* ----- アクセス ----- */
section .accessinfo {
	overflow: hidden;
}

section .accessinfo figure {
	float: left;
}

section .accessinfo figure img {
	width: 500px;
}

section .accessinfo dl {
	float: right;
	width: 470px;
	text-align: left;
	line-height: 1.75em;
	letter-spacing: 0.05em;
}

section .accessinfo dl dt {
	font-weight: bold;
	letter-spacing: 0.05em;
}

section .accessinfo dl dd {
	margin-bottom: 20px;
}

section .accessinfo dl dd:last-child {
	margin-bottom: 0px;
}

section iframe {
}

section #map-a {
	width: 100%;
	height: 500px;
}

section p.route {

}

/* ----- フッター ----- */
footer {
	z-index: 3;
	color: #fff;
	height: 400px;
	width: 100%;
	padding-bottom: 70px;
	background-color: #53B25C;
	position: absolute;
	bottom: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

footer #footer-contents {
	width: 1000px;
	margin: 0 auto;
	padding-top: 30px;
	text-align: center;
	overflow: hidden;
}

#footer-contents .footer-info {
	text-align: left;
	float: left;
}

#footer-contents .footer-info h1 {
	font-size: 25px;
	letter-spacing: 2;
	line-height: 1;
	margin-top: 15px;
	margin-bottom: 7px;
	font-family: 'Noto Sans Japanese', sans-serif;
}

#footer-contents .footer-info .tel {
	font-size: 24px;
	font-weight: bold;
	font-family: 'Lato', sans-serif;
	letter-spacing: 0.05em;
}

#footer-contents .footer-info .tel a {
	color: #fff;
}

#footer-contents .footer-info .tel i {
	font-size: 16px;
	padding-right: 5px;
}

#footer-contents .footer-info address {
	font-size: 15px;
	font-style: normal;
	margin: 25px 0;
	letter-spacing: 0.5;
	line-height: 1.75;
}

#footer-contents .footer-info address small {
	font-size: 14px;
	font-style: normal;
}

#footer-contents .footer-info table {
	border-collapse: collapse;
	border: solid 1px #fff;
}

#footer-contents .footer-info table th, table td {
	font-size: 14px;
	color: #fff;
	padding: 10px 13px;
	font-weight: normal;
  border: solid 1px #fff;
	text-align: center;
}

#footer-contents .footer-map {
	float: right;
	width: 500px;
}

#footer-contents .footer-map #gmap {
	width: 500px;
}

#footer-contents .footer-map #gmap iframe {
	height: 400px;
}

.copyright {
	font-size: 11px;
	height: 40px;
	line-height: 40px;
	letter-spacing: 0.075em;
	position: absolute;
	bottom: 0; left: 0; right: 0;
	font-family: 'Lato', sans-serif;
}

.pagetop {
	z-index: 999;
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
}

.pagetop a {
	display: block;
	background-color: #42AA4C;
	border: 2px solid #FFF;
	text-align: center;
	color: #FFF;
	font-size: 17px;
	text-decoration: none;
	padding: 5px 3px 1px 4px;
	font-weight: bold;
	border-radius: 40px;
	width: 34px;
	height: 34px;
}

.pagetop a i {
	padding-top: 6px
}

.pagetop a:hover {
	text-decoration: none;
	opacity: 0.7;
}



/* ----- タブレット用 -----*/
@media screen and (min-width:600px) and (max-width:960px) {
	html, body {
	}

	#wrapper {
		width: 100%;
		overflow: hidden;
	}

	a {
		color: #4BB055;
		text-decoration: underline;
		cursor: pointer;
		transition: 0.3s;
	}

	a:hover {
		text-decoration: none;
		opacity: 1;
	}

	p {
		font-size: 14px;
	}

	header {
		margin: 0 auto;
		width: 100%;
		height: 160px
	}

	header h1 {
		padding-top: 15px;
	}

	header h1 img {
		width: 20%;
		height: auto;
	}

	header #head-info {
		top: 10px;
		right: 10px;
		font-size: 12px;
	}

	header #head-info .head-tel {
		font-size: 20px;
		line-height: 27px;
	}

	a[href^="tel:"] {
		pointer-events: auto;
		text-decoration: none;
		opacity: 1;
	}

	/* ----- 共通ナビゲーション ----- */
	header nav {
		bottom: 13px;
	}

	header nav#head-nav {
		overflow: hidden;
		width: 100%;
	}

	header nav#head-nav ul {
		list-style-type: none;
		width: 650px;
		margin: 0 auto;
	}

	header nav#head-nav ul li {
		width: 161px;
		height: auto;
		float: left;
		text-align: center;
		border-left: 2px solid #FFCA6C;
	}

	header nav#head-nav ul li:first-child {
		border-left: none;
	}

	header nav#head-nav ul li.current {
	}

	header nav#head-nav ul li a {
	}

	header nav#head-nav ul li a strong {
		font-weight: 400;
		font-size: 15px;
		line-height: 2.1em;
		letter-spacing: 0.05em;
	}

	header nav#head-nav ul li a span {
		display: block;
		font-size: 8px;
		letter-spacing: 0.15em;
	}

	header nav#head-nav ul li:hover {
	}

	header .navToggle {
	  display: none;
	}

	#bg {
		width: 100%;
		height: 390px;
		background-color: #FFF;
	}

	.topslide {
		width: 100%;
	}

	#catch {
		width: 100%;
		height: auto;
	}

	#catch img {
		width: 100%;
	}

	#container {
		padding: 10px 0 40px 0;
		width: 100%;
		margin: 0 auto;
		background-color: #fff;
		text-align: center;
	}

	#container section {
		width: 90%;
		margin: 20px 5% 50px;
		overflow: hidden;
	}

	#container section:last-child {
		margin-bottom: 20px;
	}

	section h2 {
		font-size: 23px;
		margin-bottom: 30px;
		padding: 0px 40px 3px;
	}

	section h2 span {
		font-size: 10px;
	}

	section h3 {
		font-size: 19px;
	}

	section p.preface {
		font-size: 15px;
	}

	/* ----- お知らせ ----- */
	section .info {
		width: 100%;
		margin: 0 auto;
	}

	section .info h4 {
		font-size: 18px;
		margin-bottom: 10px;
	}

	section .info time {
		display: block;
		font-size: 12px;
		padding-bottom: 10px;
		font-weight: normal;
		color: #bbb;
	}

	/* 院内のご案内 */
	section ul.floorlist {
		width: 100%;
	}

	section ul.floorlist li {
		width: 31%;
		margin: 0 3.5% 0 0;
	}

	section ul.floorlist li figure img {
		width: 100%;
		border-radius: 5px;
	}

	section ul.floorlist li figure figcaption {
		font-size: 13px;
		margin-top: 10px;
		line-height: 1.7em;
	}

	/* 院長のご紹介　*/
	section .staff {
		margin: 0 auto 40px;
		width: 100%;
	}

	section .staff img {
		width: 40%;
		margin-right: 5%;
		border-radius: 5px;
	}

	section .staff .staff_profile {
		width: 55%;
		float: right;
	}

	section .staff h4 {
		font-size: 18px;
		padding: 0 0 10px;
	}

	section .staff h4 i {
		font-size: 12px;
	}

	section .staff h4 small {
		font-size: 11px;
		letter-spacing: 0.1em;
		margin-left: 15px;
		display: inline-block;
		font-family: 'Lato', sans-serif;
		font-weight: 400;
		color: #bbb;
	}

	section .staff dl {
		width: 100%;
		overflow: hidden;
		text-align: left;
		font-size: 14px;
	}

	section .staff dl dt {
		width: 20%;
	}

	section .staff dl dd {
		width: 80%;
	}

	section .staff dl ul li {
		margin-bottom: 7px;
	}

	/* ----- 施術について ----- */
	nav.sub-nav ul {
		width: 90%;
		margin: 0 auto 50px;
		display: table;
		table-layout: fixed;
		text-align: center;
		overflow: auto;
		border-collapse: separate;
  	border-spacing: 10px;
	}

	nav.sub-nav ul li {
		display: table-cell;
		vertical-align: middle;
		margin: 0;
		float: none;
		border-radius: 5px;
		background-color: #57BB61;
		overflow: hidden;
	}

	nav.sub-nav ul li a {
		line-height: 1.5em;
		width: 100%;
		display: block;
		font-size: 15px;
		margin: -4em 0;
		padding: 5em 0;
	}

	/* --- 施術のながれ --- */
	ol.flow {
		width: 100%;
		margin: 0 auto;
		font-size: 15px;
	}

	/* リスト項目 */
	ol.flow li {
	}

	/* 最後のリスト項目 */
	ol.flow li:last-child {
	}

	/* 囲み数字 */
	ol.flow li dl dt span {
		z-index: 1;
		margin: 0 10px 0 25px;
		font-family: 'Noto Sans Japanese', sans-serif;
	}

	/* 囲み数字の丸 */
	ol.flow li dl dt span:before{
	  left: -6px;
	  height: 23px;
	  width: 23px;
	}

	/* ボックス */
	ol.flow dl {
		border: 2px #57BB61 solid;
		border-radius: 7px;
	}

	/* タイトルエリア */
	ol.flow dl dt {
		font-size: 18px;
		margin-top: 20px;
	}

	/* 本文エリア */
	ol.flow li dl dd {
		margin: 0;
		width: 95%;
		padding: 15px 2.5% 20px;
		overflow: hidden;
	}
	ol.flow li dl dd img {
		width: 35%;
		float: left;
		border-radius: 5px;
	}

	ol.flow li dl dd p {
		width: 61%;
	}

	ol.flow li dl dd i {
		font-size: 13px;
	}

	/* --- 保険診療について --- */
	.insurance {
		margin-bottom: 50px;
	}

	.insurance ul.illust-slick1 {
		margin: 0 0 20px 0;
	}

	.insurance ul.illust-slick2 {
		margin: 0 0 20px 0;
	}

	.insurance .maintxt {
		float: left;
		width: 55%;
		margin-right: 5%;
		margin-bottom: 20px;
	}

	.insurance .maintxt p {
		margin-bottom: 15px;
	}

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

	.insurance .sidetxt {
		width: 35%;
		margin-top: 10px;
		padding: 13px 2%;
		border-radius: 5px;
	}

	.insurance .pointtxt {
		width: 35%;
		margin-bottom: 15px;
		padding: 13px 2%;
		border-radius: 5px;
	}

	.insurance h4 {
		font-size: 17px;
	}

	.insurance_notice {
		width: 90%;
		padding: 30px 4.5% 30px;
		margin: 0 auto;
		background-color: #FFF9DD;
		border-radius: 7px;
		border: 2px dotted #FFCA6C;
		text-align: center;
	}

	.insurance_notice ul {
		list-style-type: none;
		margin: 0 40px;
	}

	.insurance_notice ul li {
		font-size: 15px;
	}

	.insurance_notice p {
		font-size: 17px;
		margin: 20px auto 0;
	}

	/* ----- アクセス ----- */
	section .accessinfo {
		width: 100%;
	}

	section .accessinfo figure {
		width: 50%;
		float: left;
	}

	section .accessinfo figure img {
		width: 100%;
	}

	section .accessinfo dl {
		width: 45%;
	}

	section .accessinfo dl dd {
		margin-bottom: 15px;
	}

	section p.route {

	}

	/* ----- フッター ----- */
	footer {
		color: #fff;
		height: auto;
		width: 100%;
		padding-bottom: 40px;
		background-color: #53B25C;
		position: static;
	}

	footer #footer-contents {
		width: 100%;
		text-align: center;
	}

	#footer-contents .footer-info {
		padding: 0;
		width: 92%;
		margin: 0 4% 20px;
		overflow: hidden;
	}

	#footer-contents .footer-info h1 {
		font-size: 25px;
		margin-top: 0px;
	}

	#footer-contents .footer-info .tel {
		font-size: 24px;
	}

	#footer-contents .footer-info .tel i {
		font-size: 16px;
	}

	#footer-contents .footer-info address {
		font-size: 14px;
		margin: 10px 0 0;
	}

	#footer-contents .footer-info address small {
		font-size: 14px;
	}

	#footer-contents .footer-info .footer-t-info {
		float:left;
	}

	#footer-contents .footer-info table {
		margin: 0;
		float: right;
	}

	#footer-contents .footer-info table th, table td {
		font-size: 13px;
		padding: 4px 7px;
	}

	#footer-contents .footer-map {
		position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 400px;
		padding-top: 0px;
	}

	#footer-contents .footer-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	}

/***** そのうち消す
	#map-canvas {
		width: 100%;
	}
*****/

	#footer-contents .footer-map #gmap {
		width: 100%;
	}

	.copyright {
		font-size: 10px;
		height: 1em;
		line-height: 1;
		position: absolute;
		bottom: 15px;
		left: 0;
		right: 0;
	}

	.pagetop a:hover {
	  opacity: 1;
	}
}



/* ----- スマートフォン タテ用 ----- */
@media screen and (max-width:600px) {
	#wrapper {
		width: 100%;
		overflow: hidden;
	}

	a {
		color: #4BB055;
		text-decoration: underline;
		cursor: pointer;
		transition: 0.3s;
	}

	a:hover {
		text-decoration: none;
		opacity: 1;
	}

	p {
		font-size: 14px;
	}

	header {
		width: 100%;
		height: auto;
	}

	header h1 {
		padding-top: 30px;
	}

	header h1 img {
		width: 45%;
		height: auto;
	}

	header #head-info {
		position: static;
		margin: 35px auto 0;
		padding: 12px	0;
		width: 100%;
		text-align: center;
		font-size: 15px;
		background-color: #53B25C;
		color: #fff;
	}

	header #head-info .head-tel {
		font-size: 30px;
		line-height: 1.2em;
		letter-spacing: 0.05em;
		padding: 0 3px;
		margin-bottom: 5px;
		display: inline-block;
	}

	a[href^="tel:"] {
		pointer-events: auto;
		color: #fff;
		text-decoration: none;
		opacity: 1;
	}

	header #head-info i {
		font-size: 20px;
	}

	header nav#head-nav {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: #53B25C;
    text-align: left;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
		height: 100%;
	  display: flex;
  	justify-content: center;
  	align-items: center;
	}

	header nav#head-nav ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
	}

	header nav#head-nav ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
		border-left: none;
    text-align: left;
		padding-left: 40px;
		padding-bottom: 40px;
	}

	header nav#head-nav ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
	}

	header nav#head-nav ul li a {
    display: block;
    color: #53B25C;
	}

	header nav#head-nav ul li a strong {
		font-size: 23px;
		color: #fff;
	}

	header nav#head-nav ul li a span {
		color: #fff;
		display: inline;
		margin-left: 13px;
		font-size: 12px;
	}

	header nav#head-nav ul li a:hover { opacity: 1; }

	header nav#head-nav.active { transform: translateY(0%); }

	header .navToggle {
    display: block;
    position: fixed;
    right: 13px;
    top: 12px;
    width: 42px;
    height: 51px;
    cursor: pointer;
    z-index: 3;
    background-color: #53B25C;
    text-align: center;
	}

	header .navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #fff;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 6px;
	}

	header .navToggle span:nth-child(1) { top: 9px;	}

	header .navToggle span:nth-child(2) { top: 18px; }

	header .navToggle span:nth-child(3) { top: 27px; }

	header .navToggle span:nth-child(4) {
    border: none;
    color: #fff;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
	}

	header .navToggle.active span:nth-child(1) {
    top: 18px;
    left: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	}

	header .navToggle.active span:nth-child(2),
	header .navToggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	}

	#bg {
		max-height: 200px;
		background-color: #fff;
	}

	.topslide {
		width: 100%;
	}

	#catch {
		width: 100%;
		height: auto;
	}

	#catch img {
		width: 100%;
		height: auto;
	}

	#container {
		width: 100%;
		padding: 40px 0 50px;
	}

	#container section {
		margin: 0 20px 60px;
	}

	#container section:last-child {
		margin: 20px 20px 0px;
	}

	section h2 {
		font-size: 23px;
		margin-bottom: 30px;
		letter-spacing: 0.075em;
		padding: 0px 40px 2px;
	}

	section h3 {
		font-size: 20px;
		line-height: 1;
		padding-top: 0;
		padding-bottom: 40px;
	}

	section h3 span {
		border-bottom: solid 2px #57BB61;
		padding-bottom: 4px;
	}

	section p.preface {
		font-size: 15px;
		text-align: justify;
	}

	/* ----- トップ　お知らせ ----- */
	section dl.news {
		font-size: 14px;
		width: 100%;
	}

	section dl.news dt {
		width: 37%;
	}

	section dl.news dd {
		width: 63%;
	}

	/* ----- お知らせ ----- */
	section .info {
		width: 100%;
		margin: 10px auto 0;
		text-align: left;
	}

	section .info h4 {
		font-size: 16px;
		margin-bottom: 10px;
	}

	/* ----- 当院について ----- */
	/* 院内のご案内 */
	section ul.floorlist {
		width: 90%;
		margin: 0 auto 0;
	}

	section ul.floorlist li {
		float: none;
		padding: 0;
		width: 100%;
		margin: 0 50px 30px 0;

	}

	section ul.floorlist li:nth-child(3n) {
		margin-right: 0;
	}

	section ul.floorlist li figure img {
		border-radius: 7px;
		width: 100%;
	}

	section ul.floorlist li figure figcaption {
		font-size: 13px;
		margin-top: 8px;
		line-height: 1.5em;
	}

	/* スタッフ紹介　*/
	section .staff {
		margin: 0 auto 40px;
		width: 90%;
		overflow: hidden;
	}

	section .staff:last-child {
		margin: 0 auto 0;
	}

	section .staff img {
		width: 100%;
		margin-right: 0;
		border-radius: 7px;
	}

	section .staff .staff_profile {
		width: 100%;
		float: none;
		margin-top: 10px;
	}

	section .staff h4 {
		padding: 15px 0 7px;
		text-align: left;
	}

	section .staff h4 i {
		padding-bottom: 2px;
	}

	section .staff h4 small {
		font-size: 12px;
		letter-spacing: 0.1em;
		margin-left: 15px;
		display: inline-block;
		font-family: 'Lato', sans-serif;
		font-weight: 400;
	}

	section .staff dl {
		width: 100%;
		margin-left: 0px;
		font-size: 13px;
	}

	section .staff dl dt {
		width: 22%;
		padding: 5px 0;
	}

	section .staff dl dd {
		width: 78%;
		padding: 5px 0;
	}

	/* ----- 施術について ----- */
	nav.sub-nav ul {
		width: 90%;
		margin: 0 auto 50px;
		display: table;
		table-layout: fixed;
		text-align: center;
		overflow: auto;
		border-collapse: separate;
  	border-spacing: 10px;
	}

	nav.sub-nav ul li {
		display: table-cell;
		vertical-align: middle;
		margin: 0;
		float: none;
		border-radius: 5px;
		background-color: #57BB61;
		overflow: hidden;
	}

	nav.sub-nav ul li a {
		line-height: 1.5em;
		width: 100%;
		display: block;
		font-size: 15px;
		margin: -4em 0;
		padding: 5em 0;
	}


	/* --- 施術のながれ --- */
	ol.flow {
		width: 100%;
		font-size: 16px;
	}

	/* リスト項目 */
	ol.flow li {
		margin-bottom: 10px;
	}

	/* 囲み数字 */
	ol.flow li dl dt span {
		position: relative;
		color: #fff;
		z-index: 1;
		margin: 0 10px 0 37px;
	}

	/* 囲み数字の丸 */
	ol.flow li dl dt span:before{
		content: '';
	  display: block;
		position: absolute;
	  top: 3px;
	  left: -7px;
	  border-radius: 50%;
	  height: 25px;
	  width: 25px;
	  background-color: #57BB61;
		z-index: -1;
	}

	/* ボックス */
	ol.flow dl {
		border-radius: 7px;

	}

	/* タイトルエリア */
	ol.flow dl dt {
		font-size: 18px;
		margin-top: 20px;
	}

	/* タイトル */
	ol.flow dt strong {
	}

	/* 本文エリア */
	ol.flow li dl dd img {
		width: 100%;
		float: none;
		border-radius: 5px;
	}

	ol.flow li dl dd {
		margin: 0;
		padding: 10px 30px 20px;
		overflow: hidden;
	}

	ol.flow li dl dd p {
		width: 100%;
		font-size: 14px;
		float: none;
		margin-top: 10px;
		line-height: 1.75em;
	}

	ol.flow li dl dd em {
	}

	ol.flow li dl dd i {
		font-size: 13px;
	}

	/* --- 保険診療について --- */
	.insurance {
		margin-bottom: 70px;
	}

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

	.insurance p {
		font-size: 14px;
		margin-bottom: 15px;
	}

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

	.insurance p em {
		font-weight: bold;
		font-style: normal;
		background: linear-gradient(transparent 80%, #FFDB44 70%);
	}

	.insurance ul.illust-slick1 {
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	.insurance ul.illust-slick1 {
		text-align: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.insurance ul.illust-slick1 li.is1 {
		padding: 0 0 35px 0;
		margin: 0 auto;
		font-size: 15px;
		font-weight: bold;
		text-align: center;
	}

	.insurance ul.illust-slick1 li.is1:last-child {
		margin-right: 0;
	}

	.insurance ul.illust-slick1 li.is1 img {
		margin-bottom: 10px;
		width: 80%;
		height: auto;
	}

	.insurance ul.illust-slick2 {
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	.insurance ul.illust-slick2 {
		text-align: center;
		width: 100%;
		margin-bottom: 20px;
	}

	.insurance ul.illust-slick2 li.is2 {
		padding: 0 0 35px 0;
		margin: 0 auto;
		font-size: 15px;
		font-weight: bold;
		text-align: center;
	}

	.insurance ul.illust-slick2 li.is2:last-child {
		margin-right: 0;
	}

	.insurance ul.illust-slick2 li.is2 img {
		margin-bottom: 10px;
		width: 80%;
		height: auto;
	}

	.insurance .maintxt {
		float: none;
		width: 100%;
		margin-right: 0px;
	}

	.insurance .maintxt p {
		margin-bottom: 15px;
	}

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

	.insurance .sidetxt {
		width: 88%;
		padding: 17px 5%;
		float: none;
	}

	.insurance .sidetxt p {
		color: #42AA4C;
		line-height: 1.75em;
	}

	.insurance .pointtxt {
		width: 88%;
		margin-bottom: 20px;
		padding: 20px 5%;
		float: none;
	}

	.insurance .pointtxt p {
		color: #e64949;
		line-height: 1.75em;
	}

	.insurance h4 {
		text-align: left;
		font-weight: 500;
		letter-spacing: 0.05em;
		font-size: 18px;
		line-height: 1em;
		margin-bottom: 20px;
		color: #4BB055;
	}

	.insurance_notice {
		width: 88%;
		padding: 30px 5% 25px;
		margin: 0 auto;
		background-color: #FFF9DD;
	}

	.insurance_notice ul {
		list-style-type: none;
		margin: 0 10px;
	}

	.insurance_notice ul li {
		line-height: 1.75em;
		font-size: 15px;
	  padding: 0 0 0 1em;
		margin-bottom: 20px;
	}

	.insurance_notice ul li:last-child {
		margin-bottom: 0px;
	}

	.insurance_notice ul li:before {
	  content: "●";
		padding-right: 0.5em;
	  color: #FFCA6C;
	}

	.insurance_notice p {
		display: inline-block;
		font-size: 17px;
		margin: 25px auto 0;
		padding: 0;
		text-align: left;
		border-bottom: none;
	}

	.insurance_accident {
		text-align: justify;
	}

	.insurance_accident em {
		font-weight: bold;
		font-style: normal;
		background: linear-gradient(transparent 80%, #FFDB44 70%);
	}

	/* ----- アクセス ----- */
	section .accessinfo {
		overflow: auto;
	}

	section .accessinfo figure {
		float: none;
	}

	section .accessinfo figure img {
		width: 100%;
	}

	section .accessinfo dl {
		float: none;
		width: 100%;
		margin-top: 20px;
	}

	section .accessinfo dl dt {
	}

	section .accessinfo dl dd {
		margin-bottom: 10px;
	}

	section p.route {
		text-align: left;
	}

	/* ----- フッター ----- */
	footer {
		color: #fff;
		height: auto;
		width: 100%;
		padding-bottom: 50px;
		background-color: #53B25C;
		position: static;
	}

	footer #footer-contents {
		width: 100%;
	}

	#footer-contents .footer-info {
		padding: 0 20px 30px 20px;
	}

	#footer-contents .footer-info h1 {
		font-size: 25px;
	}

	#footer-contents .footer-info .tel {
		font-size: 24px;
	}

	#footer-contents .footer-info .tel i {
		font-size: 16px;
	}

	#footer-contents .footer-info address {
		font-size: 14px;
		margin: 20px 0;
	}

	#footer-contents .footer-info address small {
		font-size: 14px;
	}

	#footer-contents .footer-info table {
		margin-bottom: 15px;
	}

	#footer-contents .footer-info table th, table td {
		font-size: 13px;
		padding: 4px 9px;
	}

	#footer-contents .footer-map {
		position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 450px;
		padding-top: 0;
	}

	#footer-contents .footer-map #gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	}

	#footer-contents .footer-map #gmap {
		width: 100%;
		height: 300px;
	}

	.copyright {
		font-size: 10px;
		height: 1em;
		line-height: 1;
		position: absolute;
		bottom: 20px;
		left: 0;
		right: 0;
	}

	.pagetop a:hover {
	  opacity: 1;
	}
}
