@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&display=swap');
@media (max-width: 640px) {
    .pc_nav{
        display:none;
    }
    #blue{
        height:30px;
        margin-bottom:20px;
    }
    #blue_inner{
        width:100vw;
        height:40px;
        margin:0 auto;
        position:relative;
    }
    .mainvisual{
        height:auto;
        width:100vw;
        margin:0;
        padding:0;
    }
    .mainvisual_imgpc{
        display: none;
    }
    .mainvisual_imgsp{
        width:100vw;
        height:auto;
        display: block;
        margin-top:10%;
        padding:0;
    }
    body{
        padding-top:65px;
        width:100vw;
    }
    #inner{
        width:auto;
        height:auto;
        margin:0 auto;
        padding:10px;
    }
    .sp_nav{
        width:100vw;
        height:55px;
        background:#fff;
        display: flex;
        align-items:center;
        position:fixed;
        z-index:60;
        top:0;
    }
    .topmark{
        width:120px;
        height:120px;
        background:#fff;
        border-radius: 50%;
        -moz-border-radius: 50%;
        -webkit-border-radius: 50%;
        position:absolute;
        top: 65px;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    .logo_sp{
        width:60px;
    }
    #navbtn{
        transition:all 1s;
        width:30px;
        height:30px;
        position:absolute;
        right:30px;
        top:16px;
        z-index:31;
    }
    #navbtn span{
	   width:30px;
	   height:2px;
	   background:#000;
	   position:absolute;
    }
    #navbtn span:nth-child(1){
	   transition:all 0.2s;
	   left:5px;
	   top:0px;
    }
    #navbtn span:nth-child(2){
	   left:5px;
	   top:10px;
    }
    #navbtn span:nth-child(3){
	   transition:all 0.2s;
	   left:5px;
	   top:22px;
    }

    .open span:nth-child(1){
	   transform:translateY(11px) rotate(45deg);
    }
    .open span:nth-child(3){
	   transform:translateY(-11px) rotate(-45deg);
    }
    .open span:nth-child(2){
	   top:17px;
	   opacity:0;
    }
    #spnav{
        transition:all 1s;
        width:300px;
        height:100%;
        position:fixed;
        right:-300px;
        top:0;
        background:#333;
        z-index:30;
        padding-top:50px;
    }
    #spnav ul{
        width:auto;
        height:60px;
        padding:0;
        margin:0;
        display:flex;
        flex-direction:column;
        justify-content: flex-start;
        align-items: center;
        list-style: none;
        padding:0;
        text-align: left;
    }
    #spnav ul li a{
        color:#fff;
        transition: 0.3s;
		font-size: 15px;
    }
    #spnav ul li a:hover{
        color:#008ee5;
    }
    #spnav ul li {
        margin-bottom:10px;
        font-size:15px;
    }
    #spnav ul li:hover{
        background:none;
    }
    #spnav ul li a:hover{
        opacity: 0.8;
    }
    .opennav{
	   transform:translateX(-300px);
    }

    .layout{
        position:fixed;
        bottom: 100px;
        right: 20px;
        z-index: 50;
		width:auto;
    }
    .layout img{
        width:90px;
    }
    .mainvisual{
        height:521px;
        width:100vw;
        margin:0 auto;
        padding:0 auto;
    }
    .mainvisual_img{
        width:100vw;
    }
    .top{
        margin-top:30px;
    }
    .topcontlist{
        margin:0;
        padding:0;
    }
    .topcontlist li{
        margin-bottom:0.7rem;
        padding-left:25px;
    }
    .topcontlist li:before{
        left:5px;
    }
    .training_trigger,.gymtrigger,.inner{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        margin:0 auto;
        width:auto;
        padding:10px;
        margin-bottom:0;
    }
    .topcont_p{
        padding-top:0;
    }
    .training_photo{
        width:90%;
    }
    .training_contents{
        width:100%;
        display: flex;
        flex-direction:column;
        align-items: center;
        justify-content: center;
    }
    .training_contents p{
        margin-top:0px;
        width:95%;
    }
    .training_contents ul{
        width: 90%;
        padding: 0 10px 0 30px;
        margin: 0;
    }
    .abphoto_pc{
        display: none;
    }
    .abphoto_sp{
        display: block;
        width:95%;
    }
	.floatimg {
	  max-width: 100%;
	  height: auto;
	  clear: both;
	  margin: 0 0 10px 20px;
	}
    .pc_voice{
        display: none;
    }
    .sp_ttl{
        width:95%;
        height:50px;
        color:#fff;
        background:#9bcdc1;
        font-size:1.3rem;
        font-weight: bold;
        font-family: 'Noto Sans JP', sans-serif;
        justify-content: center;
        display: flex;
        align-items: center;
        margin:2rem auto;
    }
	.sp_ttl2{
        width:95%;
        height:50px;
        font-size:1.3rem;
        font-weight: bold;
        font-family: 'Noto Sans JP', sans-serif;
        justify-content: center;
        display: flex;
        align-items: center;
        margin:2rem auto;
    }
	.top_s1{
		background:#ffeeb9;
		color:#e2a75a;
	}
	.top_s2{
		background:#d1f5fe;
		color:#219dbd;
	}
	.top_s3{
		background:#acd8cd;
		color:#4c6d65;
	}
	.top_s4{
		background:#f1eaff;
		color:#9075c6;
	}
    #news{
        margin:40px 0 60px 0;
    }
    .blognews_flex{
        width:95%;
        display:flex;
        flex-direction:column;
        justify-content: space-between;
        position: relative;
        margin-top:0px; 
        padding:0 10px;
        padding:0 10px;
        margin:0;
    }
    .blog,.news{
        width:auto;
    }
    .blog_h3{
        width:auto;
        margin:0;
        padding:0;
        font-size:1.5rem;
    }
    .blognews_line{
        width:auto;
        border:3px solid blue;
        margin:0.5rem 0;
    }
    .blog_ran p,.news_ran p{
        margin:0.5rem 0;
    }
    .cat{
        height:70px;
        position:absolute;
        top:0px;
        left:0px;
    }
    .line_bannar{
        display: none;
    }
    .line_sp{
        display: block;
        width:95%;
        margin:20px auto 40px auto;
    }
    #footer_contents{
        width:100vw;
        height:auto;
    }
    .footermenu{
        display: none;
    }
    .footer_right p{
        text-align: center;
    }
    #footer_inner{
        width:100vw;
        padding:0;
        height:auto;
        margin:0 auto;
        display:flex;
        flex-direction:column;
        align-items: center;
        position:relative;
    }
    .ft_p_insta{
        flex-direction:column;
        margin-bottom: 30px;
    }
    .insta_icon{
        margin-left:0;
    }
    .line_icon{
        margin-left:0;
    }
    .iconflex{
        display: flex;
        flex-direction:row;
        justify-content: space-between;
        width:90px;
    }
    .iconflex{
        display: flex;
        flex-direction:row;
        justify-content: space-between;
        width:90px;
    }
    .spbr{
        display: block;
    }
    .pcbr{
        display: none;
    }
	.lead{
		text-align: left;
	}
    .footer_right{
    margin-left:0;
    display: flex;
    flex-direction:column;
    justify-content: flex-start;
    font-size:13px;
    color:#fff;
}
    .footer_logo{
        margin:20px 0 0 0;
    }
    .cat{
        display: none;
    }
    .pagetop_icon{
        display: none;
    }  
    small{
        font-size:11px;
    }
	#midashi{
		width:90%;
		margin:10px auto 0 auto;
	}
    .subpage_midasi{
        margin-top:50px;
        font-weight:900;
        font-size:1.6rem;
        letter-spacing: normal;
        font-family:'zenmaru_m';
        color:#9bcdc1;
		text-align: center;
    }
    #midashi p{
        text-align: center;
        margin-bottom:20px;
        width:90%;
		margin-top:0;
    }
    .about_trigger{
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width:90%;
        height:auto;
        margin:0 auto 50px auto;
    }
    .about_r{
        margin-top:60px;
        width:90%;
    }
    .about_l{
        margin-top:60px;
        width:90%;
    }
    .about_l1{
        width:90%;
    }
    .about_l5{
        width:90%;
        margin:60px auto;
    }
    .pc_ttl{
        display: none;
    }
    .sp_gui{
        display: block;
        width:95%;
    }
    .pc_gui{
        display: none;
    }
    .guitrigger{
        display: flex;
        flex-direction: column;
        align-items: center;
        margin:30px auto 0 auto;
        width:95vw;
        margin-bottom:0;
    }
    .guidance_cont{
        width:100vw;
        height:auto;
        display: flex;
        flex-direction:column;
        align-items: center;
        justify-content: space-between;
        padding:40px 0;
    }
    .nyu_con{
        margin-top:-40px;
    }
    .gui_table{
        width:100%;
        height:50px;
        margin:0 auto;
    }
    .gui_table td{
        padding-left:0.8rem;
    }
    .gui_r{
    margin:0;
    }
    .gui_l{
       width:90vw;
    }
    .nyukai{
        margin:20px auto 10px auto;
    }
    .guidance_cont p{
        width:90%;
        margin:auto;
    }
    th{
        width:100px;
    }
    .motimono{
        width:100%
    }
    .trainer_trigger{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        margin:0 auto;
        width:100vw;
        margin-bottom:50px;
    }
    .tr_photoflex{
        display: flex;
        justify-content: center;
    }
    .trainer_contents{
        width:90%;
    }
    .triphoto{
        width:70%;
    }
    .profile{
        height:auto;
    }
    .top_cat{
        display: none;
    }
    .gymimg{
        width:95%;
    }
    .flow{
    width:95%;
    }
    .voice_trigger{
        width:95%;
    }
    .voiceflex{
        width:95%;
        margin:0 auto;
        align-items:flex-start;
		margin-top:10px;
    }
    .voice{
	   padding: 0.5rem;
	   margin:0 0 0 20px;
       font-size: 0.9rem;
    }
    .faceimg{
        width:70px;
    }
    .facename{
        height:50px;
    }
    .a_sama{
        margin-top:30px;   
    }
    .n_sama{
        margin-top:60px;   
    }
    .s_sama{
        margin-top:20px;   
    }
    .sel_btnli{
        padding:0;
    }
	.nyukai{
		width:95%;
		height:50px;
		color:#fff;
		background:#9bcdc1;
		font-size:1.3rem;
		font-weight: bold;
		font-family: 'Noto Sans JP', sans-serif;
		justify-content: center;
		display: flex;
		align-items: center;
		margin:0 auto;
		clip-path: polygon(100% 0, 95% 49%, 100% 100%, 0% 100%, 5% 50%, 0% 0%);
	}
	.flowbox{
		flex-direction: column;
		height:auto;
	}
	.flowbox ul li span{
		font-size: 1.2rem;
	}
	.flowbox ul li{
		padding-left:0;
	}
	.flowimg {
		height: auto;
		width: 100%;
	}
	.access_wrap {
		margin: 0px auto 50px auto;
		flex-direction: column;
		width:100%;
	}
	.accbox{
		width:100%;
	}
	.contactflex{
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.con_txt{
		text-align: left;
	}
	.ryokin_flex{
		flex-direction: column;
		width:100%;
		align-items: center;
	}
	.ryokinbox {
        width: 90%;
        padding: 10px;
        margin-bottom: 20px;
    }
	.plan,.price{
		padding:5px 0;
	}
	.ryokin_cate2{
		justify-content: flex-start;
	}
	.nyukai_taiken{
		flex-direction: column;
		width:100%;
	}
	.nyukawrap,.priceimg{
		width:100%;
	}
	.plan_caption{
		width:93%;
	}
	.largeline{
		font-size: 1.2rem;
	}
	.ryokin_cate2 {
		display: flex;
		flex-direction: row;
		width: 100%;
		justify-content: flex-start;
	}
	.contactflex2{
		display: flex;
		flex-direction: column;
	}
	.bluebtn{
		margin-right:0;
		margin-bottom:10px;
	}
	.daynews{
		display: flex;
		flex-direction: column;
		width:95%;
	}
}
@media (min-width: 751px) {
a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
}

/*-------------------------------
	タブレット用
-------------------------------*/
@media (max-width: 768px) {
    #inner{
        width:768px;
        max-width: 100%;
        margin: 0 auto;
        padding: 0 24px;
    }
    .pc_gui{
        object-fit: contain;
    }
}