@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
/* CSS Document */

html, 
html * {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

body {
	position:relative;
	color:#333;
	margin: 0;
	padding: 0;
    font-family: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-size: 0.999999994rem;
	line-height:1.8em;
}

img {
	/*width: 100%;*/
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border:none;
}

ul, li {
	padding: 0;
	margin:0;
	list-style: none;
}

.min {
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
}
.line22 {
	line-height:2.2rem;
}

.purple {
	color:#4D2B4B;
}

.head {
	background:url("img/bg-head.png") left top repeat-x #FFF;
	background-size: auto 15px;
	width:100%;
	z-index:999;
	position:fixed;
}
.head h1 {
	display:block;
	width:40%;
	float:left;
	text-align: right;
	padding:60px 2% 0 3%;
	position:relative;
	font-size:18px;
	border-right:solid 2px #4D2B4B;
}
.head h1 img {
	display:block;
	position:absolute;
	width:40%;
	max-width:200px;
	top:15px;
	left:5%;
	z-index:9999;
}
.head h2 {
	display:block;
	width:50%;
	float:right;
	margin-right:3%;
	padding-top:65px;
	font-size:14px;
	line-height:1.2em;
	font-weight:normal;
}

.rtmenu a {
	display:inline-block;
	width:auto;
	margin-right:20px;
	color:#000;
	font-size:13px;
}
.rtmenu a:hover {
	color:#621E5C;
}

a.toi-bt {
	display:block;
	width:120px;
	text-align: center;
	font-size:13px;
	line-height:2.4em;
	border-radius: 2.4em;
	color:#FFF;
	background:#621E5C;
	position:absolute;
	top:10px;
	right:80px;
}
a.toi-bt:hover {
	background:#666;
}

.inner {
	width:94%;
	margin:0 auto;
}





.top-img {
	width:100%;
	height:auto;
	position:relative;
}

.top-img span {
	display:block;
	width:60%;
	position:absolute;
	top:35%;
	right:0;
	z-index:100;
}
.top-wk {
	background:rgba(77,43,75,0.85);
	padding:15px;
	color:#FFF;
	margin-bottom:15px;
}


.bx-wrapper {
	/*overflow:hidden; 画面幅からでないように */
   width:100vw;/* 幅100％の場合 */
	height:48.5vw;
	position: relative;
	margin: 0 auto;
	padding: 0;
	*zoom: 1;
}
.bx-viewport{
/*  overflow:visible!important; /* 両サイドに前後の画像を表示させる */
/*  max-width: 1000px;              /* 画像の幅（表示させる幅） */
  margin: 0 auto;             /* 画面中央にする */
	width:100vw;/* 幅100％の場合 */
	height:48.5vw;
}

.bx-wrapper img {
	width: 100%;
	display: block;
}

#slider {
	position:relative;
	width:100vw;/* 幅100％の場合 */
	height:48.5vw;
}

.toptit {
	text-align: center;
	margin:50px auto 30px;
	font-size:28px;
	font-weight:900;
	line-height:1.4em;
	color:#000;
}
.toptit span {
	display:block;
	font-size:12px;
	line-height:1.4em;
	font-weight:400;
	color:#666;
}

#profile, #access {
	background:#FAFAF7;
	padding:50px 0;
}
img.profile {
	display:block;
	width:40%;
	float:left;
	height:auto;
}
.txt-profile {
	width:55%;
	margin-right:5%;
	float:right;
}
.p-tit {
	padding:5% 0 5px 5%;
	border-bottom:solid 1px #999;
	font-size:12px;
	margin-top:5%;
}
.p-cont {
	padding:0 0 0 5%;
}

.sub-tit {
	font-size:18px;
	color:#000;
	text-align: center;
	margin:40px 0 20px;
}

#services {
	padding:80px 0;
	background:#FFF;	
}
.list-service {
	text-align: center;
	margin-top:50px;
}
.list-service li {
	display:inline-block;
	width:20%;
	margin:0 0.5% 5%;
	padding-top:-10%;
	background:url("img/bg-services.png") center bottom no-repeat;
	background-size:contain;
}
.list-service li img {
	display:block;
	width:25%;
	margin:-10% auto 0;
}
.s-tit {
	font-size:18px;
}
.s-cont {
	font-size:14px;
	line-height:1.6em;
	padding:20px;
}

.l-access {
	width:35%;
	float:left;
}
.r-access {
	width:60%;
	float:right;
}

#toi {
	background:#EEEEEE;
	padding:50px 0;
}

.ico-list {
	margin-top:20px;
}
.ico-list a {
	display:inline-block;
	width:30px;
	height:30px;
	margin:5px;
}













.bg-footer {
	background:#FFF;
	padding:20px;
	text-align: center;
	font-size:12px;
	line-height:1.4em;
	position: relative;
}
.bg-footer img.logo {
	display:block;
	height:120px;
	position: absolute;
	left:30px;
	top:20px;
}

a.totop {
	display:block;
	width:40px;
	height:40px;
	position: fixed;
	right:10px;
	bottom:10px;
}








.px16mb {
	font-size:16px;
	font-weight:400;
	line-height:1.6em;
}
.px18 {
	font-size:18px;
	font-weight:400;
}
.px20 {
	font-size:20px;
	font-weight:400;
}
.px22 {
	font-size:22px;
	font-weight:400;
}
.px24 {
	font-size:24px;
	font-weight:400;
}
.px32 {
	font-size:32px;
}







.profile {
	margin:30px 0;
	position:relative;
	width:100%;
	height:600px;
}
.profile .profile-name {
	margin-top:20px;
	padding-top:30px;
	letter-spacing: 0.2em;
}
.profile img {
	display:block;
	width:60%;
	position:absolute;
	top:0;
	right:0;
}
.profile .profile-wk {
	background:#F8F7F3;
	width:46%;
	padding:60px 2% 40px;
	position:absolute;
	bottom:0;
	left:0;
}

.form-tbl th {
	width:25%;
	text-align: left;
	color:#666;
	font-size:14px;
}
.form-tbl th, .form-tbl td {
	padding:15px 0;
}

form input, form textarea {
	padding:5px;
	font-size:16px;
	width:100%;
}
form input#submit, input[type=submit] {
	width:180px;
	background:#000;
	color:#FFF;
	font-size:14px;
	font-weight:600;
	padding:10px 0;
}
input[type=button].backbtn, a.backbtn {
	width:180px;
	background:#666;
	color:#FFF;
	font-size:14px;
	font-weight:600;
	padding:10px 0;
}

table.formTable {
	margin:30px auto;
}
.formTable th, .formTable td {
	border-bottom:solid 1px #999;
	padding:10px;
}















a.link {
	color:#0369DB;
	text-decoration:none;
}

a.linktel {
	color:#000;
}


a.btnon:hover {
	display:block;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}


.clear {clear:both;}

ul, li {
	margin:0;
	padding:0;
	list-style:none;
}

a {
	text-decoration: none;
	}

.stit {
	color:#707070;
	font-size:22px;
}



.pc-center {
	text-align: center;
}




img.img100 {width:100%;}



.pc-view {display:block;}
.sp-view {display:none;}

sup {font-size:11px;}


.block2 li {
		display:block;
		width:48%;
		margin:0 4% 4% 0;
		float:left;
}
.block2 li:nth-child(2n) {
		margin:0 0 4% 0;
}
.block2.li-r li {
		display:block;
		width:48%;
		margin:0 0 4% 4%;
		float:right;
}
.block2.li-r li:nth-child(2n) {
		margin:0 0 4% 0;
}
.block3 li {
		display:block;
		width:30.66%;
		margin:0 4% 30px 0;
		float:left;
		text-align: center;
	}
.block3 li:nth-child(3n), .block3s li:nth-child(3n) {
	margin-right:0;
	clear:right;
}
.block3 li:nth-child(3n+1) {
	clear:left;
}

.block4 li {
		display:block;
		width:24%;
		margin:0 1.33% 30px 0;
		float:left;
		text-align: center;
	}
.block4 li:nth-child(4n) {
	margin-right:0;
	clear:right;
}

.px12 {
	font-size:12px;
}
.px14 {
	font-size:14px;
}

.block5 li {
		display:block;
		width:18%;
	min-width:150px;
		margin:0 2.25% 30px 0;
		float:left;
		text-align: center;
	font-size:14px;
	line-height:1.6em;
	}
.block5 li:nth-child(5n) {
	margin-right:0;
	clear:right;
}
.block5 li img {
	display:block;
	margin-bottom:10px;
}

.inner1100 {
	width:92%;
	max-width:1100px;
	margin:0 auto;
}
.inner-s {
	width:92%;
	max-width:700px;
	margin:0 auto;
}
.img-r {
	width:75%;
	float:right;
}
.txt-l {
	position:absolute;
	width:40%;
	top:32%;
	left:10%;
}








@media only screen and (min-width: 1200px) {
body {
	font-size:22px;
	font-size: 1.499999994rem;
	line-height:2.2em;
}
.policy-txt {
	font-size: 1.2rem;
	line-height:2.3em;
}
.tsuyomi li {
	font-size:22px;
}
}

@media only screen and (max-width: 768px) {
.pc-view {display:none;}
.sp-view {display:block;}
.pc-center {
	text-align: left;
}
span.sp-view {display:inline-block;}

.head {
	background:url("img/bg-head.png") left top repeat-x #FFF;
	background-size: auto 15px;
	width:100%;
	z-index:999;
	position:relative;
}
.head h1 {
	display:block;
	width:82%;
	max-width:600px;
	float:left;
	margin-left:1%;
	margin-bottom:5px;
	z-index:10;
	font-size:18px;
}
	

.head h1 img {
	display:block;
	position:absolute;
	width:33%;
	max-width:200px;
	top:15px;
	left:0;
	z-index:9999;
}
.head h2 {
	display:none;
}
	
	

.top-img span {
	display:block;
	width:90%;
	position:relative;
	margin:-30px auto 0;
}

img.profile {
	display:block;
	width:100%;
	float:none;
	height:auto;
}
.txt-profile {
	width:95%;
	margin-right:5%;
	float:right;
}
	

.list-service li {
	display:inline-block;
	width:45%;
	margin:5% 0.2% 5%;
	padding-top:-10%;
	background:url("img/bg-services.png") center bottom no-repeat;
	background-size:contain;
}
	.list-service li img {
		width:33%;
	}
	.s-tit {
		font-weight:600;
	}
.s-cont {
	padding:0 10px 20px;
}
.border {
		width:65%;
		margin:5px auto 0;
		border-top:solid 1px #999;
	}	
	
.l-access {
	width:100%;
	float:none;
	margin-bottom:30px;
}
.r-access {
	width:100%;
	float:none;
}

.ico-list {
	position:fixed;
	width:50px;
	top:80px;
	right:0;
	z-index:999;
}
.ico-list a {
	display:block;
	width:40px;
	height:40px;
	margin:0 10px 10px 0;
}
	

.form-tbl th {
	width:100%;
	text-align: left;
	color:#666;
	font-size:14px;
	display:block;
	clear:both;
}
.form-tbl th, .form-tbl td {
	padding:0;
	display:block;
	clear:both;
}
	.form-tbl td {
		margin-bottom:30px;
	}
	
	
.formTable th, .formTable td {
	display:block;
	clear:both;
}	
	
	
	



.news li .cate {
	min-width:170px;
}
.news li .date {
	min-width:140px;
}


	

.mainmenu a {
	display:inline-block;
	width:30%;
	height:30%;
	margin:1%;
	border-radius: 50%;
	overflow: hidden;
}	
	


	

.foot1{
	width:100%;
	float:none;
	font-size:12px;
	text-align: center;
	margin-bottom:20px;
}
.foot2{
	width:100%;
	float:none;
	font-size:13px;
	line-height:1.2em;
}	

img.logo-foot1 {
	width:60%;
	margin:0 auto;
	display:block;
}	
	
.px32 {
	font-size:28px;
}

	



.block2 li, .block2 li.li-r {
	display:block;
	width:100%;
	margin-bottom:30px;
}
	
	img.sp-logo {
		display:block;
		width:45%;
		position:absolute;
		top:-45px;
		left:5%;
    z-index: 999992;
	}
	
.inner {
	width:90%;
	margin:0 auto;
}
	
#menu01 {
	background:url("img/bg-policy.png") left bottom no-repeat #FFF;
	background-size:160% 100%;
	margin-top:100px;
	padding-bottom:50px;
	position:relative;
	z-index:10;
}
.policy-p {
	width:75%;
	float:right;
}
.policy-tit {
	width:40%;
	min-width:140px;
	position:absolute;
	right:6%;
	top:-30px;
}
.policy-txt {
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
	font-size:14px;
	line-height:1.8em;
	position:relative;
	left:10%;
	clear:both;
	width:80%;
	padding-top:30px;
	padding-bottom:30px;
}
	
	
#menu02 {
	background:url("img/bg-strength.png") top center no-repeat #fff;;
	background-size:120% auto;
	margin-top:-50px;
	margin-bottom:0;
	padding-top:50px;
	padding-bottom:-100px;
	position:relative;
	z-index:60;
}
.strength-p {
	width:60%;
	margin-left:20%;
	margin-top:80px;
}
.strength-tit {
	width:50%;
	position:absolute;
	left:40%;
	top:28vw;
}
.strength-txt {
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
	font-size:16px;
	line-height:2.2em;
	position:absolute;
	left:4%;
	top:25%;
	width:92%;
}

	
	

.bg-tsuyomi-tit {
	width:40%;
	position:absolute;
	left:50%;
	margin-top:-15px;;
}


.flow-tbl td.lt {
	width:40px;
	background:url(./img/flow-m.png) left center repeat-y ;
	background-size:24px auto;
	text-align: left;
	padding:0;
	margin:0;
}
.num-tit img {
	width:40px;
	margin-bottom:15px;
	display:block;
}
	
table.houshin {
	border-collapse:separate;
 border-spacing:0;
	margin-bottom:0;
}
table.houshin td {
	display:block;
	clear:both;
	padding:10px 0;
}
table.houshin td.left {
	padding:10px 0;
	margin-right:0;
}
table.houshin td.top.sp {
	border-top:none;
}
table.houshin td.last {
	border-bottom:none;
}
	
	.str-img-l {
		display:block;
	}
.str-img-l img, .str-img-l.right img {
	display:block;
	width:100%;
	margin:0 auto 15px;
}
.str-img-l .txt {
	display:block;
	width:100%;
	min-width:150px;
	vertical-align: middle;
}
.str-img-l.right .txt {
	margin-top:0;
	width:100%;
	min-width:150px;
}
	
	
#menu03 {
	background:#F8F7F3;
	margin-top:-50px;
	padding-top:0;
	padding-bottom:30px;
	position:relative;
	z-index:500;
}
img.tit-treat {
	display:block;
	width:80%;
	position:absolute;
	top:-20px;
	right:2%;
	z-index:510;
}
.treatmentmenu:after {
background: url("img/p-treatmentbig.jpg") no-repeat center center;
/*background-attachment: fixed;*/
background-size: 100% auto;
	}
.treatmentmenu span {
	display:block;
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
	font-size:22px;
	position:absolute;
	top:10vw;
	left:20%;
	right:0;
	color:#3E3A39;
	letter-spacing: 0.2em;
}
.treatmentmenu img.yaji {
	display:block;
	width:10%;
	position:absolute;
	top:15vw;
	left:50%;
	transition: all 1s;
}
.treatmentmenu:hover img.yaji {
	left:52%;
}

	
.tit-information {
	width:95%;
	margin-left:5%;
	border-bottom:solid 2px #3AACAD;
	height:55px;
	margin-bottom:30px;
}
.news li a {
	display:block;
	width:100%;
	float:right;
	color:#231815;
}

.ttable {
	width:100%;
	float:none;
	margin-bottom:30px;
}
.jikan {
	width:100%;
	float:none;
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
	font-size:14px;
	line-height:1.8em;
}
.sp-block {
	display:block;
	margin-top:5px;
}

.profile {
	margin:30px 0;
	height:auto;
}
.profile .profile-name {
	margin-top:20px;
	padding-top:0;
	letter-spacing: 0.2em;
	text-align: right;
}
.profile img {
	display:block;
	width:105%;
	max-width:none;
	position:absolute;
	top:80px;
	right:-5%;
}
.profile .profile-wk {
	width:105%;
	padding:80px 5% 30px;
	position:relative;
	margin:230px auto 30px -5%;
	font-size:14px;
}
	
.abpolicy-l {
	width:100%;
	float:none;
	position:relative;
	margin-bottom:50px;
}
.abpolicy-l .policy-tit {
	width:30%;
	min-width:140px;
	position:absolute;
	right:15%;
	top:-20px;
}
.abpolicy-r {
	width:90%;
	margin:20px auto 0;
	float:none;
}

.setsubi img {
	display:block;
	width:100%;
	float:none;
	margin-right:0;
}
.setsubi.right img {
	display:block;
	width:100%;
	float:none;
	margin-left:0;
	margin-right:0;
}
.setsubi.right span {
	display:block;
	width:100%;
	float:left;
	text-align: left;
}
	
	.r-block50 {
		width:100%;
		float:none;
	}	

.block4 li {
		display:block;
		width:49%;
		margin:0 2% 30px 0;
		float:left;
		text-align: center;
	}
.block4 li:nth-child(2n) {
	margin-right:0;
	clear:right;
}

img.pc-right50, .pc-right50 {
	display:block;
	float:none;
	margin:0 auto 2%;
	width:100%;
}
.tit-white {
	height:80px;
	line-height:80px;
	margin-top:0;
	margin-bottom:0;
}
.tit-white img {
	margin-right:15px;
	height:80px;
}
.pc-left50 {
	width:100%;
	float:none;
}

.subtit {
	margin:40px 0;
}
.subtit span {
	display:inline-block;
	width:auto;
	padding:0 30px;
	background:#FFF;
	margin:0 auto;
	font-size:20px;
	font-family: "Noto Serif JP", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight:400;
	color:#3AACAD;
}
.subtit.right {
	margin:50px auto 30px;
	text-align: left;
	width:94%;
}
	.subtit.right span {
		font-size:22px;
	}


.block5 li {
		display:block;
		width:31%;
		margin:0 2.5% 30px 0;
	}	
.block5 li:nth-child(3n) {
	margin-right:0;
	clear:right;
}
.block5 li:nth-child(3n+1) {
	clear:left;
}
	
	

.bg-footer img.logo {
	display:block;
	height:auto;
	position: relative;
	left:0;
	top:0;
	width:27%;
	float:left;
}	
.bg-footer .foot-txt {
	width:70%;
	float:right;
	text-align: right;
}
}


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

a.toi-bt {
	display:none;
	}
.block5 li {
		display:block;
		width:48%;
		margin:0 1% 30px;
	}	
.block5 li:nth-child(3n) {
	margin-right:0;
	clear:none;
}
.block5 li:nth-child(3n+1) {
	clear:none;
}
	.block5 li:nth-child(2n) {
		clear:right;
	}
	.block5 li:nth-child(2n+1) {
		clear:left;
	}
.block5 li:nth-child(3n), .block5 li:nth-child(5n) {
		margin:0 1% 30px;
}

}