@charset "utf-8";

/* android対策 */
/*p { background-image: url(../images/pix.gif); }*/

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
		overflow-x: hidden;
	}

	/* header */
	header{
		display: block;
		width: 1280px;
	}
	article{
		position: relative;
		display: block;
		width: 1280px;
	}
	footer{
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	/* header */
	header{
		max-width: 480px;
		width: 100%;
		height: auto;
		border-top: none;
		top: 0;
		margin:50px 0 0;
		border: 0;
	}
	header .wrapper{
		width: 100%;
		padding: 0;
	}
    footer{
        width: auto;
    }
    header>.bg_w{
        background:none;
        height: auto;
        position: initial;
    }
	/* スマホ用メニュー */
	.index #wrapper {
		overflow: hidden;
		min-width: 20pc;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
    .drawer label.pc_none span{
        font-size: 1rem;
        position:absolute;
        bottom: 4px;
        left: 2px;
        right: 0;
        margin: auto;
        line-height: 1;
    }
	.drawer .open{
		z-index: 101;
		width: 50px;
		height: 50px;
		color: #fff;
        background: #320000;
		font-size: 2em;
		line-height: 42px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #FFF;
        
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.menu{
		z-index: 25;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 10px;
        background-color: #E9E0D6;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #000;
        font-weight: 600;
	}
	.menu li a.arrow_d:after{
		content: "＞";
		position: absolute;
		display: block;
		font-size: 10px;
		height: 10px;
		top: 0;
		right: 1.5em;
		bottom: 0;
		margin: auto 0;
		transform: rotate(90deg);
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid rgba(255,255,255,.4);
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu li a{
		display: block;
		padding: 1em 1em .9em;
		text-decoration: none;
		transition: background-color 0.6s;
	}
	.menu .gsst_a{
		padding: 0!important;
	}
	.menu li a .en{
		position: relative;
		display: block;
		font-size: .5em;
	}
	.menu li a:hover {
		color: #FFF;
        background: #320000;
	}
	.menu li a:hover span{
		color: #FFF;
	}
	.menu li ul{
		background: rgba(122,206,153,.9);
	}
	.menu li ul li:last-child{
		border-bottom: 0;
	}
	.header_box{
		height: auto;
		background: none;
		padding: 0;
	}
	header #lead,
	header .reservation_box,
	header .tel,
	header .businessHour,#gnav{
		display: none;
	}
    header>.wrapper {
        margin-top: 0;
    }
	#header_logo{
		position: fixed;
		display: inline-block;
		width: 100%;
		height: 50px;
		top: 0;
        background:#fff;
		z-index: 10;
		box-shadow: 0 0 5px rgba(0,0,0,.7);
	}
	#header_logo a{
        margin-top: 0;
        margin-left: 4%;
		z-index: 2;
        width: 44%;
        height: 100%;
        background-position: left center;
	}
    #sp_mail, #sp_tell{
        width: 50px;
        height: 50px;
        position: fixed;
        text-align: center;
        z-index: 10;
        position: absolute;
    }
    #sp_mail span, #sp_tell span{
        position: absolute;
        line-height: 1;
        bottom: 3px;
        left: 0;
        right: 0;
        margin: auto;
        font-size: 1rem;
        color: #fff;
    }
    #sp_tell{
        display: block;
        top: 0;
        right: 100px;
        z-index: 10;
        background:#D96B4F url(../images/tell_w.svg) no-repeat top 13px center;
        -webkit-background-size: 16px auto;
        background-size: 16px auto;
    }
    #sp_mail{
        background: #6F4C4C url(../images/reserve_w.svg) no-repeat top 12px center;
        -webkit-background-size: 17px auto;
        background-size: 17px auto;
        right: 50px;
    }
    /* slider */
    .slider1 .slick-slide::before{
        background-image:url(../images/slider_text01_sp.svg);
        bottom: 10%;
        left: 0;
        right: 0;
        width: 86%;
        height: 50%;
    }
    body .slick-dots li button:before{
        width: 10px;
        height: 10px;
    }
    /* movie */
    .movie{
        padding: 10% 6%;
    }
    .movie .caution{
        text-align: left;
        line-height: 1.6;
        font-size: 1.4rem;
    }
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		position: fixed;
		display: block;
		width: 30%;
		height: auto;
		z-index: 100;
		font-size: 12px;
		padding: 8px 2px;
		border-radius:8px;
		background: #320000;
        box-shadow: 0 0 2px rgba(0,0,0,.5);
		text-align: center;
		color: #FFF;
		text-decoration: none;
        bottom: 15px;
		left: 12px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 481px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	#switch{
		display: block;
		height: auto;
	}
	li a#btnPC{
		display: none;
	}
	li a#btnSP{
		position: fixed;
		display: block!important;
		width: 250px;
		height: auto;
		z-index: 100;
		font-size: 2.5rem;
		padding: 8px;
		text-align: center;
		border-radius: 22px;
        background: #320000;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 50px;
		left: 20px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		-webkit-text-size-adjust: 100%!important;
		overflow-x: hidden;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		box-shadow: none;
		font-size: 16px;
		line-height: 1.8;
		letter-spacing: .04em;
		-webkit-text-size-adjust: 100%!important;
	}

	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 92%;
		margin: 0;
		padding: 0 4%;
	}
    .btn a{
        padding: 6% 8%;
        margin: auto;
    }
	.btn a:after{
	}
    .main_contents .btn {
        display: block;
        margin-right: 0;
        text-align: center;
    }
	
	/* Common
	------------------------------ */
	.sp_none{
		display: none!important;
		z-index: 0;
	}
	article{
		width: 100%;
		overflow: hidden;
	}
	.fl_l,.fl_r{
		clear: both;
		float: none;
	}

	/* main_contents
	------------------------------ */
    #concept h2{
        height: 56px;
    }
    #kujukuri h2{
        height: 66px;
    }
    #ekusons_house h2{
        height: 36px;
    }
    #facility h2 {
        height: 70px;
    }
    #access h2{
        height: 43px;
    }
    #plan h2{
        height: 43px;
    }
    #faq h2{
        height: 44px;
    }
    #concept,#kujukuri,#facility,#plan,#faq,#sns{
        padding: 15% 0;
    }
    #ekusons_house{
        padding-top:15%;
    }
    #access{
        padding:0;
    }
    .main_contents h3{
        font-size: 3.8vw;
    }
    #ekusons_house p+h3,#concept p+h3{
        text-align:center;
    }
    #concept h2,#ekusons_house h2{
        background-position:center;
    }
    #facility p+h3, #access p+h3, #plan p+h3, #faq p+h3{
        margin-bottom: 10%;
    }
    /* concept
    ------------------------------ */
    #concept .fl_r {
        width: 100%;
        margin-right: 0;
        margin-bottom: 6%;
    }
    #concept .fl_l {
        width: auto;
    }
    #concept .outline p, #ekusons_house .outline p {
        margin-bottom: 1em;
    }
    /* ktujukuri
    ------------------------------ */
    #kujukuri{
        background-image:url(../images/kujukuri_bg_sp.jpg);
    }
    #kujukuri li{
        padding:4%;
        border-radius: 10px;
    }
    #kujukuri li h3{
        margin: 4% 0 3%;
    }
    #kujukuri li h3, #kujukuri p {
        text-shadow: 0 0 10px rgba(0, 0, 0, .7);
    }
    #ktujukuri ul{
        text-align: center;
    }
    #kujukuri li{
        width: auto;
        margin-right: 0;
        margin-bottom: 10%;
    }
    #kujukuri li:last-of-type{
        margin-bottom: 0;
    }
    #kujukuri li .pict{
        border-radius: 10px;
        height: 200px;
        position: relative;
    }
    #kujukuri li .pict img{
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }
    #kujukuri li:nth-of-type(3) img{
        top:35px;
    }
    
    /* ekusons_house
    ------------------------------ */
    #ekusons_house .fl_l {
        width: 100%;
        margin-left: 0;
        margin-bottom: 6%;
    }
    #ekusons_house .fl_r {
        width: auto;
    }
    /* facility
    ------------------------------ */
    #facility tr{
        border-bottom: 0;
    }
    #facility th,#facility td{
        display: block;
        text-align: left;
        width: 100%;
        }
    #facility td{
        margin-bottom: 2%;
        padding: 10px 1em;
    }
    #facility th{
        background:#E9E0D6;
        padding: 5px 1em;
    }
    #facility td span{
        display: inline-block;
    }
    
    /* access
    ------------------------------ */
    #access .ggmap,.ggmap iframe{
        height: 250px;
    }
    #access .fl_l, #access .fl_r{
        width:auto;
    }
    #access .fl_l{
        margin-bottom: 10%;
    }
    #access .float{
        padding:15% 0;
    }
    /* #plan
    ------------------------------ */
    #plan .float{
        width: auto;
    }
    #plan .fl_l {
        width: auto;
        padding:7% 4%;
        margin-bottom: 8%;
    }
    #plan .fl_r {
        width: auto;
    }
    #plan .bg_w {
        margin: 0% 0 6%;
        padding: 4% 8%;
    }
    #plan .line_list{
        font-size:5vw;
    }
    #plan h3 {
        margin-bottom: 6%;
    }
    #plan .b_btn a, footer .b_btn a{
        width: 300px;
        padding: 2%;
    }
    #plan .b_btn {
        margin-top: 10%;
    }
    /* faq
    ------------------------------ */
    #faq .bg_w {
        padding: 4%;
    }
    #faq .acd-label {
        padding: 4% 11% 4% 15%;
        font-size: 1.6rem;
        line-height: 1.4;
        margin: 2% 0 0;
    }
    .acd-label::after{
        right: 4%;
        width: 10px;
        height: 10px;
    }
    .acd-check:checked + .acd-label + .acd-content{
        padding: 4% 4% 4% 15%;
    }
    #faq .acd-content{
        padding-left:15%;
    }
    #faq .acd-label::before, #faq .acd-content::before{
        top: 20%;
        left: 4%;
    }
    #faq .acd-label::before{
        width: 25px;
        height: 30px;
    }
    #faq .acd-content::before{
        width: 26px;
        height: 28px;
    }
    /* Footer
    ------------------------------ */
    footer .bg {
        padding: 15% 0 10%;
    }
    footer .wrapper {
        width: auto;
    }
    #footer_logo {
        margin:0 0 4%;
    }
    footer .b_btn {
        margin: 10% 0;
    }
    footer .outline p:first-of-type,footer .outline p:nth-of-type(2){
        margin-bottom: 1em;
    }
    #copyright{
        margin: 2% 0 22%;
        font-size:1.2rem;
    }
	/* page top */
	.pagetop {
		bottom: 10px;
		right: 12px;
	}
}

@media screen and (max-width: 385px) {
    #school li:nth-of-type(3),#school li{
        margin-right: 10%;
    }
    #school li:nth-of-type(4){
        margin-right: 0;
    }
}
@media screen and (max-width: 356px) {
    #price .plan_img li{
        width: 43%;
        margin-right: 2%;
        margin-bottom: 2%;
    }
    #price .plan_img li:nth-of-type(3),
    #price .plan_img li:nth-of-type(5){
        margin-right: 0;
    }
}