@charset "UTF-8";



@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Maru+Gothic&display=swap');


body {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0 0px;
	text-align : center ;
	background-color: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
}


*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


#page-top {
    position: fixed;
    bottom: 21px;
    right: 9px;
    font-size: 12px;
	z-index: 99;
	}
#page-top a {
	z-index: 99;
    background: #ff6633;;
    text-decoration: none;
    color: #fff;
    width: 60px;
    padding: 3px 0;
    text-align: center;
    display: block;
    border:2px solid #fff;
    border-radius: 6px;
	}
#page-top a:hover {
    text-decoration: none;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	}

p{
	font-size: 16px;
	line-height: 1.8;
}



@media only screen and (max-width: 480px) {
	


/*======================================

	header
	
========================================*/


.header{
	width: 100%;
	height: 75px;
	background: #339900;
	display: flex;
	justify-content: space-between;
	position: fixed;
	align-items: center;
	top:0;
	left: 0;
	z-index: 100;
	padding: 0px 21px 0px 21px;


	transition: .3s;

    text-align: center;
}


.is-animation h1 img{
	width:300px;
	margin: auto;
}

.is-animation{
	height: 75px;
}

.header-left{
	width: 100%;
	text-align: left;
}

.header-right{
	display: none;
	width: 70%;
	text-align: right;
}

h1{
	width: 100%;
	margin: 0;
	padding: 0;
	font: 12px;
	line-height: 1;
	transition: .3s;
}

h1 img{
	width: 300px;
	transition: .3s;
}


.head-nav{
	display: flex;
	justify-content: flex-end;
}

.head-nav a{
	display: inline-block;
	margin-left: 18px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
}


/*======================================

	main
	
========================================*/


.main{
padding: 0 0px 0 0px;
position:relative;
width:100%;
overflow:hidden;
margin: 0 0 0px 0;
height:100vh;
min-height: 700px;
z-index: 10;
background: #555;
}



.main-bg-photo{
	width: 100%;
	height:100vh;
}

.main-bg-photo img{
	width: 100%;
	height:100vh;
	object-fit: cover;
}



.main-catch{
	width:90%;
	padding: 30px;
	background-color: rgba(255, 255, 255, 0.9);
	height:auto;
	position:absolute;
	top: 48%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 30;
	text-align: center;
}

.main-catch-line01{
	font-size: 24px;
	line-height: 1.8;
	font-weight: 600;
	color:#555;
}


.main-catch-line02{
	display: block;
	font-size:18px;
	margin-top: 18px;
	line-height: 1.8;
}

.catch-unserline{
	border-bottom: 3px solid #339900;
}


.main-menu{
	width:90%;
	padding: 30px;
	height:auto;
	position:absolute;
	bottom: 10%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 40;
	text-align: center;	
	display: none;
	justify-content: center;
	align-items: center;
}

.main-menu a{
	display: block;
	background-color: #339900;
	padding: 9px 18px 9px 18px;
	border-radius: 12px;
	border: 3px solid #fff;
	margin: 0 12px 0 12px;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	color:#fff;
}




/*======================================

	section
	
========================================*/

.contents-section{
	width: 100%;
	padding: 90px 0 60px 0;
}

.contents-section-inner{
	width: 95%;
	margin: 0 auto;
}


/*======================================

	h2
	
========================================*/


.head-border {
    display: flex;
    align-items: center;
    font-size:24px;
    margin: 0 0 45px 0;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #339900;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}


/*======================================

	feature
	
========================================*/

#feature{
	background: #edfae6;
}

.feature{
	width: 90%;
	display: block;
	justify-content: center;
	flex-wrap: ;
	padding: 30px 0 0 0;
	margin: auto;
}

.feature-box{
	width: 100%;
	background: #fff;
	padding: 21px;
	margin: 0 auto 36px auto;
}

.feature-num{
	width: 45px;
	height: 45px;
	text-align: center;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.5;
	margin: -42px auto 21px auto;
	background-color: #006600;
	color:#fff;
	border-radius: 50%;
}

.feature-title{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 21px 0;
	color: #006600;
}

.feature-note{
	font-size: 16px;
	line-height: 1.8;
	margin: 0 0 21px 0;
	text-align: left;
}


.feature-box img{
	width: 100%;
}



/*======================================

	flow
	
========================================*/

#flow{
	background: #faf9e6;
}

.flow{
	margin-top: 45px;
}

.flow-box{
	width: 90%;
	margin: 0px auto 12px auto;
	padding: 15px;
	background: #fff;
	border: 3px solid #006600;
	border-radius: 18px;
	font-size:18px;;
	font-weight: 600;	
}

.flow-box span{
	display: block;
}

.flow-2col{
	width: 90%;
	margin: 0px auto 0px auto;
	padding: 0;

	border-radius: 18px;
	font-size:18px;;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
}

.flow-box-half{
	width: 48%;
	padding: 15px;
	margin: 0px auto 12px auto;
	background: #fff;
	border: 3px solid #006600;
	border-radius: 18px;
	font-size:18px;
	font-weight: 600;	
}

.flow-box-half span{
	display: block;
	font-size:14px;
	font-weight: 600;	
}


.flow-anchor{
	margin: 0px auto 9px auto;
}
.flow-anchor img{
	width: 30px;
}
/*======================================

	equipment
	
========================================*/

#equipment{
	background: #edfae6;
}

.equipment{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: stretch;
	padding: 0px 0 0 0;
}

.equipment-box{
	width: 48%;
	background: #fff;
	padding: 15px;
	margin: 0 1% 9px 1%;
}

.equipment-title{
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 15px 0;
	color: #006600;
}

.equipment-box img{
	width: 75%;
}


.equipment-note{
	font-size: 14px;
	line-height: 1.8;
	margin: 0 0 21px 0;
	text-align: left;
}





/*======================================

	outline
	
========================================*/

#outline{
	background: #fff;
}

.outline-photo{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding: 0px 0 0 0;
	margin-bottom: 24px;
}

.outline-photo-box{
	width: 50%;
}
.outline-photo-box img{
	width: 100%;
}



.outline{
	width: 100%;
	padding: 0px 0 0 0;
	text-align: left;
}


.outline-list{
	list-style: circle;
	padding: 0 0 0 21px;
	font-size: 15px;
	line-height: 1.8;
	font-weight: 500;
}

.outline-list li{
	list-style: circle;
	color:#333;
	padding: 0;
	margin-bottom: 9px;
}








/*======================================

	inquiry
	
========================================*/

#inquiry{
	background: #339900;
}

#inquiry-h3{
	color:#fff;
}
#inquiry-h3:before,
#inquiry-h3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

#inquiry-h3r:before {
    margin-right: 1rem;
}

#inquiry-h3:after {
    margin-left: 1rem;
}

.inquiry-lead {
	color:#fff;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 30px;
}

.inquiry-clinic{
	font-size: 21px;
	font-weight: 600;
	margin-bottom: 9px;
	color: #fff;	
}

.inquiry-manager{
	font-size: 18px;
	margin-bottom: 0px;
	color: #fff;	
}

.inquiry-tel{
	margin: 0px auto 18px auto;
	font-size:45px;
	pointer-events: none;;
	font-weight: 800;
	color: #fff;
}

.inquiry-tel a{
	color: #fff;
	text-decoration: none;
}

.inquiry-tel span{
	display: inline-block;
	font-size: 21px;
	margin-right: 15px;
}

.inquiry-hour{
	font-size: 18px;
	line-height: 1.8;
	color: #fff;	
}



/*======================================

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

.footer{
	padding: 18px;
	font-size: 16px;
	font-weight: 700;
	background: #b3d8a5;
}

.footer a{
	color: #333;
	text-decoration: none;;
}





/*=========================================
#hamburger
=========================================*/
.hamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 150;
    width: 30px;
    height: 30px;
    cursor: pointer;
}

.hamburger.is-active span:nth-child(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
}

.hamburger.is-active span:nth-child(2) {
    opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-135deg);
}

.hamburger span {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 3px;
    background-color: #fff;
    transition: transform .3s;
}

.hamburger.is-active span {
    background-color: #ffffff;
}

.hamburger span:nth-child(1) {
    top: 30%;
}

.hamburger span:nth-child(2) {
    top: 60%;
}

.hamburger span:nth-child(3) {
    top: 90%;
}

/*=========================================
#drawer
=========================================*/
.drawer {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 130;
    width: 100%;
    height: 100vh;
    margin-top: 75px;
    background-color: #339900;
    transition: opacity .3s, visibility .3s;
}

.drawer.is-active {
    visibility: visible;
    opacity: 1;
}

.drawer-inner {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

.drawer__list {
    padding: 0;
    list-style: none;
    width: 100%;
    margin-top: 30px;
}

.drawer__list li{
    display: block;
	width: 100%;
}

.drawer__link {
    color: #ffffff;
    text-decoration: none;
    display: block;
    width: 100%;
    padding: 12px 0 12px 0;
}




  .sp-show {
    display: block;
  }
  .sp-none {
    display: none;
  }




}/*//end  max-width: 480px ///////////////////////*/







@media only screen and (min-width: 481px) {


.drawer{
	display:none;
}

  .sp-show {
    display: none;
  }
  .sp-none {
    display: none;
  }

/*======================================

	header
	
========================================*/


.header{
	width: 100%;
	height: 120px;
	min-width: 1000px;
	background: #339900;
	display: flex;
	justify-content: space-between;
	position: fixed;
	align-items: center;
	top:0;
	left: 0;
	z-index: 100;
	padding: 0px 21px 0px 21px;


	transition: .3s;

    
}


.is-animation h1 img{
	width: 360px;
}

.is-animation{
	height: 75px;
}

.header-left{
	width: 30%;
	text-align: left;
}

.header-right{
	width: 70%;
	text-align: right;
}

h1{
	width: 100%;
	margin: 0;
	padding: 0;
	font: 12px;
	line-height: 1;
	transition: .3s;
}

h1 img{
	width: 450px;
	transition: .3s;
}


.head-nav{
	display: flex;
	justify-content: flex-end;
}

.head-nav a{
	display: inline-block;
	margin-left: 18px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
}

.head-nav a:hover{
	opacity: 0.7;
}

/*======================================

	main
	
========================================*/


.main{
min-width: 1000px;
padding: 0 0px 0 0px;
position:relative;
width:100%;
overflow:hidden;
margin: 0 0 0px 0;
height:100vh;
min-height: 700px;
z-index: 10;
background: #555;
}



.main-bg-photo{
	width: 100%;
	height:100vh;
}

.main-bg-photo img{
	width: 100%;
	height:100vh;
	object-fit: cover;
}



.main-catch{
	width:900px;
	padding: 30px;
	background-color: rgba(255, 255, 255, 0.9);
	height:auto;
	position:absolute;
	top: 48%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 30;
	text-align: center;
}

.main-catch-line01{
	font-size: 36px;
	font-weight: 600;
	color:#555;
}


.main-catch-line02{
	display: block;
	font-size:21px;
	margin-top: 18px;
	line-height: 1.8;
}

.catch-unserline{
	border-bottom: 3px solid #339900;
}


.main-menu{
	width:1000px;
	padding: 30px;
	height:auto;
	position:absolute;
	bottom: 10%;
	left: 50%;
	transform: translate(-50%,-50%);
	margin:auto;
	z-index: 40;
	text-align: center;	
	display: flex;
	justify-content: center;
	align-items: center;
}

.main-menu a{
	display: inline-block;
	background-color: #339900;
	padding: 9px 18px 9px 18px;
	border-radius: 12px;
	border: 3px solid #fff;
	margin: 0 12px 0 12px;
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	color:#fff;
}

.main-menu a:hover{
	color:#339900;
	background: #fff;
}



/*======================================

	section
	
========================================*/

.contents-section{
	width: 100%;
	padding: 120px 0 120px 0;
	margin: 0;
}

.contents-section-inner{
	width: 1000px;
	margin: 0 auto;
}


/*======================================

	h2
	
========================================*/


.head-border {
    display: flex;
    align-items: center;
    font-size:30px;
    margin: 0 0 60px 0;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #339900;
}

.head-border:before {
    margin-right: 1rem;
}

.head-border:after {
    margin-left: 1rem;
}


/*======================================

	feature
	
========================================*/

#feature{
	background: #edfae6;
}

.feature{
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 30px 0 0 0;
}

.feature-box{
	width: 32%;
	background: #fff;
	padding: 21px;
}

.feature-num{
	width: 60px;
	height: 60px;
	text-align: center;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.5;
	margin: -42px auto 21px auto;
	background-color: #006600;
	color:#fff;
	border-radius: 50%;
}

.feature-title{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 21px 0;
	color: #006600;
}

.feature-note{
	font-size: 16px;
	line-height: 1.8;
	margin: 0 0 21px 0;
	text-align: left;
}


.feature-box img{
	width: 100%;
}



/*======================================

	flow
	
========================================*/

#flow{
	background: #faf9e6;
}

.flow{
	margin-top: 45px;
}

.flow-box{
	width: 750px;
	margin: 0px auto 12px auto;
	padding: 15px;
	background: #fff;
	border: 3px solid #006600;
	border-radius: 18px;
	font-size:18px;;
	font-weight: 600;	
}

.flow-box span{
	display: block;
}

.flow-2col{
	width: 750px;
	margin: 0px auto 0px auto;
	padding: 0;

	border-radius: 18px;
	font-size:18px;;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
}

.flow-box-half{
	width: 48%;
	padding: 15px;
	margin: 0px auto 12px auto;
	background: #fff;
	border: 3px solid #006600;
	border-radius: 18px;
	font-size:18px;
	font-weight: 600;	
}

.flow-box-half span{
	display: block;
	font-size:14px;
	font-weight: 600;	
}


.flow-anchor{
	margin: 0px auto 9px auto;
}
.flow-anchor img{
	width: 30px;
}
/*======================================

	equipment
	
========================================*/

#equipment{
	background: #edfae6;
}

.equipment{
	width: 100%;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: stretch;
	padding: 0px 0 0 0;
}

.equipment-box{
	width: 30%;
	background: #fff;
	padding: 21px;
	margin: 0 1% 21px 1%;
}

.equipment-title{
	font-size: 21px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0 0 21px 0;
	color: #006600;
}

.equipment-box img{
	width: 75%;
}


.equipment-note{
	font-size: 16px;
	line-height: 1.8;
	margin: 0 0 21px 0;
	text-align: left;
}





/*======================================

	outline
	
========================================*/

#outline{
	background: #fff;
}

.outline-photo{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding: 0px 0 0 0;
	margin-bottom: 24px;
}

.outline-photo-box{
	width: 50%;
}
.outline-photo-box img{
	width: 100%;
}



.outline{
	width: 100%;
	padding: 0px 0 0 0;
	text-align: left;
}


.outline-list{
	list-style: circle;
	color:#006600;
	padding: 0 0 0 21px;
	font-size: 16px;
}

.outline-list li{
	list-style: circle;
	color:#333;
	padding: 0;
	margin-bottom: 9px;
}








/*======================================

	inquiry
	
========================================*/

#inquiry{
	background: #339900;
}

#inquiry-h3{
	color:#fff;
}
#inquiry-h3:before,
#inquiry-h3:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #fff;
}

#inquiry-h3r:before {
    margin-right: 1rem;
}

#inquiry-h3:after {
    margin-left: 1rem;
}

.inquiry-lead {
	color:#fff;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 30px;
}

.inquiry-clinic{
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 9px;
	color: #fff;	
}

.inquiry-manager{
	font-size: 18px;
	margin-bottom: 0px;
	color: #fff;	
}

.inquiry-tel{
	margin: 0px auto 18px auto;
	font-size:60px;
	pointer-events: none;;
	font-weight: 800;
	color: #fff;
}

.inquiry-tel a{
	color: #fff;
	text-decoration: none;
}

.inquiry-tel span{
	display: inline-block;
	font-size: 45px;
	margin-right: 21px;
}

.inquiry-hour{
	font-size: 21px;
	line-height: 1.8;
	color: #fff;	
}



/*======================================

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

.footer{
	padding: 18px;
	font-size: 16px;
	font-weight: 700;
	background: #b3d8a5;
}

.footer a{
	color: #333;
	text-decoration: none;;
}





/*======================================

	hamburger
	
========================================*/


#mobile-nav-wrapper{
	display: none;
}




}/*//end  min-width: 481px ///////////////////////*/

