@charset "utf-8";
@import url(common.css);

.breadcrumb-list,
article {
	width: min((100% - 40px),1200px);
	margin: 0 auto;
}

.breadcrumb-list {
	margin-top: 3rem;
	display: flex;
	column-gap: 2em;
	& .breadcrumb-list-item {
		position: relative;
		font-size: 1.6rem;
		&:not(:first-child):before {
			content: "＞";
			position: absolute;
			top: 0;
			left: -1.5em;
		}
	}
}
article {
	margin-top: 5rem;
	& hgroup {
		position: relative;
		& h1 {
			font-family: var(--serif);
			font-size: 4.6rem;
			font-weight: 600;
			letter-spacing: 0.09em;
			/*@media screen and (max-width: 767px) {
				bottom: -3.5rem;
				font-size: max(6vw,3rem);
			}*/
		}
		& p {
            width: max-content;
			color: rgba(15, 147, 64, 0.2);
			position: absolute;
			font-family: var(--serif);
			font-size: max(5vw, 4rem);
			font-weight: 600;
			letter-spacing: initial;
			line-height: 1;
			bottom: 0;
			right: 0;
			@media screen and (max-width: 767px) {
				bottom: -3.5rem;
				font-size: max(6vw,2rem);
			}
		}
	}
	& .main-lead {
		margin: 3rem auto 10rem;
		font-family: var(--noto);
		font-size: 2.5rem;
		font-weight: 400;
	}
	& .main-lead-mincho {
		margin: 3rem auto 10rem;
		font-family: var(--noto-mincho);
		font-size: 2.5rem;
		font-weight: 400;
	}
	& section {
		&:not(:first-of-type) {
			margin-top: 15rem;
		}
		& h2 {
			font-family: var(--noto);
			font-size: 3rem;
			font-weight: 700;
			position: relative;
			padding-left: 4rem;
			padding-bottom: 1.5rem;
			&::before {
				content: "";
				display: block;
				position: absolute;
				width: 2.5rem;
				height: 2.5rem;
				line-height: 1;
				background-color: var(--green);
				left: 0;
				top: calc(50% - 1.9rem);
			}
			&::after {
				content: "";
				display: block;
				position: absolute;
				width: 100%;
				height: 1px;
				background-color: #505050;
				left: 0;
				bottom: 0;
			}
		}
	}

	@media screen and (max-width: 767px) {
		& section {
			p{font-size:85%} 
		}
	}
	/* category */
	.category-list {
		margin: 4rem auto 8rem;
	}
	.category-list-item:not(:first-child) {
		margin-top: 4rem;
	}
	.category-flexbox {
		display: block;
		position: relative;
		@media screen and (max-width: 1320px) {
			display: block;
		}
	}
	/*.category-list-item:nth-child(even) .category-flexbox {
		flex-direction: row-reverse;
	}*/
	.category-flexbox-img {
		width: 68%;
		flex-shrink: 0;
		aspect-ratio: 13 / 8;
		border-radius: 2rem;
		overflow: hidden;
		@media screen and (max-width: 1320px) {
			width: 100%;
		}
		& img {
			width: 100%;
			object-fit: cover;
			height: 100%;
			transition: 0.5s ease;
			&:hover {
				opacity: 1;
				filter: brightness(60%);
				transform: translateZ(0);
			}
		}
	}
	.category-flexbox-text {
		background: #fff;
		border-top-left-radius: 2rem;
		border-top-right-radius: 2rem;
		/* box-shadow: 0 1.4rem 2rem rgba(25, 78, 25, .08); */
		display: flex;
		flex-direction: column;
		padding: 6rem 4rem;
		min-height: calc(100% - 12rem + 1px);
		text-decoration: none;
		transition: 0.5s ease;
		width: 50%;
		position: relative;
		z-index: 1;
		right: 0;
		top: 0;
		margin-top: -383px;
        margin-left: auto;
		@media screen and (max-width: 1320px) {
			position: relative;
			padding: 2rem;
			width: 100%;
			min-height: auto;
			top: 0;
			margin: 0;
		}
		& h3 {
			color: #1DAA38;
			font-size: 3rem;
			font-weight: 700;
			letter-spacing: 0.09rem;
			padding: 0;
			@media screen and (max-width: 1320px) {
				font-size: 2.4rem;
				font-weight: 500;
			}
			&::before,
			&::after {
				display: none;
			}
		}
		& p {
			margin-top: 1.5rem;
            line-height: 1.7;
		}
	}
	.category-list-item:nth-child(even) .category-flexbox-text {
        margin-left: 0;
	}
	.category-list-item:nth-child(even) .category-flexbox-img {
        margin-left: auto;
	}

	& h3 {
		font-family: var(--noto);
		font-size: 2.4rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		position: relative;
		padding-left: 2rem;
		&::before,
		&::after {
			content: "";
			display: block;
			position: absolute;
			height: 100%;
			background-color: var(--green);
			top: 0;
		}
		&::before {
			width: 2px;
			left: 0;
		}
		&::after {
			width: 4px;
			left: 6px;
		}
	}
	& p {
		margin-top: 2rem;
        line-height: 1.6;
	}
			/* info */
.info {
	width: var(--inner-width);
	margin: 0 auto;
	.c-important-info {
		border: 0.1rem solid var(--red);
		border-radius: 0.8rem;
		background-color: #ffffff;
		overflow: hidden;
		@media screen and (max-width: 767px) {
			margin-top: 3rem;
		}
	}
	.c-important-info__ttl {
		background: var(--red);
		color: #ffffff;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 2rem;
		font-weight: 700;
		line-height: 1.45;
		padding: 2.5rem 3rem;
		@media screen and (max-width: 767px) {
			padding: 1.5rem 2rem;
		}
	}
	.c-important-info__list {
		margin: 2.5rem 3rem;
		@media screen and (max-width: 767px) {
			margin: 2rem;
		}
	}
	.c-important-info__link {
		display: flex;
		gap: 2rem;
		color: var(--t-black);
		text-decoration: none;
		@media screen and (max-width: 767px) {
			flex-wrap: wrap;
			.c-important-info__txt {
				width: 100%;
			}
		}
	}
	.e-label {
		background: #ffffff;
		border: 1px solid var(--t-black);
		border-radius: 50px;
		font-size: 1.4rem;
		line-height: 1.7;
		padding: 0.5rem 1.5rem;
		transition: background-color .3s ease, color .3s ease;
		white-space: nowrap;
	}
	.e-label._important_ {
		border-color: var(--red);
		color: var(--red);
	}
& .tab-list {
		margin-top: 2rem;
		display: flex;
		gap: 2rem;
		@media screen and (max-width: 767px) {
			flex-wrap: wrap;
		}
		& .tab-list-item {
			@media screen and (max-width: 767px) {
				width: calc(50% - 2rem);
			}
			& .tab-toggle {
				width: 100%;
				height: 100%;
				display: grid;
				place-items: center;
				color: var(--t-black);
				background: #ffffff;
				border: 1px solid var(--green);
				border-radius: 50px;
				font-size: 1.4rem;
				line-height: 1.7;
				padding: 0.5rem 1.5rem;
				transition: background-color .5s ease, color .5s ease;
				white-space: nowrap;
				&.tab-on {
					background: var(--green);
					color: #ffffff;
					pointer-events: none;
				}
				&:not(.tab-on):hover {
					background: var(--green);
					color: #ffffff;
				}
			}
		}
	}
	& .tab {
		margin-top: 4rem;
		& ul {
			border-top: 0.1rem solid #eaeaea;
		}
		& li {
			margin: 0;
			font-size: var(--t-middle);
			font-weight: 400;
			border-bottom: 0.1rem solid #eaeaea;
			transition: 0.5s ease;
			opacity: 1;
			overflow: hidden;
			&:nth-child(n+6) {
				display: none;
			}
			&.is-hidden {
				opacity: 0;
				height: 0;
			}
			& a {
				display: flex;
				align-items: center;
				gap: 2rem;
				width: 100%;
				height: 100%;
				padding: 2rem;
				transition: opacity 0.5s ease;
				&:hover {
					opacity: 0.6;
					color: #ee98b8;
				}
			}
		}
		& .date-wrapper {
			display: flex;
			align-items: center;
			gap: 2rem;
			& .category {
				min-width: calc(4em + 3rem);
				background: #ffffff;
				border: 1px solid var(--grey);
				border-radius: 50px;
				color: var(--grey);
				font-size: 1.4rem;
				line-height: 1.7;
				padding: 0.5rem 1.5rem;
				transition: background-color .3s ease, color .3s ease;
				white-space: nowrap;
			}
		}
		& p {
			display: block;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
& .tab-news-list:not(:has(li:nth-child(5))) + .more-btn {
		display: none;
	}
		& .category {
				min-width: calc(4em + 3rem);
				background: #ffffff;
				border: 1px solid var(--grey);
				border-radius: 50px;
				color: var(--grey);
				font-size: 1.4rem;
				line-height: 1.7;
				padding: 0.5rem 1.5rem;
				transition: background-color .3s ease, color .3s ease;
				white-space: nowrap;
			}
		}
	}
	/* table */
	/*& table  {
		border-collapse: collapse;
		border: none;
		border-spacing: 0;
		@media screen and (max-width: 1320px) {
			display: block;
		}
	}
	& th, & td {
		vertical-align: top;
		border-top: 1px solid #a0a0a0;
		border-bottom: 1px solid #a0a0a0;
		font-weight: 400;
		text-align: left;
		padding: 1.5rem;
		@media screen and (max-width: 1320px) {
			display: block;
		}
	}
	& th {
		width: 20rem;
		padding-right: 0;
		@media screen and (max-width: 1320px) {
			width: 100%;
			padding: 3rem 0 0;
			border-bottom: none;
			font-weight: 700;
		}
	}
	& td {
		width: calc(100% - 20rem);
		padding-left: 6rem;
		@media screen and (max-width: 1320px) {
			width: 100%;
			margin-top: 1rem;
			padding: 0 0 3rem;
			border: none;
		}
	}
	& tr:last-child td {
		@media screen and (max-width: 1320px) {
			border-bottom: 1px solid #a0a0a0;
		}
	}
	& tr:nth-child(even) {
		background-color: var(--l-green);
	}*/
		& table {
		border-collapse: collapse;
		border: none;
		border-spacing: 0;
		margin: 4rem auto;
		@media screen and (max-width: 1320px) {
			display: flex;
		}
	}
	& th, & td {
		vertical-align: text-top;
		border-top: 1px solid #a0a0a0;
		border-bottom: 1px solid #a0a0a0;
		font-weight: 400;
		text-align: left;
		padding: 0;
		@media screen and (max-width: 1320px) {
			padding: 2rem 1rem;
		}
	}
	& th {
		width: 20rem;
		padding-right: 0;
		@media screen and (max-width: 1320px) {
			width: 30%;
			font-weight: 500;
		}
		&:has( + th),
		& + th {
			width: auto;
			border: 1px #a0a0a0 solid;
			font-weight: 500;
			text-align: center;
			padding-left: 0;
		}
	}
	& td {
		width: calc(100% - 20rem);
		padding-left: 6rem;
		@media screen and (max-width: 1320px) {
			width: 70%;
			padding-left: 2rem;
		}
		&:has( + td),
		& + td {
			width: auto;
			padding: 12px 16px;
			border: 1px #a0a0a0 solid;
		}
	}
	& table .bg-green {
		background-color: var(--l-green);
	}
	
	/* accordion */
	& .accordion {
		width: min(98%, 98rem);
		margin: 2rem auto 0;
		border: 1px solid var(--green);
        & > p {
            margin-top: 0;
            padding: 1rem;
            position: relative;
            &::after {
                content: "";
                display: block;
                position: absolute;
                width: calc(100% - 3rem);
                height: 1px;
                bottom: -1rem;
                left: 1.5rem;
                background-color: var(--green);
            }
        }
	}
	& details {
		position: relative;
		transition: 0.4s ease-out;
	}
	& summary {
		position: relative;
		list-style: none;
		padding: 1.5rem 4.5rem 1.5rem 2.5rem;
		background-color: var(--l-green);
		border: none;
		cursor: pointer;
        color: #1DAA38;
		text-align: center;
		&::-webkit-details-marker {
			display: none;
		}
		&::after {
			position: absolute;
			width: 1rem;
			height: 1rem;
			top: calc(50% - 0.5rem);
			right: 2.5rem;
			border-right: 1px solid #1DAA38;
			border-bottom: 1px solid #1DAA38;
			box-sizing: border-box;
			content: "";
			transform: rotate(45deg);
		}
	}
	& details[open] summary::after {
		top: calc(50% - 0.5rem);
		transform: rotate(-135deg);
	}
	& .accordion-content {
		padding: 0;
		overflow: hidden;
		& p {
			padding: 2rem;
		}
	}
	/* acc-grey */
	& .accordion.acc-grey {
		border: 1px solid darkgray;
        & > p {
			border-bottom: 1px solid darkgray;
			&:has(+ details[open]) {
				border-bottom: none;
			}
            &::after {
                background-color: darkgray;
            }
        }
		& summary {
			background-color: #ffffff;
			color: var(--t-black);
			text-align: left;
			padding-left: 6rem;
			@media screen and (max-width: 767px) {
				font-size: 0.8em;
			}
			&::before {
				content: "";
				display: block;
				position: absolute;
				width: 3rem;
				height: 3rem;
				background: url(https://broomstick.cloudfree.jp/takachan2525/miekosei/img/logo_ig.svg) no-repeat;
				background-size: contain;
				background-position: center;
				border-radius: 0;
				top: calc(50% - 1.5rem);
				left: 1.5rem;
				transition: none;
			}
			&::after {
				position: absolute;
				width: 1rem;
				height: 1rem;
				top: calc(50% - 0.5rem);
				right: 2.5rem;
				border-right: 1px solid darkgray;
				border-bottom: 1px solid darkgray;
				box-sizing: border-box;
				content: "";
				transform: rotate(45deg);
			}
		}
		& details[open] summary {
			border-bottom: 2px solid darkgray;
			&::after {
				top: calc(50% - 0.5rem);
				transform: rotate(-135deg);
			}
		}
	}
}
/* 画像切り替え用 */
& .accordion.acc-grey {
/* &.任意のクラス名 summary::before */
&.acc-title1 summary::before {
/* background: url(画像URL) no-repeat; */
background: url(../img/sdgs/midasi.jpg) no-repeat;
}
&.acc-title2 summary::before {
background: url(https://broomstick.cloudfree.jp/takachan2525/miekosei/img/logo_fb.svg) no-repeat;
}
}

.classname {
	background-color:#ededed;
text-indent:0;
	border:1px solid #dcdcdc;
	display:inline-block;
	color:#999;
	font-family:"m-plus-1p", sans-serif;
	font-size:17px;
	font-weight:nomal;
	font-style:normal;
height:60px;
	line-height:3;
	padding:3px 8px 0 8px;
width:90%;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #ffffff;
}.classname:hover {
	background-color:#dfdfdf;
}.classname:active {
	position:relative;
	top:1px;
}
.classname1 {
	background-color:#fff;
text-indent:0;
	border:1px solid #c7ccb6;
	display:inline-block;
	color:#32332d;
	font-family"m-plus-1p", sans-serif;
	font-size:17px;
	font-weight:nomal;
	font-style:normal;
height:60px;
	line-height:2.5;
	padding:3px 5px 0 8px;
width:90%;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #ffffff;
}.classname1:hover {
	background-color:#f5ecf4;
}
.classname1:active {
	position:relative;
	top:1px;
}
.classname1:before {
	font-family: "Font Awesome 6 Free";
  content: "\f82f";
  font-weight: 400;
  padding-right: 10px;
  color: #f89174;/*アイコンの色*/
	font-size: 20px;
}
.classname2 {
	background-color:#fff;
text-indent:0;
	border:1px solid #c7ccb6;
	display:inline-block;
	color:#32332d;
	font-family"m-plus-1p", sans-serif;
	font-size:17px;
	font-weight:nomal;
	font-style:normal;
height:60px;
	line-height:2.5;
	padding:3px 5px 0 8px;
width:90%;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #ffffff;
}.classname2:hover {
	background-color:#f0f6da;
}.classname2:active {
	position:relative;
	top:1px;
}
.classname2:before {
	font-family: "Font Awesome 6 Free";
  content: "\f486";
  font-weight: 400;
  padding-right: 10px;
  color: #a7d28d;/*アイコンの色*/
	font-size: 20px;
}
.classname3 {
	background-color:#fff;
text-indent:0;
	border:1px solid #c7ccb6;
	display:inline-block;
	color:#32332d;
	font-family"m-plus-1p", sans-serif;
	font-size:17px;
	font-weight:nomal;
	font-style:normal;
height:60px;
	line-height:2.5;
	padding:3px 5px 0 8px;
width:90%;
	text-decoration:none;
	text-align:center;
	text-shadow:1px 1px 0px #ffffff;
}.classname3:hover {
	background-color:#bbe2f1;
}.classname3:active {
	position:relative;
	top:1px;
}
.classname3:before {
	font-family: "Font Awesome 6 Free";
  content: "\f812";
  font-weight: 400;
  padding-right: 10px;
  color: #6c9bd2;/*アイコンの色*/
	font-size: 20px;
}
@media only screen and (max-width: 648px){
 td { display: block; }
.classname {
	min-width:282px;
	height:38px;
	font-size:85%;
	line-height:normal;
	padding-top:8px;}
.classname1 {	
	min-width:282px;
	height:38px;
	font-size:85%;
	line-height:normal;
	padding-top:8px;}
.classname2 {	
	min-width:282px;
	height:38px;
	font-size:85%;
	line-height:normal;
	padding-top:8px;}
.classname3 {	
	min-width:282px;
	height:38px;
	font-size:85%;
	line-height:normal;
	padding-top:8px;}
}
dl{
  display:flex;/*必須*/
  flex-wrap:wrap;
  width: 50rem;
	border-bottom: dotted 1px #999; margin-bottom: 10px; padding-bottom: 20px;
	
}
dt{
  width:23%;
	min-width: max-content;
  padding:20px 0 0 15px;/*必須*/
  margin:0;/*必須*/
}
dd{
  width:77%;
  padding:10px 0 0 20px;/*必須*/
  margin:0;/*必須*/
}
@media only screen and (max-width: 648px){
	dl{width: 100%;}
	dt{
	width: 30%;
		font-weight: 600;
		font-size: 85%;
	}
	dd{width: 70%;
	padding-left: 15px;
	font-size: 85%
	}
}

/*img:hover{
	opacity: 0.7
}*/
.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}
.news-list .item:first-child a{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 120px;
  font-size: 16px;
  color: #999;
  padding: 0 20px 0 0;
	text-align: center;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: #3cb37a;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

/* 装飾 */
 
*{
  box-sizing: border-box;
}
a{
  text-decoration: none;
}

	
/* Q&A */
dl.kango{
	width: 100%;
	@media only screen and (max-width: 750px){
	dl.kango{width: 100%;
		}
}
	}
.qa-8 dt {
    margin-bottom: 1em;
	line-height: 1.2;
    color: #333333;
    font-weight: 600;
	margin-left: 1.5rem; text-indent: -1.5rem;
	width: 100%;
}

.qa-8 dt::before,
.qa-8 dd::before {
    margin-right: .4em;
}

.qa-8 dt::before {
    content: "Q.";
	color: #ccc;
}

.qa-8 dd {
	width: 100%;
    margin: 0 0 0em;
    padding: 1em 1em;
	line-height: 1.3;
    background-color: #ffffff;
    color: #555555;
	margin-left: 1.8rem; text-indent: -1.8rem;
}

.qa-8 dd::before {
    content: "A.";
	color: #555555;
}

@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 100%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
	.tbl-r02 td p {
		margin-top: -15px;
		margin-left: -20px;
	}
}

/* お申し込みフォームボタン */
.button-3 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 25px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #ee98b8;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}

.button-3:hover {
    background-color: #edbecf;
}

/* chi Googleマップ
------------------------------------------------------------*/
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/*chi　グーグルマップ終了
------------------------------------------------------------*/  