@charset "UTF-8";
/*
Theme Name: YMfit Sports & Medical
Description: YMfitオリジナルテーマ ver3.0
Version: 2026.5.16
Author: Takahiro Shimokawa
Author URI: http://wazenmiyabi.info/
*/
/*------------------------------------*/
/*共通*/
*{
	margin:0;
	padding:0;
}
html {
    font-size: 62.5%;
    -webkit-font-smoothing: antialiased;
}
body{
	font-size:clamp(12px, 1.14vw, 30px);
    min-width:12px;
	line-height:150%;
    -webkit-font-smoothing: antialiased;
    font-weight: 300;
    font-family: "Comfortaa","Noto Sans JP", sans-serif;
    font-style: normal;
}
header,footer,article,section,nav,small,aside,div,ul,li,h1,h2,h3,h4,h5,h6,p,svg{
	display:block;
	box-sizing:border-box;
	position:relative;
    font-weight: 300;
    line-height: 1.5em;
}
h1{
    font-size: 1em;
}
p{
    color:#333;
}
li{list-style:none;}
img,video{
	display:block;
	outline:none;
	width:100%;
}
video{
    height:auto;
}
img{
    height:100%;
    object-fit: cover;
}
p{margin-bottom:1em;}
iframe{
	border:none;
	width:100%;
	height:100%;
}
a{text-decoration: none;}
table{
    border-collapse: collapse;
}
.grecaptcha-badge { visibility: hidden; }
@media screen and (max-width:699px){
    body{
        overscroll-behavior: none;
        font-size:14px;
    }
    body *{
        font-weight: 300;
    }
    .flex>*{
        width:100% !important;
    }
}
.mark1,.mark2,.mark3,.mark4,.mark5{
    padding-left:1.5em;
}
.mark1::before,
.mark2::before,
.mark3::before,
.mark4::before,
.mark5::before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 1em;
    height: 1em;
    transform: translate(0, -50%);
}
.mark1::before{background:red;}
.mark2::before{background:orange;}
.mark3::before{background:#4285f4;}
.mark4::before{background:green;}
.mark5::before{background:#bd00c4;}
#swim .swimh3::before{content:none;}
/* LINE004 */
.button_line004{
    text-align: right;
}
.button_line004 a {
    position: relative;
    padding: .5em 1.5em;
    color: #313131;
    transition: 0.3s ease-in-out;
    margin: 2em 0 0 auto;
    display: inline-block;
}
#products .button_line004 a{
    margin-top:0;
}
.button_line004 a:before,
.button_line004 a:after {
    content: '';
    width: 1em;
    height: 1em;
    border-left-color: red;
    border-top-color: orange;
    border-right-color: #4285f4;
    border-bottom-color: green;
    box-sizing: border-box;
    border-style: solid;
    display: block;
    position: absolute;
    transition: all 0.3s ease-in-out;
}
.button_line004 a:before {
	top: -6px;
	left: -6px;
	border-width: 2px 0 0 2px;
	z-index: 5;
}
.button_line004 a:after {
	bottom: -6px;
	right: -6px;
	border-width: 0 2px 2px 0;
}
.button_line004 a:hover:before,
.button_line004 a:hover:after {
	width: calc(100% + 12px);
	height: calc(100% + 12px);
    border-left-color: red;
    border-top-color: orange;
    border-right-color: #4285f4;
    border-bottom-color: green;
}
.button_line004 a:hover {
    color: black;
}
@media screen and (max-width:699px){
    .button_line004{
        text-align: center;
    }
    .button_line004 a{
        color: black;
        background-color: #fafafa;
        margin:1em auto 0;
        padding:.2em 1.5em;
    }
    .button_line004 a:before,
    .button_line004 a:after {
        width: calc(100% + 12px);
        height: calc(100% + 12px);
    }
}
.hoverup{
    opacity: 0;
    transform: translate(0, 2em);
    transition-duration: 2s;
}
.sliderl{
    transform: translate(10vw,0);
    transition-duration:2s;
    opacity: 0;
}
.sliderr{
    transform:translate(-5vw,0);
    transition-duration:1s;
}
.rotater{
    transition-duration:2s;
	transform-origin: right bottom;
	transform: rotate(45deg) translate(0, 0);
    opacity: 0;
}
.rotatel{
    transition-duration:2s;
	transform-origin: left bottom;
	transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
}
.hoveron{
    opacity: 1 !important;
    transform:translate(0,0) !important;
}
.torikeshi{
    text-decoration: line-through;
}
@media screen and (max-width:699px){
    .mhoverup{
        opacity: 0;
        transform: translate(0, 2em);
        transition-duration: 2s;
    }
}
/*------------------------------------*/
/*navi*/
#navi{
    width:100%;
	padding:0 7%;
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(4px);
    box-shadow:0px 2px 7px rgba(0,0,0,.2);
    z-index: 9999;
    position: fixed;
    left:0;
    top:0;
}
#navi li{
	margin-left:1em;
}
#navi li:nth-of-type(1){
    margin-right:auto;
	margin-left:0;
}
#navi li:nth-of-type(1) img{
    width: 22em;
    margin: 2em auto 1em;
}
#navi a{
    text-align: center;
    line-height: 1.2em;
    cursor: pointer;
	display: block;
    color:#999;
	font-size:.8em;
}
#navi li:nth-of-type(1) a{
	font-size:1em;
}
#navi li a span{
	display: block;
	transition-duration:0.4s;
}
#navi li a span:nth-of-type(1){
	border-bottom:1px solid #aaa;
	padding:.2em 1em;
}
#navi li a span:nth-of-type(2){
    font-size: .7em;
    color: #aaa;
}
#navi li a:hover span{
    color:black;
}
/*frontnavi*/
#frontnavi{
	padding-bottom:.7em;
}
#frontnavi li:nth-of-type(1){
	width:100%;
}
#frontnavi li:nth-of-type(2){
	margin-left:0;
}
/*servicenav*/
#servicenav{
    background:white;
}
.servicenav li a{
    display: block;
	background-size:cover;
	background-position: center;
	background-repeat: no-repeat;
	text-align: center;
	color:black;
    aspect-ratio: 10 / 13;
	transition-duration:0.4s;
    border-radius: 1em;
    position:relative;
}
#service .servicenav li a,
#facility .servicenav li a{
	filter:grayscale(100%) brightness(1.2) opacity(0.6);
    transition: filter 0.5s ease-in-out, transform 0.5s ease-in-out;
    
}
#course .servicenav li a{
    filter:none;
}
.smmedical a{background-image:url(images/medical.webp);}
.smhealth a{background-image:url(images/health.webp);}
.smface a{background-image:url(images/beauty.webp);}
.smbody a{background-image:url(images/body.webp);background-position:right 18% center !important;}
.smsports a{background-image:url(images/sports.webp);}
.smconditioning a{
    background-image:url(images/condithioning.webp);
    background-size:auto 135%;
    background-position:left 28% top;
}
.smswim a{background-image:url(images/swim.webp);}
.smart a{background-image:url(images/art.webp);}
#service .servicenav li a:hover,
#facility .servicenav li a:hover{
	filter: grayscale(0%) brightness(1) opacity(1);
	transform:translate(0,-1.5em);
}
.servicenav li p{
    position: absolute;
    bottom:-4em;
    left:0;
    width:100%;
    text-align: center;
}
.servicenav li span{
	font-size:.7em;
	display: block;
	line-height: 1em;
	transition-duration:1.4s;
}
.servicenav li:hover a{
	transform:translate(0,-1em);
}
.serviceblock{
    padding-bottom:5em;
    border-bottom: 1px solid #aaa;
}
#footernav{
    padding-top: 1em;
    background:white;
}
#footernav a{
    display: block;
    padding:0 1.5em;
    color:gray;
    line-height: 2em;
    transition-duration:0.4s;
}
#footernav a:hover{
    color:black;
    font-weight: 400;
}
@media screen and (min-width: 700px){
    .servicenav li{
        transform:translate(3em,0);
        opacity: 0;
        transition-duration:1s;
    }
    .servicetopnav li{
        width:calc(100% / 7);
        margin:1em .5em;
    }
    .servicepagenav li{
        width:calc(100% / 8);
        margin:1em .5em;
    }
    .servicenav li:nth-of-type(2),
    .hoverup:nth-of-type(2){
        -webkit-transition-delay:.2s;
        transition-delay:.2s;
    }
    .servicenav li:nth-of-type(3),
    .hoverup:nth-of-type(3){
        -webkit-transition-delay:.4s;
        transition-delay:.4s;
    }
    .servicenav li:nth-of-type(4),
    .hoverup:nth-of-type(4){
        -webkit-transition-delay:.6s;
        transition-delay:.6s;
    }
    .servicenav li:nth-of-type(5),
    .hoverup:nth-of-type(5){
        -webkit-transition-delay:.8s;
        transition-delay:.8s;
    }
    .servicenav li:nth-of-type(6),
    .hoverup:nth-of-type(6){
        -webkit-transition-delay:1s;
        transition-delay:1s;
    }
    .servicenav li:nth-of-type(7){
        -webkit-transition-delay:1.2s;
        transition-delay:1.2s;
    }
    .servicenav li:nth-of-type(8){
        -webkit-transition-delay:1.4s;
        transition-delay:1.4s;
    }
}
@media screen and (max-width:699px){
    #navi{
        box-shadow: none;
        border-bottom: 1px solid #ddd;
        position: fixed;
        top:0;
        left:0;
        width:100%;
        z-index: 9000;
        height:4em;
        padding: 0;
    }
    #navi ul{
        height:100%;
    }
    #navi li:not(:nth-of-type(1)){
        display: none;
    }
    #navi li:nth-of-type(1) img {
        width: 20em;
        margin: 0 auto 0 1em;
    }
    .servicenav{
        width:100%;
        padding:1em;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* スマホのスムーズスクロール対応 */
        scroll-behavior: smooth;
        white-space: nowrap;
    }
    #course .servicenav{
        padding: 1em 0;
    }
    .servicenav li{
        margin-right:1em;
    }
    #course .servicenav li{
        margin-right:0;
    }
    .servicenav li a{
        height:12em;
        filter:grayscale(100%) opacity(.7);
        transition:filter .5s ease;
    }
    #course .servicenav li a{
        height:auto;
    }
    .servicenav li a.inview{
        filter:grayscale(0%);
    }
    .servicenav li p{
        background: rgba(255, 255, 255, .8);
        padding: .5em 0;
        width: 90%;
        left: 5%;
        bottom: 0;
        border-radius: .5em;
    }
    #course .servicenav li p{
        
    }
    .scrollMessage{
        position:absolute;
        top:5em;
        left:50%;
        padding:.5em 1em;
        background:rgba(0, 0, 0, 0.5);
        color: #fff;
        font-weight:700;
        line-height:1.5em;
        animation:scroll-hint-animation 2s infinite ease;
    }
    #footernavi{
        position: fixed;
        left:0;
        top:4em;
        width:100%;
        height:calc(100% - 4em);
        background:white;
        z-index: 9999;
        padding-top:4em;
        display: none;
    }
    #footernavi li{
        margin: 1em auto;
        text-align: center;
        border-bottom: 1px solid #aaa;
    }
    #footernav{
        position: fixed;
        left:0;
        top:4em;
        width:100%;
        height:calc(100% - 4em);
        background:rgba(255,255,255,.95);
        z-index: 9999;
        display: none;
    }
    #footernav>div{
        height:100%;
    }
    #footernav ul{
        width:80%;
    }
    #footernav a{
        color:black;
        text-align: center;
        display: block;
        border-bottom:1px solid #ccc;
        margin-bottom:1em;
        line-height:2em;
        font-size:1.2em;
    }
}
@keyframes scroll-hint-animation {
  0%{transform: translate(-50%, -50%);}
  50%{transform: translate(-40%, -50%);}
  100%{transform: translate(-50%, -50%);}
}
/*------------------------------------*/
/*page*/
#pagetitle{
    font-size:2.5em;
	padding:.7em 0;
    background:white;
}
#sports #pagetitle{
    padding-bottom:0;
}
#pagetitle span{
    font-size:.5em;
    margin-left:1em;
}
@media screen and (max-width:699px){
    #headimage{
        aspect-ratio: 9 / 2;
    }
    #beautyface #pagetitle,
    #beautybody #pagetitle,
    #performance #pagetitle{
        font-size:2.5em;
    }
    #beautyface #pagetitle span,
    #beautybody #pagetitle span,
    #performance #pagetitle span{
        display: block;
        line-height: 1.5em;
        margin-left:0;
    }
}
.pagediv{
    padding-bottom: 7em;
}
.pagediv::before,
.servicediv::before{
    content: '';
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-position: center;
    background-size:cover;
    background-repeat: no-repeat;
    opacity: .6;
}
.pagediv header #pagetitle{
    background:white;
    border-bottom:1px solid #f0f0f0;
}
/*------------------------------------*/
/*front-page*/
#front{
    padding-top:4em;
}
#archivefront{
	margin-bottom:10em;
}
#front header::before{
    content:'';
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:url(images/top.webp)center no-repeat;
    background-size:cover;
    opacity:0;
    transition-duration:0.4s;
}
#video::after {
    content: '';
    width: 100%;
    height: .6em;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(-90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#front header.fheader::before{
    opacity: 1;
}
#video{
    padding:1.5em;
}
#video::before{
    content:'';
    width:100%;
    height:.6em;
    position: absolute;
    left:0;
    bottom:0;
    background:linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#video>div{
    border: .5em solid white;
    box-sizing: border-box;
    position: relative;
    background:white url(images/loading.gif)center no-repeat;
    background-size:2vw;
}
#video>div>div{
    position: absolute;
    left: 0;
    top: 0;
    width:100%;
    height:100%;
    box-shadow: .3em .3em 1em black inset;
    opacity: .4;
}
#front h2{
    font-size:4em;
    margin-bottom:1em;
}
#front h2 span{
    color:#555;
}
#news{
    width:70%;
    min-width:1000px;
    margin: 4em auto 7em;
}
#news ol{
	margin-bottom:3em;
}
#news li,
#newsdiv li{
    border-bottom:1px solid #ddd;
    padding:.5em 1em .5em 0;
}
#news li p,
#newsdiv li p{
    margin-bottom:0;
}
#news li p:nth-of-type(1),
#newsdiv li p:nth-of-type(1){
    width:8em;
    color:black;
}
#news li a,
#newsdiv li a{
    color: #0d7fd9;
    font-weight: 400;
    text-decoration: underline;
    padding: 0 .5em;
}
#news li a:hover,
#newsdiv li a:hover{
    opacity: .8;
}
#fservice .button_line004{
    text-align: center !important;
}
#fservice{
    border-top: 1px solid #ccc;
}
#fservice::before{
    content:'';
    position: absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:url(images/art.webp) center bottom no-repeat;
    background-size:cover;
    opacity: .1;
    z-index: -1;
}
#fservice .fservicedisc{
    background: linear-gradient(90deg, transparent 5%, rgba(255, 255, 255, .6) 10%, rgba(255, 255, 255, .6) 90%, transparent 100%);
    padding: 1em;
    font-size: .8em;
}
#newsbtn::before,
#fservicea::before,
#products .hanbai>div::before{
    content:'';
    position: absolute;
    width:10%;
    left:45%;
    bottom:-1em;
    height:1px;
    background:#aaa;
    transition-duration:0.4s;
}
#fservice h3{
    margin-bottom:.5em;
}
#fservice h3::before{
    content: '';
    height: .2em;
    width: 30em;
    position: absolute;
    bottom: -.1em;
    left: 50%;
    transform:translate(-50%,0);
    background: linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#newsbtn a,
#fservice a,
#front .hanbai>div a{
    margin-top: 1em;
    font-weight: 400;
    color: #2152ae;
    position: relative;
    transition-duration:0.4s;
}
#fservice a:hover{
    color:#051c55;
}
#newsbtn a::before,
#newsbtn a::after,
#fservice a::before,
#fservice a::after,
#front .hanbai a::before,
#front .hanbai a::after{
    content: '';
    position: absolute;
    top: calc(50% - 1px);
    border: .4em solid transparent;
    transform: translate(0, -50%);
    transition-duration:0.4s;
}
#newsbtn a::before,
#fservice a::before,
#front .hanbai a::before{
    left: -2em;
    border-left: 1em solid #3583be;
}
#newsbtn a::after,
#fservice a::after,
#front .hanbai a::after{
    right:-2em;
    border-right:1em solid #3583be;
}
#newsbtn a:hover::before,
#fservice a:hover::before,
#front .hanbai a:hover::before{
    left:-1.5em;
}
#newsbtn a:hover::after,
#fservice a:hover::after,
#front .hanbai a:hover::after{
    right:-1.5em;
}
#fserviceimg{
    overflow: hidden;
}
#newsdiv{
	background:#fafafa;
}
@media screen and (min-width: 700px){
    #front h2 span{
        font-size:.5em;
        margin-left:2em;
    }
    #news h2{
        margin-bottom:1em;
    }
    #fservice,
	#newsdiv{
        padding:7em 0 9em;
    }
    #fserviceimg{
        margin-top: 5em;
	}
	#archivenews{
		margin-bottom:5em;
	}
}
@media screen and (max-width:699px){
    #front h2{
        text-align:center;
    }
    #front h2 span{
        display:block;
        font-size:.4em;
        line-height:1em;
    }
    #news h2{
        margin-bottom:.75em;
    }
    #fservice{
        padding:7em 0 4em;
    }
    #fserviceimg{
        margin-top: 3em;
    }
	#archivenews{
		margin-bottom:3em;
	}
	#newsdiv{
		padding:2em;
	}
}
#fserviceimg div{
    padding: 0 2em;
    transform:scale(1.3);
    opacity: 0;
}
#fserviceimg div:nth-of-type(1){
    transition-duration:5s;
}
#fserviceimg div:nth-of-type(2){
    transition-duration:4.6s;
}
#fserviceimg div:nth-of-type(3){
    transition-duration:4.2s;
}
#fserviceimg div:nth-of-type(4){
    transition-duration:3.8s;
}
#fserviceimg div:nth-of-type(5){
    transition-duration:3.4s;
}
#fserviceimg div:nth-of-type(6){
    transition-duration:3.0s;
}
.fserviceimgimg{
    transform:scale(1) !important;
    opacity: 1 !important;
}
#fserviceimg div:not(:nth-of-type(1)){
    position: absolute;
    left:0;
    top:0;
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 700px){
    #video>div{
        aspect-ratio:2.67/1;
    }
}
@media screen and (max-width:699px){
    #front{
        padding-top:0;
    }
    #video{
        box-shadow: 0 .1em .3em #ddd;
    }
    #video video{
        height:100%;
        object-fit: cover;
    }
    #news{
        width:100%;
        min-width:auto;
        margin: 3em auto 0;
        padding:0 2em;
    }
    #fservice{
        border-top:none;
    }
    #fservice h3::before{
        width:90%;
    }
    #fservice .fservicedisc{
        font-size:1em;
    }
}
/*------------------------------------*/
/*products*/
#products .hanbai{
    background:#fafafa;
    padding: 7em 0;
    overflow: hidden;
}
#products .hanbai:not(:nth-of-type(1))::before{
    content:'';
    width:90%;
    height:1px;
    position:absolute;
    left:5%;
    top:0;
    background:#ddd;
}
#products .hanbai h3{
    text-align:center;
    font-size:2em;
}
#products .hanbai ul{
    padding:2em;
}
#products .hanbai li{
    margin-bottom:2em;
}
#products .hanbai li>div{
    width:100%;
    aspect-ratio:1/1;
    border-radius: 1em;
    overflow: hidden;
}
#products .hanbai h4{
    font-size: 2em;
    text-align: center;
}
#products .hanbai h4 span{
    font-size: .5em;
    display: block;
    position: relative;
}
#products .hanbai h4 span::before{
    content: '';
    height: .2em;
    width: 80%;
    position: absolute;
    top: 0;
    left: 10%;
    background: linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#products .hanbai li p{
    color: #333;
}
@media screen and (min-width: 700px){
    #products .hanbai{padding:7em 0;}
    #products .hanbai h3{margin-bottom:2em;}
    #products .hanbai li{padding:2em;}
    #products .hanbai h4{margin:1.5em auto;}
    #products .hanbai li p{padding: 0 1em;}
}
@media screen and (max-width:699px){
    #products .hanbai{padding:5em 0;}
    #products .hanbai h3{margin-bottom:1em;}
    #products .hanbai li{padding:1em;background:white;}
    #products .hanbai h4{margin:1em auto;}
}
/*------------------------------------*/
/*page-service*/
#pvideo{
	aspect-ratio:7/1;
	overflow: hidden;
	width:100%;
}
#servicetop #pagetitle{
	border-bottom:none;
	margin-bottom: 0;
}
#pvideo video{
	object-fit: cover;
}
#servicenav2 li{
    width:calc(100% / 3);
    padding:3em 0;
}
#servicenav2 li p:nth-of-type(1)::before{
    content: '';
    height: .08em;
    width: 80%;
    position: absolute;
    bottom: 0;
    left: 10%;
    background:
        linear-gradient(90deg,red 25%,orange 25%,orange 50%,#4285f4 50%,#4285f4 75%,green 75%);
}
#servicenav2 li p:nth-of-type(1){
    font-size:2em;
    font-weight:400;
    margin-bottom:.5em;
    color: black;
}
#servicenav2 li p:nth-of-type(2){
    font-size:.8em;
}
#servicenav2 li p:nth-of-type(1) span{
    font-size:.5em;
    font-weight: 100;
    margin-left:2em;
}
#servicenav2 .button_line004{
    text-align: center !important;
}
#servicetop{
    padding-bottom: 6em;
}
#servicetop .content::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #aaa;
}
#servicetop .disc>div{
    transform:translate(0,10em);
    opacity: 0;
    transition-duration:2s;
    min-width:80%;
}
#servicetop .content h2{
    font-size:3.5em;
    margin-bottom:1em;
}
#servicetop .content h2 span{
    font-size:.4em;
    display:block;
    line-height:1em;
}
#servicetop .disc p{
    font-size:.9em;
}
#servicetop .discimg p{
    aspect-ratio:1/1;
    overflow: hidden;
}
#servicetop .discimg img{
    object-position:75% center;
}
#servicecontact{
    border-top:1px solid #aaa;
    padding: 3em 0;
    background:white;
}
#servicecontact a{
    background: #02b902;
    color: white;
    font-weight: 400;
    padding: 1em 3em;
    border-radius: 1em;
    display: inline-block;
    transition-duration:0.4s;
}
#servicecontact a:hover{
    opacity: .8;
}
#beauty .button_line004 a{
    width:14em;
    text-align: center;
}
#beauty .button_line004 a span{
    font-size:1.5em;
    margin-right:1em;
}
@media screen and (min-width: 700px){
    #beauty .button_line004 a:nth-of-type(2){
        margin-left:2em;
    }
    #servicenav2 li:nth-of-type(2){
        border-left:1px solid #aaa;
        border-right:1px solid #aaa;
    }
    #servicetop .discimg{
        margin-top:1.5em;
        margin-right:1.5em;
    }
    #servicetop section.flex>div{
        width:50%;
    }
    #servicetop #medical .discimg{
        margin-top:1.5em;
    }
    #servicetop .discimg p{
        border-radius:6em;
    }
}
@media screen and (max-width:699px){
    #pvideo{
        aspect-ratio:7/1;
    }
    #pvideo video{
        object-position: center -4em;
    }
    #servicetop .content{
        padding: 4em 0 0;
        border-bottom:1px solid #ddd;
    }
    #servicetop .content:nth-of-type(1){
        padding-top:4em;
    }
    #servicetop .content::before{
        content:none;
    }
    #servicetop .disc{
        padding:0 1em;
        text-align: center;
    }
    #servicetop .content h2 span{
        display: block;
        margin-left: 0;
        line-height: 1em;
    }
    #servicetop .disc>div{
        transform:translate(0,3em);
    }
    #servicetop .discimg{
        margin-top:2em;
        overflow: hidden;
        padding:1.5em;
    }
    #servicetop .discimg p{
        border-radius:5em;
    }
    #servicenav2{
        background:#fafafa;
    }
    #servicenav2 li:nth-of-type(2){
        border-top:1px solid #aaa;
        border-bottom:1px solid #aaa;
    }
    #beauty .button_line004 a:nth-of-type(2){
        margin-top:2em;
    }
}
/*------------------------------------*/
/*page-service 詳細ページ*/
#service header{
    margin-bottom:4em;
}
#service header p{
    background:white;
    padding-bottom:2em;
}
#service #medical::before{
    background-image:url(images/medical.webp);
}
#service #health::before{
    background-image:url(images/health.webp);
}
#service #sports::before{
    background-image:url(images/sports.webp);
}
#service #swim::before{
    background-image:url(images/swim.webp);
    opacity: 1;
}
#service #performance::before{
    background-image:url(images/art.webp);
    opacity: 1;
}
#service #beautyface::before,
#single #beautyface::before{
    background-image:url(images/beauty.webp);
}
#service #beautybody::before{
    background-image:url(images/body.webp);
}
#service #conditioning::before{
    background-image:url(images/condithioning.webp);
    background-position:left center;
}
/*見出し*/
#service h3,
#contact h3{
    font-size: 1.5em;
    border-bottom: 1px solid #aaa;
    padding-left: 1.5em;
    margin-bottom: .5em;
}
#service .pagesection h4{
    font-weight: bold;
    color: #369682;
    margin-bottom:.5em;
}
#service .pagesection h4::before{
    content:'・';
}
#service .pagesection h4+p{
    margin-left:1em;
}
/*ワイヤー*/
#service .pagesection{
    background:rgba(255,255,255,.9);
    border-radius: 1em;
}
#service #flow .pagesection{
    margin:0 auto 4em;
    padding:0;
}
#service .servicediv{
    margin-bottom:10em;
}
#service .kome{
    font-size: .7em;
    font-weight: 400;
    color: black;
    position: absolute;
    top: -.2em;
}
#service .otoku{
    font-weight: 400;
    color: #1e6c50;
}
#service .otoku span{
    color: #e50000;
    font-size: 1.5em;
    font-family: "Geist", sans-serif;
}
#service .otoku1{
    font-weight:400;
    margin-top:1em;
}
#service .otoku1 span{
    color:#e50000;
    font-weight: 600;
}
#swim .otoku{
	text-align:center;
}
/*.priceimg:右に画像を配置*/
#service .imgrl{
    width:57%;
}
#service .imgrr{
    width:40%;
    border-radius:1em;
    overflow: hidden;
    margin-left:auto;
    aspect-ratio:4/3;
}
#service .imgrr p{
    height:100%;
}
#service .imgrl .price,
#service .noflex .price{
    margin-top:2em;
}
#service .imgrranime p{
    position: absolute;
    height:100%;
    width:100%;
    will-change:transform, opacity;
}
#service .imgrranime p:nth-of-type(1){
    opacity:1;
    animation:m_serviceimg1 8s infinite ease-in-out;
}
#service .imgrranime p:nth-of-type(2){
    opacity:0;
    animation:m_serviceimg2 8s infinite ease-in-out;
}
@-webkit-keyframes m_serviceimg1{
    17%{opacity:1;}
    28%{opacity:0;}
    72%{opacity:0;}
    83%{opacity:1;}
}
@keyframes m_serviceimg1{
    17%{opacity:1;}
    28%{opacity:0;}
    72%{opacity:0;}
    83%{opacity:1;}
}
@-webkit-keyframes m_serviceimg2{
    17%{opacity:0;}
    28%{opacity:1;}
    72%{opacity:1;}
    83%{opacity:0;}
}
@keyframes m_serviceimg2{
    17%{opacity:0;}
    28%{opacity:1;}
    72%{opacity:1;}
    83%{opacity:0;}
}
/*.pricer:右に料金を配置*/
#service .pricer>div:nth-of-type(1){
    width:70%;
}
#service .pricer>div:nth-of-type(1) p{
    padding-right:2em;
}
#service .pricer .price{
    width:30%;
}
#service .pricer .price li:nth-of-type(n+2){
    margin-top:2em;
}
#service .pricer .price>div{
    padding:1em;
    text-align: center;
    border:1px solid #aaa;
    border-radius: 1em;
}
/*.imgbottom:画像を下に並べる*/
#service .imgbottom li{
    border-radius: 1em;
    overflow: hidden;
}
#service .imgbottom.grid3 li{
    aspect-ratio:1/1;
}
/*.chushaku:注釈*/
#service .chushaku{
    margin-top:2em;
}
/*.price 価格表示*/
#service .price li{
    border:1px solid #aaa;
    padding:1em;
    border-radius:1em;
}
#service .price p{
    margin-bottom:0;
}
#service .price .kubun{
    background: #e5e5db;
    line-height: 2em;
    color: #2c353b;
    font-weight: 400;
}
#service .price .kubun{
    margin-bottom:1em;
}
#service .kaisubunri .kihon .kubun{
    margin-bottom:1.79em;
}
#service .price .kakaku{
    color: #e50000;
    padding-left: 1em;
}
#service .price .kakaku span,
#service .price .skakaku>span:not(.torikeshi):not(.skakakutanka){
    font-family: "Geist", sans-serif;
    font-size:3em;
}
#service .price .kakaku span{
    line-height: 1.5em;
}
#service .price .skakaku>span:not(.torikeshi):not(.skakakutanka){
    color: #e50000;
    display:block;
    line-height:1em;
    font-size:2.5em;
    margin-left:.4em;
}
#service .price .kakaku::before,
#service .imgr .price li>div:nth-of-type(1).kaisu .skakaku::before{
    content: '';
    width: 90%;
    position: absolute;
    left: 5%;
    background: linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#service .price .kakaku::before{
    bottom: 0;
    height: .2em;
}
#service .imgr .price li>div:nth-of-type(1).kaisu .skakaku::before{
    bottom: 1.4em;
    height: .2em;
}
#service .price .yonkai{
    line-height: 1em;
}
#service .pricer .price .yonkai{
    font-weight: 400;
    color:black;
}
#service .imgr .price li>div:nth-of-type(1).kaisu .skakaku>span:not(.torikeshi),
#service .pricebottom li>div:nth-of-type(1).kaisu .skakaku>span:not(.torikeshi){
    display: block;
    padding-top: 0;
    padding-bottom: .1em;
}
#service .price .skakaku span:not(.torikeshi) span{
    font-size:.5em;
}
#service .pricebottom{
    margin-top:2em;
}
.henshu{
    position: absolute;
    right: 1em;
    top: -1em;
    color: cadetblue;
    font-weight: 500;
    border: 1px solid;
    border-radius: 1em;
    padding: 0 1em;
    background: white;
}
/*swim*/
#swim1 h3,
#swim .swimh3{
    font-size: 3em;
    border-bottom: none;
    margin-bottom: 0;
    padding-left: 0;
    text-align: center;
}
#swim1 h3 span,
#swim .swimh3 span{
    font-size:.5em;
    color:#777;
    margin-left:2em;
}
@media screen and (min-width: 700px){
    #service .pagesection{
        padding:5em;
        margin:0 10% 4em;
    }
    #service .otoku{
        margin: 1.5em auto .5em;
    }
	#service .otokuxls{
		margin:0 auto .5em;
	}
    #service .imgbottom{
        margin-top:4em;
    }
    #service .pricer .price .kaisu{
        margin-top:2em;
    }
    #service .imgr .price li>div:not(:nth-of-type(1)).kaisu,
    #service .noflex .price li>div:not(:nth-of-type(1)).kaisu,
    #service .pricebottom li>div:not(:nth-of-type(1)).kaisu{
        margin-top:1em;
    }
}
@media screen and (max-width:699px){
    #service .pagesection{
        padding:2em;
        margin:0 1em 4em;
    }
    #service .imgrr p{
        margin-bottom:0;
    }
    #service .price .kaisu{
        margin-top:1em;
    }
    #service .price li{
        margin-bottom:1em;
    }
    #service #performance .price li{
        margin-bottom:0;
    }
    #service .otoku{
        text-align: center;
        margin-bottom:1em;
    }
    #service #health .otoku{
        text-align:left;
        color:black;
        margin-top:2em;
        padding-left:1em;
    }
    #service .price .kakaku{
        -webkit-order:1;order: 1;
        padding-left:0;
    }
    #service .price .kakaku::before{
        content:none;
    }
    #service .price .kaisujikan{
        padding: 0 1em .8em 0;
    }
    #service .price .ur {
        margin-left:.5em;
    }
    #service .price .urr{
        transform: rotate(-90deg);
        display: inline-block;
        margin-left: 1em;
    }
    #service .price .skakaku{
        margin-top:.5em;
    }
    #service .imgbottom li{
        margin-bottom:1em;
    }
    #service #health .imgbottom li{
        margin-bottom:0;
    }
    .m_border::before{
        content:'';
        width:100%;
        height:.2em;
        position:absolute;
        left:0;
        bottom:0;
        background:linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
    }
    #service #performance4 .price .kaisujikan{
        padding:0;
    }
    #service #performance4 .price li:nth-of-type(n+3) .kubun,
	#service .performance4li li:nth-of-type(n+3) .kubun{
        height: 3em;
        padding: .5em 0;
    }
    #service #performance4 .price li:nth-of-type(3) .kubun,
	#service .performance4li li:nth-of-type(3) .kubun{
        line-height: 2.2em;
    }
    #service #performance4 .price li:nth-of-type(4) .kubun,
	#service .performance4li li:nth-of-type(4) .kubun{
        line-height: 1.1em;
    }
    #service #swim .otoku{
        color:black;
    }
}
/*------------------------------------*/
/*service beautyface*/
/*service beautybody*/
#service .beautyli{
    background: rgba(255, 255, 255, .9);
    border-radius: 2em;
}
#service .imgtrue .img{
    aspect-ratio:4/3;
    margin-bottom:.5em;
    overflow:hidden;
    border: 1px solid #ddd;
    border-radius: 1em;
}
#service .beautyli h3{
    padding-left:0;
    font-size:1.2em;
}
#service .fee{
    line-height: 1em;
    margin: 1em 0 0.2em;
}
#service .fee>span>span{
    line-height:1em;
    font-family: "Geist", sans-serif;
}
#service .imgtrue .fee>span>span{
    font-size:3em;
}
#service .imgfalse .fee>span>span{
    font-size:2em;
}
#service .imgfalse li{
    padding: 1em 1em 4em;
}
#service .more{
    color: #333;
    border-top: 2px solid #4285f4;
    border-left: 2px solid green;
    border-bottom: 2px solid red;
    border-right: 2px solid orange;
    padding: .2em 0;
    display: block;
    box-shadow: 0 1em 1em -.5em #ddd;
    transition-duration: 0.4s;
    position: absolute;
    width: calc(100% - 2em);
    border-radius: 1em;
}
#service .imgtrue .more{
    bottom: 2em;
    width: 80%;
    left: 10%;
}
#service .imgfalse .more{
    bottom:1.5em;
}
#service .singlemore{
    background: white;
    border-radius: 1em;
    padding: 2em 0 2.5em;
}
#service .singlemore .ja{
    font-size:.7em;
}
#service .singlemore .more{
    width:12em;
    position:relative;
    margin:0 auto;
}
@media screen and (min-width: 700px){
    #beautyface #pagetitle,
    #beautybody #pagetitle{
        margin-bottom:3em;
    }
    #service .imgtrue,
    #service .imgfalse{
        margin: 0 10% 2em;
    }
    #service .imgtrue{
        gap:2em;
    }
    #service .imgtrue li{
        padding:1em 1em 5em;
        margin-bottom:3em;
    }
    #service .imgtrue img{
        transition-duration:0.4s;
    }
    #service .imgtrue img:hover{
        transform:scale(1.1);
    }
    #service .beautyli h3{
        height:3em;
    }
    #service .more:hover{
        box-shadow:0 0 0.1em #aaa;
    }
    #service .singlemore{
        margin: 0 10%;
    }
    #service .singlemore p{
        font-size: 1.5em;
    }
    #service .singlemore .ja{
        margin:0 .5em 0 1em;
    }
}
@media screen and (max-width:699px){
    #service .imgtrue,
    #service .imgfalse{
        margin: 0 1em 2em;
    }
    #service .imgtrue li{
        padding:2em 2em 5em;
        margin-bottom:2em;
    }
    #service .imgfalse h3{
        height:3em;
    }
    #service .singlemore{
        margin:0 1em;
    }
    #service .singlemore p{
        font-size: 2em;
    }
    #service .singlemore p .ja{
        font-size:.5em;
        display:block;
    }
}
/*------------------------------------*/
/*course*/
#course::before{
    background: url(images/course.jpg) center no-repeat;
    background-size: cover;
    opacity: .1;
    filter: blur(3px);
}
#course header{
    margin-bottom:8em;
}
#course header p{
    padding:0 1em;
}
#course .priceb{
    margin-bottom:7em;
    border-bottom:none;
}
#course .priceb>div:nth-of-type(1){
    padding:0 1em;
}
#course h3{
    font-size:2.5em;
}
#course h3 span{
    font-size: .5em;
    margin-left: 2em;
}
#course h4{
    font-size:1em !important;
    margin:2em 0 1em auto !important;
}
@media screen and (min-width: 700px){
    #course>div>section{
        margin:3em auto 10em;
    }
    #course .servicenav li{
        width: 10em;
        aspect-ratio: 4 / 3;
        margin-left: 1em;
    }
    #course .servicenav li:nth-of-type(1){
        margin-left:auto;
    }
    #course3 li:last-of-type{
        margin-left:auto;
    }
}
@media screen and (max-width:699px){
    #course header {
        margin-bottom: 5em;
    }
    #course>div>section{
        margin:3em 1em 4em;
    }
    #course .priceb {
        margin-bottom: 3em;
    }
    #course h3 {
        font-size: 2em;
    }
    #course h3 span{
        margin-left:1em;
    }
    #course h4{
        margin-right:1em !important;
    }
    #course .servicenav{
        gap:1em;
    }
    #course3 ul{
        padding-right:1em;
    }
    #course3 li{
        margin-left:0 !important;
    }
}
/*------------------------------------*/
/*company*/
#company header{
    margin-bottom:2em;
}
#company h3{
    text-align: center;
    line-height: 1em;
    margin: 1.5em auto 2em;
    font-size: 2.5em;
}
#company h3 span{
    font-size:.5em;
    margin-left:1em;
}
#company1 h3{
    margin-bottom: .5em;
}
#company1 h4{
    background:white;
}
#company svg{
    display: block;
}
#company1>div{
    padding-bottom:5em;
    background:#fbfbfa;
}
#company1>div>div:not(:nth-of-type(1)){
    margin-top:5em;
}
#company1 li{
    margin-bottom:.5em;
    border-bottom:1px solid #aaa;
    padding-bottom:.5em;
}
#company1 h5{
    font-weight: 400;
    width:16em;
}
#company1 h5::after{
    content: '';
    width: 2.5em;
    height: 1px;
    position: absolute;
    right: .5em;
    top: 50%;
    background: black;
}
#company1 li p{
    width:calc(100% - 16em);
    margin-bottom:0;
}
#company2{
    padding:2em 0 5em;
}
#company2 .flex div:nth-of-type(1){
    padding-right:3em;
    font-size:.9em;
}
#company2 h4{
    font-size:1.5em;
    margin-bottom:.5em;
}
#company2 #ceoimg{
    float: right;
    width: 35%;
    margin-left: 3em;
    margin-bottom: 3em;
    box-shadow: .3em .3em .5em #ddd;
}
#company2 ul{
    margin-bottom:1em;
}
#company2 li{
    font-weight: 400;
    font-size: 1.2em;
}
#company2 .shomei{
    margin:2em auto 0;
    font-size:.8em;
    line-height: 1em;
    text-align: right;
}
#company2 .shomei span{
    font-size:1.5em;
    position: relative;
}
#company2 .shomei span::before{
    position: absolute;
    top: -1em;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: .5em;
    line-height: 1em;
    letter-spacing: .2em;
}
#company2 .shomei span:nth-of-type(1)::before{
    content: 'マエキ';
}
#company2 .shomei span:nth-of-type(2)::before{
    content: 'ユウタ';
}
#company2 img{
    object-position: right top;
}
#company3{
    background:#fbfbfa;
    padding-bottom:10em;
}
#company3 h3{
    margin:-1px auto 2em;
    padding-top: 1em;
}
#company3 h3::before,
#facility0 h4::before,
#facility1 h5::before,
#access1 h3 span::before,
#company4 h3::before,
#facility2 h3::before{
    content:'';
    width:100%;
    height:3px;
    position: absolute;
    bottom:-.75em;
    left:0;
    background:linear-gradient(90deg,red 25%,orange 25%,orange 50%,#4285f4 50%,#4285f4 75%,green 75%);
}
#company3 table{
    width:100%;
}
#company th,
#company td{
    border-bottom:1px solid #ddd;
    padding:.5em;
    vertical-align: top;
    text-align: left;
}
#company th{
    width:10em;
}
#company td li::before{
    content:'・';
    position: absolute;
    left:-1em;
}
#company4>div{
    margin-bottom: 7em;
}
#company4 h3::before{
    bottom: -.3em;
}
#company4 h3 span{
    font-size: .5em;
    margin-left:1.5em;
}
#company4 p:nth-of-type(2){
    width:20em;
    margin-left:auto;
}
@media screen and (max-width:699px){
    #company h3 span{
        display: block;
        color:#777;
        margin:0 auto;
    }
    #company h5::after{
        content:none;
    }
    #company1>div{
        padding:3em 1em;
    }
    #company1 li{
        margin-bottom:1em;
    }
    #company1 li p{
        color:#555;
    }
    #company2{
        text-align: center;
    }
    #company2 h3{
        margin-bottom:1.5em;
    }
    #company2 h4{
        background: url(images/ceo.webp) left bottom -1.5em no-repeat;
        background-size: cover;
        padding: 10em 0 1.5em 2em;
        text-align: left;
        color: white;
        text-shadow: .05em .05em .1em black;
        font-weight: 400;
    }
    #company2 .flex div:nth-of-type(1){
        padding-right:0;
    }
    #company2 .shomei{
        text-align: center;
        margin-top:5em;
    }
    #company3{
        padding:0 1em 5em;
    }
    #company3 h3{
        font-size:2em;
    }
    #company table{
        
    }
    #company th{
        width:6em;
    }
    #company4{
        padding: 1em 1em 0;
    }
    #company4 h3{
        margin-bottom:1em;
    }
    #company4 p:nth-of-type(2) {
        width: 10em !important;
    }
    #company4>div,#company4>div,
    #company4 p{
        margin-bottom:0;
    }
}
/*------------------------------------*/
/*flow*/
#flow1 li{
    border: .2em solid;
    font-size: 1.2em;
    font-weight: 400;
    letter-spacing: .2em;
    color: #333;
}
#flow1 li:nth-of-type(4n+1){
    border-left-color:red;
    border-top-color:orange;
    border-right-color:#4385f4;
    border-bottom-color:green;
}
#flow1 li:nth-of-type(4n+2){
    border-left-color:green;
    border-top-color:red;
    border-right-color:orange;
    border-bottom-color:#4385f4;
    -webkit-transition-delay:.2s;
    transition-delay:.2s;
}
#flow1 li:nth-of-type(4n+3){
    border-left-color:#4385f4;
    border-top-color:green;
    border-right-color:red;
    border-bottom-color:orange;
    -webkit-transition-delay:.4s;
    transition-delay:.4s;
}
#flow1 li:nth-of-type(4n+4){
    border-left-color:orange;
    border-top-color:#4385f4;
    border-right-color:green;
    border-bottom-color:red;
    -webkit-transition-delay:.6s;
    transition-delay:.6s;
}
#flow1 li:nth-of-type(5){
    -webkit-transition-delay:.8s;
    transition-delay:.8s;
}
#flow1 li:nth-of-type(1)::after{
    content:'1.';
}
#flow1 li:nth-of-type(2)::after{
    content:'2.';
}
#flow1 li:nth-of-type(3)::after{
    content:'3.';
}
#flow1 li:nth-of-type(4)::after{
    content:'4.';
}
#flow1 li:nth-of-type(5)::after{
    content:'5.';
}
#flow1 li::after{
    position: absolute;
    font-size: 3em;
    font-weight: 400;
    color: #ccc;
}
#flow2{
    background:#fbfbfa !important;
}
#flow2 li h3 span{
    font-size: 2em;
    font-family: 'Comfortaa';
    font-style: italic;
    color: #aaa;
    margin: 0 .5em 0 .2em;
}
#flow2 li a{
    color: #0d7fd9;
    font-weight: 400;
    text-decoration: underline;
}
#flow2 li small{
    font-weight: 400 !important;
}
@media screen and (min-width:699px){
    #flow1{
        padding: 5em 0 4em;
    }
    #flow1 li{
        writing-mode: vertical-rl;
        text-orientation: mixed;
        height: 12em;
        margin-right: 5em;
        padding: 1em;
    }
    #flow1 li:last-of-type{
        margin-right:0;
    }
    #flow1 li::before{
        content: '➡';
        position: absolute;
        top: 43%;
        right: -1.45em;
        width: 1em;
        font-size: 3em;
        transform: rotate(-90deg);
    }
    #flow1 li:nth-of-type(5)::before{
        color: #777;
    }
    #flow1 li:nth-of-type(4)::before{
        color: #aaa;
    }
    #flow1 li:nth-of-type(3)::before{
        color: #ccc;
    }
    #flow1 li:nth-of-type(2)::before{
        color: #ddd;
    }
    #flow1 li:nth-of-type(1)::before{
        color: #eee;
    }
    #flow1 li:last-of-type::before{
        content:none;
    }
    #flow1 li::after{
        left: 35%;
        top: -1.2em;
        transform: rotate(-90deg);
    }
    #flow1 li span{
        transform: translate(-0.2em, 0);
        display: block;
    }
    #flow2 li{
        width:60%;
        margin-bottom:2em;
    }
    #flow2 li:nth-of-type(1){
        width:100%;
    }
    #flow2 li:nth-of-type(1) h3{
        width:60%;
    }
    #flow2 li:nth-of-type(even){
        margin-left:auto;
    }
    #flow2 li:nth-of-type(1) a{
        width: 10em;
        display: block;
        position: absolute;
        right: 0;
        top: -2em;
    }
}
@media screen and (max-width:699px){
    #flow1{
        padding:0 1em;
    }
    #flow1 li{
        margin: 0 1em 1.5em auto;
        width: 70%;
        padding: .2em .5em;
    }
    #flow1 li::after{
        left: -1.5em;
    }
    #flow2 h3{
        font-size:1.2em;
    }
    #flow2 li{
        padding:0 3em;
    }
    #flow2 li:nth-of-type(4) h3{
        font-size:1.1em;
    }
    #flow2 li{
        margin-bottom:3em;
    }
    #flow2 li:nth-of-type(1) a{
        width: 10em;
        display: block;
    }
}
/*------------------------------------*/
/*access*/
#access>section:not(#access1){
    padding:2em 3em 3em;
}
#shop1{
    width:100%;
}
#shop1 li span{
    font-weight: 400;
}
#access header{
    margin-bottom:2em;
}
#access h3,
#facility h3{
    line-height: 1em;
    margin:1.5em auto;
    font-size:2.5em;
}
#access h3 span,
#facility h3 span{
    margin-left:1em;
    font-size:.6em;
}
#access1 h3 span{
    margin-left:0;
}
#shop1 h3,
#company1 h4,
#course h4,
#facility1 h4{
    border: .2em solid;
    border-left-color: red;
    border-top-color: orange;
    border-right-color: #4285f4;
    border-bottom-color: green;
    padding: 0.15em 0 0;
    font-size: 1.5em;
    box-sizing: border-box;
    width: 9em;
    text-align: center;
    margin: 0 auto 2em;
}
#access h4{
    border-bottom: 1px solid #ddd;
    margin: 2em 3em .5em 0;
}
#access1 h3{
    margin:0 auto .5em;
}
#access1 .sougeibasho{
    margin-top:3em;
}
#access1 .sougeibasho p{
    margin-bottom:0;
    margin-left:1em;
}
#access .map{
    height:20em;
    margin-top:2em;
}
#shop3{
    border-top: 1px solid #aaa;
    margin-top: 3em;
    padding: 3em 0;
}
#shop3 h3{
    margin-bottom: 0em;
    font-size: 2em;
    line-height: 1.3em;
}
#shop3 h3+p{
    font-size: .8em;
    margin-bottom: 3em;
    font-weight: 100;
    color: #555;
}
#shop3 li{
    margin:0 2em;
    font-size:1.5em;
    line-height: 1.5em;
    width:12em;
}
#shop3 li span{
    display: block;
    font-size:.8em;
    border-top: 1px solid #aaa;
}
#shop3 a{
    color: #4880cb;
    text-decoration: underline;
}
#access1{
    background:#fbfbfa;
}
#access1>div>div:nth-of-type(1){
    transform: translate(0, 10em);
    opacity: 0;
    transition-duration: 2s;
}
#access1>div>div:nth-of-type(2) p{
    border-radius:2em;
    overflow: hidden;
}
#access1 h3 span{
    font-size:.5em;
    display: block;
    position: relative;
}
#access1 h3 span::before{
    bottom:auto;
    top:0;
    width: 21em;
}
#shop1 li:last-of-type{
    margin-top:1em;
}
#shop1 li a{
    text-decoration: underline;
}
@media screen and (min-width: 700px){
    #access1>div>div{
        width:50%;
    }
}
@media screen and (max-width:699px){
    #shop1 h3 span{
        font-size:.7em;
        color:#777;
    }
    #access>section{
        padding:0;
        overflow: hidden;
    }
    #shop1{
        margin-bottom:5em;
    }
    #shop3 h3 span{
        display: inline;
    }
    #shop3 li{
        width:auto;
        margin:0 auto 2em;
    }
    #access li span{
        display: block;
        color:#555;
    }
    #shop1 li:nth-of-type(1) span{
        display: inline;
        margin-top:0;
    }
    #shop1 li:nth-of-type(2) span,
    #shop1 li:nth-of-type(3) span{
        display: inline-block;
    }
    #access1>div{
        padding:1em 2em;
    }
    #access1>div>div{
        width:100%;
        margin-bottom:3em;
    }
    #access1 h3{
        margin:0 auto 1em;
    }
    #access1 h3 span{
        font-size:.5em;
    }
    #access1 h3 span::before{
        width:100%;
    }
}
/*------------------------------------*/
/*facility*/
#facility #servicenav{
    border-bottom:1px solid #aaa;
}
#facility .img p{
    margin-bottom:0;
    border-radius:2em;
    overflow: hidden;
    height:100%;
}
#facility .text h3 span{
    display:block;
    font-size:.5em;
    line-height:1.5em;
    margin-left:0;
}
#facility0 h4,
#facility1 h5{
    font-size: 1.5em;
    font-weight: 400;
    margin-bottom:1em;
}
#facility1 h5{
    margin-top:1em;
}
#facility0 h4::before,
#facility1 h5::before{
    bottom:0;
}
#facilitys1 p{
    color:black;
}
#facility0 li,
#facility1>ul>li{
    border-bottom:1px solid #ddd;
    padding:3em 0;
}
#facility1>ul>li{
    width:50%;
    padding:5em 3em 3em;
}
#facility0 img,
#facility1 img{
    height: 100%;
    mix-blend-mode: multiply;
}
#facility1 img{
    object-fit: contain;
}
#facility1 h4{
    width: 17em;
    font-size: 1.2em;
    font-weight: 400;
    line-height: 2em;
}
#facility0 h5,
#facility1 h6,
#facility2 h4{
    font-weight: 400;
    font-size: 1em;
    position: relative;
}
#facilitys3 img{
    object-position:center top;
}
#facilitys2 h3,
#facilitys3 h3{
    margin:1.5em auto .5em
}
#facilityinsta{
    border-top: 1px solid #aaa;
    margin-top: 2em;
    padding-top: 1em;
}
#facilityinsta div img{
    width:8em;
    margin-left:auto;
}
#facilityinsta small a{
    text-decoration: underline;
    color: #0051ff;
    font-size: 1.2em;
}
#facilityinsta>div{
    margin-top: 1em;
}
#facility2>div>div{
    margin:0 auto;
}
#facility2>div>div:nth-of-type(2) p{
    width:100%;
    aspect-ratio: 1 / 1;
    border-radius: 2em;
    overflow: hidden;
}
@media screen and (min-width: 700px){
    #facility .text h3{
        font-size:3.5em;
    }
    #facility0 h4{
        margin-top:3em;
    }
    #facility0 p,
    #facility1 p{
        font-size:.9em;
    }
    #facilitys1 .img{
        width:45%;
        aspect-ratio:1 / 1;
        padding: 3em 0 3em 3em;
    }
    #facilitys1 .text{
        width:55%;
        padding:3em;
        margin-top: 2em;
    }
    #facilitys1 .text div{
        position: absolute;
        right:1em;
        top: -2em;
        width:15em;
        height:7em;
    }
    #facilitys2 .text,
    #facilitys3 .text,
	#facilitys6 .text{
        padding: 3em;
    }
    #facilitys2 .img,
	#facilitys6 .img{
        width:40%;
        padding: 3em 3em 3em 0;
    }
    #facilitys2 .img{
        aspect-ratio:1/1.5;
    }
	#facilitys6 .img p{
		box-shadow:1em 1em 1em #ccc;
	}
    #facilitys2 .text,
	#facilitys6 .text{
        -webkit-order:-1;order: -1;
        width:60%;
        margin-bottom:2em;
    }
    #facilitys3 .img{
        width:40%;
        padding: 3em 0 3em 3em;
        aspect-ratio:1/1.5;
    }
    #facilitys3 .text{
        width:60%;
    }
    #facility2{
        padding:5em 0 7em;
        padding:1.5em 0 1.5em;
        background:#fbfbfa;
        margin-bottom:2em;
}
    #facility2>div>div:nth-of-type(2){
        width:40%;
    }
    #facilitys4{
        border-right:1px solid #eee;
    }
}
@media screen and (max-width:699px){
    #facility .text h3{
        font-size:2.5em;
    }
    #facilitys1 .text{
        padding:0;
        margin-top:9em;
    }
    #facility0 h3 span{
        display: block;
        color:#777;
    }
    #facilitys1 .text div{
        position: absolute;
        left:25%;
        top: -7.5em;
        width:50%;
        height:6em;
        opacity: 1 !important;
        transform:translate(0,0) !important;
    }
    #facility2>div>div{
        width:100%;
    }
    #facility2>div{
        padding-bottom:3em;
    }
    #facility0>ul>li,
    #facility1>ul>li{
        padding:1em;
    }
    #facility0>ul>li{
        margin-bottom:3em;
        border-bottom:1px solid #ddd;
        border-right:none;
    }
    #facility2{
        padding:0 1em;
        overflow: hidden;
    }
    #facilityinsta div img{
        margin-left:2em;
    }
    #facilitys3 .img{
        aspect-ratio:1/1.2;
    }
}
/*------------------------------------*/
/*contact*/
#contact header h2{
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom:none !important;
}
#contact h3{
    font-size:2.5em;
    margin-bottom:1em;
}
#contact h3 span{
    font-size:.5em;
    margin-left:2em;
}
#contact1::before,
#contact3::before{
    content: '';
    position: absolute;
    top: 1.5em;
    left: 0;
    width: 100%;
    height: 1px;
    background: #ddd;
}
#contact3::after{
    content:'';
    position: absolute;
    bottom:1.5em;
    left:0;
    width:100%;
    height:1px;
    background:#ddd;
}
#contact .content>div{
    width:50%;
}
#contact .disc>div{
    transform:translate(0, 10em);
}
#contact1 .discimg,
#contact3 .discimg{
	padding:1em 0 2em;
	aspect-ratio: 2 / 1;
    overflow: hidden;
}
#contact3 .discimg{
	-webkit-order:-1;order: -1;
}
#contact1 .discimg img,
#contact3 .discimg img{
    object-position: center;
}
#contact1{
    padding-top:2em !important;
}
#contact1 li{
    margin: 0 auto 1em;
}
#contact1 li a{
    border-radius: 1em;
    transition-duration: 0.4s;
    height: 5rem;
    display: block;
    box-sizing: border-box;
    overflow: hidden;
}
#contact1 li:nth-of-type(1) a{
    background:#02b902;
}
#contact1 li:nth-of-type(2) a{
    padding: 1rem 0;
    background:url(images/instaback.webp)center no-repeat;
    background-size:100% 100%;
}
#contact1 li a:hover{
    opacity: .8;
}
#contact1 .disc img{
    width:100%;
    height:100%;
    margin:0 auto;
    object-fit: contain;
}
#contact1 small{
    margin-top:1em;
    font-size:1em;
}
#contact2{
    background:#f9f9f8;
	padding:5em 0;
}
#contact2::before{
	content:none;
}
#contact2 h3{
	border-bottom:1px solid #aaa;
	margin-bottom:0;
}
#contact2 small{
	font-size:.8em;
	color:red;
	font-weight: bold;
	text-align: center;
	margin-bottom:3em;
}
.wpcf7 table {
    width: 50em;
    margin: 0 auto;
}
.wpcf7 th, .wpcf7 td {
    background: none !important;
    border: none !important;
    padding: 0.3em 0.5em;
}
.wpcf7 th {
    text-align: right;
    width: 20%;
    vertical-align: middle;
}
.wpcf7 input:not([type="submit"]):not([type="radio"]),
.wpcf7 textarea {
    width: 100%;
    background: white;
    border-radius: 3em;
    padding: .5em 1em;
	border:none;
    box-sizing: border-box;
}
.wpcf7 textarea {
    border-radius: 1.5em;
    height: 10em;
}
.doui{
	margin-top:3em;
}
.doui p{
	margin-bottom:0;
}
.doui a{
    color: #4880cb;
    text-decoration: underline;
}
input[type="submit"], input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}
input[type="submit"] {
    display: inline-block;
    padding: 0.5em 4em .5em 3em;
    border-radius: 2em;
    background: #75be4d;
    margin: 0 auto 5em;
    color: white;
    letter-spacing: .2em;
    transition-duration: 0.8s;
    position: relative;
}
#submit {
    margin: 1em auto 0;
}
#submit input[type="submit"] {
    padding: 0.5em 4.5em 0.5em 5.5em;
    letter-spacing: 1em;
    border: 1px solid white;
    transition-duration: 0.8s;
}
.wpcf7-spinner{
	position: absolute;
}
.hissu{
	font-size:.6em;
	font-weight: bold;
	color:red;
	vertical-align: text-bottom;
	margin-left:.5em;
}
#contact3{
	padding:3em 0;
}
#contact3 p{
    font-family: system-ui;
    font-weight: 400;
    margin-bottom: 0;
    line-height: 1em;
    color: black;
}
#contact3 p:nth-of-type(1) span{
    font-size:.5em;
}
#contact3 small{
    font-size:1em;
}
#contact3 .medicaltel{
    text-align: center;
    border-top: 1px solid #ddd;
    margin-top: .5em;
    line-height: 2em;
    font-weight: 200;
    color: #555;
}
#contact3 .medicaltel span:nth-of-type(1){
    font-size:.7em;
}
#contact3 .medicaltel span:nth-of-type(2){
    color:black;
    font-size:1.2em;
}
/*line*/
#line .taiou{
    font-size: 1em;
    margin: 1em auto 12em;
}
#line>p:nth-of-type(1) {
    font-size: 1.3em;
    margin: 5em auto 1em;
}
#line>a {
    width: 12em;
    display: block;
    margin: 0 auto;
    padding: 0em 10em;
    background: #02b902;
    transition-duration: 0.4s;
    border-radius: 1em;
}
#line>a:hover{
    opacity: .8;
}
@media screen and (min-width: 700px){
    #contact3 p{
        font-size: 3em;
    }
    #contact3 .medicaltel{
        font-size: 1.5em;
    }
}
@media screen and (max-width:699px){
    #contact .content>div{
        width:100%;
    }
    #contact #pagetitle+p{
        font-size:.9em;
        color:#777;
        margin-bottom: 3em;
    }
    #contact1,
    #contact2{
        width:100%;
        overflow: hidden;
    }
    #contact3{
        border-top: 1px solid #ccc;
    }
    #contact1,
    #contact3{
        text-align: center;
    }
    #contact1::before,
    #contact3::before{
        top:0;
    }
    #contact h3{
        line-height: 1em;
        margin-bottom:0;
        padding-left: 0;
        border-bottom: none;
    }
    #contact2 h3{
        width:90%;
        margin:0 auto;
    }
    #contact h3 span{
        display: block;
        margin-left:0;
        color:#777;
        margin-bottom:.5em;
    }
    #contact1 li{
        margin-bottom:0;
        width:45%;
    }
    #contact3 p{
        font-size: 2.5em;
    }
    #contact3 .medicaltel{
        font-size: 1em;
    }
    .wpcf7 table {
        width:100%;
    }
    .wpcf7 tr{
        margin-bottom:1em;
        display: block;
    }
    .wpcf7 th, .wpcf7 td {
        display: block;
        padding: 0.3em 0.5em;
        width: 100%;
        box-sizing: border-box;
        text-align: left;
    }
    .wpcf7 th p, .wpcf7 td p{
        margin-bottom:0;
    }
    .wpcf7 input:not([type="submit"]):not([type="radio"]), .wpcf7 textarea{
        border-radius: .5em;
        border:1px solid #ddd;
    }
    #line>a{
        display: inline;
        padding:0;
        background:none;
    }
    #line>a img{
        width:50%;
        margin:0 auto;
    }
    #line .taiou{
        font-size:.9em;
        margin-bottom:8em;
    }
}
/*------------------------------------*/
/*privacy policy*/
#privacy_policy{
    padding-bottom:10em;
}
#privacy_policy section{
    margin-top:5em;
}
#privacy_policy h3{
    font-size:1.5em;
    font-weight: 400;
    margin-bottom:.5em;
}
#privacy_policy h3::before{
    content:'';
    position: absolute;
    bottom:0;
    left:0;
    width:15em;
    height:.1em;
    background: linear-gradient(90deg, red 25%, orange 25%, orange 50%, #4285f4 50%, #4285f4 75%, green 75%);
}
#privacy_policy li,
#privacy_policy p{
    margin-bottom:0;
}
#privacy_policy .list li::after{
    content:'　／　';
}
#privacy_policy .list li:last-of-type::after{
    content:none;
}
#seitei{
    margin-top:4em;
    border-top:1px solid #ccc;
    padding-top:1em;
}
@media screen and (max-width:699px){
    #privacy_policy section{
        margin-top:3em;
        padding:0 1em;
    }
    #privacy_policy #pagetitle{
        line-height: 1em;
    }
    #privacy_policy #pagetitle span,
    #condithioning #pagetitle span{
        display: block;
        margin-left:0;
        line-height:3em;
    }
    #seitei{
        padding:1em;
        width:calc(100% - 2em);
        margin:4em auto 0;
    }
    #privacy_policy>div{
        padding-bottom:6em;
    }
    #privacy_policy .list li::before{
        content:'・';
    }
    #privacy_policy .list li::after{
        content:none;
    }
    #privacy_policy h3::before{
        width:100%;
    }
}
/*------------------------------------*/
/*404*/
#notfound{
	padding:0 10%;
	margin:5em auto;
}
#notfound header{
	margin-bottom:2em;
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(1){
    font-size: 800%;
    line-height: 1em;
    margin-bottom: -.1em
}
#notfound>div>div:nth-of-type(1) p:nth-of-type(2){
	font-size:300%;
}
#notfound>div>div:nth-of-type(2) p:nth-of-type(1){
	margin-bottom:3em;
}
@media screen and (min-width: 700px){
    #notfound>div>div:nth-of-type(1){
    	margin-right:3em;
    }
}
/*------------------------------------*/
/*footer*/
footer{
    border-top: 1px solid #ddd;
    background:white;
}
.contactfooter{
	border-top:none !important;
}
#copyright a{
    color:black;
}
#copyright{
    padding: 0.5em 0 5em;
    margin-bottom:0;
}
#footerlogo{
    width: 20em;
    margin: 3em auto 0;
}
footer li a{
    display: block;
    margin: 1em .5em;
    width: 1.5em;
    height: 1.5em;
    padding: .5em;
    border-radius: .5em;
    transition-duration: .4s;
}
.insta{
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
    background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
.twitter{
    background:black;
}
.lineicon{
    background:#02b902;
}
#gaibu{
    border-top: 1px solid #ddd;
    border-bottom:1px solid #ddd;
    background:white;
    padding:1em 0;
}
#gaibu li{
    height:3em;
    margin:2em 1em;
}
#gaibu .sakai,
#gaibu .rhythm{
    height:2.3em;
}
#gaibu .refa{
    height:2.3em;
}
#gaibu li img{
    height:100%;
    width:auto;
}
@media screen and (max-width:699px){
    #gaibu>ul{
        padding-top:1em;
    }
    #gaibu li{
        height:2.3em;
        margin: 0 1em 1em;
    }
    #copyright{padding: 0.5em 0 !important;}
}
/*------------------------------------*/

.ym{display: none;}
.y0{display:table-row;}
.dpc{display: contents !important;}
.red{color:red !important;}
.black{color:black !important;}
.bold{font-weight:bold !important;}
.bw{background:white !important;color:#777;}
.fs80{font-size:80%;}
.bgwhite{background:white !important;}
.bo td{background:orange !important;}
.bn{border:none !important;}
.txl{text-align: left !important;}
.txc{text-align: center !important;}
.txr{text-align: right !important;}
@media screen and (min-width:700px){
#wrap{min-width:1092px;max-width:100%;overflow:hidden;}
.frontwrap{padding-top:4em;}
.pagewrap{padding-top:5em;}
#mainpage,#archive{padding-top:1em;}
.ddn{display:none !important;}
.minwidth6{width:60%;margin:0 auto;min-width:1092px;}
.minwidth7{width:70%;margin:0 auto;min-width:1092px;}
.minwidth8{width:80%;margin:0 auto;min-width:1092px;}
.minwidth9{width:90%;margin:0 auto;min-width:1092px;}
.flexcenter{display:-webkit-box;display:flex;align-items:center;-webkit-justify-content:center;justify-content:center;}
.flex{display:-webkit-box;display:flex;}
.flexwrap{-webkit-flex-wrap:wrap;flex-wrap:wrap;}
.itemstart{align-items: flex-start;}
.itemcenter{align-items: center;}
.itemend{align-items: flex-end;}
.justifyspace{-webkit-justify-content:space-between;justify-content:space-between;}
.justifyaround{-webkit-justify-content:space-around;justify-content:space-around;}
.justifycenter{-webkit-justify-content:center;justify-content:center;}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1em;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;}
.grid3aab{display:grid;grid-template-columns:1fr 1fr .5fr;gap:1em;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:1em;}
}
@media screen and (max-width:699px){
#wrap{padding-top:4em;}
.mdn{display:none !important;}
.m_txc{text-align: center !important;}
.m_flexcenter{display:-webkit-box;display:flex;align-items:center;-webkit-justify-content:center;justify-content:center;}
.m_flex{display:-webkit-box;display:flex;}
.m_flexwrap{-webkit-flex-wrap:wrap;flex-wrap:wrap;}
.m_itemstart{align-items: flex-start;}
.m_itemcenter{align-items: center;}
.m_itemend{align-items: flex-end;}
.m_justifyspace{-webkit-justify-content:space-between;justify-content:space-between;}
.m_justifyaround{-webkit-justify-content:space-around;justify-content:space-around;}
.m_justifycenter{-webkit-justify-content:center;justify-content:center;}
.m_grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1em;}
.m_grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;}
.m_grid3aab{display:grid;grid-template-columns:1fr 1fr .5fr;gap:1em;}
.menu-trigger,.menu-trigger span{
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
.menu-trigger {
    position: absolute;
    height: 3.6em;
    width: 3.6em;
    border-radius: 0.5em;
    right: 0.5em;
    top: 0.2em;
}
.menu-trigger span {
    position: absolute;
    left: 0.3em;
    width: calc(100% - 0.6em);
    height: 0.2em;
    background-color: #013d00;
    border-radius: 0.1em;
}
.menu-trigger span:nth-of-type(1){top:12%;}
.menu-trigger span:nth-of-type(2){top:46%;}
.menu-trigger span:nth-of-type(3){bottom:12%;}
.menu-trigger.active span:nth-of-type(1){
    -webkit-transform: translateY(1.3em) rotate(-315deg);
    transform: translateY(1.3em) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2){opacity:0;}
.menu-trigger.active span:nth-of-type(3){
    -webkit-transform: translateY(-1.25em) rotate(315deg);
    transform: translateY(-1.25em) rotate(315deg);
}
}