@charset "utf-8";
/* CSS Document */

html { scroll-behavior: smooth;}
html,body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:15px;
	font-weight: 400;
	line-height: 1.6em;
	padding:0;
	margin: 0;
	background: #ffffff;
}
img{
	max-width: 100%;
}
.gothic{font-family: 'Noto Sans JP', sans-serif;}
.mincho{font-family: 'Noto Serif JP', serif;}
.pc{
	display: block;
}
.sp{
	display: none;
}
.centertxt{
	text-align: center;
}
.centerimg{
    display: block;
    margin: 0 auto;
}
.visible{
    overflow: visible;
    max-width: none;
}
a{
	color:#000000;
	text-decoration: none;
}
a:hover{
	color:#333333;
	/*text-decoration: underline;*/
    opacity: 0.7;
}
a:visit{
	color:#000000;
	text-decoration: none;
}
ul{
    list-style-type: "・";
    padding-left: 1em;
}
table.seido{
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border:1px solid #009f3f;
    border-radius:8px;
}
table.seido tr:nth-child(odd) {
  background-color: #ffffff;
}

table.seido tr:nth-child(even) {
  background-color: #cbecda;
}

table.seido th{
    background: #009f3f;
    color:#fff;
    border-right:1px solid #fff;
    padding:10px 20px;
}
table.seido td{
    border-right:1px solid #009f3f;
    padding:10px 20px;
}
table.seido td:last-child,
table.seido th:last-child {
    border-right: none;
}
table.seido td:first-child,
table.seido th:first-child {
    white-space: nowrap;
}

.fw100{font-weight:100;}
.fw200{font-weight:200;}
.fw300{font-weight:300;}
.fw400{font-weight:400;}
.fw500{font-weight:500;}
.fw600{font-weight:600;}
.fw700{font-weight:700;}
.fw800{font-weight:800;}
.fw900{font-weight:900;}
header{
	width:100%;
	height:100px;
	position: fixed;
	background:#ffffff;
	z-index: 999;
    box-shadow: 0 10px 10px 5px #33333311;
}
.title{
    font-size:22px;
    font-weight:600;
}
/*スマホ用メニューここから*/
.spclose{
	display: none;
}
.hamburger{
	display: none;
}
.sp_wrap{
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:auto;
	/*overflow-x: hidden!important;*/
}
.globalMenuSp{
	display: none;
}
/*スマホ用メニューここまで*/
.container{
	width:1000px;
	margin:0 auto;
	height:auto;
	overflow: hidden;
}
.form-container{
	width:800px;
	margin:0 auto;
	height:auto;
	overflow: hidden;
}

.head{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:0 30px;
	height:100px;
}
.mainmenu{
	margin-top: 10px;
	display: flex;
	justify-content:space-between;
	width:650px;
	list-style: none;
	float:right;
    font-size: 15px;
	font-weight: 800;
}
.offset{
	height:100px;
}
.topimg{
	object-fit: cover;
	width:100%;
}
.midashi{
	width:1280px;
    margin:0 auto;
    
}
h1{
	color:#009d4b;
	font-size:46px;
	text-align: center;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	margin:1em 0;
    padding-bottom: 20px;
    border-bottom: 1px solid #009f3f;
    line-height: 1.5em;
}
h2{
	font-size:32px;
	text-align: center;
	color:#009d4b;
	margin-top:1em 0;
    line-height: 1.5em;
}
h3{
	font-size:20px;
    color:#009d4b;
	font-weight: 600;
    margin: 10px 0;
    line-height: 1.5em;
}
h3.title {
    display: flex;
    align-items: center;
    gap: 0.5em;              /* 文字と線の間隔 */
    font-size: 24px;
}
h3.title::after {
  content: "";
  flex: 1;                 /* ← これが「100% - 文字幅」になる */
  height: 1px;
  background: #009d4b;
  margin-top: 0.3em;       /* 上限中央に寄せる調整 */
}
.orange{color:#fd8a00;}
h3.title.orange::after {
  content: "";
  flex: 1;                 /* ← これが「100% - 文字幅」になる */
  height: 1px;
  background: #fd8a00;
  margin-top: 0.3em;       /* 上限中央に寄せる調整 */
}

h4{
	font-size:20px;
	font-weight: 600;
    line-height: 1.5em;
}
.spacer10{height:10px;}
.spacer20{height:20px;}
.spacer40{height:40px;}
.label{
    background:#fff0a1;
    width:fit-content;
    line-height: 15px;
    padding:5px 10px;
    margin:10px 0;
}
.url{
    font-size:12px;
}
.sitelist{
    width:100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    border-bottom: 1px solid #000;
    padding-bottom: 1em;
    margin-bottom: 1em;
    font-size:17px;
}
.btmnone{
    border-bottom: none;
}
.sitelist .name{
    width:15em;
}
.sitelist .info{
    width:calc(100% - 15em);
}
.area_cream {
	height:auto;
	background:#fffdeb;
}
.sitelist .info .year{
    float:right;
    margin-left: 1em;
}
.f11{font-size:11px;}
.f12{font-size:12px;}
.f13{font-size:13px;}
.f14{font-size:14px;}
.f15{font-size:15px;}
.f16{font-size:16px;}
.f17{font-size:17px;}
.f18{font-size:18px;}
.f19{font-size:19px;}
.f20{font-size:20px;}
.f21{font-size:21px;}
.f22{font-size:22px;}
.f23{font-size:23px;}
.f24{font-size:24px;}
.f25{font-size:25px;}
.f26{font-size:26px;}
.f27{font-size:27px;}
.f28{font-size:28px;}

.footer{
  width:100%;
  height:auto;
  overflow: hidden;
  background:url("../images/footer-bg.svg") no-repeat center top;
  background-size: cover;
  padding:100px 0 50px;
}
.footerinfo{
    display: inline-block;
    line-height: 1.8em;
    font-weight:500;
    padding:0 20px;
}
.between{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.btn_ftcontact{
    width:233px;
}
.copyright{
    background:#009d4b;
    color:#fff;
    font-size:11px;
    text-align: center;
}
.btnmenu{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:20px;
    margin-top: -80px;
    flex-wrap: wrap;
}
.btnmenu img{
    width:180px;
    border-radius: 10px;
    box-shadow: 0 10px 10px 5px #33333322;
}
.newscate{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:20px;
    list-style-type: none;
    flex-wrap: wrap;
}
.newscate li{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:18px;
    font-weight: 800;
}
.newslist{
    width:100%;
    font-size:18px;
}
.newslist li{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-top: 1px solid #000;
    padding:20px 10px;
    background:url("../images/linkto.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - 10px) center;
    background-size: 20px 20px;
}
.newslist li:last-child{
    border-bottom: 1px solid #000;
}
.newslist li div{
    width:112px;
    height:23px;
    font-size:12px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    margin:0 20px;
}
.catbox{
    width:112px;
    height:23px;
    font-size:12px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
    margin:0;
}
.color{
    color:#009f3f;
}
.color a{
    color:#009f3f;
}
.linkto{
    width:16px;
    height:16px;
}
.date{
    font-size:12px;
}
.cat-all{
    width:156px;
    height:50px;
    border:#009f3f 1px solid;
    color:#009f3f;
    border-radius: 25px;
}
.cat-eve{
    width:156px;
    height:50px;
    border:#ff6b99 1px solid;
    color:#ff6b99;
    border-radius: 25px;
}
.c-eve{
    border:#ff6b99 1px solid;
    color:#ff6b99;
}
.cat-pat{
    width:156px;
    height:50px;
    border:#00accb 1px solid;
    color:#00accb;
    border-radius: 25px;
}
.c-pat{
    border:#00accb 1px solid;
    color:#00accb;
}
.cat-med{
    width:156px;
    height:50px;
    border:#ff8800 1px solid;
    color:#ff8800;
    border-radius: 25px;
}
.c-med{
    border:#ff8800 1px solid;
    color:#ff8800;
}
input:not([type="file"],[type="image"]),select,textarea{
    border: 1px solid #999999;
    border-radius:23px;
    padding:0 5px;
    width:100%;
    height:46px;
    background:#ffffff;
    padding:10px;
}
.submit{
    max-width: 90%!important;
    width:368px!important;
    height:60px;
    background:#019e4b!important;
    color:#fff;
    display: block;
    margin:0 auto;
}
textarea{
    width:100%;
    height:200px;
    padding:10px;
}
select {
  appearance: auto;
  -webkit-appearance: auto;
  -moz-appearance: auto;
}
.floatbtn{
    position:fixed;
    top:250px;
    right:0;
    width:80px;
}
.greeting{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.person{
    width:fit-content;
}
.person img{
    width:279px;
}
.greetingbox{
    width:668px;
}
/*メールフォーム*/
.con{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap:10px;
    padding:15px 0;
}
.req{
    background:#f00;
    color:#fff;
    font-weight:600;
    display: flex;
    justify-content: center;
    align-items: center;
    width:50px;
    height:20px;
    border-radius: 5px;
    flex-shrink: 0;
    margin-top: 13px;
}
.fre{
    background:#808080;
    color:#fff;
    font-weight:600;
    display: flex;
    justify-content: center;
    align-items: center;
    width:50px;
    height:20px;
    border-radius: 5px;
    flex-shrink: 0;
    margin-top:13px;
}
.lbl{
    width:10em;
    flex-shrink: 0;
    margin-top: 10px;
}
select.cate{
    width:150px;
}
.pagination{
    width:100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap:8px;
}
.current-page{
    width:25px;
    height:25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:17px;
    background:#009f3f;
    color:#fff;
    border-radius: 5px;
}
.link-page{
    width:25px;
    height:25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size:17px;
    background:#fff;
    color:#009f3f;
    border:1px solid #009f3f;
    border-radius: 5px;
}
li.active {
    background: #4cbb72;
    color: #fff;
    font-weight: bold;
}

@media screen and (max-width: 1280px) {
	.midashi{
		width:100%;
		padding:0 10px;
	}
}
@media screen and (max-width: 1000px) {
    html,body{
        font-size:13px;
    }
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
    .title{
        font-size:18px;
    }
	.mainmenu{
		display: none;
	}
	.container{
		width:100%;
        padding:0 20px;
	}
    .form-container{
        width:100%;
        padding:0 20px;
    }
	.main{
		width:100%;
		padding:0 10px;
	}
	header{
		height:80px;
	}
	.head{
		padding:0 10px;
		height:80px;
	}
	.offset{
		height:80px;
	}
	.between{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: column;
        gap:30px;
    }
    .btnmenu{
        margin-top: 20px;
    }
    .newslist{
        width:100%;
        font-size:15px;
    }

    .btnmenu img{
        width:160px;
        border-radius: 0;
        box-shadow: none;
    }
    .newslist li{
        background:none;
        flex-wrap: wrap;
    }
  .footer{
      background:url("../images/footer-bg_sp.svg");
      background-repeat: no-repeat;
      background-size: cover; /* 全体を収める */
      background-position: center top;
    }
    h1{
        font-size:30px;
    }
    h2{
        font-size:24px;
    }
    h3{
        font-size:18px;
    }
    h3.title {
        font-size:18px;
    }
    h4{
        font-size:16px;
    }
    .btn_ftcontact{
        width:300px;
    }
    .sitelist{
        flex-flow: column;
    }
    .sitelist .name{
        width:100%;
        background:#eeeeee;
        padding:5px;
        margin:5px 0;
    }
    .sitelist .info{
        width:100%;
    }
    .f11{font-size:10px;}
    .f12{font-size:11px;}
    .f13{font-size:12px;}
    .f14{font-size:12px;}
    .f15{font-size:13px;}
    .f16{font-size:14px;}
    .f17{font-size:15px;}
    .f18{font-size:16px;}
    .f19{font-size:17px;}
    .f20{font-size:18px;}
    .f21{font-size:19px;}
    .f22{font-size:20px;}
    .f23{font-size:21px;}
    .f24{font-size:22px;}
    .f25{font-size:23px;}
    .f26{font-size:24px;}
    .f27{font-size:25px;}
    .f28{font-size:26px;}
    .greeting{
        flex-flow: column;
        justify-content: flex-start;
        align-items: center;
        gap:40px;
    }
    .greetingbox{
        max-width:668px;
        width:100%;
    }
    .con{
        flex-wrap: wrap;
    }
}
