@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Sans:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;900&display=swap');

/*CSS reset*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,cite,form,fieldset,input,textarea,p,blockquote,tr,th,td { 
	margin:0;
	padding:0;
}
table {
	border-collapse:collapse;
	border-spacing:0;
	border:none;
}
fieldset,img { 
	border:0;
}
img {
	vertical-align: bottom;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
th,td {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight: normal;	
}
q:before,q:after {
	content:'';
}
abbr,acronym {
	border:0;
}
a:link,
a:visited,
a:hover {
	text-decoration:none;
	border:0;
}

/*common*/
body {
    font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
	font-size:15px;
	line-height: 1.8em;
	color:#222;
	background: rgb( 250, 250, 250);
	-webkit-text-size-adjust: 100%;
}
a{
	ouline: 0;
}
ul, li {
	list-style: none;
}
main {
	width: 100%;
	min-height:600px;
	display:block;
	margin: 0 ;
}
#wrapper {
	margin: 0 ;
	width: 100%;
}
section {
	width: 100%;
	margin: 0;
	padding-top:65px;
	position:relative;
}
#section1 {
	padding-top:76px !important;
}
.content {
	max-width: 1172px;
	margin: 0 auto;
	padding:0 50px;
}
.clear {
	clear: both;
}
.read {
	padding: 0 ;
	margin: 0 ;
	height : 0 ;
	display : none ;
}
.fl{
	float:left;
	display:block;	
}
.fr{
	float:right;
	display:block;	
}
.en{
	font-family: 'Roboto', sans-serif;
}
.date{
	color:#008BC7;
}
.br900 {
	display:none;
}
.br640 {
	display:none;
}
.br400 {
	display:none;
}
.sp640 {
	display:inline;
}
.bgstop {
  overflow: hidden;
}
.m_flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
#nav-toggle {
	display: none;
	position: absolute;
	right: 25px;
	top: 25px;
	width: 35px;
	height: 35px;
	cursor: pointer;
	z-index: 101;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #555;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}
/* #nav-toggle.open */
.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
#g_nav {
	display: none;
	position: fixed;
	top: 76px;
	right:0;
	width: 300px;
	height:100%;
	padding: 0;
	text-align:center;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	background: rgba(75,75,75,.95);
	-moz-transform: translate(300px);
	-webkit-transform: translate(300px);
	transform: translate(300px);
}
#g_nav_box {
	height:80%;
	padding: 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#g_nav ul {
	display:inline-block;
	font-size: 25px;
	letter-spacing:0.1em;
	color:#fff;
	border-left:solid 1px #008BC8;
	margin-top:20px;
}
#g_nav ul li {
	padding: 25px 10px;
	white-space: nowrap;
	text-align:left;
	display:block;
}
#g_nav ul li:first-child {
	padding-top: 50px;
}
#g_nav ul li:last-child {
	padding-bottom: 50px;
}
#g_nav a {
	color: #fff;
}
#g_nav a:hover {
	color: #00b5e9;
}
/* #g_nav.open */
.open #g_nav {
	width: 100%;
	-moz-transform: translate(0);
	-webkit-transform: translate(0);
	transform: translate(0);
}
#wrapper #toPageTop {
	position: fixed;
	bottom: 120px;
	right: 15px;
	display:block;
}
#wrapper #toPageTop a {
	opacity: .6;
	filter: alpha(opacity=60);
}
#wrapper #toPageTop a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}

/*header*/
header {
	background-color: #fff;
}
#header_box {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding:23px 0 13px;
	z-index: 100;
	background: rgba( 255, 255, 255, 1);
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}
#header {
	max-width: 1172px;
	height: 40px;
	margin: 0 auto;
	padding:0 50px;
}
#header_inner {
	width:100%;
	padding-bottom:2px;
	border-bottom:solid 1px #008BC8;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}
#header_inner:after {
	content: "";
	clear: both;
	display: block;
}
#header_logo {
	width:150px;
	display:block;
	margin:0 auto;
	float:left;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}
header nav {
	width: 60%;
	display:block;
	float:right;
}
/* Fixed */
#header_box.fixed {
	background: rgba(255,255,255,0.95);
}

/*navi*/
#m_nav {
	margin-top:2px;
	display:block;
}
#m_nav ul li {
	font-size:16px;
	font-weight:400;
	color:#DDDDDD;
	letter-spacing:0.06em;
}
#m_nav ul li a {
	color:#222222;
}
#m_nav ul li a:hover {
	color:#00b5e9;
}
ul.g_navi li {
	display:block;
	position:relative;
	white-space: nowrap;
}
ul.sub{
    position: absolute;
	top: 100%;
}
ul.sub li {
	background: rgba( 250, 250, 250, .75);
	margin-top:1px;
	padding:5px 10px;
	display:block;
	white-space: nowrap;
}

/*footer*/
footer {
	width: 100%;
	background:#555555;
	display:block;
	position: relative;
	padding:11px 0 10px;
	margin-top:100px;
	border-bottom:solid 5px #008BC8;
}
.footer_box {
	max-width: 1172px;
	font-size:14px;
	text-align: right;
	margin:0 auto;
	padding:0 25px;
	color:#ccc;
}

/*index*/
#home .box01_l{
	width:326px;
	margin-right:10px;
	float:left;	
}
#home .box01_r{
	width:326px;
	float:right;	
}

/* maincut */

.maincut_logo {
	position: absolute;
	width:100%;
	margin:220px auto 0;
	display:block;
	z-index:3;
}
.maincut_logo h1 {
	text-align:center;
}
.maincut_logo h1 img {
	width:300px;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}

.maincut01 {
	background: url(../img//index/maincut_01.jpg);
}
.maincut02 {
	background: url(../img//index/maincut_02b.jpg);
}
.maincut03 {
	background: url(../img//index/maincut_03b.jpg);
}
.maincut04 {
	background: url(../img//index/maincut_04b.jpg);
}
.maincut05 {
	background: url(../img//index/maincut_05.jpg);
}
.maincut06 {
	background: url(../img//index/maincut_06.jpg);
}

.maincut01 img,
.maincut02 img,
.maincut03 img,
.maincut04 img,
.maincut05 img,
.maincut06 img {
	width:100%;
	height:100%;
}


.slide_navi {
	width:96px;
	margin:12px auto 0;
}
.slide_navi li{
	float: left;
	padding:0 2px;
	display:block;
}

/*section1*/
#home #section1 {
}
#home #section1 h2{
	font-size:18px;
	text-align:center;
	line-height:2em;
	letter-spacing:0.1em;
	padding:90px 0 70px;
}
#home #section1 h3{
	font-size:30px;
}
#home #section1 h4{
	font-size:25px;
	text-align:center;
	margin-top:80px;
}
#home #section1 ul.works_bn  li {
	width:33%;
	background-color:#ddd;
}
#home #section1 .banner01, #home #section1 .banner02, #home #section1 .banner03 {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 240px;
}
#home #section1 .banner01:after {
	background: url(../img/index/bn_clinic.jpg) no-repeat center center;
}
#home #section1 .banner02:after {
	background: url(../img/index/bn_dental.jpg) no-repeat center center;
}
#home #section1 .banner03:after {
	background: url(../img/index/bn_animal.jpg) no-repeat center center;
}
#home #section1 .banner01:after ,#home #section1 .banner02:after ,#home #section1 .banner03:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	-webkit-background-size: 590px;
	-moz-background-size: 590px;
	-ms-background-size: 590px;
	background-size: 590px;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
#home #section1 .banner01:hover:after, #home #section1 .banner02:hover:after, #home #section1 .banner03:hover:after {
	opacity: .75;
	-moz-transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
#home #section1 .banner01 a, #home #section1 .banner02 a, #home #section1 .banner03 a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	height: 100%;
	text-decoration: none;
	color: #fff;
}
.info_box {
	display:block;
	max-width:1000px;
	border-top:solid 1px #008BC8;
	border-bottom:solid 1px #008BC8;
	padding:10px 0;
	margin:1px auto 0;
}
.info_box ul li {
	padding:10px 30px;
}

/*section2*/
#home #section2 {
}
#home #section2 h3{
	font-size:65px;
	text-align:center;
	padding-top:75px;
	color: #fff;
}
#home #section2 h4{
	font-size:18px;
	letter-spacing:0.1em;
}
#home #section2 .box01{
	max-width:900px;
	margin:30px auto 0;
	background: rgba( 255, 255, 255, 0.75);
	padding:20px 50px 40px;
}
#home #section2 .box01 p{
	line-height:2em;
	letter-spacing:0.1em;
	padding-top:20px;
}
.about_bg{
	position: relative;
	background: url(../img/index/bg_about.jpg) no-repeat center center #ddd;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
	width:100%;
	height: 0%;
	padding-bottom:70px;
}
#home #section2 .box02 {
	width: 47%;
	margin-top:55px;
	float:left;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}
#home #section2 .box02 a {
	color: #222;
}
#home #section2 a:hover {
	color: #00b5e9;
}
#home #section2 .box03 {
	width: 47%;
	margin-top:55px;
	float:right;
	-webkit-transition: .3s ease-out;
	-moz-transition: .3s ease-out;
	-ms-transition: .3s ease-out;
	transition: .3s ease-out;
}
#home #section2 dl.data {
	width: 100%;
	font-size:14px;
	border-top:solid 1px #008BC8;
	margin-top:1px;
}
#home #section2 dl.data dt {
	float: left;
	padding-top:20px;
	white-space: nowrap;
}
#home #section2 dl.data dd {
	margin-left: 80px;
	padding-top:20px;
}

/*works*/
.header_bg {
	height:150px;
	width:100%;
}
#clinic #section1 .header_bg {
	background: url(../works_clinic/img/clinic_header.jpg) no-repeat center center;
	background-color:#ddd;
	background-size: cover;
	-moz-background-size:cover;
}
#dental #section1 .header_bg {
	background: url(../works_dental/img/dental_header.jpg) no-repeat center center;
	background-color:#ddd;
	background-size: cover;
	-moz-background-size:cover;
}
#animal #section1 .header_bg {
	background: url(../works_animal/img/animal_header.jpg) no-repeat center center;
	background-color:#ddd;
	background-size: cover;
	-moz-background-size:cover;
}
#contact #section1 .header_bg {
	background: url(../img/contact/contact_header2.jpg) no-repeat center center;
	background-color:#ddd;
	background-size: cover;
	-moz-background-size:cover;
}
.header_bg .m_ct {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.header_bg .m_ct h1{
	font-size:65px;
	text-align:center;
	color: #fff;
}
#section1 h2.m_works {
	font-size:35px;
	padding-top:50px;
	letter-spacing:0.05em;
	text-align:center;
}
ul.item {
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
ul.item li {
	width:30%;
	margin-right:5%;
	margin-top:50px;
	background-image: url(..img/common/bn_pr.jpg);
	background-position:top left;
	background-size: cover;
	-moz-background-size:cover;
}
ul.item li img {
	width:100%;
}
ul.item li:nth-child(3n) { 
    margin-right:0;
}
ul.item li h6 {
	font-size:14px;
	padding-top:5px;
	text-align:center;
}
ul.item a {
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
ul.item a:hover {
	opacity: .7;
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	transition: all .3s ease-out;
}
/*contact*/
/*1*/
#contact a {
	color: #222;
}
#contact a:hover {
	color: #00b5e9;
}
#contact #section1 h2 {
	font-size:18px;
	padding:50px 0 10px;
	letter-spacing:0.1em;
}
#contact  #section1 .box01{
	max-width:1000px;
	margin:0 auto;
	text-align:center;
}
#contact #section1 .box01 h3 {
	font-size:20px;
	font-weight:600;
	padding:20px 0 0;
	letter-spacing:0.06em;
}
#contact  #section1 p {
	padding-top:18px;
}
/*2*/
#contact  #section2 .box01{
	max-width:1000px;
	margin:2px auto 0;
	padding-bottom:35px;
	border-top:solid 1px #85C7E5;
	border-bottom:solid 1px #85C7E5;
}
#contact #section2 h4 {
    font-size:20px;
	text-align:center;
}
#contact #section2 h5 {
    font-size:16px;
	font-weight:600;
	padding-top:35px;  
}
#contact #section2 p {
	padding-top:18px; 
}

/*m_window*/
.m_md {
    display: none;
    height: 100vh;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 201;
}
.m_md_bg {
    background: rgba(0, 0, 0, .6);
    height: 100vh;
    width: 100%;
}
.m_md_close {
    position: absolute;
    top: 25px;
    right: 25px;
}
.m_md_close img {
	width:25px;
	opacity:.4;
	transition: 0.5s ease-out;
}
.m_md_close img:hover {
	opacity:1;
}
.m_window {
	width: 80%;
	max-width: 1000px;
	max-height: 80%;
	position: absolute;
	top:50%;
	left: 50%;
    transform: translate(-50%, -50%);
	background:#FFF;
	padding-bottom:100px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.mw_box {
	width: 80%;
	max-width: 886px;
	margin:0 auto;
	padding:30px 0;
}
.mw_box .slick-slide img {
  width: 100%;
  height: auto;
}

.mw_box .slick-dots li button {
  display: block;
  font-size: 0;
  line-height: 0;
  width: 12px;
  height: 12px;
  background: #aaa;
  border: 0;
  border-radius: 50%;
  color: transparent;
  cursor: pointer;
}
.mw_box .slick-dots .slick-active button,
.mw_box .slick-dots li button:hover {
  background: #222;
}
.mw_box .slick-dots {
	width: 100%;
	position: static;
	margin-top: 11px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.mw_box .slick-dots li {
  width: 24%;
  margin:0;
}
.mw_box .slick-dots li img {
  width: 100%;
  cursor: pointer;
  transition: .2s ease-in-out;
}
.mw_box .slick-dots .slick-active img,
.mw_box .slick-dots li:hover img {
  opacity: .6;
}

.mw_box h6 {
	font-size:25px;
	text-align:center;
	padding:20px 0;
	letter-spacing:0.06em;
}

@media screen and (max-width: 900px) {
.br900 {
	display: inline;
}
#header {
	padding:0 25px;
}
#header_inner {
	padding-bottom:7px;
}
#m_nav {
	display: none;
}
#header_logo {
	width:180px;
}
#nav-toggle {
	display: block;
}
#g_nav {
	display:block;
}
/*index*/
#home #section1 .m_flex {
	display:block;
}
#home #section1 h3{
	font-size:50px;
}
#home #section1 ul.works_bn {
	max-width:800px;
	margin:0 auto;
}
#home #section1 ul.works_bn  li {
	width:100%;
	margin-bottom:10px;
}
#home #section1 .banner01, #home #section1 .banner02, #home #section1 .banner03 {
	height: 125px;
}
#home #section1 .banner01:after ,#home #section1 .banner02:after ,#home #section1 .banner03:after {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-ms-background-size: cover;
	background-size: cover;
}
#home #section2 .about_bg{
	background: url(../img/index/bg_about_s.jpg) no-repeat center center;
}
#home #section2 .box02 {
	width: 100%;
	margin-top:55px;
	float: none;
}
#home #section2 .box03 {
	width: 100%;
	margin-top:55px;
	float:none;
}
/*works*/
ul.item {
    display:block;
}
ul.item li {
	width:47%;
	margin-right:0;
	margin-top:7vw;
	float:left;
}
ul.item li:nth-child(2n) { 
    margin-right:0;
	float:right;
}
}

@media screen and (max-width: 640px) {
section {
	padding-top:7vw;
}
#section1 {
	padding-top:56px !important;
}
.content {
	padding:0 25px;
}
.br640 {
	display: inline;
}
.sp640 {
	display: none;
}
#wrapper #toPageTop {
	display: none;
}
#header_box {
	padding:15px 0 11px;
}
#header {
	height: 30px;
	padding:0 25px;
}
#header_inner {
}
#m_nav {
	display: none;
}
#header_logo {
	width:120px;
}
#nav-toggle {
	right: 25px;
	top: 15px;
	width: 25px;
	height: 25px;
}
#nav-toggle span {
	height: 3px;
}
#nav-toggle span:nth-child(2) {
	top: 9px;
}
#nav-toggle span:nth-child(3) {
	top: 18px;
}
/* #nav-toggle.open */
.open #nav-toggle span:nth-child(1) {
	top: 9px;
}
.open #nav-toggle span:nth-child(3) {
	top: 9px;
}
#g_nav {
	top: 56px;
}
#g_nav ul {
	font-size: 5vw;
}
#g_nav ul li {
	padding: 3vw 2vw;
}
#g_nav ul li:first-child {
	padding-top: 6vw;
}
#g_nav ul li:last-child {
	padding-bottom: 6vw;
}
footer {
	margin-top:11vw;
}
/*index*/
.maincut_logo {
	margin:120px auto 0;
}
#home #section1 h2{
	font-size:3.4vw;
	letter-spacing: 0.02em;
	padding:12vw 0 9vw;
}
#home #section1 h3{
	font-size:8vw;
}
#home #section1 h4{
	margin-top:15vw;
}
#home #section2 {
	padding-top:56px !important;
}
.info_box {
	margin:3px auto 0;
	padding:4vw 0;
}
.info_box ul li {
	padding:2vw 2vw;
}
.about_bg{
	padding-bottom:11vw;
}
#home #section2 h3{
	font-size:10vw;
	padding-top:11vw;
}
#home #section2 .box01{
	padding:5vw 7vw 5.5vw;
}
#home #section2 .box01 p{
	padding-top:2vw;
}
#home #section2 dl.data dt {
	padding-top:4vw;
}
#home #section2 dl.data dd {
	padding-top:4vw;
}
/*works*/
.header_bg {
	height:25vw;
}
.header_bg .m_ct h1{
	font-size:11vw;
}
#section1 h2.m_works {
	font-size:6vw;
	padding-top:7vw;
}
ul.item {
    display:block;
	width:80%;
	margin:0 auto;
}
ul.item li {
	width:100%;
	float: none;
}
ul.item li:nth-child(2n) { 
    float: none;
}
ul.item li h6 {
	padding-top:0.5vw;
}
.m_window {
	width: 95%;
	padding-bottom:5vw;
}
.mw_box {
	width: 95%;
	padding:20px 0;
}
.mw_box h6 {
	font-size:4vw;
	text-align:center;
	padding:1vw 0 4vw;
}
.m_md_close {
    top: 15px;
    right: 15px;
}

/*contact*/
#contact #section1 h2 {
	font-size:17px;
	letter-spacing:0.06em;
	padding:7vw 0 3vw;
}
#contact #section1 .box01 h3 {
	font-size:18px;
	padding:1.8vw 0 ;
	line-height: 1.5em;
}
#contact  #section2 .box01{
	margin:0 auto 0;
	padding-bottom:6vw;
}
#contact #section2 h4 {

}
#contact #section2 h5 {

}
}
@media screen and (max-width: 400px) {
.br400 {
	display: inline;
}
/*index*/
.maincut_logo {
	margin:80px auto 0;
}
.maincut_logo h1 img {
	width:200px;
}
#home #section1 h2{
	font-size:5vw;
	letter-spacing:0.06em;
}
/*works*/
ul.item {
	width:90%;
}
}