@charset "UTF-8";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                  © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
@media only screen and (min-width: 1921px) {
	#header {
		left: 50%;
		transform: translateX(-50%);
		max-width: 1920px;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1880px) {
	.imvs-slide::before {
		top: 1px;
	}
	.imvs-content {
		bottom: 36%;
	}
	.imvs-h1 {
		font-size: max(3.5vw, 30px);
		margin: 0;
	}
	.imvs-icon {
		margin: 0 32px 0 0;
		width: 100px;
	}
	.imvs-date {
		width: 34vw;
		bottom: -30px;
	}
	.iBanner::before {
		top: 6px;
		left: 10px;
		width: 160px;
		background-position: top center;
	}
	.iOpen-wrap {
		max-width: 1400px;
		align-items: flex-end;
	}
	.iOpen-img {
		width: 400px;
	}
	.iOpen-content {
		width: calc(100% - 400px);
		background-size: 180px;
		background-position: top 8% right 13%;
	}
	.iOpen-content::before {
		height: 200px;
		background-position: left bottom;
		left: 78%;
		background-size: auto 100%;
	}
	.iTreatment::after {
		width: max(20vw, 240px);
		height: max(17.3vw, 220px);
	}
	.iTreatment-icon::before {
		top: 32%;
		left: 3%;
		width: max(12vw, 180px);
		background-size: contain;
		background-position: bottom left;
		height: 334px;
	}
	.iTreatment-icon::after {
		top: 22%;
		right: 3%;
		width: max(15vw, 140px);
		background-size: contain;
		background-position: top right;
	}
	footer::before {
		bottom: calc(100% - 1px);
	}
	.fBox-wrap {
		max-width: 1200px;
	}
	.fMenu-wrap {
		max-width: 1200px;
		justify-content: space-between;
	}
	.fMenu-list {
		min-width: auto;
	}
}

@media only screen and (min-width: 751px) and (max-width: 1720px) {
	.iCase-list {
		width: 1240px;
		margin: 0 auto 30px;
	}
	.iCase-post {
		width: calc((1240px - 120px) / 4);
	}
}
@media only screen and (min-width: 751px) and (max-width: 1650px) {
	.iGreeting {
		padding: 120px 0 100px;
	}
	.iGreeting-wrap {
		max-width: 1400px;
	}
	.iGreeting-content {
		width: calc(100% - 600px);
		padding-left: 50px;
		padding-right: 40px;
	}
	.iGreeting-img {
		width: 600px;
	}
	#header {
		height: 80px;
	}
	.iMain {
		margin-top: 80px;
	}
	.hlogo {
		top: 10px;
		left: 10px;
		width: 160px;
	}
	.hlogo::before {
		width: 260px;
		height: 260px;
		top: 31%;
	}
	.hnavi {
		margin-top: 30px;
	}
	.hnavi-wrap > li {
		margin-right: 20px;
	}
	.hnavi-wrap > li > a,
	.hnavi-wrap > li > label {
		font-size: 16px;
	}
	.hcontact {
		margin-left: 30px;
		margin-right: 20px;
	}
	.hcontact-tel .num {
		font-size: 28px;
		padding-left: 31px;
		background-size: 24px;
		background-position: left 0 top 3px;
	}
	.hcontact-tel .txt {
		font-size: 8px;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1560px) {
	.iCase-wrap {
		max-width: 1400px;
	}
	.iCase-post {
		width: calc((100% - 60px) / 4);
		margin-right: 20px;
	}
	.iOpen-wrap {
		margin-right: 13vw;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1440px) {
	.imvs-h1 {
		font-size: max(3vw, 50px);
	}
	.imvs-icon {
		width: max(6vw, 90px);
	}
	.imvs-date {
		width: max(34vw, 400px);
		right: 70px;
	}
	.iBanner-wrap {
		max-width: 1100px;
	}
	.iBanner-item {
		width: 540px;
		height: 519px;
	}
	.iBanner-item .btn {
		bottom: 30px;
		left: 30px;
		width: 80px;
		height: 80px;
		background-size: 36px;
	}
	.iBanner-title .ens {
		top: -27px !important;
		left: 67px !important;
	}
	.iBanner-img {
		justify-content: flex-end;
	}
	.iBanner-img img {
		width: 90%;
	}
	.iBanner-desc {
		top: 12px;
		left: 13px;
	}
	.iOpen {
		padding-bottom: 50px;
	}
	.iOpen-wrap {
		max-width: 1200px;
		margin-left: auto;
		margin-right: 12vw;
	}
	.iOpen-img {
		width: 350px;
	}
	.iOpen-content {
		width: calc(100% - 400px);
		padding-top: 50px;
	}
	.iOpen-content::before {
		left: 90%;
	}
	.iGreeting-wrap {
		max-width: 1200px;
	}
	.iGreeting-title {
		font-size: 8px;
		padding: 20px 0 15px;
		padding-left: 200px;
		background-size: 180px;
		background-position: left 8px top 0px;
	}
	.iGreeting-content {
		width: calc(100% - 500px);
	}
	.iGreeting-img {
		width: 500px;
	}
	.iGreeting-name {
		right: 20px;
	}
	.iGreeting-name .icon {
		font-size: 30px;
		padding: 23px 20px 23px 80px;
		background-position: left 20px center;
		background-size: 43px;
	}
	.iGreeting-banner {
		padding: 26px 80px 26px;
		background-size: contain;
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		margin-top: 30px;
	}
	.iGreeting-rank {
		padding-left: 30px;
	}
	.iGreeting-rank p {
		font-size: 15px;
	}
	.iService.adult {
		margin-top: 130px;
	}
	.iService.adult .iService-img {
		top: -10px;
	}
	.iService-inner {
		max-width: 1100px;
		margin-bottom: 50px;
	}
	.iService-content {
		width: calc(100% - 520px);
	}
	.iService-img {
		width: 520px;
	}
	.iService-title {
		margin-bottom: 20px;
	}
	.iService-title .jps {
		font-size: 50px;
	}
	.iService-desc {
		width: 600px;
	}
	.iService-list {
		max-width: 1100px;
	}
	.iService-list li.cus {
		height: 325px;
	}
	.iService-list-img {
		width: 500px;
	}
	.iService-list-desc {
		max-width: 85%;
	}
	.iService-list-content {
		width: calc(100% - 500px);
		padding: 30px 30px 27px 30px;
	}
	.iService-list-h4 {
		font-size: 26px;
		margin-bottom: 10px;
	}
	.iService-list .btn {
		right: 20px;
		bottom: 20px;
		width: 70px;
		height: 70px;
		background-size: 30px;
	}
	.iAge {
		background-size: 1412px;
		background-position: top 12% left 25%;
	}
	.iAge::before {
		background-size: 100%;
		bottom: -1px;
	}
	.iAge-wrap {
		max-width: 1100px;
	}
	.iAge-list {
		margin-top: 40px;
	}
	.iAge-list li {
		margin-right: 25px;
	}
	.iType-wrap {
		max-width: 1100px;
		margin-bottom: 10px;
	}
	.iType-wrap.rewrap {
		align-items: flex-end;
	}
	.iType-wrap.rewrap .iType-content {
		padding-left: 0px;
		padding-right: 30px;
	}
	.iType-img,
	.iType-img.ad-cs {
		width: 500px;
		padding-left: 30px;
	}
	.iType-item-link.ad-cs {
		width: 150px;
		margin: 0 10px 10px 0;
	}
	.iType-img.ad-cs::before {
		background-size: cover;
		top: 52px;
		left: -136px;
		width: 181px;
		height: 280px;
	}
	.iType-img.mt {
		margin-top: 0;
		margin-bottom: -56px;
	}
	.iType-img.big {
		width: 530px;
		height: auto;
		left: -30px;
	}
	.iType-content {
		position: relative;
		width: calc(100% - 570px);
		padding-left: 30px;
	}
	.iType-btn {
		margin-top: 30px;
	}
	.ibtn-txt .icon {
		padding-right: 70px;
		font-size: 20px;
	}
	.ibtn-txt .icon::before {
		width: 60px;
		height: 60px;
		background-size: 30px;
	}
	.iStep-wrap {
		max-width: 1100px;
	}
	.iStep-img {
		margin-left: 0%;
	}
	.iCase-wrap {
		max-width: 1200px;
	}
	.iCase-wrap::before {
		width: max(14vw, 160px);
		left: 0;
		top: 8%;
		background-size: contain;
		background-position: top left;
	}
	.iCase-wrap::after {
		width: max(18vw, 200px);
		right: 0;
		top: 5%;
		background-size: contain;
		background-position: top right;
	}
	.iCase-list {
		width: 1100px;
	}
	.iCase-post {
		width: calc((100% - 60px) / 4);
		margin-right: 20px;
	}
	.iCase-post .img {
		width: 100%;
		height: 190px;
	}
	.hfixed {
		top: 106px;
		width: 60px;
	}

	.hfixed a::before {
		height: 20px;
	}
	.hfixed a .icon {
		font-size: 18px;
	}
	.hfixed-web {
		height: 210px;
		padding: 64px 10px 10px;
	}
	.hfixed-web.web1 {
		height: 197px;
		padding: 65px 10px 10px;
	  }

	.hfixed-web::after {
		background-position: top 20px center;
		background-size: 34px;
	}
	.hfixed-web::before {
		top: 27px;
	}
	.hfixed-contact {
		height: 184px;
		padding: 12px 10px 12px;
	}
	.hfixed-contact::after {
		background-size: 56px;
	}
	.hfixed-contact::before {
		bottom: 20px;
	}
	.iGreeting-btn {
		padding-left: 210px;
	}
	.hfixed-web.hfixed-web.web1::after {
		background-image: url(../images/icon-awd-ct.png);
		background-position: top 20px center;
		background-size: 35px;
	  }
}
@media only screen and (min-width: 751px) and (max-width: 1300px) {
	.iOpen-content {
		background-position: top right;
	}
	.iOpen-wrap {
		margin-left: -30px;
		margin-right: 200px;
	}
	footer::before {
		background-size: 1300px;
		height: 80px;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1200px) {
	.iBanner::before {
		width: 140px;
	}
}
@media only screen and (min-width: 751px) {
	.nowrap-pc {
		white-space: nowrap;
	}
	.sp {
		display: none !important;
	}
	a:not([target="_blank"]):hover,
	a:active {
		color: #006baf;
		text-decoration: none;
		transition: all 0.3s ease-in-out;
	}
	a:hover img {
		opacity: 0.7;
	}

	a[target="_blank"]:hover img,
	a.noHover:hover img {
		opacity: 1;
	}
	a[href^="tel"]:hover {
		color: #00583b !important;
	}
	[class*="logo"] a:hover img {
		opacity: 1;
	}
	#totop a:hover img {
		opacity: 1;
	}
	.hicon {
		display: none;
	}
	#totop a:hover {
		background-color: #333333;
	}
	.hfixed-contact:hover,
	.hfixed-web:hover {
		transform: translateX(-10px);
		border-radius: 10px;
	}
	.ibtn:hover {
		transform: translateY(-10px);
		background-color: #593a24;
		color: #fff !important;
		background-image: url(../images/icon-btn-minhv.png) !important;
	}
	.iGreeting-btn .noBtn {
		transition: all 0.3s ease-in-out;
	}
	.iGreeting-btn .noBtn:hover img {
		opacity: 1;
	}
	.iGreeting-btn .noBtn:hover {
		transform: translateY(-10px);
	}
	.iService-list li:hover {
		transform: translateX(-10px);
		background-color: #fff;
	}
	.iService-list li:hover .btn {
		background-color: #333333 !important;
	}
	.iAge-list li:hover,
	.iCase-post:hover {
		transform: translateY(-10px);
	}
	.ibtn-txt:hover .icon::before {
		background-color: #333333;
	}
	.fMenu-list a:hover {
		transform: translateX(10px);
		color: #fff !important;
	}
	.hnavi-wrap > li:hover > a,
	.hnavi-wrap > li:hover > label {
		color: #407488;
	}
	.iBanner-item:hover {
		transform: translateY(-10px);
	}
	.iBanner-item:hover .btn {
		background-color: #333333;
	}
	#header .hlogo .nor {
		display: block;
	}
	#header .hlogo .scroll {
		display: none;
	}
	#header.scroll {
		height: 80px;
	}
	#header.scroll .hwrap {
		align-items: center;
	}
	#header.scroll .hnavi,
	#header.scroll .hcontact-tel {
		margin-top: 0;
	}
	#header.scroll .hlogo {
		top: 15px;
		left: 20px;
		width: 180px;
	}
	#header.scroll .hlogo::before {
		width: 200px;
		height: 200px;
		top: 38%;
	}
	#header.scroll .hlogo .nor {
		display: none;
	}
	#header.scroll .hlogo .scroll {
		display: block;
	}
	.hsp-menu {
		display: none !important;
	}
	.hnavi-wrap > li:hover .hnavi-lv2 {
		opacity: 1;
		visibility: visible;
		top: 100%;
	}
	.hnavi-wrap > li:hover .hnavi-lv2 a:hover {
		background-color: #593a24;
		color: #fff;
	}
	.fBox-btn a {
		transition: all 0.3s ease-in-out;
	}
	.fBox-btn a:hover {
		transform: translateY(-10px);
	}
	.fixed-list {
		display: none !important;
	}
	.iType-item-link.ad-cs:hover {
		transform: translateY(-10px);
	}
	.iType-item-link.ad-cs a:hover img {
		opacity: inherit;
	}
	.hcontact-ins:hover {
		opacity: 0.7;
	}
}
@media screen and (min-width: 1px) and (max-width: 750px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	input,
	button,
	textarea,
	select,
	p,
	blockquote,
	th,
	td,
	pre,
	address,
	li,
	dt,
	dd {
		font-size: 150%;
	}
	.mb0{
        margin-bottom: 0;
    }
	.hfixed {
		display: none !important;
	}
	#wrapper {
		min-width: 100%;
	}
	.container {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
	.pc {
		display: none !important;
	}
	.open-nav #header {
		justify-content: center;
		align-items: center;
		height: 120px;
	}
	.open-nav .hwrap {
		top: 120px;
		left: 0;
	}
	.open-nav .hlogo {
		position: relative;
		width: auto;
		padding: 14px 10px 14px;
		top: 0px;
		left: 0px;
		height: 100%;
	}
	.open-nav .hlogo a {
		height: 100%;
	}
	.open-nav .hlogo img {
		max-height: 100%;
		width: auto;
	}
	.open-nav .hlogo::before {
		content: none;
	}
	#header {
		height: 40px;
	}
	.hlogo {
		width: 100px;
		top: 10px;
		left: 10px;
	}
	.hlogo::before {
		width: 150px;
		height: 150px;
	}
	.hlogo .scroll {
		display: none;
	}
	.hwrap {
		position: fixed;
		display: block;
		top: 0;
		left: 100%;
		width: 100%;
		background-image: url(../images/wrap-w.jpg);
		background-size: cover;
		height: calc(100% - 60px);
		overflow-y: auto;
		overflow-x: hidden;
		padding: 0 0 150px;
		transition: all 0.3s ease-in-out;
	}
	.hnavi {
		margin-top: 0;
	}
	.hnavi-wrap {
		position: relative;
		display: block;
	}
	.hnavi-wrap > li {
		margin-right: 0;
		display: block;
	}
	.hnavi-wrap > li > a,
	.hnavi-wrap > li > label {
		font-size: 16px;
		margin-bottom: 0;
		padding: 10px 10px 10px 32px;
		display: block;
		width: 100%;
		border-bottom: 1px solid #fff;
		background-image: url(../images/icon-menu.png);
		background-position: left 10px center;
		background-repeat: no-repeat;
		background-size: 13px;
	}
	.hnavi-wrap > li > label::before {
		position: absolute;
		content: "";
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
		border-top: 8px solid #333333;
		right: 15px;
		transition: all 0.3s ease-in-out;
		top: 50%;
		transform: translateY(-50%);
	}
	.hnavi-wrap > li.active > label::before {
		border-top: 0 solid transparent;
		border-bottom: 8px solid #333333;
	}
	.hnavi-lv2 {
		position: relative;
		left: auto;
		transform: none;
		border-radius: 0;
		opacity: 1;
		visibility: visible;
		padding: 0 15px;
		display: none;
		transition: none;
	}
	.hnavi-lv2 a {
		font-size: 14px;
	}
	.hcontact {
		margin-left: 0px;
		margin-right: 0px;
		margin-bottom: 20px;
		padding: 0 10px;
		flex-direction: column;
		align-items: center;
	}
	.hcontact-tel {
		align-items: center;
		order: 1;
	}
	.hcontact-ins {
		order: 2;
		margin-right: 0;
		margin-top: 20px;
	}
	.hcontact-tel .num {
		font-size: 28px;
		padding-left: 31px;
		background-size: 24px;
		background-position: left 0 top 3px;
	}
	.hcontact-tel .txt {
		font-size: 12px;
	}
	.iMain {
		margin-top: 30px;
	}
	.imvs-content {
		bottom: 120vw;
		padding: 0 10px;
		align-items: center;
		flex-direction: column-reverse;
	}
	.imvs-h1 {
		font-size: 8vw;
		margin: -80px auto 4px;
		position: absolute;
		top: 20%;
	}
	.imvs-icon {
		position: absolute;
		width: 18vw;
		margin: -160px 6vw 30vw 0;
	}
	.imvs-date {
		position: relative;
		bottom: auto;
		right: auto;
		background-color: #cfeef3;
		padding: 10px 10px 10px;
		text-align: center;
	}
	.mt100 {
		margin-top: 50px;
	}
	.imvs-date img {
		border-radius: 10px 10px 0 0;
	}
	.imvs-news {
		position: relative;
		left: auto;
		bottom: 0;
		padding: 30px 14px;
		width: 100%;
		flex-direction: column;
		align-items: center;
	}
	.imvs-news-title {
		text-align: center;
		margin-bottom: 20px;
		width: 100%;
	}
	.imvs-news-list {
		width: 100%;
	}
	.iBanner {
		padding: 110px 0 0px;
	}
	.iBanner::before {
		height: 90px;
		top: 5px;
		left: 20px;
		background-size: contain;
		background-position: top left;
	}
	.iBanner::after {
		width: 750px;
		min-height: auto;
		top: 0;
	}
	.iBanner-wrap {
		padding: 0 10px;
		justify-content: center;
	}
	.iBanner-item {
		width: 100%;
		max-width: 500px;
		height: auto;
		overflow: hidden;
		border-radius: 0 0 20px 20px;
		padding: 60px 20px 0px;
		box-shadow: none;
		align-items: center;
		margin-bottom: 40px;
		z-index: 1;
	}
	.iBanner-item::before {
		position: absolute;
		content: "";
		width: calc(100% - 5px);
		height: calc(100% - 34vw);
		border-radius: 0 0 20px 20px;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
		z-index: -2;
	}
	.iBanner-item::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: top 0 left 0;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: -1;
		pointer-events: none;
	}
	.iBanner-item.adult {
		background-color: transparent;
		background-image: none;
		margin-bottom: 0;
	}
	.iBanner-item.adult::before {
		background-color: #76c6b6;
		background-image: url(../images/iBanner-bg2a-sp.png);
		background-size: 30%;
		background-position: right bottom;
		background-repeat: no-repeat;
	}
	.iBanner-item.adult::after {
		background-image: url(../images/iBanner-bg2-sp.png);
	}
	.iBanner-item.kid {
		background-color: transparent;
		background-image: none;
	}
	.iBanner-item.kid::before {
		background-color: #f4db56;
	}
	.iBanner-item.kid::after {
		background-image: url(../images/iBanner-bg1-sp.png);
	}
	.iBanner-item .btn {
		bottom: 0;
		top: calc(100% + 0px);
		left: 10px;
		width: 40px;
		height: 40px;
		background-size: 20px;
	}
	.iBanner-title {
		width: fit-content;
		margin-bottom: 20px;
	}
	.iBanner-title .ens {
		font-size: 17px;
		top: -12px !important;
		left: -22px !important;
	}
	.iBanner-title .jps {
		font-size: 30px;
	}
	.iBanner-content {
		height: 100%;
		flex-wrap: wrap;
	}
	.iBanner-img {
		order: 2;
		left: 18px;
		width: 58%;
	}
	.iBanner-desc {
		order: 1;
		max-width: 100%;
		position: relative;
		top: auto;
		left: auto;
		margin-bottom: 0px;
	}
	.iBanner-desc p {
		font-size: 14px;
	}
	.iOpen {
		padding: 18px 0 40px;
	}
	.iOpen-wrap {
		padding: 0 10px;
	}
	.iOpen-img {
		order: 2;
		width: 100%;
		padding-right: 70px;
		margin-top: 0;
	}
	.iOpen-img::before {
		position: absolute;
		content: "";
		width: 35vw;
		height: 100%;
		background-image: url(../images/iOpen-img2.png);
		background-size: contain;
		background-position: left bottom;
		background-repeat: no-repeat;
		right: 0;
		bottom: 0;
	}
	.iOpen-content {
		order: 1;
		width: 100%;
		padding-top: 50px;
		padding-left: 0;
		background-size: min(30vw, 140px);
		background-position: top 0% right 0%;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.iOpen-content::before {
		content: none;
	}
	.iOpen-title {
		font-size: 21px;
		padding-left: 20px;
	}
	.iOpen-title::before {
		width: 41px;
		height: 46px;
		right: calc(100% - 37px);
		top: -23px;
	}
	.iOpen-coming {
		flex-wrap: wrap;
		margin-bottom: 8px;
		margin-left: 0;
		margin-top: 0;
	}
	.iOpen-coming-number {
		width: 100%;
		margin-top: 18px;
		font-size: 6px;
		margin-right: 0px;
		padding-left: 25px;
	}
	.iOpen-coming-number .date {
		width: 34px;
		height: 34px;
		font-size: 10px;
	}
	.iOpen-coming-img {
		width: 100%;
		padding-left: 70px;
		text-align: center;
		padding-right: 20px;
	}
	.iOpen-coming-img img {
		top: auto;
	}
	.iOpen-list {
		order: 3;
		flex-wrap: wrap;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		margin: 0 auto;
	}
	.iOpen-list.center{
	margin-top: 30px;
	}
	.iOpen-list li {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.iOpen-list li:last-child {
		margin-bottom: 0;
	}
	.ibtn {
		padding: 13px 20px 13px 40px !important;
		min-width: 270px;
		background-size: 20px;
		font-size: 15px;
	}
	.iGreeting {
		padding: 50px 0 50px;
	}
	.iGreeting-wrap {
		padding: 0 10px;
		flex-wrap: wrap;
	}
	.iGreeting-title {
		font-size: 4.5px;
		margin-bottom: 20px;
		padding: 68px 0 0;
		background-size: auto 60px;
		background-position: center top 0;
		text-align: center;
	}
	.iGreeting-content {
		width: 100%;
		order: 1;
		padding-left: 0px;
		padding-right: 0px;
		margin-bottom: 40px;
	}
	.iGreeting-img {
		text-align: center;
		width: 100%;
		margin-top: 0;
		order: 2;
	}
	.iGreeting-img .img {
		margin: 0 -10px;
	}
	.iGreeting-img .img img {
		left: 0;
		height: auto;
	}
	.iGreeting-desc {
		padding-left: 0;
		margin-bottom: 0px;
	}
	.iGreeting-desc p {
		font-size: 14px;
	}
	.iGreeting-banner {
		padding: 20px 30px 20px;
		width: 100%;
		max-width: 370px;
		height: auto;
		margin: 30px auto 0;
		background-size: 100% 100%;
		background-repeat: no-repeat;
		background-image: url(../images/iGreeting-banner-sp.png);
	}
	.iGreeting-list li {
		padding-left: 18px;
		font-size: 14px;
		margin-bottom: 9px;
	}
	.iGreeting-list li::before {
		width: 10px;
		height: 10px;
		top: 5px;
	}
	.iGreeting-name {
		bottom: 1%;
		right: 30%;
	}
	.iGreeting-name .icon {
		font-size: 20px;
		padding: 12px 9px 13px 48px;
		border-radius: 10px;
		background-size: 30px;
		background-position: left 10px center;
	}
	.iGreeting-rank {
		margin-top: 25px;
		padding-left: 0;
		text-align: left;
	}
	.iGreeting-rank p {
		font-size: 14px;
	}
	.iGreeting-btn {
		align-items: center;
		flex-direction: column;
		padding-right: 0;
		margin: 40px auto 60px;
		padding-left: 0;
		padding: 0 10px;
		text-align: center;
	}
	.iGreeting-btn li {
		margin-right: 0;
		margin-bottom: 10px;
		width: 100%;
	}
	.iGreeting-btn li a {
		width: 100%;
		max-width: 300px;
	}
	.iGreeting-btn li:last-child {
		display: flex;
		justify-content: center;
		margin-bottom: 0;
	}
	.iGreeting-btn .noBtn {
		text-align: center;
		width: auto;
	}
	.iGreeting-btn .noBtn img {
		width: 100px;
	}
	.iGreeting-slide {
		height: 200px;
	}
	.iTreatment {
		padding: 66px 0 0px;
		background-size: 190%;
	}
	.iTreatment::after {
		height: 40vw;
		background-size: auto 100%;
		background-position: bottom center;
		bottom: calc(100% - 30px);
		left: 50%;
		transform: translateX(-50%);
	}
	.iTreatment-icon::before {
		top: 7%;
		left: 14%;
		width: 14vw;
	}
	.iTreatment-icon::after {
		top: 11%;
		right: 8px;
		width: 13vw;
	}
	.iTreatment-wrap {
		padding: 0 10px;
	}
	.iTreatment-title {
		font-size: 4px;
		margin-bottom: 20px;
		padding-left: 0;
	}
	.iTreatment-desc {
		margin-bottom: 20px;
	}
	.iTreatment-desc p {
		font-size: 14px;
		text-align: left;
	}
	.iTreatment-btn {
		margin-bottom: 30px;
	}
	.iTreatment-img {
		margin-bottom: 10px;
	}
	.iTreatment-img img {
		left: 0;
		width: 86%;
	}
	.iTreatment-img::before {
		width: 25vw;
		top: 0px;
		right: -7px;
	}
	.iService {
		padding: 38px 0 50px !important;
	}
	.iService::after {
		background-size: 230%;
		top: -30px;
	}
	.iService.adult {
		margin-top: 16px;
	}
	.iService.adult .iService-img {
		top: auto;
	}
	.iService.adult::after {
		top: -30px;
	}
	.iService-inner {
		padding: 0 10px;
		margin-bottom: 0;
	}
	.iService-content {
		width: 100%;
		padding-left: 0;
	}
	.iService-img {
		width: 100%;
		position: relative;
		text-align: center;
		top: auto;
		right: auto;
		margin-bottom: -60%;
	}
	.iService-title {
		margin-bottom: 20px;
		padding-left: 30px;
	}
	.iService-title .ens {
		top: -20px !important;
		left: 0px !important;
		font-size: 20px;
	}
	.iService-title .jps {
		font-size: 8.5vw;
	}
	.imvs-news-list .link {
		font-size: 14px;
	}
	.iService-title .line::before {
		bottom: 0;
		background-image: url(../images/iKid-line-sp.png);
		background-size: auto 20px;
	}
	.iService-desc {
		width: 100%;
		margin-bottom: 20px;
	}
	.iService-desc p {
		font-size: 14px;
	}
	.iService-list {
		padding: 0 10px;
	}
	.iService-list li {
		border-radius: 10px;
		flex-wrap: wrap;
		margin-bottom: 18px;
	}
	.iService-list li.cus {
		height: auto;
	}
	.iService-list li.cus .iService-list-img {
		position: relative;
		bottom: auto;
		left: auto;
		border-radius: 0;
		margin-top: calc(-6% - 2px);
	}
	.iService-list li.cus .iService-list-img img {
		border-radius: 0px;
	}
	.iService-list-img {
		padding: 0 10px;
		width: 100%;
	}
	.iService-list-content {
		width: 100%;
		padding: 0px 12px 62px 12px;
	}
	.iService-list-h4 {
		font-size: 15px;
		margin-bottom: 17px;
		text-align: center;
		margin-top: -18%;
		text-shadow: 1px 1px 10px rgba(255, 255, 255, 0.5),
			1px 1px 10px rgba(255, 255, 255, 0.5),
			1px 1px 10px rgba(255, 255, 255, 0.5),
			1px 1px 10px rgba(255, 255, 255, 0.5),
			1px 1px 10px rgba(255, 255, 255, 0.5),
			1px 1px 10px rgba(255, 255, 255, 0.5);
	}
	.iService-list-desc {
		max-width: 100%;
		text-align: left;
	}
	.iService-list-desc p {
		font-size: 14px;
		text-align: left;
	}
	.iService-list .btn {
		right: 12px;
		bottom: 12px;
		width: 40px;
		height: 40px;
		background-size: 20px;
	}
	.iAge {
		padding: 60px 0 0px;
		background-image: url(../images/iAge-icon-sp.png);
		background-size: 100%;
		background-position: left 76% top 2%;
	}
	.iAge::before {
		background-size: 229%;
		background-position: left bottom;
	}
	.iAge-wrap {
		padding: 0 10px;
	}
	.iAge-title {
		font-size: 28px;
		margin-bottom: 15px;
	}
	.iAge-desc {
		text-align: left;
	}
	.iAge-desc p {
		font-size: 14px;
	}
	.iAge-list {
		margin-top: 40px;
		flex-direction: column;
	}
	.iAge-list li {
		width: 70%;
		margin-right: 0;
		margin-left: auto;
		text-align: right;
	}
	.iAge-list li:nth-child(2) {
		text-align: left;
		margin-right: auto;
		margin-left: 0;
		width: calc(70% + 16px);
	}
	.iAge-list li:nth-child(2) img {
		left: 0;
	}
	.iType {
		padding: 50px 0 0px;
	}
	.iType-wrap {
		padding: 0 10px;
		flex-wrap: wrap;
		margin: 0 auto 50px;
	}
	.iType-wrap.rewrap .iType-content {
		padding-right: 0;
		margin-bottom: 30px;
	}
	.iType-img {
		width: 100%;
		order: 2;
		text-align: center;
	}
	.iType-img.mt {
		margin-top: 0;
	}
	.iType-img.big {
		position: relative;
		top: auto;
		width: 100%;
		height: auto;
		left: auto;
		text-align: center;
	}
	.iType-content {
		width: 100%;
		padding-left: 0px;
		order: 1;
		margin-bottom: -15px;
	}
	.iType-title {
		font-size: 16px;
		margin-bottom: 10px;
		text-align: center;
	}
	.iType-btn {
		margin-top: 10px;
	}
	.iType-desc p {
		font-size: 15px;
	}
	.ibtn-txt .icon {
		padding-right: 60px;
		font-size: 16px;
	}
	.ibtn-txt .icon::before {
		width: 50px;
		height: 50px;
		background-size: 20px;
	}
	.iStep {
		padding: 60px 0 60px;
	}
	.iStep-wrap {
		padding: 0 10px;
	}
	.iStep-h3 {
		font-size: 21px;
	}
	.iStep-img {
		margin-left: 0%;
		text-align: center;
	}
	.iStep-desc {
		margin-top: 0px;
		text-align: left;
	}
	.iStep-desc p {
		font-size: 14px;
	}
	.iCase {
		padding: 50px 0 0px;
		background-color: #f4f3ec;
	}
	.iCase-h3 {
		font-size: 28px;
		margin-bottom: 15px;
	}
	.iCase-wrap {
		padding: 0 10px;
		padding-bottom: 280px;
	}
	.iCase-wrap::before {
		width: 40vw;
		left: 10px;
		top: auto;
		background-position: bottom right;
		background-size: 112px;
		bottom: 0;
	}
	.iCase-wrap::after {
		width: 46vw;
		background-position: bottom left;
		right: 10px;
		top: auto;
		bottom: 0;
		background-size: min(176px, 100%);
	}
	.iCase-wrap::after,
	.iCase-wrap::before {
		bottom: 120px;
	}
	.iCase-desc {
		margin: 0 auto 30px;
		text-align: left;
	}
	.iCase-desc p {
		font-size: 14px;
	}
	.iCase-list {
		justify-content: center;
		width: 260px;
		margin: 0 auto 40px;
	}
	.iCase-inner {
		position: relative;
		max-width: 320px;
		margin: 0 auto;
	}
	.iCase-inner .slick-slide {
		margin-left: 10px;
		margin-right: 10px;
	}
	.iCase-inner .slick-arrow {
		position: absolute;
		top: 60px;
		height: 32px;
		background-repeat: no-repeat;
		background-size: 100% auto;
		width: 20px;
	}
	.iCase-inner .slick-arrow.iCase-btn-prev {
		left: 0;
		background-image: url(../images/slick-prev.png);
		background-position: left center;
	}
	.iCase-inner .slick-arrow.iCase-btn-next {
		right: 0;
		background-image: url(../images/slick-next.png);
		background-position: right center;
	}
	.iCase-post {
		width: 100%;
		margin-right: 0;
	}
	.iCase-post .img {
		height: 152px;
	}
	.iCase-post .title {
		font-size: 14px;
	}
	.iCase-btn a {
		min-width: auto;
		max-width: 250px;
		width: 100%;
	}
	footer {
		padding-bottom: 108px;
	}
	footer::before {
		height: 80px;
		background-position: left 2% bottom;
		background-size: 1101px;
	}
	.fMenu {
		display: none;
	}
	.fBox {
		padding: 60px 0 0;
	}
	.fBox-wrap {
		padding: 0 10px;
	}
	.fBox-content {
		width: 100%;
		padding: 0px 10px 30px;
		border-radius: 10px 10px 0 0;
	}
	.fBox .flogo {
		width: 180px;
	}
	.fBox-addr {
		font-size: 14px;
		margin-bottom: 10px;
		margin-top: 14px;
	}
	.fBox-timer {
		margin-bottom: 0px;
	}
	.fBox-phone {
		margin-bottom: 12px;
	}
	.fBox-phone a {
		padding-left: 25px;
		font-size: 28px;
	}
	.fBox-phone a::before {
		width: 20px;
		height: 20px;
		left: 0px;
		top: 11px;
	}
	.fBox-map {
		width: 100%;
		border-radius: 0 0 10px 10px;
		height: 320px;
	}
	.fBox-btn {
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 100%;
		margin: 20px auto 0;
		padding-left: 6px;
	}
	.fBox-btn li {
		width: 100%;
		height: auto;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.fBox-btn li:last-child {
		margin-bottom: 0;
	}
	.fBox-btn a {
		padding: 30px 10px 30px;
	}
	.fBox-btn a .icon {
		font-size: 20px;
		padding-left: 40px;
	}
	.fBox-btn .fBox-mail::after {
		background-size: 70px;
		background-position: left 15px bottom 0;
	}
	.copyright {
		margin-top: 30px;
	}
	#totop {
		bottom: 140px;
		right: 10px;
	}
	#totop a {
		width: 50px;
		height: 50px;
	}
	#totop a::after {
		background-size: 20px;
	}
	.iType-img.ad-cs {
		width: 100%;
		padding-left: 0;
		margin: 100px auto 0;
		position: relative;
		z-index: 0;
	}
	.iType-item-link.ad-cs {
		display: flex;
		align-items: center;
		justify-content: center;
		width: calc(100% / 3);
		margin: 0 auto 15px;
		padding: 0 2px;
	}
	.iType-img.ad-cs::before {
		background-size: cover;
		top: -80px;
		left: 5px;
		width: 90px;
		height: 140px;
		z-index: -1;
	}
}

@media screen and (min-width: 425px) and (max-width: 750px) {
	.iBanner-item::before {
		width: calc(100% - 8px);
		height: calc(100% - 34.2vw);
	}
	.iBanner-title .ens {
		font-size: 22px;
	}
	.iBanner-title .jps {
		font-size: 40px;
	}
	.iBanner-desc p {
		font-size: 16px;
	}
	.iOpen-wrap {
		justify-content: center;
	}
	.iOpen-content {
		padding-top: 68px;
		max-width: 425px;
	}
	.iOpen-title {
		font-size: 28px;
	}
	.iOpen-title::before {
		width: 50px;
		height: 56px;
		right: calc(100% - 46px);
		top: -24px;
	}
	.iOpen-coming-number {
		font-size: 7px;
		margin-top: 30px;
		margin-bottom: -15px;
	}
	.iOpen-coming-number .date {
		width: 30px;
		height: 30px;
		font-size: 8px;
	}
	.iGreeting-title {
		font-size: 6px;
		padding: 84px 0 0;
		background-size: auto 74px;
	}
	.iGreeting-name {
		bottom: 4%;
	}
	.iService-list li.cus .iService-list-img {
		margin-top: calc(-6% - 3px);
	}
	.iService-list-h4 {
		font-size: 21px;
	}
	.iStep-h3 {
		font-size: 28px;
	}
	.iTreatment-title {
		font-size: 5px;
	}
	.iTreatment-icon::after {
		top: 11%;
	}
	.iCase-h3,
	.iAge-title {
		font-size: 34px;
	}
	.iType-title {
		font-size: 18px;
	}
	.iType-img.ad-cs::before {
		top: -90px;
		width: 100px;
		height: 156px;
	}
}
@media screen and (min-width: 525px) and (max-width: 750px) {
	.iTreatment::after {
		height: 24vw;
	}
	footer::before {
		height: 95px;
		background-position: left 2% top;
		background-size: 1600px;
	}
	.iBanner-item::before {
		height: calc(100% - 184px);
		width: calc(100% - 8px);
	}
	.ibtn {
		font-size: 16px;
	}
	.iGreeting-title {
		font-size: 7.5px;
		padding: 94px 0 0;
		background-size: auto 84px;
	}
	.iGreeting-list li::before {
		top: 7px;
	}
	.iGreeting-name {
		bottom: 20px;
	}
	.iGreeting-name .icon {
		font-size: 28px;
		padding: 15px 9px 15px 51px;
		border-radius: 10px;
		background-size: 34px;
		background-position: left 10px center;
	}
	.iTreatment-title {
		font-size: 6.4px;
	}
	.iTreatment-icon::after {
		top: 11%;
		width: 15vw;
	}
	.iTreatment-desc p,
	.iGreeting-desc p,
	.iGreeting-list li,
	.iGreeting-rank p,
	.iService-list-desc p,
	.iType-desc p,
	.iStep-desc p,
	.iCase-desc p,
	.iAge-desc p,
	.iService-desc p {
		font-size: 16px;
	}
	.iService-title .ens {
		font-size: 24px;
	}
	.iService-title .jps {
		font-size: 45px;
	}
	.iService-list-h4 {
		font-size: 28px;
		margin-top: -16%;
	}
	.iService-list-img {
		text-align: center;
	}
	.iAge-title {
		font-size: 45px;
	}
	.iType-title {
		font-size: 26px;
	}
	.ibtn-txt .icon {
		font-size: 18px;
	}
	.iService-list li.cus .iService-list-img {
		margin-top: -6.58vw;
	}
	.iStep-h3 {
		font-size: 36px;
	}
	.iCase-h3 {
		font-size: 45px;
	}
	.iCase-post {
		width: 290px;
	}
	.iBanner-item {
		padding-top: 100px;
	}
	.iBanner {
		padding-top: 50px;
	}
	.iCase-inner {
		max-width: 440px;
	}
	.iCase-inner .slick-arrow {
		top: 83px;
		height: 50px;
		width: 30px;
	}
	.iCase-list {
		width: 350px;
	}
	.iCase-content {
		margin-top: 14px;
	}
	.iCase-post .img {
		height: 219px;
	}
	.iService-list-content {
		padding: 0px 12px 80px 12px;
	}
	.iService-list .btn {
		right: 15px;
		bottom: 15px;
		width: 50px;
		height: 50px;
		background-size: 25px;
	}
	.iType-img.ad-cs::before {
		top: -110px;
		width: 120px;
		height: 186px;
	}
}
@media screen and (min-width: 480px) and (max-width: 750px) {
	.imvs-content {
		bottom: 105vw;
	}
}
@media screen and (min-width: 640px) and (max-width: 750px) {
	.iService-img {
		margin-bottom: -56%;
	}
	.iGreeting-name .icon {
		font-size: 44px;
		padding: 18px 9px 15px 74px;
		border-radius: 10px;
		background-size: 46px;
		background-position: left 17px center;
	}
	#header {
		height: 60px;
	}
	.iMain {
		margin-top: 50px;
	}
	.hicon {
		width: 80px;
		height: 80px;
	}
	.hlogo {
		width: 170px;
	}
	.hlogo::before {
		width: 260px;
		height: 260px;
	}
	#totop {
		bottom: 90px;
	}
	.imvs-content {
		bottom: 95vw;
	}
}
@media screen and (min-width: 700px) and (max-width: 750px) {
	.iService-img {
		margin-bottom: -50%;
	}
	.iService-list li.cus .iService-list-img {
		margin-top: -5.58vw;
	}
}
/*Safari*/
@supports (-webkit-touch-callout: none) {
	.iCase-post .title {
		white-space: nowrap;
	}
	@media screen and (min-width: 375px) and (max-width: 750px) {
		.iBanner-item::before {
			width: calc(100% - 7px);
			height: calc(100% - 35vw);
		}
	}
}

.customize-support #header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.customize-support #header {
		top: 46px !important;
	}
}

@media screen and (max-width: 600px) {
	.customize-support #header {
		top: 0px !important;
	}
}

@media screen and (max-width: 750px) {
	.message_movie {
		margin-bottom:50px;
	}
}

@media screen and (max-width: 450px) {
	.br-450{
		display: block;
	}

	.hsp-menu .fBox-btn a .icon{
		font-size: 4.5vw;
		padding-left: 50px;
	}
}
@media screen and (max-width: 365px) {
	.fixed-list li a > span{
		font-size: 3.5vw;
		line-height: 1.2em;
	}
}





