@charset "utf-8";
html,body {
	font-size: 1rem;
	font-family: "M PLUS Rounded 1c", sans-serif!important;
	font-weight: 400;
	font-style: normal;
	margin:0;
	padding:0;
}
body {
	overflow-x: hidden;
	height:auto;
}

@include media-breakpoint-up(sm) {
  html {
    font-size: 1.2rem;
  }
}

@include media-breakpoint-up(md) {
  html {
    font-size: 1.4rem;
  }
}

@include media-breakpoint-up(lg) {
  html {
    font-size: 1.6rem;
  }
}

@mixin clearfix() {
  &::after {
    display: block;
    content: "";
    clear: both;
  }
}

main{
padding-bottom:3em;}


.no-gutter > [class*='col-'] {
	padding-right: 0;
	padding-left: 0;
}

.text_80{
	font-size: 80%!important;
	line-height: normal;
}
.text_120{
	font-size: 120%!important;
	line-height: normal;
}
.text_150{
	font-size: 150%!important;
	line-height: normal;
}
.text_180{
	font-size: 180%!important;
	line-height: normal;
}

a .btn-primary,a .btn-secondary,a .btn-beige{
  transition: color .3s;
}
a:link .btn-primary,a:visited .btn-primary{
background-color:var(--bs-primary)!important;
border: 2px solid var(--bs-primary)!important;
color:var(--bs-white)!important;
}
a:hover .btn-primary, a:active .btn-primary{
background-color:var(--bs-white)!important;
border: 2px solid var(--bs-primary)!important;
color:var(--bs-primary)!important;
}

a:link .btn-secondary,a:visited .btn-secondary{
background-color:var(--bs-secondary)!important;
border: 2px solid var(--bs-secondary)!important;
color:var(--bs-white)!important;
}
a:hover .btn-secondary, a:active .btn-secondary{
background-color:var(--bs-white)!important;
border: 2px solid var(--bs-secondary)!important;
color:var(--bs-secondary)!important;
}

.btnx-beige,.btnx-beige:visited{
    background: var(--bs-beige); border: 2px solid var(--bs-beige); 
}
.btnx-beige:hover{
    background: #fff; border: 2px solid var(--bs-dark); 
}

a{
color:#663300;}

a:focus {
outline: none;
}


.bg-primary{
background-color:var(--bs-primary)!important;
}
.bg-secondary{
background-color:var(--bs-secondary)!important;
}
.bg-beige{
background-color:var(--bs-beige)!important;
}
.bg-light-blue{
background-color:var(--bs-light-blue)!important;
}

.text-pink{
color:var(--bs-pink)!important;
}
.text-red{
color:var(--bs-red)!important;
}
.text-blue{
color:var(--bs-blue)!important;
}
.text-indigo{
color:var(--bs-indigo)!important;
}




.photowak,.photowak_r,.photowak_l{
    border: 10px solid #FFF;
    box-shadow: 0 0 5px #999;
	margin:1em;
}
.photowak_r{
	transform: rotate( -3deg );
}
.photowak_l{
	transform: rotate( 2deg );
}


.size_40{
width:40%;}

.size_50{
width:50%;}

.size_80{
width:80%;}

.size_100{
width:100%;}



section{
	width:100%;
	clear: both;
	float: none;
}
#sub section,#sub_info section{
padding-bottom:3em;}
footer section{
	margin: 0px!important;
	padding: 0px!important;
}
fieldset {
	position: relative;
    border: solid 3px var(--bs-primary);
	margin-top: 3em;
	margin-right: 0;
	margin-bottom: 2em;
	margin-left: 0;
	padding-top: 0.5em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
}
fieldset legend{
    position: absolute;
	width:auto;
    display: inline!important;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background-color:var(--bs-primary);
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
fieldset p {
    margin: 0; 
    padding: 0;
}

table{
	width: 98%;
	margin-top: 0.5em;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
}
table th,table td{
	line-height: 1.2em;
	padding-top: 0.5em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	border: 1px solid #CCCCCC;
}
table th{
	background-color:var(--bs-light-blue)!important;
	text-align: center;
}
table.t_color tr:nth-child(odd) td {
  background:var(--bs-light)!important;
}

.schedule table td,.schedule table th{
text-align:center;
}


.border_none table,.border_none table td,.border_none table th{
	border-top-style: none!important;
	border-right-style: none!important;
	border-bottom-style: none!important;
	border-left-style: none!important;
}

@media screen and (max-width: 991.98px) {
.col1-nowrap td{
	min-width:6em;
}
}

h1,h2,h3,h4,h5,h6{
  word-break: keep-all;
  overflow-wrap: break-word;
    font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}
  
h2{
	font-size:2.2em;
	color:#663300;
	text-align:center;
	position:relative;
	margin-bottom:1em;
	letter-spacing: 0.1em;
	font-weight:bold;
}
h2:after{
position:absolute;
content:'';
width:4em;
height:5px;
left:50%;
bottom:-0.2em;
margin-left:-2em;
background-color:var(--bs-primary);}
header h2 {
	line-height: 1.2em;
	font-size:2.5em;
}

h3{
	color:var(--bs-primary);
	font-size:2em;
	position:relative;
	margin-top:2em;
	margin-bottom:1em;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: var(--bs-primary);
	font-weight:bold;
}

h4 {
	font-size:1.5em;
  padding: 0.8rem;
  background:var(--bs-light-blue);
  margin-top:2em;
	font-weight:bold;
}


h5{
  background: var(--bs-secondary);
	margin-top: 1.5rem;
	margin-bottom: 0.5rem;
	padding-top: 0.3rem;
	padding-right: 0.3rem;
	padding-bottom: 0.3rem;
	padding-left: 0.5rem;
	color:#fff;
	font-weight:bold;
}
.home h5{
  background:none!important;
  margin:0.5rem!important;
padding: 0rem!important;
}

h6{
	position: relative;
	line-height: 1.2em;
	color:var(--bs-primary);
	font-size: 1.3em;
	font-weight: bold;
	margin-top: 0.5em;
	margin-right: 0px;
	margin-bottom: 0.1em;
	margin-left: 0px;
	padding-top: 0.2em;
	padding-right: 0;
	padding-bottom: 0.2em;
	padding-left: 1.5em;
	border-bottom-width: 2px;
	border-bottom-style: dotted;
	border-bottom-color: #ccc;
	font-weight:bold;
}
h6:before{
	position: absolute;
    border-radius: 4px;
	color: #fff;
	background-color:var(--bs-primary);
	top: 50%;
	margin-top:-0.7em;
	left: 0;
	height:1.5em;
	width:1.6em;
	font-size: 0.75em;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f00c';
	line-height: 1.5em;
	padding-left:0.3em;
}
@media screen and (max-width: 767.98px) {
header h2 {
	font-size:2.2em;
}
h3{
	font-size:1.6em;
}
h4,h6 {
	font-size:1.3em;
}
}


ul{}
ul li{
	list-style-type: circle;
}


  

.outline {
  display     : inline-block;
  font-size   : 160%;
  font-weight : bold;
  color       : #000;
  text-shadow:  1px  1px 5px #fff ,
               -1px  1px 5px #fff ,
                1px -1px 5px #fff ,
               -1px -1px 5px #fff;
}


.marker{
  background: linear-gradient(transparent 80%, #ffccec 80%);
}

.heading {
	border-left: 6px solid #aaa;
	padding: 0 0 0 10px;
}
.breadcrumb-item + .breadcrumb-item::before {
	content: ">"
}
#map iframe {
	width: 100%;
	height: 450px;
}

.pr_wak {
  font-weight: bold;
  padding: 0 0.5em;
  margin-left: 0.5em;
  margin-right: 0.5em;
  border-left: 7px dotted var(--bs-secondary);
  background-color: #fff;
  outline: 3px solid var(--bs-secondary);
  outline-offset: 0.5em;
  position: relative;
}
.pr_wak::after {
  content: '';
  position: absolute;
  right: calc(-0.5em - 3px);
  top: calc(-0.5em - 3px);
  border-width: 0 20px 20px 0;
  border-style: solid;
  border-color: var(--bs-secondary) #fff var(--bs-secondary);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}

h3 span{
	line-height: 1.2em!important;
}
h3#circle .content{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border-radius: 35% 60% 31% 64% / 49% 51% 52% 48% ;
	font-size: 1.5vw;
	background: rgba(213,209,189,0.5);
	margin:0;
	text-align:center;
	padding-top: 15%;
	padding-right: 10%;
	padding-bottom: 10%;
	padding-left: 10%;
}

@media screen and (max-width: 767.98px) {
  h3#circle .content{
    font-size: 100%!important;
	padding: 5%;
  }
}


#head{
position:relative;
}

#head .r_wrap {
  overflow: hidden;
}
#head .r_top {
	background: #fff;
	border-bottom-left-radius: 1000px 130px;
	border-bottom-right-radius: 1000px 130px;
	height: 130px;
	margin-left: -100px;
	margin-right: -100px;
	padding-left: 100px;
	padding-right: 100px;
	margin-top:-50px;
}
#head .r_main {
	background-image: url(../images/bg_top.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height:700px;
	width:100%;
}
#sub #head .r_main {
height:400px;}
#sub_info #head .r_main {
height:700px;}

.main_img img {
	border:8px solid #fff; /* 境界線を実線で太めに指定する */
	width:100%;
	box-shadow:5px 3px 12px #666;
	text-align:center;
}
.main_img{
	margin-top: 50px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	height:450px;
	position:relative;
}
.main_img .catch_tex{
	position: absolute;
	top: 0px;
	width:100%;
	padding-top:1em;
	padding-bottom:1em;
	background-color: rgb(255 255 255 / 0.5);
	text-align:right;
	padding-right:1em;
}
.main_img .catch_tex h1,.main_img .catch_tex p{
	margin: 0px;
	padding: 0px;
	line-height: 1.2em;
}
.main_img .catch_tex h1{
position:relative;
display:inline;
font-size:3.5em;}
.main_img .catch_tex h1:before{
	content:'';
	height: 1.2em;
	width: 1.2em;
	top: 0.2em;
	left: -1.3em;
	background-repeat: no-repeat;
	background-position:50%;
	background-size:contain;
	position:absolute;
}
.main_img .catch_tex h1.sakado:before{
	background-image: url(../images/ico_sakado.png);
}
.main_img .catch_tex h1.saku:before{
	background-image: url(../images/ico_saku.png);
}


#head .r_bot {
	background: #fff;
	border-top-left-radius: 50%;
	border-top-right-radius: 50%;
	height: 130px;
	margin-left: -100px;
	margin-right: -100px;
	padding-left: 100px;
	padding-right: 100px;
	margin-top:220px;
}
#sub #head .r_bot {
	height: 130px;
	margin-top:50px;
}
#sub_info #head .r_bot {
	margin-top:50px;
}

h1.title{
	line-height: 0.8em!important;
	margin: 0px;
	padding: 0px;
	font-size: 5em;
	letter-spacing: 0.2em;
	  text-shadow:
    1px 1px 0 #fff,
    -1px 1px 0 #fff,
    -1px -1px 0 #fff,
    1px -1px 0 #fff;
	width:100%;
	margin-top:200px;
	text-align:center;
	position:relative;
	z-index:1;
}
#sub h1.title{
	margin-top:50px;
}
h1.title .cap_tex{
	font-size: 0.5em;
	margin: 0px;
	padding: 0px;
}
h1.title:after{
content:'';
	position: absolute;
	left: 60%;
	top: 50%;
	margin-top:-280px;
	width:550px;
	height:650px;
	background-image:url(../images/top_tree.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	z-index:0;
}
#sub h1.title:after{
	width:20%;
	max-width:180px;
	height:220px;
	margin-top:-100px;
}




@media screen and (min-width: 767.98px) {
#head .navbar-box{
position:absolute;
left:50%;
	margin-top:70px;
	    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	z-index:999;
}
.navbar-nav a:link {
	color: #333333!important;
	text-decoration: none;
}
.nav-item a{
height:100%;
padding-bottom:5em;
display:block;
}

#Navbar ul li{
margin-left:1em;
margin-right:1em;
list-style:none;
}

#Navbar ul > .nav-item{
position:relative;
  z-index:1;
  font-size:1em;
  min-width:5em;
  text-align:center;
}
#Navbar ul > .nav-item:before{
	position:absolute;
	content: '';
	width: 4em;
	height:4em;
	border-radius: 50%;
  background-color:var(--bs-primary);
	top:1.5em;
	left:50%;
	margin-left:-2em;
	z-index:-1;
	background-repeat: no-repeat;
	background-position: center center;
	transition-duration: 0.7s;
 }
#Navbar ul > .ico_01.nav-item:before{
	background-image: url(../images/ico_01.png);
}
#Navbar ul > .ico_02.nav-item:before{
	background-image: url(../images/ico_02.png);
}
#Navbar ul > .ico_03.nav-item:before{
	background-image: url(../images/ico_03.png);
}
#Navbar ul > .ico_04.nav-item:before{
	background-image: url(../images/ico_04.png);
}
#Navbar ul > .nav-item:hover:before{
background-color:var(--bs-secondary);
}

#Navbar ul > .ico_none{
display:none;}

}
*:focus {
  box-shadow:none !important;
}

/* 大デバイス（デスクトップ, 992px 未満）
============================================== */
@media screen and (max-width: 991.98px) {

} /* END */

/* 中デバイス（タブレット, 768px 未満）
============================================== */
@media screen and (max-width: 767.98px) {
#head .r_top {
	margin-top:-80px;
}
#sub #head .r_top,#sub_info #head .r_top {
	margin-top:-100px;
}
#head .r_main{
	height:350px;
}
#sub #head .r_main {
	height:170px;
}
#sub_info #head .r_main {
	height:300px;
}
#head .r_bot{
	margin-top:100px;
}
#sub #head .r_bot {
	margin-top:20px;
}
#sub_info #head .r_bot {
	margin-top:-300px;
}

h1.title:after{
	bottom:10px;
	top::auto;
	width:50%;
	background-size: 100% auto;
}
h1.title{
margin-top:80px;
font-size: 3em;
}
#sub h1.title{
margin-top:10px;
font-size: 2em;
margin-right:auto;
}
.main_img .catch_tex h1{
font-size:2em;
}


#head .navbar-box{
position:absolute;
top:0;
right:0;
z-index:999;
		width:100%;
}

#Navbar ul{
        padding: 10px;
		margin:0;
		border:none!important;
		background-color:var(--bs-primary);
		z-index:999;
		width:100%;
}
#Navbar ul li{
        margin: 0 auto;
        list-style: none;
        border-bottom: 1px solid #fff;
		width:100%;
		text-align:center;
}
#Navbar ul li a{
display:block;
padding:1em;
width:100%;
color:#FFFFFF;
	text-decoration: none;
}
#Navbar ul li.ico_none{
display:block;
}

#sub section,#head section,footer section{
margin:0!important;
padding:0!important;}
#sub_info main{
padding-top:0!important;
margin-top:0!important;
}

table th, table td {
	padding: .25rem !important;
}
table th:first-child {
	width: 25%;
}
footer section{
background-color:#666666;}

} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上 デスクトップ, 992px 未満）
============================================== */
@media screen and (min-width: 576px) and (max-width: 991.98px) {

} /* END */

/* 小デバイス（縦向きモバイル, 576px 以上）
============================================== */
@media screen and (min-width: 576px) {
} /* END */



/*ホーム*/

#topics{
position:relative;
	z-index:0!important;
}
#topics ul,#topics ul li{
	list-style-type: none;
	margin:0;
	padding:0;
	list-style-image: none;
}

#topics ul{
}
#topics ul li{
margin-bottom:0.5em;
}

#topics h2{
text-align:center;
position:relative;
	z-index:2!important;
	padding-bottom:1em;
	padding-top:1em;
}
#topics h2:after{
content:'';
position:absolute;
	background-image:url(../images/ttl_topics.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width:550px;
	height:120px;
	top:50%;
	left:50%;
	margin-top:-60px;
	margin-left:-270px;
	z-index:-1!important;
	background-color:transparent;
}
#topics h2 button{
position:absolute;
right:0;
bottom:0;
}
#topics a{
	display:block;
	font-weight: bold;
	text-decoration: none;
}
#topics a:hover{
background-color:var(--bs-beige);
}

#topics .date{
font-weight:normal;
display:block;
color:#333333;
width:10em!important;
background-color:var(--bs-beige);
padding:0.3em;
font-size:0.9em;
margin:0;
text-align:center;
margin-right:0.5em;
}

#service .card-title{
margin-top:0.5em;}


/* ページネーションの汎用スタイル */
.page-numbers {
	display: inline-block;
	padding: 10px 10px;
	margin: 0 2px 0 0;
	border: 1px solid #888;
	line-height: 1;
	text-decoration: none;
	border-radius: 2px;
	font-weight: 600;
	background-color: #f9f9f9;
}
.page-numbers.current,a.page-numbers:hover {
	background-color: #fff;
}


/*診療所*/
@media screen and (min-width: 767.98px) {
#sub_info .grid{
   display: table;
      width: 100%;
	  padding-bottom: 3em;
}
#sub_info .grid main{
display: table-cell;}
#sub_info .grid aside{
display: table-cell;
      width: 25%;
}
}

#sub_info .grid aside{
	padding-right: 4em;
	padding-bottom: 2em;
}
#sub_info .grid aside ul,#sub_info .grid aside ul li{
	line-height: 1.2em;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	width:100%;
}
#sub_info .grid aside ul li a{
background-color:var(--bs-primary);
	color:#FFFFFF;
	text-decoration: none;
	border-radius: 10px;
	border: 2px solid var(--bs-primary);
	display: block;
	padding-top: 0.5em;
	padding-right: 1em;
	padding-bottom: 0.5em;
	padding-left: 1em;
	margin-bottom: 0.5em;
}
#sub_info .grid aside ul li a:hover{
background-color:#FFFFFF;
	color:var(--bs-primary);
}

@media screen and (min-width: 767.98px) {
#sub_info .grid{
   display: table;
      width: 100%;}
#sub_info .grid main{
display: table-cell;}
#sub_info .grid aside{
display: table-cell;
      width: 25%;
}

}
@media screen and (max-width: 768px) {
#sub_info .grid aside ul{
   display: flex;
  flex-wrap: wrap;
}
#sub_info .grid aside ul li{
width:50%;
padding-left:0.2em;
padding-right:0.2em;
}
#sub_info .grid aside{
	padding-right: 0em;
}
#sub_info .grid main section{
padding-top:0;}


}



/* 定義リスト　※TOPページ以外　*/
#sub dl dt:before,#sub_info dl dt:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  font-weight: 900;
  padding-right : 5px;/*文字との隙間*/
  color: var(--bs-success);
}
#sub dl dd,#sub_info dl dd{
	padding-left: 1.5rem;
}


.faq dt, .faq dd{
position:relative;
padding-left:2em!important;
margin-bottom:0.5em;
padding-bottom:0.5em;}
.faq dd{
	padding-left:3em!important;
	margin-bottom:1em;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999999;
}
.faq dt:before,.faq dd:before{
   font-family: "Font Awesome 5 Free";
  font-weight: 900;
    content: "\51"!important;
   position: absolute;
   left:0;
	display:block;
	width:1.5em;
	padding-left:0.3em;
	height:1.5em;
	text-align:center;
	line-height:1.5em;
    color: #fff!important;
	border-radius:0.7em;
	background-color:var(--bs-primary);
}
.faq dd:before{
   font-family: "Font Awesome 5 Free";
  font-weight: 900;
	background-color:var(--bs-secondary);
    content: "\41"!important;
   left:1em;
	padding-left:0;
}
.number{
margin-left:0!important;}
.number li{
position:relative;
margin:0!important;
padding:0;
list-style:none;
}
.number li:before{
   font-family: "Font Awesome 5 Free";
  font-weight: 900;
    content: counter(list-item)!important;
   position: absolute;
   left:-2em;
	display:block;
	width:1.5em;
	padding-left:0.3em;
	height:1.5em;
	text-align:center;
	line-height:1.5em;
    color: #fff!important;
	border-radius:0.2em;
	background-color:var(--bs-blue);
}



/*フローチャート*/
:root {
  --flowchart-size: 30px;/* 番号のサイズ 変更可 */
  --flowchart-border: 5px;/* 縦線太さ 変更可 */
}
.flowchart {
	list-style: none !important;
	counter-reset: flownum;/* フローチャートと前後要素との距離(任意) */
	padding: 0 !important;
	margin-top: 1em;
	margin-right: 0;
	margin-bottom: 0em;
	margin-left: 0;
}
.flowchart li {
  position: relative;
  padding: 0 0 2em calc(var(--flowchart-size) + 6px);/* 6px がタイトルとの距離であり余白 */
}
.flowchart li::before {
  content: counter(flownum);
  counter-increment: flownum;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -5px;/* 通常は 0, 横に並ぶタイトルとのバランスを見て調整 */
  left: 0;
  z-index: 2;
  width: var(--flowchart-size);
  height: var(--flowchart-size);
  border-radius: 50%;/* 番号円形, 四角形で良ければこの一行削除 */
  background: var(--bs-primary);/* 番号背景 */
  color: white;/* 番号文字色 */
}
.flowchart li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(var(--flowchart-size) / 2 - calc(var(--flowchart-border) / 2));
  z-index: 1;
  width: var(--flowchart-border);
  height: 100%;
  background: rgb(200,200,200);/* 線の色 */
}
.flowchart-title {
  margin: 0 0 .6em;
  font-weight: bold;
  font-size: 1.04em;
  line-height: 1.4;/* 大きめの文字は 1.2 〜 1.4 程度で調整すると良い */
}
.flowchart li:last-of-type::after {
  content: none;
}
.flowchart li p {
  margin: 1em 0 !important;
}
.flowchart li p:last-of-type {
  margin-bottom: 0 !important;
}


/*飾り罫*/
.over{
	margin-top: 1em;
	margin-bottom: 1em;
    overflow: hidden;
}

.thick,.thick2 {
    position: relative;
    border: 2px solid #ca4;
    padding: 1em;
    text-align: center;
}
.thick2 {
    border: 2px solid #FF6699;
}
.thick:before,
.thick:after,
.circle:before,
.circle:after,
.thick2:before,
.thick2:after,
.circle2:before,
.circle2:after {
    position: absolute;
    display: block;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    content: "";
    background-color: #fff ;
    border: 2px solid #ca4;
}
.thick2:before,
.thick2:after,
.circle2:before,
.circle2:after {
    border: 2px solid #FF6699;
}

.thick:before,.thick2:before {
    top: -20px;
    left: -20px;
}
.thick:after,.thick2:after {
    top: -20px;
    right: -20px;
}
.circle:before,.circle2:before {
    right: -20px;
    bottom: -20px;
}
.circle:after,.circle2:after {
    left: -20px;
    bottom: -20px;
}
.thin ,.thin2 {
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
    border: 1px solid #ca4;
    z-index: 1;
}
.thin2 {
    border: 1px solid #FF6699;
}

.thick ul,.thick ul li,.thick2 ul,.thick2 ul li {
	text-align: left;
	list-style-type: none;
}
.thick ul,.thick2 ul{
	border-top-width: 3px;
	border-right-width: 0px;
	border-bottom-width: 0px;
	border-left-width: 0px;
	border-top-style: dotted;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-top-color: #E2CF94;
	padding-top: 0.5em;
	margin-left: 1em;
	padding-left: 1.5em;
	margin-top: 0px;
	margin-right: 1em;
	margin-bottom: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
}
.thick2 ul{
	border-top-color: #EEB5BD;
}
.thick ul li,.thick2 ul li{
	line-height: 1.2em;
	margin-top: 0.5em;
}
.thick ul li::before,.thick2 ul li::before {
  position: absolute;
  left: 2em;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f06c';
  color: var(--bs-primary);
}

.thick h4,.thick2 h4 {
	margin: 0.5em;
}
.thick2 h4 {
	background-color: #FCF8E4;
	color: #FF6699;
}
.thick2 h4:before {
  border: 3px solid #ECE0BB;
}


/*見出し*/
span.topic_design {
	color: #fff;
	margin: 0 0.1em;
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.4em;
	background-color: var(--bs-primary);
	font-weight: bold;
}

/*アコーディオン*/
.ac_table .check{
  display: none;
}
.ac_table .label{
	display: block;
	position:relative;
	border-radius:5px;
	padding:0.5em;
	background-color: #F0F0F0;
	border: 2px solid #CCCCCC;
	cursor:pointer;
}
.ac_table .label:before{
content:'＋';
}

.ac_table .text{
	align-items: center;
	margin-bottom: 10px;
	/*通常時は見えなくする*/
  overflow: hidden;
	/*  通常時は高さ0を指定  */
  height: 0;
	transition: 0.5s;
		border-radius:0px 0px 5px 5px; 
	background-color: var(--bs-light);
	
}
.ac_table .check:checked + .label + .text{
	height: auto;
	padding: 5px;
	border-right-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 1px;
	border-top-style: none;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #CCCCCC;
}
.ac_table .check:checked + .label{
		border-radius:5px 5px 0px 0px; 
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 2px;
	border-left-width: 2px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: dotted;
	border-left-style: solid;
	border-top-color: #CCCCCC;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #CCCCCC;
}

.ac_table .check:checked + .label:before{
content:'－';
}



