@charset "utf-8";
/* commons */
body{margin:0;padding:0;background:#fff;font-family:"M PLUS 1","Hiragino Sans","YuGothic","Meiryo",sans-serif;font-size:16px;color:#222;font-feature-settings:"smcp";letter-spacing:0.05em;font-weight:400;}
header,nav,main,footer,section,aside,article,div,span,em,i,b,strong,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,th,td,form,input,select,textarea,hr,button,a,figure,picture{margin:0;padding:0;border:0;box-sizing:border-box;}
th,b,strong,h1,h2,h3,h4,h5,h6,input,select,textarea,button{font-weight:500;}
ul,ol{list-style:none;}
i,em{font-style:normal;}
img{display:block;border:0;max-width:100%;}
svg{display:block;}
table{border-collapse:collapse;border-spacing:0;}
a{text-decoration:underline;outline:none;}
a:hover{text-decoration:none;outline:none;}
table{border-collapse:collapse;border-spacing:0}
sup{position:relative;top:-0.1em;vertical-align:top;}
/* header */
header{position:relative;margin:0 auto 50px;padding:30px 0 0;}
header:after{position:absolute;bottom:-10px;left:0;display:block;content:"";background:#148d6d;width:100%;height:10px;}
header a{display:block;width:180px;}
header img{position:relative;z-index:2;}
header h1{color:#148d6d;}
@media (min-width:768px){
	header{background:url(../imgs/header/pc.jpg) no-repeat center;background-size:1280px;height:640px;}
	header div{position:relative;margin:0 auto;padding:0 40px;width:auto;max-width:1280px;height:610px;}
	header h1{position:absolute;top:50%;left:40px;padding:60px 0 120px;font-size:36px;line-height:2em;transform:translate(0,-50%);}
}
@media (min-width:1080px){
	header .sp{display:none;}
}
@media (min-width:499px) and (max-width:767px){
	header .sp{display:none;}
}
@media (max-width:767px){
	header{padding-bottom:100vw;background:url(../imgs/header/sp.jpg) no-repeat 0 bottom;background-size:100% auto;text-align:center;}
	header img{margin:0 0 0 30px;}
	header h1{display:inline-block;padding:40px 0 20px;font-size:27px;line-height:2em;text-align:left;}
	header p{position:absolute;top:52px;right:30px;width:30px;height:24px;transform:translate(0,-50%);z-index:2;}
	header span{position:absolute;top:50%;left:0;display:block;background:#222;width:100%;height:1px;transform:translate(0,-50%);}
	header span:before,
	header span:after{position:absolute;left:0;display:block;content:"";width:100%;height:1px;background:#222;transition:ease 0.2s;}
	header span:before{top:-10px;}
	header span:after{bottom:-10px;}
	header span.selected{background:none;}
	header span.selected:before{transform:translateX(-3px) translateY(10px) rotate(-35deg);width:120%;}
	header span.selected:after{transform:translateX(-3px) translateY(-10px) rotate(35deg);width:120%;}
}
/* nav */
nav a{font-size:18px;color:#222;text-decoration:none;}
nav ul li a{transition:ease 0.2s;}
nav ul li[class]{text-align:center;}
nav ul li.web a{position:relative;display:block;margin:0 auto 20px;padding:0 0 0 10px;background:linear-gradient(to left, #62bf74, #148d6d);border:4px solid #fff;border-radius:40px;box-shadow:0 0 4px rgba(0,0,0,0.2);width:100%;max-width:360px;height:80px;font-size:24px;line-height:70px;color:#fff;font-weight:700;text-decoration:underline;overflow:hidden;transition:ease 0.2s;}
nav ul li.web a:active{text-decoration:none;}
nav ul li.tel a{position:relative;display:inline-block;padding:0 0 0 36px;font-size:30px;line-height:1em;color:#148d6d;font-family:"Oswald";text-decoration:none;}
nav ul li.tel a img{position:absolute;top:50%;left:0;margin:1px 0 0;width:24px;transform:translate(0,-50%);}
nav ul li.web a:hover{text-decoration:none;}
@media (min-width:1080px){
	nav ul{display:flex;justify-content:center;margin:0 auto 60px;padding:0 40px;border-radius:30px;}
	nav ul + ul{display:none;}
	nav ul li:not([class]) a{position:relative;display:block;line-height:30px;}
	nav ul li:not([class]) a:after{position:absolute;bottom:-15px;left:50%;display:block;content:"";background:#ddd;width:50px;height:5px;transform:translate(-50%,0);}
	nav ul li:not([class]) a:hover{color:#62bf74;}
	nav ul li:not([class]) a:hover:after{background:#62bf74;}
	nav ul li:not([class]) + li{margin:0 0 0 60px;}
}
@media (max-width:1079px){
	nav{position:absolute;top:0;left:0;display:none;padding:120px 30px 60px;background:#fff;box-shadow:0 0 2px rgba(0,0,0,0.2);width:100%;z-index:1;}
	nav ul + ul{margin-top:30px;}
	nav ul li:not([class]) a{position:relative;display:block;padding:0 0 0 30px;line-height:40px;}
	nav ul li:not([class]) a:before{position:absolute;top:50%;left:0;display:block;content:"";background:#ddd;width:20px;height:5px;transform:translate(0,-50%);}
	nav ul li a:active{color:#62bf74;}
	nav ul li a:active:before{background:#62bf74;}
}
@media (min-width:768px) and (max-width:1079px){
}
@media (max-width:767px){
}
/* main */
main section{margin:0 auto;}
main .background{position:relative;}
main .background:before{position:absolute;top:0;left:0;display:block;content:"";background:rgba(217,237,242,0.5);width:100%;height:100%;z-index:-2;}
main .inner{margin:0 auto;}
main h2{margin:0 auto 60px;font-size:36px;line-height:1.2em;color:#148d6d;text-align:center;}
main h2 span{font-size:27px;}
main h2 em{position:relative;display:block;margin:40px auto 0;font-size:16px;line-height:1em;color:#888;font-family:"Raleway";}
main h2 em:after{position:absolute;top:-22.5px;left:50%;display:block;content:"";background:#62bf74;width:50px;height:5px;transform:translate(-50%,0);}
main h3{margin:0 0 10px;font-size:24px;line-height:1.4em;color:#148d6d;}
main p{font-size:18px;line-height:1.6em;}
main p + p{margin-top:1em;}
main p small{display:block;margin:10px 0 0;font-size:12px;line-height:1.4em;color:#888;}
main p small + small{margin:5px 0 0;}
main table{border-collapse:collapse;border-spacing:0;}
@media (min-width:768px){
	main section{padding:60px 40px;max-width:1040px;}
	main section + section{margin-top:60px;}
	main h2 br{display:none;}
	main h3 br{display:none;}
}
@media (max-width:767px){
	main section{padding:40px 30px;}
	main section + section{margin-top:40px;}
}
/* introduction */
.introduction h2{font-size:30px;line-height:1.4em;}
.introduction p{line-height:1.8em;text-align:center;}
/* medial */
.medical{max-width:none;background:rgba(98,191,116,0.05);}
.medical ul li{text-align:center;}
.medical ul li figure{position:relative;}
.medical ul li figure em{position:absolute;top:15px;left:15px;font-size:12px;line-height:1em;color:#fff;}
@media (min-width:768px){
	.medical{padding:80px 10px;}
	.medical ul{display:flex;flex-wrap:wrap;margin:-30px auto;max-width:1020px;}
	.medical ul li{padding:30px;width:50%;}
	.medical ul li figure{margin:0 0 20px;}
}
@media (min-width:768px) and (max-width:999px){
	.medical ul{padding:0 10px;}
	.medical ul li{padding:30px 20px;}
}
@media (max-width:767px){
	.medical{padding:60px 30px;}
	.medical ul li + li{margin-top:60px;}
	.medical ul li figure{margin:0 -30px 20px;}
	.medical ul li figure:before{position:absolute;top:0;left:0;display:block;content:"";background:#148d6d;width:100%;height:5px;}
}
/* working */
.working ul li{text-align:center;}
.working ul li figure{position:relative;margin:0 0 20px;}
@media (min-width:768px){
	.working ul{display:flex;flex-wrap:wrap;margin:-30px;}
	.working ul li{padding:30px;width:50%;}
}
@media (min-width:768px) and (max-width:999px){
	.working ul{padding:0 10px;}
	.working ul li{padding:30px 20px;}
}
@media (max-width:767px){
	.working ul li + li{margin-top:60px;}
	.working ul li figure{margin:0 -30px 20px;}
	.working ul li figure:before{position:absolute;top:0;left:0;display:block;content:"";background:#148d6d;width:100%;height:5px;}
}
/* message */
.message{max-width:none;background:rgba(98,191,116,0.05);}
.message h3{text-align:center;}
.message h3 em{display:block;margin:10px 0 0;font-size:18px;line-height:1em;color:#888;font-weight:400;}
.message p{line-height:1.8em;}
@media (min-width:768px){
	.message{padding:80px 10px;}
	.message dl{display:flex;flex-flow:row-reverse;margin:0 auto;max-width:1020px;}
	.message dl > *{padding:0 30px;width:50%;}
	.message dl dt img{margin:0 0 40px;}
}
@media (min-width:768px) and (max-width:999px){
	.message dl{padding:0 10px;}
	.message dl > *{padding:30px 20px;}
}
@media (max-width:767px){
	.message{padding:60px 30px;}
	.message dl dt{margin:0 0 40px;}
	.message dl dt img{margin:0 -30px 40px;max-width:100vw;}
}
/* requirements */
.requirements table th span{display:block;padding:10px;background:#148d6d;font-size:18px;color:#fff;}
.requirements table td b{font-size:18px;color:#148d6d;font-weight:500;}
.requirements table td span{font-size:14px;}
.requirements table td ul{padding:0 0 0 1em;}
.requirements table td ul li:before{margin:0 0 0 -1em;content:"●";color:#62bf74;}
.requirements table td ul li + li{margin-top:5px;}
@media (min-width:768px){
	.requirements table{margin:0 auto;width:auto;}	
	.requirements table tr > *{padding:10px;border:10px solid #fff;}
	.requirements table th{width:30%;vertical-align:top;}
}
@media (max-width:767px){
	.requirements table{width:100%;}
	.requirements table tr > *{display:block;}
	.requirements table th{margin:0 -30px;}
	.requirements table tr:nth-of-type(-n+2) td{text-align:center;}
	.requirements table td{padding:20px 0 0;}
	.requirements table tr + tr th{margin-top:30px;}
	.requirements table tr:nth-of-type(3) td b + span{display:inline-block;}
}
/* contact */
.contact{max-width:none;background:rgba(98,191,116,0.05);}
.contact ul li{text-align:center;}
.contact ul li.web a{position:relative;display:block;margin:0 auto 20px;padding:0 0 0 10px;background:linear-gradient(to left, #62bf74, #148d6d);border:4px solid #fff;border-radius:40px;box-shadow:0 0 4px rgba(0,0,0,0.2);width:100%;max-width:360px;height:80px;font-size:24px;line-height:70px;color:#fff;font-weight:700;overflow:hidden;transition:ease 0.2s;}
.contact ul li.tel a{position:relative;display:inline-block;padding:0 0 0 36px;font-size:30px;line-height:1em;color:#148d6d;font-family:"Oswald";text-decoration:none;}
.contact ul li.tel a img{position:absolute;top:50%;left:0;margin:1px 0 0;width:24px;transform:translate(0,-50%);}
.contact ul li.web a:hover{text-decoration:none;}
@media (min-width:768px){
	.contact{padding:80px 40px;}
	.contact ul li.web a:hover{transform:scale(1.04);opacity:0.8;}
}
@media (max-width:767px){
	.contact{padding:60px 30px;}
}
/* footer */
footer{padding:60px 0;text-align:center;}
footer h3{margin:0 auto 40px;font-size:16px;line-height:1em;font-weight:400;}
footer h3 img{margin:0 auto 20px;width:180px;}
footer a{color:#1496dc;}
footer p{font-size:14px;line-height:1em;font-family:"Raleway";}
@media (min-width:768px){
	footer{margin:60px 0 0;}
}
@media (max-width:767px){
	footer{margin:40px 0 0;}
}