@charset "utf-8";

body{
	margin:0px;
	padding:0px;
	color: #604c3f!important;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	background-image: url("../img26/top/bg_wall.webp")!important;
}

a{text-decoration: none!important;
	color: #604c3f!important;
	font-weight: 500!important;
font-family: 'Zen Kaku Gothic New', sans-serif!important;}

a:hover,a:hover img{
 opacity:.5;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
 }

img {
	margin:0;
	padding:0;
	border: none;
    vertical-align: bottom;
}
p,li{
	color: #604c3f!important;
	font-size: 16px!important;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
	font-weight: 500!important;
	letter-spacing: 0.05em;
}

p{line-height: 2!important;}
li{line-height: 1.5!important;margin-bottom: 0.3em!important;}

@media only screen and (max-width:576px){
p,li{
	font-size: 15px!important;
}
}
tr,th,td{
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
}

h1,h2,h3,h4,h5,h6{color: #604c3f!important;font-family: 'Zen Kaku Gothic New', sans-serif;}


/*==================slide==================*/

#slider-area{
	position: relative;
    width:100%;
    height: 100%;
	overflow: hidden;
	background-color: #fff;
	z-index: 1;
}

#slider-area #slider{
	position: relative;
	z-index: 0;
    width:100%;
    height:50vw;
	overflow: hidden;
}
#slider-area #slider::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	background-color: rgba(89,70,61,0);
	z-index: 1;
}

@media screen and (max-width:1200px){
#slider-area #slider{
    height:50vw;
}
}
@media screen and (max-width:991px){
#slider-area #slider{
    height:140vw;
}
}
@media screen and (max-width:576px){
#slider-area #slider{
    height:162.5vw;
}
}


/*==================mainbg==================*/

.topnew {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 0.6em;
  border: 2px solid #A2B637;
  border-radius: 8px;
  background-color: #fff;
  text-align: left;
  font-weight: 400;
  line-height: 1.5;
}

.topnew::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 24%;
  border-style: solid;
  border-width: 20px 10px 0 10px;
  border-color: #A2B637 transparent transparent;
  translate: -50% 100%;
  transform: skew(-25deg);
  transform-origin: top;
}

.topnew::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 24%;
  border-style: solid;
  border-width: 16px 8px 0 8px;
  border-color: #fff transparent transparent;
  translate: -50% 100%;
  transform: skew(-25deg);
  transform-origin: top;
}

.mainbg {
	position: relative;
	overflow: hidden;
}

.policy{
	position: relative;
	z-index: 1;
}

.messb{
	position: absolute;
	z-index: 999;
	bottom: -30px;
	right: calc(41.6% - 80px);
	width: 25%;
  letter-spacing: 0.1em;
  padding:20px;
  cursor: pointer;
  -webkit-box-shadow: 6px 6px 0px rgba(100,125,128,0.20);
  box-shadow: 6px 6px 0px rgba(100,125,128,0.20);
  color: #fff;
	background:#B2C844;
	font-weight: 500;
	border-radius:0 100px 100px 0;
}
a.messb:hover{color: #fff;}

@media screen and (max-width:1200px){
.messb{
 	bottom: -40px;
	left:40%;
	width: 50%;
	padding:20px;
}
}

@media screen and (max-width:991px){
.messb{
	left:50%;
}
}

@media screen and (max-width:576px){
.messb{
 	bottom: 90vw;
	left: 50px;
	width: 100%;
	padding:20px;
	border-radius:100px 0 0 100px;
}
}

/*==================CONCEPT==================*/ 

.bg1{
	background: url("../img26/top/mainbg2.webp") no-repeat top right / 100%,
		        url("../img26/top/mainbg.webp") no-repeat center left / 60%,
		        url("../img26/top/bg_wall.webp");
	overflow: hidden;
}

@media only screen and (max-width:576px){
.bg1{
	position: relative;
	background: url("../img26/top/mainbg2sp1.webp") no-repeat top right /100%,
				url("../img26/top/mainbg2sp2.webp") no-repeat top 31% right /100%,
		        url("../img26/top/mainbg.webp") no-repeat top 15% left / 120%,
		        url("../img26/top/bg_wall.webp");
}
}



/*==================What's new==================*/


.wn{
	position: relative;
	height: 240px;
	width: 100%;
	z-index: 99;
	padding:0 20px 20px;
}
@media only screen and (max-width:991px){
.wn{
	height: 220px;
}
}


.wnt3{
	display: inline-block;
	padding:18px 20px;
	border-radius:15px 15px 0 0;
	margin: 0;
	z-index: 99;  
	background-color: #f8ebc6;
	color:#956134 ;
	line-height: 1.2!important;
	width: 100%;
}

.wn3{
	position: relative;
	width: 100%;
	z-index: 99;
	background-color: #fff;
	padding:20px;
	border-radius: 0 0 15px 15px;
}
@media only screen and (max-width:576px){

.wnt3{
	padding:10px 30px;
}
.wn3{
	padding:10px;
}
}


.invit{
	position: absolute;
	top:0;
	left: 0;
	z-index: 3;
}
@media screen and (max-width:991px){
.invit{z-index: 1;}
}

.point{
	width: 100%;
	height: 220px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position:center!important;
	border-radius: 20px;
	}

@media screen and (max-width:768px){
.point{
	width: 100%;
	height: 200px;
	margin: 15px 0; 
	}
}


.stf{
    position: relative;
    padding: 0.4em 0.8em;
	font-weight: 500;
	border-radius: 5px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	color: #fff;
	z-index: 1;
}
.stf:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	position: absolute;
	left: 2em;
	bottom:-2em;
	border-width: 1.5em 1.4em 1.5em 1.4em;
	z-index: -1;
}

.stfc1{background-color: #B0C548;}.stfc1:before{border-color:  #B0C548 transparent transparent transparent;}
.stfc2{background-color: #85ccc9;}.stfc2:before{border-color:  #85ccc9 transparent transparent transparent;}
.stfc3{background-color: #6fb16c;}.stfc3:before{border-color:  #6fb16c transparent transparent transparent;}
.stfcw{background-color: #fff;}.stfcw:before{border-color:  #fff transparent transparent transparent;}


.title_bg{
	position: relative;
	z-index: 1;
	background-color: #FFFFFF;
	border: 4px solid #BEB5AF;
	overflow: hidden;
}

.knot{
	display: inline-block;
	position: relative;
	background-color: #8B8177;
	padding: 10px 30px;
	border-radius: 100px;
	color:#fff;
}
.knot::before{
	content: "";
	position: absolute;
	width: 100vw;
	height: 4px;
	background-color: #8B8177;
	transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
	z-index: -1;
}

/*==================MEDICAL==================*/ 

.servbg{
	position: relative;
	z-index: 1;
}
.servbg::before{
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 0;
	top:0;
	background-color: #fff;
	border-radius: 50px 0 0 50px;
	z-index: -1;
}
@media only screen and (max-width: 576px) {
.servbg::before{
	border-radius: 50px;
}
}

.servt span{
	position: relative;
	z-index: 1;
}
.servt span::after{
	content: "";
	position: absolute;
	left: 15%;
	bottom: -10px;
	width: 70%;
	height: 100%;
	border-bottom: 4px dotted #bcd050;
	z-index: -1;
}

.servt2 span{
	position: relative;
	z-index: 1;
}
.servt2 span::after{
	content: "";
	position: absolute;
	left: 15%;
	bottom: -10px;
	width: 70%;
	height: 100%;
	border-bottom: 4px dotted #84ccc9;
	z-index: -1;
}

.fb {
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0;
	align-items:stretch;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.fbitem{
	width: calc((100% / 2) - 10px);
	height: auto;
	margin: 5px;
	box-sizing: border-box;
	background-color: #EFF2D8;
	border-radius: 15px;
}
@media only screen and (max-width: 576px) {
	.fbitem{
		width: 100%;
		margin: 0 0 10px;
	}
}

.icon{
	display: flex;
	padding: 10px;
	height: 100%;
	border-radius: 14px;
	align-items:center;
}
.icon div{
	width: 70%;
	color:#4A4540;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	letter-spacing: 0.05em;
}
.icon img{
	width: 30%;
	height: auto;
}
.icon i{
	color:#9B9B9B;
}
.icon p{
	line-height: 1.7!important;
}

.icont{
	font-weight: 600!important;
	border-bottom: 2px solid #fff;
	margin: 0 0 10px;
	width: 100%;
}

@media only screen and (max-width: 480px) {
	.icon{
		  padding-top: 0.625rem!important;
		  padding-bottom: 0.625rem!important;
		  padding-left: 0!important;
		  padding-right: 0.625rem!important;
	}
.icon img{
	padding: 0.5em;
}
}

.list img {

}

.list:hover img {
	opacity: 1;
}


/*==================CLINIC==================*/ 

.clinicbg{
	background: linear-gradient(180deg,rgba(222,205,170,1.00) 0%, rgba(222,205,170,1) 100%);
}
.clinic{
	position: relative;
	background:url("../img26/top/clinic_bg.webp") no-repeat bottom left,linear-gradient(0deg,rgba(185,214,219,1.00) 0%, rgba(227,244,248,1.00) 80%);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-attachment: scroll;
	padding:180px 0 400px ;
}
.clinic::after{
	content: "";
	position: absolute;
	top:-100px;
	left:5%;
	width: 420px;
	height: 210px;
	background-image: url("../img26/top/kumo1.webp");
	background-size: contain;
}

@media screen and (max-width:1200px){
.clinic{
	background:url("../img26/top/clinic_bg.webp") no-repeat bottom left,linear-gradient(0deg,rgba(185,214,219,1.00) 0%, rgba(227,244,248,1.00) 80%);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-attachment: scroll;
	padding:180px 0 450px ;
}
}
@media screen and (max-width:991px){
.clinic{
	background:url("../img26/top/clinic_bg.webp") no-repeat bottom left,linear-gradient(0deg,rgba(185,214,219,1.00) 0%, rgba(227,244,248,1.00) 80%);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-attachment: scroll;
	background-size:150% ;
	padding:180px 0 250px ;
}
}
@media screen and (max-width:576px){

.clinic{
	background:url("../img26/top/clinic_bgsp.webp") no-repeat bottom left,linear-gradient(0deg,rgba(185,214,219,1.00) 0%, rgba(227,244,248,1.00) 80%);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	padding:60px 0 300px ;
}
.clinic::after{
	content: "";
	position: absolute;
	top:-80px;
	left:0;
	width: 100%;
	height: 210px;
	background-image: url("../img26/top/kumo1.webp");
	background-size:70%;
	background-position:left -80% top;
	background-repeat: no-repeat;
}

}

.link{
	position: relative;
	background:url("../img26/top/clinic_bg.webp") no-repeat bottom left /100%;
	padding:0 0 120px ;
}

/*==================求人・お問い合わせ==================*/

.bg4{
	background: linear-gradient(90deg, rgba(171,196,139,1) 50%, rgba(248,235,198,1) 50%, rgba(248,235,198,1) 100%);
}
@media only screen and (max-width:991px){
.bg4{
	background: linear-gradient(180deg, rgba(171,196,139,1) 50%, rgba(248,235,198,1) 50%, rgba(248,235,198,1) 100%);
}
}

.recr_bor{
	border: double 10px #f8ebc6;
}

.cont_bor{
	border: double 10px #d4a373;
}


/*==================map==================*/ 

#map {
	position: relative;
	width: 100%;
	height: 520px;
	border-radius:0 0 20px 20px ;
	overflow: hidden;
}
@media only screen and (max-width:1200px){
#map {height: 500px;}
}
@media only screen and (max-width:991px){
#map {height: 450px;}
}

.mapti {
	border-radius: 10px 10px 0 0 ;
}
/*==================recruit==================*/ 

.recr {
	border-radius: 0 20px 20px 0;
	background: url("../img/top/recruit.webp") no-repeat center/cover;
}


.btn3,
a.btn3,
button.btn3 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn--circle {
  width: 140px;
  height: 140px;
  padding: 20px 0 0;
  border-radius: 50%;
  color: #fff;
  background: #eb6877;
  -webkit-box-shadow: 0 7px 0 #e53b4e;
  box-shadow: 0 7px 0 #e53b4e;
}

a.btn--circle i {
  font-size: 150%;
}

.fa-position-bottom {
  position: absolute;
  bottom: 1rem;
  left: calc(50% - 0.5rem);
}

a.btn--circle:hover {
  -webkit-transform: translate(0, 4px);
  transform: translate(0, 4px);
  color: #fff;
  -webkit-box-shadow: 0 3px 0 #e53b4e;
  box-shadow: 0 3px 0 #e53b4e;
}



/*==================診療時間==================*/ 

.time {
	width: 100%;
	margin: 0 auto 10px;
	padding: 0;
	border-radius: 10px;
	box-sizing: border-box;
	border-top: 1px solid #C6C1BD;
}
.time tr {
	border-bottom: 1px solid #C6C1BD;
	text-align: center;
	vertical-align: middle;
	color: #604c3f;
}

/*
.time tr:first-child {
	border-bottom: none;
}
*/
.time th {
	padding:.5em 2px;
	word-break: break-all;
	white-space: nowrap;
	text-align: center;
	font-weight: 600;
}
.time td {
	padding:.5em 2px;
	word-break: break-all;
	font-size: 1.2em;
	text-align: center;
	letter-spacing: 0;
	font-weight: 600;

}
@media only screen and (max-width: 768px) {
	.time tr {
		letter-spacing: 0;
	}
	.time th {
		font-size: 1em;
		letter-spacing: 0;
		padding:.5em 2px;
	}
	.time td {
		padding:.5em 2px;
		font-size: 1em;
		text-align: center;
		letter-spacing: 0;
	}
}

.time2 {
	width: 100%;
	margin: 0 auto 10px;
	padding: 0;
}
.time2 tr {
	border-bottom: 2px solid #d4a373;
	color: #4F4F4F;
	text-align: center;
	vertical-align: middle;
	font-family:'Kiwi Maru'!important;
}

/*
.time tr:first-child {
	border-bottom: none;
}
*/
.time2 th {
	padding:.5em 2px;
	word-break: break-all;
	white-space: nowrap;
	text-align: center;
	color: #4F4F4F;
	font-weight: 500;
	font-family:'Kiwi Maru'!important;
	font-size: 1.125em;
}
.time2 td {
	padding:.5em 2px;
	word-break: break-all;
	font-size: 1.2em;
	text-align: center;
	letter-spacing: 0;
	font-family:'Kiwi Maru'!important;

}
@media only screen and (max-width: 768px) {
	.time2 tr {
		font-size: .9em;
		letter-spacing: 0;
	}
	.time2 th {
		font-size: 1em;
		letter-spacing: 0;
		padding:.5em 2px;
	}
	.time2 td {
		padding:.5em 2px;
		font-size: 1em;
		text-align: center;
		letter-spacing: 0;
	}
}

/*==================footer==================*/

footer {
	clear: both;
	position: relative;
	font-size: 12px;
	text-align: center;
	z-index: 999;
}
footer .pr {display: block;font-size: 80%;}

#footel{
	display: none;
}

.foot{display: none;}

@media screen and (max-width:576px){
	
footer {
	position: fixed;
    bottom:0;
}
	
#footel {
	display: block;
	margin:0;
	position: fixed;
    bottom:0;
	width:100%;
	padding:0;
	background-color: rgba(0,0,0,0);
}
	
.foot{
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}
}

#respc{
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 99;
}
@media screen and (max-width:1200px){
	#respc{
		width: 150px;
		height: 150px;
}
}
@media screen and (max-width:480px){
#respc{
	display: none;
}
}

/*==================side banner==================*/

.sideb{
	position: fixed;
	top:120px;
	right: 0;
	z-index: 999;
}
@media screen and (max-width:991px){
.sideb{
	display: none;
}
}

/*==================back top==================*/

#back-top{
	position: fixed;
	bottom: 30px;
	right: 10px;
	z-index: 9999;
}
#back-top a{
	width: 40px;
	height: 40px;
	background: rgba(74,74,74,0.60);
	display: block;
	color: #fff!important;
	text-align: center;
	line-height: 40px;
	border-radius: 50%;
	text-decoration: none;
}

@media screen and (max-width:576px){
#back-top{
	bottom: 10vh;
}
}

/*==================common==================*/

.fontg1 {font-family: 'Zen Kaku Gothic New', sans-serif!important;}
.fontg2 {font-family: "Shippori Mincho B1", serif!important; }
.fontg3 {font-family: "LINE Seed JP", sans-serif!important;}
.lidisc{list-style: disc;}
.marker {background:linear-gradient(transparent 70%, #FFEE7D 60%);}
.underline {border-bottom: 2px dotted #ccc;}
.flbox{
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flend{align-self: flex-end;}
.flcenter{align-self: center;}

.btn1 {
  position: relative;
  display: inline-block;
  padding: 0.25em 5%;
	margin:0;
  text-decoration: none;
	background: rgb(119,173,228);
background: linear-gradient(-45deg, rgba(119,173,228,1) 26%, rgba(170,198,232,1.00) 76%);
  transition: .4s;
	width: 100%;
	font-size: 16px;
	line-height: 36px;
	letter-spacing: 1px;
	z-index: 99;
}
.btn1::after {
position: absolute;
content: "";
border-top: 2px solid #FFF;
border-right: 2px solid #FFF;
width: 8px;
height: 8px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 20px;
top: 16px;
}

a.btn1{color: #fff!important;}

/*----------------------------------
  Button
------------------------------------*/
.s-btn {
  display: block;
  text-align: center;
  vertical-align: middle;
  border: none;
  white-space: nowrap;
  touch-action: manipulation;
  cursor: pointer;
  user-select: none;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-btn:focus, .s-btn:hover {
  text-decoration: none;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.7, 1, 0.7, 1);
}

.s-btn.focus {
  text-decoration: none;
}

.s-btn:active, .s-btn.active {
  background-image: none;
  outline: 0;
}

.s-btn.disabled, .s-btn:disabled,
fieldset[disabled] .s-btn {
  cursor: not-allowed;
  opacity: .65;
}

.s-btn__element--left, .s-btn__element--right {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}

/* Sizes
------------------------------ */
.s-btn--xs {
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0.5rem 1.25rem;
}

.s-btn--sm {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 0.75rem 1.25rem;
}

.s-btn--md {
  font-size: 0.8125rem;
  font-weight: 400;
  padding: .5rem 2.5rem;
}

.s-btn-icon--md {
  font-size: 1rem;
  padding: 0.9375rem 1.5625rem 0.75rem;
}

/* Styles
------------------------------ */
.s-btn--white-brd {
  color: #fff!important;
  background: transparent;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #fff;
}

.s-btn--white-brd:focus, .s-btn--white-brd:hover {
  color: #222324!important;
  background: #fff;
  border-color: #fff;
}

.s-btn--white-bg {
  color: #222324!important;
  background: rgba(255,255,255,0.9);
	border: 1px solid #ccc;
}

.s-btn--white-bg:focus, .s-btn--white-bg:hover {
  color: #F39800!important;
  background: #fff;
	border: 1px solid #F39800;
}

.s-btn--dark-bg {
  color: #fff!important;
  background: #222324;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #222324;
}

.s-btn--dark-bg:focus, .s-btn--dark-bg:hover {
  color: #fff!important;
  background: #13b1cd;
  border-color: #13b1cd;
}

.s-btn--dark-brd {
  color: #222324!important;
  background: transparent;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #222324;
}

.s-btn--dark-brd:focus, .s-btn--dark-brd:hover {
  color: #fff!important;
  background: #222324;
  border-color: #222324;
}

.s-btn--primary-bg {
  color: #fff!important;
  background: #9ccc72;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #9ccc72;
}
.s-btn--primary-bg:focus, .s-btn--primary-bg:hover {
  color: #9ccc72!important;
  background: #fff;
  border-color: #9ccc72;
}

.s-btn--primary-bg2 {
  color: #fff!important;
  background: #91cfb9;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #91cfb9;
}

.s-btn--primary-bg2:hover {
  color: #91cfb9!important;
  background: #fff;
  border-color: #91cfb9;
	opacity: 1;
}

.s-btn--brown-bg{
  color: #fff!important;
  background: #8B8177;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #8B8177;
}

.s-btn--brown-bg:hover {
  color: #8B8177!important;
  background: #fff;
  border-color: #8B8177;
	opacity: 1;
}

.s-btn--pink-bg {
  color: #fff!important;
  background: #E8A2C2;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #E8A2C2;
}
.s-btn--pink-bg:focus, .s-btn--pink-bg:hover {
  color: #fff!important;
  background: #F0C3D8;
  border-color: #E8A2C2;
}
.s-btn--wine {
  color: #fff!important;
  background: #bf776e;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #bf776e;
}
.s-btn--wine:focus, .s-btn--wine:hover {
  color: #fff!important;
  background: #E9D0CD;
  border-color: #bf776e;
}
.s-btn--blue {
  color: #fff!important;
  background: #4baac5;
  border-width: 0.0625rem;
  border-style: solid;
  border-color: #4baac5;
}
.s-btn--blue:focus, .s-btn--blue:hover {
  color: #fff!important;
  background: #C3DBE3;
  border-color: #70abbe;
}

.s-btn--primary-brd {
  color: #fff!important;
  background: #9ccc72;
  border-width: 2px;
  border-style: solid;
  border-color: #9ccc72;
	border-radius: 6px;
}

.s-btn--primary-brd:focus, .s-btn--primary-brd:hover {
  color: #9ccc72!important;
  background: rgba(255,255,255,0.9);
}

.s-btn--primary-brd2 {
  color: #74BFA5!important;
  background: rgba(255,255,255,0.9);
  border-width: 2px;
  border-style: solid;
  border-color: #74BFA5;
}

.s-btn--primary-brd2:focus, .s-btn--primary-brd2:hover {
  color: #fff!important;
  background: #74BFA5;
  border-color: #74BFA5;
}

.s-btn-icon--white-brd {
  border-left: none;
}

.s-btn-icon--dark-brd {
  border-left: none;
}

/*==================内部ページ==================*/

.title{
	position: relative;
	padding: 180px 10px 0;
	font-weight: 600;
	font-family: 'Zen Kaku Gothic New', sans-serif!important;
	letter-spacing: 0.1em;
}
.title::after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 600px;
	height: 600px;
	background-image: url("../img26/top/titlebg.webp");
	background-size: contain;
	pointer-events: none;
	z-index: -1;
}
.title::before{
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 1000px;
	height: 1000px;
	background-image: url("../img26/top/titlebg2.webp");
	background-size: contain;
	pointer-events: none;
	z-index: -1;
}

@media screen and (max-width:1800px) {
.title::after{
	left:  -100px;
	top: 0;
	width: 550px;
	height: 550px;
}
.title::before{
	right: 0;
	top: 0;
	width: 1000px;
	height: 1000px;
}
}

@media screen and (max-width:1400px) {
.title{
	padding: 120px 10px 0;
}
.title::after{
	left:  -100px;
	top: 0;
	width: 420px;
	height: 420px;
}
.title::before{
	right: 0;
	top: 0;
	width: 600px;
	height: 600px;
}
}

@media screen and (max-width:576px) {
.title{
	padding: 120px 10px 0;
}
.title::after{
	left:  -100px;
	top: 0;
	width: 380px;
	height: 380px;
}
.title::before{
	right: 0;
	top: 0;
	width: 400px;
	height: 400px;
}
}


.st{
	display: inline-block;
	position: relative;
	line-height: 1.5;
	padding:0.6em 1.2em 0.6em 0;
	letter-spacing: 0.1em;
	font-weight: 600;
	z-index:1;
}
.st::before{
	content: "";
	position: absolute;
	width:100vw;
	height: 100%;
	top: 0;
	right: 0;
	border-radius: 0 0 1.2em 0;
	background: #fff;
	border: 4px solid #c2d94e;
	z-index: -1;}

.st2{
     position: relative;
	padding: 0 0 0.3em;
	border-bottom: 3px solid #85ccc9;
	font-weight: 600;
	letter-spacing: 0.1em;
	z-index: 1;
}
.st2::after,.st2::before {
     content: '';
     position: absolute;
     right:0;
     height:3px;
}
.st2::after {
     bottom: -3px;
     width: 66%;
     background-color:#c2d94e;
	z-index: 1;
}
.st2::before {
     bottom: -3px;
     width: 33%;
     background-color:#6fb16c;
	z-index: 2;
}

.st3{
	position: relative;
	display: inline-block;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
	z-index: 1;
	text-align: center;
}
.st3::after{
	content: "";
	position: absolute;
	left: 50%;
	transform:translateX(-50%);
	bottom: -10px;
	width: 70%;
	height: 100%;
	border-bottom: 4px dotted #bcd050;
	z-index: -1;
}

.st3-2{
	position: relative;
	display: inline-block;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.5;
	z-index: 1;
	text-align: center;
}
.st3-2::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -10px;
	width: 120%;
	height: 100%;
	border-bottom: 4px dotted #bcd050;
	z-index: -1;
}

.st4-1,.st4-2,.st4-3{
     position: relative;
	padding: 0.3em 0.8em;
	background-color: #FFFFFF;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.st4-1{border-bottom: 3px solid #bcd050;}
.st4-2{border-bottom: 3px solid #85ccc9;}
.st4-3{border-bottom: 3px solid #6fb16c;}

.st5 {
  position: relative;
  text-align: center!important;
 background-color: #92c868 ;
	border-radius: 20px 20px 0 0;
	color:#fff;
	display: inline-block;
}
.st5:before,
.st5:after {
  position: absolute;
  content: '';
}
.st5:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border-radius: 50%;
 background-color: #92c868 ;
}
.st5 i {
  font-size: 24px;
  line-height: 60px;
  position: absolute;
  z-index: 2;
  top: -40px;
  left: calc(50% - 38px);
  width: 80px;
  height: 60px;
  text-align: center;
	color:#fff;
}
.st5 span {
  position: relative;
  z-index: 1;
  display: block;
  padding: 0.5em;
  text-align: center!important;
}

.st6 {
  position: relative;
	text-align: center;
	letter-spacing: 0.05em;
	font-weight: 600;
	z-index: 1;
}
.st6::after,.st6::before{
	content: "";
	position: absolute;
	left:0;
	width: 100%;
	height: 2px;
	background-color: #A2B637;
	z-index: -1;
}
.st6::after{
	top:calc(50% - 2px);
}
.st6::before{
	top:calc(50% + 2px);
}
.st6 span{
	display: inline-block;
	padding:0.3em 0.7em;
	background-color: #A2B637;
	color: #fff;
}


table.com,table.comno{
	margin:0 auto 15px;
	width:100%;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
	border-top:solid 1px #ccc;
	border-left:solid 1px #ccc
}
.com th,.comno th{
	padding:.5em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	color: #604c3f;
	letter-spacing: 0.05em;
}
.com td,.comno td{
	color: #604c3f;
	padding:.5em;
	border-bottom:solid 1px #ccc;
	border-right:solid 1px #ccc;
	letter-spacing: 0.05em;
}

table.com2,table.com2no{
	margin:0 auto 15px;
	width:100%;
    border-collapse:separate;
    border-spacing:4px;
	empty-cells:show;
}
.com2 th,.com2no th{
	font-size:16px;
	padding:.5em;
	color: #604c3f;
	letter-spacing: 0.05em;
}
.com2 td,.com2no td{
	font-size:15px;
	color: #604c3f;
	padding:.5em;
	letter-spacing: 0.05em;
}

@media only screen and (max-width:576px){
.com2 td,.com2 th,.com td,.com th{
	width:100%;
	display:block;
	padding:10px;
	font-size: 15px;
}
.com2no td,.com2no th,.comno td,.comno th{font-size: 15px;}
}

#doc,#doc2{
	position: relative;
}
#doc::before,#doc2::before{
	content: "";
	position: absolute;
	top:0;
	right: -100px;
	height: 100%;
	width: 300px;
	background-repeat: repeat-y;
	background-size: contain;
	background-position: top;
}
#doc::before{background-image:url("../img/doc/ddcbg1.webp");}
#doc2::before{background-image:url("../img/doc/ddcbg2.webp");}
@media only screen and (max-width:576px){
#doc::before,#doc2::before{
	top:0;
	right: 0;
	height: 100%;
	width: 150px;
}
}


.list-box {
	position: relative;
	margin: 20px 0 0;
	width: 100%;
	height: 100%;
    background-color: rgba(255,255,255,1.00);
	box-shadow: -15px 15px 30px 0 rgba(100,100,100,0.3);
}

.list-box:before {
	top:10px;
	right: 10px;
	position: absolute;
	content: "";
	border: 4px double #aecfe8;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	pointer-events: none;
}


.infobox{
	position: relative;
	top:-40px;
	z-index: 1;
	margin: 0 30px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
	overflow: hidden;
}

.infoboxt{
	position: relative;
	z-index: 1;
	text-align: center;
}
.infoboxt::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background-color: #B4CEE1;
	z-index: -1;
}

.infoboxt span{
	position: relative;
	padding: 0 20px;
	background-color: #fff;
	color: #6393B7;
}
.infoboxt span::before,.infoboxt span::after{
	content: '●';
	top: calc(50% - 13px);
	position: absolute;
	font-size: 14px;
	color: #B4CEE1;
}
.infoboxt span::before{
	left: -2px;
}
.infoboxt span::after{
	right: -2px;
}


/*==================Feature==================*/

.feat{
	position: relative;
	background-repeat: no-repeat;
	background-position:left,right;
	background-size: contain;
	padding: 0;
}

.featimg{
	position: relative;
	padding:0 20px;
	z-index: 2;
}
.featimg::before{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 20%;
	background-color: #fff;
	border-top: solid 4px #91CFB9;
	border-left: solid 4px #91CFB9;
	border-right: solid 4px #91CFB9;
	z-index: -1;
}

.featimg img{
	position: relative;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.4);
	z-index: 2;
}
	

.featurebox{
	position: relative;
	z-index: 1;
}
.featurebox::before{
	content: "";
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-left: solid 4px #91CFB9;
	border-right: solid 4px #91CFB9;
	border-bottom: solid 4px #91CFB9;
	z-index: -1;
}

.featurebox a{
	display: block;
	width: 100%;
	line-height: 3;
	background-color: #91CFB9;
	color:#fff;
}
.featurebox a:hover {
	color:#fff;
}


.menu{
	position: relative;
	display: block;
	background-size: cover;
	box-shadow: 4px 4px 16px -6px rgba(0,0,0,0.4);
	z-index: 1;
}
.menu::after{
	content: "";
	position: absolute;
	top:10px;
	left: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border: solid 1px rgba(255,255,255,0.80);
	pointer-events: none;
  transition: 0.3s;
	z-index: 1;
}
.menu::before {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 14px 14px;
  border-color: transparent transparent rgba(255,255,255,0.80) transparent;
  transition: 0.3s;
	z-index: 1;
}
a.menu:hover::after{
	top:20px;
	left: 20px;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
  transition: 0.1s;
}
a.menu:hover::before {
  bottom: 20px;
  right: 20px;
  transition: 0.1s;
}

.menu1{background:rgba(133,204,201,0.85);}
.menu2{background:rgba(111,177,108,0.85);}
.menu3{background:rgba(170,193,53,0.85);}

.menu1,.menu2,.menu3{
	background-image: url("../img26/top/btnbg.webp");
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 30%;
}


@media screen and (max-width:1200px){
.menu::after{
	content: "";
	position: absolute;
	top:5px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
}
.menu::before {
  content: '';
  position: absolute;
  bottom: 5px;
  right: 5px;
}
}

.listbg{
	background-image: url("../img/list/listbg.webp");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top left;
	overflow: hidden;
}

.listst{
	position: relative;
	padding: 20px 20px 20px 0;
	display: inline-block;
	z-index: 1;
}
.listst::before{
	content: "";
	position: absolute;
	background-color: rgba(129,206,50,0.5);
	top:0;
	right: 0;
	width: 100vw;
	height: 100%;
	z-index: -1;
}

.infof{
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,0) 300px, rgba(255,255,255,1) 300px, rgba(255,255,255,1.00) 100%);
	padding: 30px;
}
.infoft{
	text-align: center;
	margin: 0 0 20px;
}
.infoft p{
	display: inline-block;
	border-bottom: 3px dotted #A0CF85;
	font-weight: 500;
	margin: 0;
	padding: 0 0 10px;
	line-height: 1.5!important;
}
@media screen and (max-width:1200px){
.infof{
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,0) 220px, rgba(255,255,255,1) 220px, rgba(255,255,255,1) 100%);
}
}
@media screen and (max-width:991px){
.infof{
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,0) 150px, rgba(255,255,255,1) 150px, rgba(255,255,255,1) 100%);
	padding: 20px;
}	
}


.flowst {
  position: relative;
  overflow: hidden;
  padding: 0;
	letter-spacing: 0.05em;
	font-weight: 500;
	border-top: 2px solid #92c868;
	width: 100%;
}
.flowst span{
	padding:0.3em 0.7em 0.3em;
	margin: 0 0.2em 0 0;
	display: inline-block;
	border-radius: 0 0 0.5em 0;
	color: #fff;
	background-color:#92c868;
}
.cp_actab2 {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto 10px;
	color: #ffffff;
}
.cp_actab2 input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab2 label {
	line-height: 1.5;
	position: relative;
	display: block;
	cursor: pointer;
	margin: 0 0 1px 0;
	padding: 10px;
	background-color: #F1F1F1;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border-right: 3px solid #ccc;
	border-bottom: 3px solid #ccc;
	color: #515151;
	text-align: center;
}
.cp_actab2 .cp_actab2-content {
	margin:0!important;
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 1s;
	transition: max-height 1s;
	background: #fff;
}
.cp_actab2 .cp_actab2-content p {
}
.cp_actab2 input:checked ~ .cp_actab2-content {
	max-height: 150em;
}

.shobt{
  position: relative;
  display: inline-block;
  padding: 0 45px;
}
.shobt:before, .shobt:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #A2B637;
}
.shobt:before {
  left:0;
  -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.shobt:after {
  right: 0;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}

.shob{
	position: relative;
	display: block;
	padding: 20px 80px 20px 20px;
	background-image: url("../img26/rec/shob.webp");
	background-size: cover;
	background-position: center;
	border-radius: 20px;
	box-shadow: -4px 4px 16px -6px rgba(0,0,0,0.3);
}
.shob::after{
	content: "";
	position: absolute;
	top:50%;
    right: 20px;
    height: 40px;
    width: 40px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	transform-origin: top right;
    transform: rotate(45deg);
}
@media screen and (max-width:991px){
.shob{
	padding: 20px 40px 20px 20px;
	border-radius: 16px;
}
.shob::after{
    right: 14px;
    height: 26px;
    width: 26px;
}
}


