@charset "utf-8";
/*//////////////////////////////////////////////////////////

Copyright (C) apricot-design All Rights Reserved.
------------------------------------------------------------
CSS information
 file name  :  layout.css
 style info :  レイアウトファイル
 admin info :  apricot-design

//////////////////////////////////////////////////////////*/

/*
0:Base
------------------------------------------------------------
*/
body {
	font-family: Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	color: #666;
	font-size: 14px;
	line-height: 170%;
	text-align: left;
	letter-spacing: -0.001em;
	/* iOS4でのテキストの隙間への対応 */
	-webkit-text-size-adjust: 100%;
	/* 文字サイズの自動調整機能のキャンセル */
}

.win body {
	font-family: Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}

a,
a:link,
a:active,
a:visited {
	text-decoration: none;
	color: #666;
	transition: 0.5s;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
}

a:hover {
	color: #009BC1;
}

a:focus {
	outline: none;
}

a:hover,
a:active {
	outline: 0;
}

.opacity:hover {
	-moz-opacity: 0.7;
	-ms-opacity: 0.7;
	-webkit-opacity: 0.7;
	opacity: 0.7;
}

img {
	vertical-align: top;
}

/*
1:Base
------------------------------------------------------------
*/
#containerWrap {
	min-width: 950px;
}

#container {
	overflow: hidden;
	margin: 0 auto 3em;
	width: 950px;
}

#content {
	padding: 0px;
	clear: both;
	overflow: hidden;
	margin: 0 auto;
	width: 950px;
}

#main {
	float: right;
	width: 690px;
}

#sub {
	float: left;
	width: 230px;
}

#breadcrumbList {
	margin-bottom: 15px;
	font-size: 100%;
}

.wp-pagenavi {
	clear: both;
	padding: 15px 0 !important;
}

.secound {
	clear: both;
	width: 950px;
	margin: 0 auto;
	height: 90px;
	background: url(../images/secoundBg.png) no-repeat 0 0;
	padding-bottom: 25px;
}

.section {
	margin-bottom: 2em;
	clear: both;
	overflow: hidden;
}

.sectionC {
	margin-bottom: 2em;
	clear: both;
	overflow: hidden;
	text-align: center;
}

.leftCol {
	float: left;
	padding: 10px;
	width: 265px;
}

.rightCol {
	float: right;
	padding: 10px;
	width: 380px;
}

.leftBox {
	float: left;
	margin: 0;
	width: 200px;
}

.rightBox {
	width: 430px;
	float: right;
	margin: 0;
}

.ate {
	padding: 15px;
	border: 1px dotted #1d1d1d;
}

.box {
	padding: 15px;
	background: #F7F7F7;
}

.mainImg {
	width: 100%;
	margin: 0px auto 20px;
}

article {
	background-color: #fff;
	padding-bottom: 2em;
}

/*
2:h_tag
------------------------------------------------------------
*/
h2.mainTi {
	text-indent: -9999px;
	height: 0;
	width: 0;
}

h2.mainTiblog {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	display: block;
	height: 50px;
	background: url(../images/h3.png) no-repeat;
	/* margin-bottom: 15px; */
	letter-spacing: 5px;
	font-size: 138.5%;
	font-weight: bold;
	padding: 18px 0px 5px 30px;
}

h2.addTi {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	display: block;
	margin-bottom: 20px;
	letter-spacing: 5px;
	font-size: 138.5%;
	font-weight: bold;
	color: #316745;
	padding: 10px 0px 10px 30px;
	background: url(../images/navBg.png) repeat-x 0 0;
	border-bottom: #316745 2px solid;
}

h3.mainTi {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	display: block;
	height: 50px;
	background: url(../images/h3.png) no-repeat;
	margin-bottom: 20px;
	letter-spacing: 5px;
	font-size: 138.5%;
	font-weight: bold;
	color: #316745;
	padding: 18px 0px 5px 30px;
}

h3.subTi {
	font-weight: bold;
	font-size: 131%;
	margin-bottom: 15px;
}

h4.mainTi {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	background: url(../images/h4.png) no-repeat bottom;
	padding: 5px 0;
	text-align: left;
	font-weight: bold;
	letter-spacing: 5px;
	color: #316745;
	font-size: 123.1%;
	margin-bottom: 15px;
	overflow: hidden;
}

h4.subTi {
	font-weight: bold;
	font-size: 116%;
}

h5.subTi {
	margin-bottom: 15px;
	padding-left: 10px;
	font-family: "ＭＳＰ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	color: #316745;
	border-left: 5px solid #316745;
	letter-spacing: 5px;
	font-size: 115%;
	font-weight: bold;
	overflow: hidden;
}

h6.subTi {
	margin-bottom: 10px;
	padding-left: 18px;
	font-family: "ＭＳＰ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	letter-spacing: 2px;
	font-size: 110%;
	font-weight: bold;
	overflow: hidden;
	position: relative;
}

h6.subTi:before {
	content: "";
	width: 10px;
	height: 10px;
	background-color: #316745;
	border-radius: 100px;
	position: absolute;
	top: 7px;
	left: 0;
}

/*
3:Common style
------------------------------------------------------------
*/
.alignleft {
	float: left;
	padding: 0 15px 15px 0;
}

.alignright {
	float: right;
	padding: 0 0 15px 15px;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

.photoL {
	float: left;
	padding: 0 15px 15px 0;
}

.photoL_frame {
	background: #fff;
	box-shadow: 1px 1px 5px 3px #ccc;
	float: left;
	padding: 5px;
	margin-right: 15px;
	margin-bottom: 15px;
	border: 1px solid #ededed;
}

.photoL p {
	overflow: auto;
}

.photoR {
	float: right;
	padding: 0 0 15px 15px;
}

.photoR_frame {
	background: #fff;
	box-shadow: 1px 3px 5px 1px #ccc;
	float: right;
	padding: 5px;
	margin-left: 15px;
	margin-right: 5px;
	margin-bottom: 15px;
	border: 1px solid #ededed;
}

.photo_frame {
	background: #fff;
	box-shadow: 1px 1px 5px 3px #ccc;
	padding: 5px;
	margin-right: 15px;
	margin-bottom: 15px;
	border: 1px solid #ededed;
}

.photoR p {
	overflow: auto;
}

.photoL_frame.mb00,
.photoR_frame.mb00,
.photo_frame.mb00 {
	margin-bottom: 0;
}

.day {
	line-height: 1.4em;
	font-family: 'Economica';
}

.map {
	padding-bottom: 15px;
}

.btn {
	padding: 10px 0;
}

.tel {
	font-size: 124%;
	color: #111;
}

.name {
	font-size: 1.3em;
	font-weight: bold;
	padding-bottom: px;
}

.date {
	letter-spacing: 2px;
	margin-bottom: 10px;
}

.disc {
	padding-bottom: 0px;
	font-size: 93%;
	line-height: 1.6em;
}

.more {
	float: right;
	padding: 10px 15px;
	text-align: center;
}

.more a {}

.more a:hover {}

.btn {
	float: right;
	padding: 10px 0;
}

.hr {
	clear: both;
	height: 1px;
	margin: 1em 0;
	border-top: #999 1px dotted;
}

.bold {
	font-weight: bold;
	font-size: 108%;
	padding-bottom: 10px;
}

.priceMini {
	font-size: 77%;
	text-align: right;
}

.imgTi {
	margin-bottom: 15px;
}

.imgTi0 {
	margin-bottom: 0px;
}

.imgTi5 {
	padding-bottom: 5px;
}

.imgTi10 {
	padding-bottom: 10px;
}

.imgTi15 {
	padding-bottom: 15px;
}

.imgTi20 {
	padding-bottom: 20px;
}

.taR {
	display: block;
	text-align: right !important;
}

.mb00 {
	margin-bottom: 0 !important;
}

.pt10 {
	padding-top: 10px !important;
}

figure.full {
	text-align: center;
}

.onlyPC {
	display: block !important;
}

.onlySP {
	display: none !important;
}

/*
4:Header
------------------------------------------------------------
*/
h1,
.headerName {
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 86%;
	color: #006229;
}

header {
	width: 950px;
	margin: 0 auto;
	text-align: left;
	height: 135px;
	overflow: hidden;
	margin-bottom: 20px;
	position: relative;
}

#headerLeft {
	float: left;
	margin-top: 0px;
	width: 580px;
}

#headerRight {
	float: right;
	margin-top: 55px;
	text-align: left;
	width: 320px;
	background: url(../images/headerBnrBg.png) no-repeat center right;
	padding-top: 10px;
}

.logo {
	text-align: left;
}

ul.hNavi {
	margin-bottom: 25px;
}

ul.hNavi li {
	display: inline;
	padding-right: 5px;
	padding-left: 5px;
	font-size: 85%;
	border-left: 1px solid #999;
	padding-left: 10px;
	padding-right: 10px;
}

ul.hNavi li a {
	color: #999;
}

ul.hNavi li.firstChild {}

ul.hNavi li.lastChild {
	border-right: 1px solid #999;
}

nav {
	border-top: #000 solid 1px;
	border-bottom: #000 solid 1px;
	margin-bottom: 15px;
	background: url(../images/navBg.png) repeat-x 0 0;
	height: 60px;
}

#gnavi {
	width: 950px;
	margin: 0px auto;
	clear: both;
	text-align: center;
	height: 36px;
	padding: 15px 0 0 117px;
}

#gnavi li {
	float: left;
}

#gnavi li a:hover {}

.webBtn {
	position: absolute;
	top: 70px;
	left: 430px;
}

/*
5:Common table
------------------------------------------------------------
*/
.basicTable {
	margin-bottom: 2em;
	width: 100%;
	border: 1px #E3E3E3 solid;
}

.basicTable th {
	padding: 3%;
	width: 34%;
	border: #E3E3E3 solid 1px;
	background: #F5F5F5;
	font-weight: bold;
	text-align: left;
}

.basicTable td {
	padding: 3%;
	width: 54%;
	border: 1px #E3E3E3 solid;
	text-align: left;
	vertical-align: top;
}

.basicTable2 {
	margin-bottom: 2em;
	width: 100%;
	border: 1px #E3E3E3 solid;
}

.basicTable2 th {
	padding: 3%;
	width: 34%;
	border-bottom: 3px #E3E3E3 solid;
	font-weight: bold;
	text-align: left;
}

.basicTable2 td {
	padding: 3%;
	width: 54%;
	border-bottom: 1px #E3E3E3 solid;
	text-align: left;
	vertical-align: top;
}

.basicTable3 {
	margin-bottom: 2em;
	width: 100%;
	border: 1px #E3E3E3 solid;
}

.basicTable3 th {
	padding: 3%;
	width: 19%;
	border-bottom: 3px #E3E3E3 solid;
	font-weight: bold;
	text-align: left;
}

.basicTable3 td {
	padding: 3%;
	width: 34%;
	border-bottom: 1px #E3E3E3 solid;
	text-align: left;
	vertical-align: top;
}

table.menuTable {
	margin-bottom: 2em;
}

table.menuTable th {
	padding: 3%;
	width: 24%
}

table.menuTable td {
	padding: 3%;
	width: 14%;
}

/*
6:Common UL
------------------------------------------------------------
*/
ul.bnrList {
	margin-bottom: 2em;
}

ul.bnrList li {
	padding-bottom: 10px;
}

ul.menu {}

ul.menu li a {
	width: 175px;
	padding: 8px 15px 8px 20px;
	background: url(../images/side_migi.png) no-repeat 2px 13px;
	display: block;
	background-size: 12px;
	margin-top: -1px;
	font-size: 93%;
}

ul.menu li a:hover {
	color: #3fa086;
}

ul.linkList {
	float: right;
}

ul.linkList li {
	background: #F0F5DC;
}

ul.linkList li a {
	width: 125px;
	padding: 8px 15px 8px 45px;
	background: url(../images/side_migi.png) no-repeat 20px 13px;
	display: block;
	background-size: 12px;
	margin-top: -1px;
}

ul.linkList li a:hover {
	color: #3fa086;
}

ul.blogList li {
	padding-bottom: 8px;
	border-bottom: 1px dotted #666;
	margin-bottom: 8px;
	padding-left: 10px;
	background: url(migi2.gif) no-repeat 0px 6px;
}

ul.infoList li {
	padding-bottom: 10px;
	padding-left: 15px;
	margin-bottom: 15px;
	background: url(../css/migi.png) no-repeat 0 50%;
	background-size: 6px;
	border-bottom: 1px dotted #604c3f;
}

ul.infoList li p {
	font-size: 1.0em;
	margin-bottom: 0px;
}

ul.infoList li p .blogDate {
	display: block;
	color: #aaa;
	font-size: 12px;
}

ul.basicList {
	margin-bottom: 2em;
}

ul.basicList li {
	padding: 0 0 5px 15px;
	background: url(../images/migi.png) no-repeat 0 5px;
	margin-bottom: 5px;
}

ul.photo {
	clear: both;
	width: 742px;
	margin-right: -22px;
}

ul.photo li {
	float: left;
	margin-right: 22px;
	margin-bottom: 20px;
	width: 225px;
}

ul.photo li img {
	width: 225px;
	height: auto;
}

ul.pager {
	width: 100%;
	height: auto;
	font-size: 1em;
}

ul.pager li {
	float: left;
}

ul.pager li.middle {
	background: #f1f1f1;
	color: #000;
	width: 100%;
	padding: 20px 0;
	text-align: center;
	margin-bottom: 20px;
}

ul.pager li.first {
	background: #f6f6f6 url(../images/back.png) no-repeat 5% 48%;
	background-size: 10px;
	padding: 20px 1% 20px 5%;
	width: 44%;
	text-align: left;
	color: #000;
}

ul.pager li.last {
	background: #f6f6f6 url(../images/next.png) no-repeat 95% 48%;
	background-size: 10px;
	padding: 20px 5% 20px 1%;
	width: 44%;
	text-align: right;
	color: #000;
}

/*
7:Common DL
------------------------------------------------------------
*/
dl.basicList {
	marin-bottom: 2em;
	width: 100%;
}

dl.basicList dt {
	clear: left;
	float: left;
	margin: 0 0 0.8em;
	width: 12.5em;
	border-left: solid 2px #CCC;
	padding-left: 5px;
	overflow: hidden;
	color: #000;
}

dl.basicList dd {
	margin-bottom: 0.8em;
	margin-left: 12.5em;
	overflow: hidden;
}

dl.menuList {
	width: 265px;
	height: 240px;
}

dl.menuList dt {
	width: 265px;
	padding-bottom: 5px;
}

dl.menuList dd {
	width: 265px;
	padding-bottom: 15px;
	text-align: left;
	line-height: 1.6em;
}

/*
8:top
------------------------------------------------------------
*/
#topMain {
	width: 950px;
	overflow: hidden;
	margin-bottom: 20px;
}

ul.topMenu {
	clear: both;
	margin-right: -40px;
}

ul.topMenu li {
	width: 290px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-khtml-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	background: #FCF5DE;
	display: block;
	float: left;
	margin-right: 40px;
	margin-bottom: 30px;
}

ul.topMenu li a {
	display: block;
	overflow: hidden;
}

ul.topMenu img.menuImg {
	padding-left: 11px;
	padding-top: 15px;
	padding-bottom: 5px;
}

ul.topMenu li dl,
ul.topMenu p {
	padding: 10px 10px 20px 10px;
}

ul.topMenu li h3 {
	padding: 10px 10px 0 10px;
}

ul.topMenu li dl dt {
	margin-bottom: 10px;
}

.topmenuBox {
	margin-bottom: 15px;
}

.topmenuBox>.topMenu {
	overflow: hidden;
}

/*
infoWrap
------------------------------------------------------------*/

#infoWrap {
	padding: 10px 0 25px 0;
	width: 950px;
	margin: 30px auto 0;
	font-size: 108%;
	line-height: 2.2em;
	overflow: hidden;
}

#infoWrap #infoBox {
	border: 3px solid #FFD02C;
	padding: 40px 30px 30px;
}

#infoWrap #infoBox h4 {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 138.5%;
	font-weight: bold;
	color: #316745;
	text-align: center;
	padding: 0 0 10px 0;
}

#infoWrap #infoBox a {
	display: inline-block;
	margin: 20px 190px 0;
	pointer-events: auto;
}

#infoWrap #infoBox a:hover {
	opacity: 0.8;
}

#infoBox2 {
	/*     margin: 2em 0;
    text-align: center; */
	width: 950px;
	margin: 80px auto 55px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
}

#infoBox2 figure {
	width: 45%;
	margin: 0 auto;
}

#infoBox2 figure img {
	width: 100%;
	text-align: center;
}

#infoBox2 figure:last-child {
	/*     margin-bottom: 0; */
}

#topMain {}

.messageWrap {
	background: url(../images/topBg.png) no-repeat;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	-o-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	width: 100%;
}

.addMessage {
	position: relative;
}

.addMessage span.addMessageimg {
	position: absolute;
	top: 60px;
	left: 373px;
}

.message {
	padding: 40px 0;
	width: 950px;
	margin: 0 auto 30px;
	font-size: 108%;
	line-height: 2.2em;
	overflow: hidden;
}

.messageTi {
	margin-bottom: 30px;
}

.messageTi span {
	margin-top: 20px;
	margin-left: 25px;
	display: inline-block;
}

.message .bnr {
	display: flex;
	justify-content: center;
	margin-top: 30px;
	transition: 0.3s;
}

.message .bnr:hover {
	opacity: 0.7;
}

.addTxt {
	margin-bottom: 20px;
}

#addTxtbox {
	padding: 10px 0 25px 0;
	width: 950px;
	margin: 0 auto;
	font-size: 108%;
	line-height: 2.2em;
	overflow: hidden;
}

#addTxtbox h1 {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 138.5%;
	font-weight: bold;
	color: #316745;
	padding: 0 0 10px 0;
}

#addTxtbox p {
	line-height: 170%;
}

/*
9:side
------------------------------------------------------------
*/
.sideSection {
	width: 210px;
	margin-bottom: 20px;
	padding: 20px 10px 20px;
	background: #F4F4F4;
	overflow: hidden;
}

.sideSection2 {
	width: 210px;
	margin-bottom: 20px;
	padding: 5px 10px 20px 10px;
	background: #F4F4F4;
	overflow: hidden;
}

.sideContact {
	text-align: center;
	padding: 10px 10px 20px;
	background: #F4F4F4;
	margin-bottom: 20px;
}

/*
10:Footer
------------------------------------------------------------
*/
#footerWrap {
	clear: both;
	width: 100%;
	text-align: center;
	border-top: 5px solid #FFD12A;
}

#footer {
	text-align: left;
	font-size: 93%;
	letter-spacing: 0;
	width: 950px;
	overflow: hidden;
	margin: 0 auto;
}

#footer h4,
#footer .footerName {
	color: #006229;
	padding: 0 0 3px 20px;
	margin-bottom: 30px;
	font-size: 86%;
	background: url(../images/footerTop.png) no-repeat 0 -10px;
}

#footer p {
	color: #FFF;
}

.footerBox {
	width: 100%;
	overflow: hidden;
	margin-bottom: 25px;
}

.footerLeft {
	float: left;
	width: 400px;
}

.footerLeftChild {
	float: left;
	width: 400px;
	border-bottom: 1px solid #3f3f3f;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

dl.fTel {
	border-top: 1px solid #3f3f3f;
	padding-top: 10px;
}

dl.fTel dt {
	padding: 5px;
	float: left;
}

dl.fTel dd {
	width: 244px;
	padding: 5px 5px 5px 145px;
}

.footerRight {
	float: right;
	width: 515px;
	padding-left: 35px;
}

ul.fList {
	width: 100%;
}

ul.fList li {
	float: left;
	width: 160px;
	margin-right: 20px;
}

ul.fList li.secondChild {
	width: 140px;
}

ul.fList li.lastChild {
	width: 140px;
	margin-right: 0px;
}

ul.fList li ul li {
	width: 150px;
	background: url(../images/migi.png) no-repeat 0 8px;
	background-size: 5px auto;
	padding-left: 15px;
	padding-bottom: 5px;
}

ul.fList li ul li a,
ul.fList li ul li a:visited,
ul.fList li ul li a:active {
	color: #3f3f3f;
}

ul.fList li ul li a:hover {
	color: #3fa086;
}

.copy {
	clear: both;
	color: #006229;
	background: #FFD12A;
	text-align: center;
	padding: 10px 0;
	font-size: 93%;
	min-width: 950px;
}

.qr {
	text-align: right;
	width: 80px;
	height: 80px;
	float: right;
}

/*
11:option/contactform
------------------------------------------------------------
*/
table.contactform {
	margin-bottom: 2em;
	width: 100%;
	border: 1px #E3E3E3 solid;
}

table.contactform th {
	padding: 8px;
	width: 35%;
	border: #E3E3E3 solid;
	border-width: 0 0 1px 1px;
	background: #F5F5F5;
	font-weight: bold;
	text-align: left;
}

table.contactform td {
	padding: 8px;
	width: 60%;
	border: 1px #E3E3E3 solid;
	border-width: 0 0 1px 1px;
	text-align: left;
	vertical-align: top;
}

ul.contactform li {
	float: left;
}

.wpcf7-textarea {
	width: 90%;
}

.wpcf7-text {
	width: 60%;
}

.zip1 {
	width: 60px;
}

.zip2 {
	width: 100px;
}

.formtel {
	width: 100px;
	height: 16px;
}

.wpcf7-form-control wpcf7-text zip {
	width: 30%;
}

.addr {
	width: 90%;
}

.contactformsubmit {
	text-align: center;
	height: 30px;
}

/*
12:option/wordpress
------------------------------------------------------------
*/
.widget_search {
	background: #FFF;
	margin-bottom: 20px;
	padding: 15px;
	text-align: center;
}

h3.widget-title {
	margin-bottom: 10px;
	padding: 5px;
	font-size: 100%;
	background: #000;
	color: #FFF;
}

.sideSectionw ul {
	margin-bottom: 20px;
}

.sideSectionw ul li {
	padding-bottom: 8px;
	padding-left: 15px;
	margin-bottom: 8px;
	background: url(migi1.gif) no-repeat 0 5px;
	border-bottom: 1px dotted #604c3f;
}

/*
14:original
------------------------------------------------------------
*/
.ListBoxWrap {
	background: url(../images/topMainBg.png) no-repeat;
	padding-top: 15px;
}

dl.listBox {
	overflow: hidden;
}

dl.listBox dd {
	float: right;
	width: 625px;
	padding: 10px 0;
}

li.listBox p {
	float: right;
	width: 625px;
	padding: 10px 0;
	margin-bottom: 0;
}

dl.listBox dd img,
li.listBox p img {
	margin-bottom: 10px;
}

dl.listBox dd a:link,
li.listBox a:link {
	text-decoration: underline;
}

strong {
	color: #316745;
}

div.stepList_wrapper,
div.pointList_wrapper {
	background: #fffaf0;
	border-radius: 10px;
}

div.stepList_wrapper h5,
div.pointList_wrapper h5 {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-weight: bold;
}

dl.stepList1,
dl.stepList2,
dl.stepList3,
dl.stepList4,
dl.stepList5,
dl.stepList6,
dl.stepList7,
dl.stepList8,
dl.stepList9,
dl.stepList10 {
	padding: 20px 20px 5px;
	overflow: hidden;
	margin-bottom: 20px;
}

dl.stepList1 dt,
dl.stepList2 dt,
dl.stepList3 dt,
dl.stepList4 dt,
dl.stepList5 dt,
dl.stepList6 dt,
dl.stepList7 dt,
dl.stepList8 dt,
dl.stepList9 dt,
dl.stepList10 dt {
	float: left;
	color: #91AD2D;
	margin-right: 0px;
	padding-left: 110px;
	font-size: 150%;
	display: block;
	width: 220px;
}

dl.stepList1 dd,
dl.stepList2 dd,
dl.stepList3 dd,
dl.stepList4 dd,
dl.stepList5 dd,
dl.stepList6 dd,
dl.stepList7 dd,
dl.stepList8 dd,
dl.stepList9 dd,
dl.stepList10 dd {
	float: left;
	width: 320px;
}

dl.stepList1 dd p,
dl.stepList2 dd p,
dl.stepList3 dd p,
dl.stepList4 dd p,
dl.stepList5 dd p,
dl.stepList6 dd p,
dl.stepList7 dd p,
dl.stepList8 dd p,
dl.stepList9 dd p,
dl.stepList10 dd p {
	display: block;
	margin-bottom: 10px;
}

dl.stepList1 dd h4,
dl.stepList2 dd h4,
dl.stepList3 dd h4,
dl.stepList4 dd h4,
dl.stepList5 dd h4,
dl.stepList6 dd h4,
dl.stepList7 dd h4,
dl.stepList8 dd h4,
dl.stepList9 dd h4,
dl.stepList10 dd h4 {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 120%;
	color: #316745;
	font-weight: bold;
	margin-bottom: 10px;
}

dl.stepList1 dt {
	background: url('../images/icon_steps_01.png') no-repeat;
}

dl.stepList2 dt {
	background: url('../images/icon_steps_02.png') no-repeat;
}

dl.stepList3 dt {
	background: url('../images/icon_steps_03.png') no-repeat;
}

dl.stepList4 dt {
	background: url('../images/icon_steps_04.png') no-repeat;
}

dl.stepList5 dt {
	background: url('../images/icon_steps_05.png') no-repeat;
}

dl.stepList6 dt {
	background: url('../images/icon_steps_06.png') no-repeat;
}

dl.stepList7 dt {
	background: url('../images/icon_steps_07.png') no-repeat;
}

dl.stepList8 dt {
	background: url('../images/icon_steps_08.png') no-repeat;
}

dl.stepList9 dt {
	background: url('../images/icon_steps_09.png') no-repeat;
}

dl.stepList10 dt {
	background: url('../images/icon_steps_10.png') no-repeat;
}

div.pointList_wrapper {
	background: #ffffe0;
	border-radius: 10px;
}

dl.pointList1,
dl.pointList2,
dl.pointList3,
dl.pointList4,
dl.pointList5,
dl.pointList6,
dl.pointList7,
dl.pointList8,
dl.pointList9,
dl.pointList10 {
	padding: 20px 20px 5px;
	overflow: hidden;
	margin-bottom: 20px;
}

dl.pointList1 dt,
dl.pointList2 dt,
dl.pointList3 dt,
dl.pointList4 dt,
dl.pointList5 dt,
dl.pointList6 dt,
dl.pointList7 dt,
dl.pointList8 dt,
dl.pointList9 dt,
dl.pointList10 dt {
	float: left;
	color: #91AD2D;
	margin-right: 20px;
	padding-left: 110px;
	font-size: 150%;
	display: block;
	width: 220px;
}

dl.pointList1 dd,
dl.pointList2 dd,
dl.pointList3 dd,
dl.pointList4 dd,
dl.pointList5 dd,
dl.pointList6 dd,
dl.pointList7 dd,
dl.pointList8 dd,
dl.pointList9 dd,
dl.pointList10 dd {
	float: left;
	width: 380px;
}

dl.pointList1 dd p,
dl.pointList2 dd p,
dl.pointList3 dd p,
dl.pointList4 dd p,
dl.pointList5 dd p,
dl.pointList6 dd p,
dl.pointList7 dd p,
dl.pointList8 dd p,
dl.pointList9 dd p,
dl.pointList10 dd p {
	display: block;
	margin-bottom: 10px;
}

dl.pointList1 dd h4,
dl.pointList2 dd h4,
dl.pointList3 dd h4,
dl.pointList4 dd h4,
dl.pointList5 dd h4,
dl.pointList6 dd h4,
dl.pointList7 dd h4,
dl.pointList8 dd h4,
dl.pointList9 dd h4,
dl.pointList10 dd h4 {
	font-size: 120%;
	color: #91AD2D;
	font-weight: bold;
	border-left: 4px solid #91AD2D;
	padding-left: 10px;
	margin-bottom: 10px;
}

dl.pointList1 dt {
	background: url('../images/icon_point_01.png') no-repeat;
}

dl.pointList2 dt {
	background: url('../images/icon_point_02.png') no-repeat;
}

dl.pointList3 dt {
	background: url('../images/icon_point_03.png') no-repeat;
}

dl.pointList4 dt {
	background: url('../images/icon_point_04.png') no-repeat;
}

dl.pointList5 dt {
	background: url('../images/icon_point_05.png') no-repeat;
}

dl.pointList6 dt {
	background: url('../images/icon_point_06.png') no-repeat;
}

dl.pointList7 dt {
	background: url('../images/icon_point_07.png') no-repeat;
}

dl.pointList8 dt {
	background: url('../images/icon_point_08.png') no-repeat;
}

dl.pointList9 dt {
	background: url('../images/icon_point_09.png') no-repeat;
}

dl.pointList10 dt {
	background: url('../images/icon_point_10.png') no-repeat;
}

table.staffTable {
	width: 400px;
	font-size: 86%;
	margin-bottom: 2em;
}

table.staffTable caption {
	color: #316745;
	border-bottom: #316745 2px solid;
	font-size: 120%;
	font-weight: bold;
}

table.staffTable th {
	padding: 3%;
	width: 19%;
	border-bottom: 1px #ccc solid;
	font-weight: bold;
	text-align: left;
}

table.staffTable td {
	padding: 3%;
	width: 34%;
	border-bottom: 1px #ccc solid;
	text-align: left;
	vertical-align: top;
}

table.recTable {
	width: 700px;
	font-size: 86%;
	margin: 0 auto;
	margin-bottom: 2em;
}

table.recTable caption {
	color: #316745;
	padding: 5px;
	border-bottom: #316745 2px solid;
	font-size: 120%;
	font-weight: bold;
}

table.recTable th {
	padding: 3%;
	width: 19%;
	border-bottom: 1px #ccc solid;
	font-weight: bold;
	text-align: left;
}

table.recTable td {
	padding: 3%;
	width: 34%;
	border-bottom: 1px #ccc solid;
	text-align: left;
	vertical-align: top;
}

.section p {
	margin-bottom: 15px;
}

.clear {
	clear: both;
}

p.concept {
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 160%;
	line-height: 160%;
	color: #316745;
	text-align: center;
}

ul.blogList2 {
	overflow: hidden;
	padding: 25px;
}

ul.blogList2 li {
	width: 220px;
	padding-bottom: 8px;
	margin-bottom: 8px;
	margin-right: 35px;
	float: left;
}

ul.blogList2 li.lastChild {
	margin-right: 0;
}

ul.blogList2 h4,
ul.blogList2 h4 a {
	margin-top: 10px;
	color: #91AD2D;
	font-weight: bold;

}

.section2 {
	margin-bottom: 0.8em;
	clear: both;
	overflow: hidden;
}

ul.way {}

ul.way li {
	width: 40%;
	float: left;
	margin: 0 5% 3%;
}

ul.way li img {
	margin-bottom: 10px;
}

.img100 {
	width: 100%;
	height: auto;
}

a.button {
	display: inline-block;

	font: normal normal 300 1.3em 'Open Sans';
	text-decoration: none;

	color: rgba(28, 190, 131, 1);
	brackground-color: transparent;
	border: 1px solid rgba(28, 190, 131, 1);
	border-radius: 100px;

	padding: .3em 1.2em;
	margin: 5px;

	background-size: 200% 100%;
	background-image: linear-gradient(to right, transparent 50%, rgba(28, 190, 131, 1) 50%);
	transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
}

a.button:hover {
	color: rgba(255, 255, 255, 1);
	background-color: rgba(28, 190, 131, 1);
	background-position: -100% 100%;
}


.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}



.news ul {
	width: 100%;
	margin: 0 auto 12px;
	list-style-type: none;
	padding: 0;
	border-top: 1px dotted #ccc;
}

.news li {
	padding: 10px 8px 8px;
	background: none;
	border-bottom: 1px dotted #ccc;
}

.news li:last-child {
	margin-bottom: 20px;
}

.news .blogDate {
	width: 90px;
	display: block;
	color: #aaa;
	font-size: 12px;
}

.news .blogEx a {
	font-size: 13px;
}

.news span {
	/* float: left; */
}

.news li a {
	display: block;
}

a.b-link {
	display: inline-block;
	padding: 10px 16px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border: 2px solid #FFD12A;
	color: #FFD12A;
	line-height: 1;
	font-weight: bold;
	font-size: 1rem;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

a.b-link:hover {
	background: #FFD12A;
	color: #FFF;
	text-decoration: none;
}

.b-link i {
	opacity: 0.7;
}

a.b-link.full {
	display: block;
	text-align: center;
}

a.b-link.white {
	border: 1px solid #FFF;
	color: #FFF;
}


.side_schedule table {
	width: 100%;
}

.side_schedule table tr {
	border-bottom: 1px solid #4e7b5f;
}

.side_schedule table th,
.side_schedule table td {
	vertical-align: middle;
	text-align: center;
	line-height: 1;
	font-weight: normal;
	height: 40px;
}

.side_schedule table th:first-child,
.side_schedule table td:first-child {
	text-align: left;
}

.footer_schedule dt {
	background-color: #ffd12a;
}

.footer_schedule table {
	width: 100%;
}

.footer_schedule table tr {
	border-bottom: 1px solid #000;
}

.footer_schedule table th,
.footer_schedule table td {
	vertical-align: middle;
	text-align: center;
	line-height: 1;
	font-weight: 500;
	height: 43px;
	font-size: 16px;
}

.footer_schedule table th:first-child,
.footer_schedule table td:first-child {
	text-align: left;
}

.footer_schedule table tbody tr td {
	font-size: 26px;
}

.footer_schedule table tbody tr:nth-of-type(2) td:nth-child(7) {
	font-size: 18px;
	padding-top: 5px;
	height: 38px;
}

.footer_schedule p {
	color: #000 !important;
	margin: 10px 0;
}

.doctor_bnr {
	display: flex;
	align-items: center;
	gap: 30px;
	justify-content: center;
}

.dateWrap .blogDate {
	margin-bottom: 8px;
	display: block;
	color: #aaa;
	letter-spacing: .03em;
	text-align: right;
	margin-right: 3px;
}

/*
Case
------------------------------------------------------------
*/

/* archive */
.case {}

.case .caseList {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.case .caseList>li {
	width: 325px;
	text-align: center;
}

.case .caseList>li:nth-child(n+3) {
	margin-top: 40px;
}

.case .caseList>li a {
	color: #666;
	text-decoration: none;
	transition: 0.3s;
}

.case .caseList>li a:hover {
	opacity: 0.7;
}

.case .caseList>li img {
	width: 100%;
	height: auto;
	height: 230px;
	object-fit: cover;
	object-position: center;
}

.case .caseList>li .thumbnailWrap {
	margin-bottom: 10px;
}

.case .post_meta {
	margin-bottom: 10px;
}

.case .post_meta .date {
	font-size: 15px;
	text-align: left;
	margin-bottom: 10px;
}

.case .post_meta .cat {
	text-align: left;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.case .post_meta .cat a {
	font-size: 14px;
	color: #fff;
	padding: 5px 10px;
	background-color: #666666;
	margin-right: 10px;
	margin-bottom: 5px;
}

.case .caseList>li .ui_caseTit {
	text-align: left;
}

.case .caseList>li .ui_caseTit a {
	color: #666666;
	font-size: 16px;
	font-weight: 500;
}

.case .caseList>li .btnDetail {
	margin-top: 16px;
}

.case .caseList>li .btnDetail {
	color: #fff;
	padding: 8px 0;
	background-color: #666666;
}

.case .case-post-list {
	display: flex;
	justify-content: space-between;
}

.case .case-post-list>li {
	width: 325px;
}

.case .case-post-list>li:nth-child(n+3) {
	margin-top: 40px;
}

.case .case-post-list>li a {
	color: #666666;
	text-decoration: none;
	transition: 0.3s;
}

.case .case-post-list>li a:hover {
	opacity: 0.7;
}

.case .case-post-list>li .thumbnailWrap {
	margin-bottom: 10px;
}

.case .case-post-list>li .thumbnailWrap img {
	width: 100%;
	height: auto;
}

.case .case-post-list>li .date {
	font-size: 15px;
	text-align: left;
}

.case .case-post-list>li .ui_caseTit {
	font-size: 16px;
	font-weight: 500;
}

.case .category_list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 25px;
}

.case .category_list>li {
	width: 32.8%;
	text-align: center;
	margin-right: 5px;
}

.case .category_list>li:nth-child(n+4) {
	margin-top: 6px;
}

.case .category_list>li:nth-child(3n) {
	margin-right: 0;
}

.case .category_list>li a {
	display: block;
	font-size: 12px;
	color: #fff;
	padding: 6px 0;
	background-color: #666666;
	transition: 0.3s;
}

.case .category_list>li a:hover {
	opacity: 0.7;
}

.magazineList {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin-bottom: 25px;
}

.magazineList>li {
	width: 32.8%;
	text-align: center;
	margin-right: 5px;
}

.magazineList>li:nth-child(n+4) {
	margin-top: 6px;
}

.magazineList>li:nth-child(3n) {
	margin-right: 0;
}

.magazineList>li a {
	display: block;
	font-size: 12px;
	color: #fff;
	padding: 6px 0;
	background-color: #f3b443;
	transition: 0.3s;
}

.magazineList>li a:hover {
	opacity: 0.7;
}

/* single */
.case {}

.case .list {
	display: flex;
	justify-content: space-between;
	margin: 15px 0 30px;
}

.case .list li {
	width: 310px;
	position: relative;
}

.case .list li:after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	border-top: 3px solid #205D4F;
	border-right: 3px solid #205D4F;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: -38px;
	margin-top: -10px;
}

.case .list li:last-child:after {
	content: none;
}

.case .list li img {
	width: 100%;
	height: auto;
}

.case .list li img:nth-child(n+2) {
	margin-top: 30px;
}

.case .table {
	width: 100%;
	border-top: 1px solid #CCCCCC;
}

.case .table tbody tr th {
	width: 120px;
	padding: 10px;
	border-bottom: 1px solid #CCCCCC;
}

.case .table tbody tr td {
	padding: 15px 10px;
	border-bottom: 1px solid #CCCCCC;
}

.case .freetext {
	margin-top: 30px;
}

.case .wp-pagenavi {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

.case .wp-pagenavi span {
	font-size: 15px;
	padding: 5px 10px;
}

.case .wp-pagenavi span.current {
	border-color: #666666;
}

.case .wp-pagenavi a {
	font-size: 15px;
	padding: 5px 10px;
}

.case .wp-pagenavi a:hover {
	border-color: #666666;
}

.wp-block-button {
	margin: 0 auto !important;
}

.wp-block-button .wp-block-button__link {
	display: flex;
	justify-content: center;
	color: #fff;
	background-color: #666666;
	border-radius: 0;
}

.wp-block-button .wp-block-button__link:hover {
	opacity: 0.7;
}

/* 歯周病ページ */

.section .inner {
	margin-bottom: 40px;
	overflow: hidden;
}

.section .inner p:last-child {
	margin-bottom: 0 !important;
}

.section .inner:last-child,
.section .inner p:last-child {
	margin-bottom: 0;
}

.inner .bg_green {
	margin-bottom: 20px;
	padding: 25px 30px 20px;
	background-color: #f5f7e4;
}

.inner .bg_green:last-child {
	margin-bottom: 0;
}

.inner .bg_green p:last-child {
	margin-bottom: 0 !important;
}

.inner .line_under {
	text-decoration: underline;
}

.inner .ui_imageList01 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.inner .ui_imageList01 > li {
	width: 100%;
}

.inner .ui_imageList01 > li.col01 {
	display: flex;
	justify-content: space-between
}

.inner .ui_imageList01 > li.col01 .txt {
	width: 400px;
}

.inner .ui_imageList01 > li.col01 .pic {
	width: 200px;
}

.inner .ui_imageList01 > li.col01.bg_green .txt {
	width: 63%;
}

.inner .ui_imageList01 > li.col02 {
	width: 47%;
}

.inner .ui_imageList01 > li.col02.bg_green {
	width: 39.5%;
}

.inner .ui_imageList01>li.col02 {
	margin-bottom: 20px;
}

.inner .ui_imageList01 > li .tit {
	margin-bottom: 10px;
	text-align: center;
	color: #316745;
	font-family: "ＭＳＰ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 115%;
}

.inner .ui_imageList01 > li figure img {
	width: 93%;
	height: auto;
}

.bg_yellow_topic {
	padding: 20px 40px;
	color: #000;
	font-size: 115%;
	text-align: center;
	box-sizing: border-box;
	background-color: #ffd129;
	border-radius: 100px;
}

.perio.stepList_wrapper .mainTi {
	margin: 0 20px 15px;
	padding-top: 25px;
}

#perioProcess {
	position: relative;
}

#perioProcess .pic {
	width: 390px;
	position: absolute;
	right: 10px;
	bottom: 95px;
}

#perioProcess .pic img {
	width: 100%;
	height: auto;
}

#perioProcess .process_list {
	list-style: none;
}

#perioProcess .process_list > li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

#perioProcess .process_list > li:nth-child(n + 2) {
	margin-top: 60px;
}

#perioProcess .process_list > li:before {
	content: "";
	width: 10px;
	height: 100%;
	background-color: #316745;
	position: absolute;
	top: 40px;
	left: 125px;
}

#perioProcess .process_list > li:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #316745;
	position: absolute;
	left: 120px;
    bottom: -50px;
}

#perioProcess .process_list>li:last-child:before,
#perioProcess .process_list>li:last-child:after {
	content: none;
}

#perioProcess .process_list>li:nth-child(5) {
	min-height: 125px;
}

#perioProcess .process_list>li:nth-child(5):before{
	left: 20px;
}

#perioProcess .process_list>li:nth-child(5):after {
	left: 15px;
}

#perioProcess .process_list>li:nth-child(5) .branchList {
	position: absolute;
	top: 60px;
	left: 60px;
}

#perioProcess .process_list>li:nth-child(5) .branchList > li {
	width: 170px;
	padding: 5px 10px;
	margin-bottom: 0;
	color: #fff;
	text-align: center;
	background-color: #88c157;
	position: relative;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li:before {
	content: "";
	width: 4px;
	height: 15px;
	background-color: #316745;
	position: absolute;
	top: -23px;
	left: 94px;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #316745;
	position: absolute;
	top: -8px;
	left: 91px;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li:nth-child(1) {
	margin-bottom: 28px;
}

#perioProcess .process_list>li:nth-child(5) .branchList > li > p {
	margin-bottom: 0;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li .arrow {
	width: 10px;
	height: 4px;
	background-color: #316745;
	position: absolute;
	bottom: 15px;
	left: -14px;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li .arrow:before {
	content: "";
	width: 4px;
	height: 94px;
	background-color: #316745;
	position: absolute;
	top: -92px;
	left: 0px;
}

#perioProcess .process_list>li:nth-child(5) .branchList>li .arrow:after {
	content: "";
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-bottom: 5px solid #316745;
	position: absolute;
	top: -97px;
	left: -3px;
}

#perioProcess .process_list > li .tit {
	width: 250px;
	padding: 5px 20px;
	color: #fff;
	font-size: 16px;
	text-align: center;
	background-color: #ffd129;
	box-sizing: border-box;
}

#perioProcess .process_list>li .txt {
	width: 400px;
	margin-top: 6px;
}

#perioProcess .process_list>li .txt > .list {
	list-style: none;
}

#perioProcess .process_list>li .txt > .list > li {
	padding-left: 17px;
	position: relative;
}

#perioProcess .process_list>li .txt > .list > li:before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #316745;
	position: absolute;
	top: 8px;
	left: 0;
}

#perioInspectionBox {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#perioInspectionBox .bg_green {
	width: 100%;
}

#perioInspectionBox .bg_green:nth-child(1) > ul {
	display: flex;
	justify-content: space-between;
}

#perioInspectionBox .bg_green:nth-child(1) ul li {
	overflow: hidden;
}

#perioInspectionBox .bg_green:nth-child(1) > ul> li:nth-child(1)  {
	margin-right: 20px;
}

#perioInspectionBox .bg_green:nth-child(1) > ul> li:nth-child(2) > ul > li:nth-child(1) {
	margin-bottom: 20px;
}

#perioInspectionBox .bg_green:nth-child(2),
#perioInspectionBox .bg_green:nth-child(3) {
	width: 40%;
}

#perioInspectionBox .bg_green:nth-child(4) > ul > li {
	margin-bottom: 15px;
}

#perioInspectionBox .bg_green:nth-child(4) > ul > li:last-child {
	margin-bottom: 0;
}

#perioDentifrice {
	min-height: 120px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}

/* #perioDentifrice .txt {
	width: 75%;
} */

#perioDentifrice .picDeco {
	position: absolute;
	right: 40px;
	bottom: 13px;
}

#perioRegretRank {
	position: relative;
}

#perioRegretRank p:last-child {
	margin-bottom: 0 !important;
}

#perioRegretRank .regretList > li {
	display: flex;
	align-items: center;
	position: relative;
	margin-bottom: 10px;
}

#perioRegretRank .regretList > li:last-child {
	margin-bottom: 0;
}

#perioRegretRank .regretList > li > .num {
	width: 75px;
	display: flex;
	justify-content: center;
	align-items: end;
	margin-right: 20px;
	font-size: 110%;
	font-family: "ＭＳＰ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	position: relative;
}

#perioRegretRank .regretList > li > .num > .txt {
	display: inline-block;
	vertical-align: -10px;
}

#perioRegretRank .regretList > li > .num:before {
	content: "";
	padding-right: 2px;
	font-size: 150%;
	color: #316745;
	position: relative;
	top: -1px;
}

#perioRegretRank .regretList > li:nth-child(1) {
	font-size: 130%;
}

#perioRegretRank .regretList > li:nth-child(1) > .num {
	width: 75px;
	padding: 3px 20px 5px;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	font-size: 110%;
	line-height: 1;
	background-color: #ffd129;
}

#perioRegretRank .regretList > li:nth-child(1) > .num:before {
	content: "1";
	top: 3px;
}

#perioRegretRank .regretList > li:nth-child(2) > .num:before {
	content: "2";
}

#perioRegretRank .regretList > li:nth-child(3) > .num:before {
	content: "3";
}

#perioRegretRank .regretList > li:nth-child(4) > .num:before {
	content: "4";
}

#perioRegretRank .regretList > li:nth-child(5) > .num:before {
	content: "5";
}

#perioRegretRank .regretList > li:nth-child(6) > .num:before {
	content: "6";
}

#perioRegretRank .regretList > li:nth-child(7) > .num:before {
	content: "7";
}

#perioRegretRank .picDeco {
	position: absolute;
	right: 80px;
	bottom: 83px;
}

.popup01{
	width: 237px;
}

.popup02{
	width: 480px;
	margin-left: 60px;
}

#popup,
#popup02 {
	display: none;
}

  .popup-open {
	cursor: pointer;
  }

  .popup-overlay {
	display: none;
  }

  #popup:checked ~ .popup-overlay,
  #popup02:checked ~ .popup-overlay {
	display: block;
	z-index: 99999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
  }

  .popup-window {
	width: 90vw;
	max-width: 560px;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 6px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }

  .popup-window02 {
	width: 90vw;
	max-width: 900px;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 6px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }

  .popup-text {
	margin: 0;
  }

  .popup-text img{
	width: 100%;
  }

  .popup-text:not(:last-of-type) {
	margin-bottom: 1em
  }

  .popup-close {
	cursor: pointer;
	position: absolute;
	top: -26px;
	right: 0;
  }

  .popup-open img{
	width: 100%;
  }

  .popup-open:hover{
	opacity: .7;
  }

  .topmenuBox > .flex{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 50px;
  }

  .topmenuBox.top{
	margin-top: 40px;
  }


  .flow-list {
  	list-style: none;
  	/* デフォルトのリストスタイルを無効化 */
  	padding: 0;
  	margin: 0;
  	width: 100%;
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  }

  .flow-list>li {
  	width: 100%;
  	/* 親ulの幅に合わせる */
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  }

  /* 各フローアイテムの共通スタイル */
  .flow-item {
  	background-color: #e0f7fa;
  	/* 水色系 */
  	border: 1px solid #b2ebf2;
  	border-radius: 8px;
  	padding: 15px 25px;
  	margin-bottom: 20px;
  	/* ここでは矢印を別途配置するため、アイテム自体の下マージンは少なめに */
  	text-align: center;
  	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  	width: 90%;
  	max-width: 400px;
  	position: relative;
  	z-index: 1;
  }

  .flow-item h2,
  .flow-item h3 {
  	color: #00796b;
  	margin-top: 0;
  	margin-bottom: 10px;
  }

  .flow-item p,
  .flow-item ul {
  	color: #333;
  	font-size: 0.95em;
  	line-height: 1.6;
  	text-align: left;
  }

  .flow-item ul {
  	list-style-type: disc;
  	padding-left: 20px;
  	margin-top: 5px;
  }

  /* 特定のアイテムのスタイル */
  .initial-consultation {
  	background-color: #ffe0b2;
  	border-color: #ffcc80;
  }

  .examination,
  .basic-treatment {
  	background-color: #e0f7fa;
  	border-color: #b2ebf2;
  }

  .diagnosis-plan,
  .completion {
  	background-color: #c8e6c9;
  	border-color: #a5d6a7;
  }

  .evaluation {
  	background-color: #ffecb3;
  	border-color: #ffe082;
  	padding-bottom: 100px;
  	/* イラストと分岐のためにスペースを確保 */
  	position: relative;
  	width: 90%;
  	/* 評価ボックスは広めに使う */
  	max-width: 600px;
  	/* 必要に応じて調整 */
  }

  .maintenance {
  	background-color: #bbdefb;
  	border-color: #90caf9;
  }

  /* 分岐内のアイテム */
  .flow-item.surgery,
  .flow-item.check-symptoms {
  	background-color: #f8bbd0;
  	border-color: #f48fb1;
  	margin: 0;
  	/* 親liのマージンを利用 */
  	padding: 10px 15px;
  	font-size: 0.9em;
  	width: auto;
  	flex-grow: 1;
  	/* 親のスペースを埋める */
  }


  /* 矢印のスタイル (li要素を使用) */
  .arrow-down-li {
  	width: 2px;
  	height: 30px;
  	background-color: #607d8b;
  	position: relative;
  	margin-bottom: 20px;
  }

  .arrow-down-li::after {
  	content: '';
  	position: absolute;
  	bottom: 0;
  	left: 50%;
  	transform: translateX(-50%) rotate(45deg);
  	width: 10px;
  	height: 10px;
  	border-right: 2px solid #607d8b;
  	border-bottom: 2px solid #607d8b;
  }

  /* 評価からの分岐 */
  .evaluation-branches {
  	width: 100%;
  	position: absolute;
  	bottom: 0;
  	/* 評価ボックスの底に配置 */
  	left: 0;
  	z-index: 2;
  	display: flex;
  	justify-content: center;
  	/* 中央に配置 */
  }

  .branch-list {
  	list-style: none;
  	padding: 0;
  	margin: 0;
  	display: flex;
  	justify-content: space-around;
  	width: 100%;
  	/* 親のevaluation-branchesの幅いっぱいに使う */
  }

  .branch {
  	display: flex;
  	flex-direction: column;
  	align-items: center;
  	width: 45%;
  	/* 各分岐の幅 */
  	position: relative;
  	/* 矢印の基点 */
  	margin-bottom: 10px;
  	/* 下の要素との間隔 */
  }

  /* 分岐の矢印 (span要素を使用) */
  .arrow-branch-left,
  .arrow-branch-right {
  	display: block;
  	/* spanをブロック要素にする */
  	width: 2px;
  	height: 20px;
  	background-color: #607d8b;
  	position: relative;
  	margin-bottom: 10px;
  	/* アイテムとの間隔 */
  	z-index: 0;
  }

  .arrow-branch-left::after,
  .arrow-branch-right::after {
  	content: '';
  	position: absolute;
  	top: 0;
  	left: 50%;
  	transform: translateX(-50%) rotate(45deg);
  	width: 8px;
  	height: 8px;
  	border-left: 2px solid #607d8b;
  	border-top: 2px solid #607d8b;
  }

  /* 評価から最終への合流矢印 */
  .arrow-down-merge-li {
  	width: 2px;
  	height: 50px;
  	background-color: #607d8b;
  	position: relative;
  	margin-top: 80px;
  	/* 評価ボックスの下からのマージン */
  	margin-bottom: 20px;
  }

  .arrow-down-merge-li::before {
  	content: '';
  	position: absolute;
  	top: 0;
  	left: 50%;
  	transform: translateX(-50%) translateY(-50%);
  	width: 100px;
  	/* 分岐間の距離 */
  	height: 2px;
  	background-color: #607d8b;
  	/* ここで、分岐からの横線を描画 */
  	/* 実際には、この横線は評価ボックスの直下で、左右の分岐の中心を結ぶ形になります */
  	/* 今回は中央の縦線に結合する形にするため、以下のように調整 */
  	transform: translateX(-50%) translateY(calc(-50% - 30px));
  	/* Y軸をさらに調整 */
  	width: 100px;
  	/* 仮の幅 */
  	left: 50%;
  	/* 中央 */
  	margin-left: -50px;
  	/* 左半分 */
  	top: -20px;
  	/* 合流地点の調整 */
  }

  /* 合流矢印の横線は、もう少し調整が必要です。
   evaluation-branchesからの線の終点とarrow-down-merge-liの線頭を合わせるイメージ。
   これはCSSだけで正確に合わせるのが非常に難しくなります。
   SVGなどを使うとより正確に描画できますが、ここではCSSでできる範囲で。 */
  .arrow-down-merge-li::before {
  	content: '';
  	position: absolute;
  	top: -20px;
  	/* 評価ボックスの底と矢印の間の空間を考慮 */
  	left: 50%;
  	transform: translateX(-50%);
  	/* 中央に配置 */
  	width: 100px;
  	/* 左右の分岐の間に合わせた幅 */
  	height: 2px;
  	background-color: #607d8b;
  	z-index: 0;
  	/* 矢印の下に */
  }

  .arrow-down-merge-li::after {
  	content: '';
  	position: absolute;
  	bottom: 0;
  	left: 50%;
  	transform: translateX(-50%) rotate(45deg);
  	width: 10px;
  	height: 10px;
  	border-right: 2px solid #607d8b;
  	border-bottom: 2px solid #607d8b;
  }


  /* イラストのプレースホルダー */
  .illustration-placeholder {
  	position: absolute;
  	right: 20px;
  	bottom: 20px;
  	width: 150px;
  	height: 100px;
  	background-color: #f5f5f5;
  	border: 1px dashed #ccc;
  	display: flex;
  	justify-content: center;
  	align-items: center;
  	font-size: 0.8em;
  	color: #666;
  	border-radius: 5px;
  	overflow: hidden;
  }

  .illustration-placeholder img {
  	max-width: 100%;
  	max-height: 100%;
  	display: block;
  }

  /* レスポンシブ対応 */
  @media (max-width: 768px) {
  	.evaluation {
  		padding-bottom: 150px;
  		/* スペースを増やす */
  	}

  	.evaluation-branches {
  		flex-direction: column;
  		align-items: center;
  		bottom: 10px;
  		/* 調整 */
  	}

  	.branch {
  		width: 90%;
  		margin-bottom: 10px;
  	}

  	.arrow-down-merge-li::before {
  		width: 2px;
  		height: 60px;
  		left: 50%;
  		transform: translateX(-50%);
  		top: -60px;
  	}
  }
