@charset "utf-8";
@media (max-width: 1280px) {
	.container{
		padding: 0 30px;
	}

}
@media (max-width: 1050px) {
	#mv .container {
		padding-top:45px;
		padding-bottom:45px;
	}
	.front_nav{
		margin-top:auto;
	}
	.front_nav .container{
		padding-top:0;
		padding-bottom:0;
	}
	.front_nav ul li a{
		font-size:80%;
		padding-left: 10px;
		padding-right: 10px;
	}
	
}



@media (max-width: 960px) {
	.front_nav{
		padding-bottom:30px;
	}
	
	.times_col .inner{
		padding:5px 25px;
	}
}

@media (min-width: 781px) {
	.sp-only{
		display: none !important;
	}
	#global-nav.front_only{
		display:none;
	}
	
	.menu-container .head-menu ul li ul li a{
		transition: .3s;
	}
	.menu-container .head-menu ul li ul li a:hover{
		background: #d7cfc3;
	}
	.menu-container .head-menu ul#menu-header-menu li a.menu-hover{
		pointer-events: none;
	}
	
}
@media (max-width: 780px) {
	.pc-only{
		display: none !important;
	}
	section{
		padding:30px 0;
	}
	body{
		font-size: 14px;
	}
	header .container {
    }
	header .container .header_logoarea{
		width:200px;
	}
	header .container .header_cvarea{
		width:calc(100% - 220px);
		padding-right:50px;
		box-sizing:border-box;
	}
	#global-nav{
		background:none;
	}
	.menu-container {
		width: auto;
		margin:auto;
		float:none;
    }
    .menu-mobile {
		position:fixed;
		display: block;
		width:42px;
		height:42px;
		background:#eaf7ff;
		padding:0;
		right:5px;
		top:5px;
		z-index: 999;
    }
	.menu-mobile:after {
		content: "\f394";
		font-family: "Ionicons";
		font-size: 2.5rem;
		padding: 0;
		position: absolute;
		top: 4px;
		left: 6px;
		color:#65989f;
	}
	.menu-container {
		float: none;
		width: 100% ;
	}
	.menu-container ul#menu-header-menu{
		position: relative;
		background: #cec6bd;
		z-index: 200;
		top: -60px;
	}
	.menu-container .head-menu ul#menu-header-menu {
		display: none;
		background:#65989f;
		position: fixed;
		left: 0;
		top: 0;
		padding:0 15px;
		padding-top:100px;
		width:100%;
		height: 100vh;
		box-sizing:border-box;
    }
	.menu-container .head-menu ul#menu-header-menu li a, 
	.menu-container .head-menu ul#menu-header-menu li span.submenu_opener{
		padding: 0;
		color:#fff;
		line-height: 40px;
		border-bottom: 1px solid #ddd;
	}
    .menu-container .head-menu ul#menu-header-menu li {
		font-size:16px;
		width: 100%;
		display: block;
		height:auto;
		text-align:center;
    }
    .menu-container .head-menu ul#menu-header-menu li a{
		width: 100%;
		display: block;
		height:40px;
		line-height:40px;
		box-sizing:border-box;
    } 
	.menu-container .head-menu ul#menu-header-menu li a::before{
		width:0;
		height:0;
		margin:auto;
	}
    .menu-container .head-menu ul#menu-header-menu li ul {
		position: relative;
		top:0;
		background:none;
    }
    .menu-container .head-menu ul#menu-header-menu li ul.normal-sub,
	.menu-container .head-menu ul#menu-header-menu li ul#menu-header-submenu {
		width: 100%;
		position: static;
		padding:0 10px;
		display:none;
		box-sizing:border-box;
		height:auto;
		background: none;
    }
	.menu-container .head-menu ul#menu-header-menu li ul#menu-header-submenu{
		background:#eaf7ff;
	}
	.menu-container .head-menu ul li ul.normal-sub li a{
		height:50px;
		line-height:50px;
		padding:0 0 0 20px;
		box-sizing:border-box;
	}
	.menu-container .head-menu ul li ul li,
	.menu-container .head-menu ul#menu-header-menu li ul#menu-header-submenu li{
        float: none;
        width: 100%;
    }
	.menu-container .head-menu ul#menu-header-menu li ul li a{
		padding:0;
		border-bottom:0;
		color:#333;
	}
	.menu-container .head-menu ul li ul li img,
	.menu-container .head-menu ul#menu-header-menu li ul#menu-header-submenu li img{
		display: none;
	}
    .menu-container .head-menu ul li ul li:first-child {
        margin: 0;
    }
    .menu-container .head-menu ul#menu-header-menu.show-on-mobile {
        display: block;
	}
	.menu-dropdown-icon::before{
		content:'↓';
		display: block;
		width:40px;
		height:40px;
		line-height:40px;
		text-align:center;
		padding:0;
		position:absolute;
		right:0;
	}
	
	#mv{
		background-size:cover;
	}
	#mv .container #mv_description{
		font-size:100%;
	}
	.front_nav ul li{
		width: calc(25% - 9px);
		margin-right: 12px;
	}
	.front_nav ul li a{
		font-size:70%;
		padding:10px 5px;
	}
	h1#page_title::after, 
	h2.page_title::after {
		margin:auto auto 45px;
	}
	.mt_title{
		margin-top:60px !important;
	}
	ul.feature li .feature_textarea .feature_btn{
		display:block;
	}
	ul.feature li .feature_textarea .feature_btn .btn{
		margin:5px auto;
	}
	#access .accesss_content .access_route{
		display:block;
	}
	#access .accesss_content .access_route .inner{
		width:100%;
		margin:10px auto;
	}
	#access .accesss_content .access_route .inner:first-child{
		margin-right:auto;
	}
	
	footer{
	}
	
	#information_list li{
		flex-wrap:wrap;
		font-size:90%;
	}
	#information_list li .update{
		width:100%;
	}
	#information_list li h4.information_title{
		width:calc(100% - 100px);
	}
	#information_list li .detail{
		width:100px;
	}
	footer .footer_menucol{
		display:block;
	}
	footer .footer_menucol .footer_logoarea{
		margin:auto;
		width:90%;
		text-align:center;
	}
	footer .footer_menucol .footer_logoarea img{
		width:240px;
		margin:auto;
	}
	footer .footer_menucol .footer_logoarea #footer_access{
		margin-top:5px;
		display:flex;
		justify-content:center;
		text-align:center;
		align-items:center;
	}
	footer .footer_menucol .footer_logoarea #footer_access p{
		margin:5px 10px;
		text-align:left;
	}
	footer .footer_menucol .footer_menu{
		width:100%;
		padding:0;
		margin-top:30px;
		justify-content:space-between;
	}
	footer .footer_menucol .footer_menu ul{
		padding:0;
	}
	
	/** PAGE **/
	
	ul.set li{
		width:32%;
	}
	ul.set li:nth-child(4n){
		margin-right:2%;
	}
	ul.set li:nth-child(3n){
		margin-right:auto;
	}
	
	ul.set.room_img li:first-child{
		width:100%;
		margin:auto auto 5px;
	}
	ul.set.room_img li:first-child img{
		max-width:600px;
	}
	
}




@media (max-width: 600px) {
	/**common**/
	body {
		font-size:13px;
	}
	header{
		padding:5px 0;
	}
	.container {
		padding: 0 10px;
	}
	header .container .header_logoarea{
		width:140px;
	}
	header .container .header_cvarea{
		width:calc(100% - 150px);
	}
	header .container .header_cvarea ul li.header_tel{
		display:none;
	}
	header .container .header_cvarea ul li.header_access a .inner{
		font-size:90%;
		padding:5px 15px  5px 25px;
		background-size:16px;
	}
	
	#mv .container #mv_description{
		font-size:90%;
	}
	.front_nav ul li{
		width: 32%;
		margin: 5px 2% 5px auto;
		border: 2px solid #f7fcff;
	}
	.front_nav ul li:nth-child(4n){
		margin-right: 2%;
	}
	.front_nav ul li:nth-child(3n){
		margin-right: auto;
	}
	.front_nav ul li a{
		font-size:64%;
	}
	
	ul.feature li .feature_textarea,
	ul.feature li .feature_image{
		float:none;
		width:100%;
	}
	ul.feature li .feature_image{
		margin:30px auto auto;
	}
	ul.feature li .feature_image img{
		max-width:480px;
	}
	
	.message .face{
		width:140px;
		padding:0 0 10px 10px;
	}
	.message .face img{
		width:100%;
	}
	.message .face .name{
		font-size:70%;
	}
	.message .message_textarea{
		float:none;
		width:auto;
	}
	.message .message_textarea .btn a{
		margin-left:auto;
	}
	
	.times_col{
		display:block;
	}
	.times_col .inner{
		border-right:0;
		border-bottom:1px solid #ddd;
		padding:10px;
	}
	.times_col .inner:last-child{
		border-bottom:0;
	}
	.times_col .inner h4{
		margin-bottom:auto;
	}
	.times_col .inner p{
		margin:5px auto;
	}
	
	footer .footer_menucol .footer_menu{
		flex-wrap:wrap;
		justify-content:space-between;
	}
	footer .footer_menucol .footer_menu ul{
		width:48%;
		margin:5px auto;
	}
	#information_list li{
		padding:10px;
	}
	#information_list li h4.information_title{
		width: calc(100% - 80px);
	}
	#information_list li .detail{
		width:80px;
		font-size:80%;
		background-size: 8px;
		padding-right: 14px;
	}
	
	#access .accesss_content .access_map iframe{
		height:300px;
	}
	h1#page_title::after, 
	h2.page_title::after {
		margin:auto auto 30px;
	}
	.mt_title{
		margin-top:45px !important;
	}
	
	
	/** PAGE **/
	table.scedule_table ,
	table.results_table,
	table.staff_table{
		margin:15px auto;
	}
	
	table.scedule_table th, 
	table.scedule_table td{
		padding:4px 7px;
	}
	table.scedule_table th.scedule_table01{
		width:34px;
	}
	table.scedule_table th.scedule_table02{
		width:46px;
	}
	table.scedule_table th.scedule_table03{
		width:100px;
	}
	table.scedule_table th.scedule_table04{
		width:calc(100% - 180px);
	}
	table.results_table th, 
	table.results_table td,
	table.staff_table th, 
	table.staff_table td{
		font-size:90%;
		padding:4px 7px;
	}
	table.staff_table ul li{
		margin:2px auto;
	}
	table.staff_table ul li::after {
    content: '/';
    margin: auto 5px;
	}
	#policy{
		padding:15px;
	}
}