@charset "UTF-8";

@media screen and (max-width: 1079.8px){	
    

}

@media screen and (max-width: 969.8px){	
    

}


@media screen and (max-width: 767.8px){	
    
    .apls-c {
        width: 100%;
    }
    .header-container {
        width: calc(100% - 30px);
    }
    .hamburger, .hamburger-close {

        width: 50px;
        height: 50px;
        background-size: 100%;
        top: 1.1rem;
        right: 1rem;
    }
    .price14 p, .price15 p {
        font-size: 0.7rem;
        letter-spacing: -1px;
    }
    .fc .fc-button {
        padding: 0.1rem 0.25rem;
    }
    .fc .fc-toolbar-title{
        font-size: 0.8rem;
    }
    .fc-daygrid-event-dot { /* the actual dot */
        margin: 0 2px;
        border: 2px solid;
    }
    .fc-daygrid-event { /* make root-level, because will be dragged-and-dropped outside of a component root */
        font-size: 0.4rem;
    }
    .fc-daygrid-dot-event {
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
    }
    .fc .fc-button {
        font-size: 0.8rem;
    }
    .fc-col-header-cell{
        font-size: 0.6rem;
    }
    .fc .fc-timegrid-axis-cushion, .fc .fc-timegrid-slot-label-cushion,.fc-list-event-time,.fc-list-event-title {
        font-size: 0.6rem;
    }
    .fc .fc-daygrid-day-number {
        right: -13px;
        font-size: 9px;
        letter-spacing: 1px;
    }
	/*20241025*/
	.trek-btn a {
		min-width:13rem;
	}
	/*20250910*/
	.rental-price2025 {
		white-space:nowrap;
		font-size:0.9rem;
		letter-spacing:0.05rem;
	}
	.rental-price2025 th, .rental-price2025 td{
		width:50%!important;
		text-align:center;
	}
}






@media only screen and (min-width: 768px) {
    /* ここにパソコン向けのCSSを記述 */ 
    html,body {
        font-size:18px;
    }
    .apls-c {
        width: 70%;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
	.single-page .apls-c {
		width:65%;
	}
	.accordion-container {
		margin-bottom:2rem;
	}
    .accordion-header h3 {
        font-size: 1.6rem;
    }
    .accordion-close a:link, .accordion-close a:visited {

        font-size: 1rem;

    }
    .accordion-inner h4 {
        margin:2.5rem 0;
    }
    .hamburger, .hamburger-close {       
        right: 24px;
		top:10px;
    }
	header {
		padding: 1.5rem 0;
	}
	p {
		font-size:1rem;
		line-height:215%;
	}
	.main-nav-header {
		padding:2rem 0;
	}
    main section:last-child {
        padding-bottom: 6rem;
    }
    .header-copy {
        display: flex;
        align-items: center;
        margin-left: 1rem;
		font-size:1.25rem;
		padding-top:0.25rem;
    }
    .header-copy span{
        font-size:2rem;
        display:inline-block;
        margin-left: 0.5rem;
		margin-top:0;
		padding-bottom:0.25rem;
    }
    .hero {
        height: inherit;
    }
    .slide {
        height: 50vw;
    }

    .front-btns {
        display: flex;
        justify-content: space-between;
    }
    .front-btns ul {
        width: calc(50% - 3px);
    }
	.front-btns a:link, .front-btns a:visited {
			font-size:1rem;

	}
    .fy-btn,.fg-btn,.fb-btn {
        margin-bottom: 0;
    }
    .top-concept {
        padding: 9vw 3rem 8vw 3rem;
        background-size: cover;
        background-position: center;
        background-image: url(image/concept_pc.jpg);
    }
    .top-concept-inner {
        width: 45%;
        padding: 3rem;
        margin-left: auto;
        margin-right: inherit;
        min-width: 400px;
    }
    .top-concept h2 {
        font-size: 2rem;
        letter-spacing: 0.1rem;
        margin-bottom: 0.5rem;
    }
    .top-concept p {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        font-size: 0.7rem;
        line-height: 170%;
        font-weight: 700;
        margin-bottom: 1rem;
    }
    .top-concept-btn a:link, .top-concept-btn a:visited {
        background-color: #FFF;
        color: #FF6900;
        font-size: 0.8rem;
    }
    .top-concept-btn a::before {
        background-image: url(image/m-arrow-o.svg);
    }
    .activity-border {
        width: calc(100% - 3rem);   
    }

    .activity-slider, .activity-slider-o {
        padding: 0 1.5rem;
        overflow: visible;
    }
    .activity-menu {
        background-color: #fff;
        border-radius: 12px;
        margin: 0 0.5rem;
    }
    .top-activity-imgY:before {
        padding-top: 42%;
    }
    .top-menu-b {
        width: calc(50% - 0.5rem);

    }
    .top-news-container ul li {
        padding-left:2rem;
        padding-right: 2rem;
    }
    .sonota-container {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .top-banners {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1rem;
        width: 90%;
    }
    .top-banners a{
        width: calc(33% - 0.5rem);
    }
    .top-access-container {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .googlemap iframe {
        height: 40vw;
    }
    .top-access-divider {
        width: calc(90% - 3rem);
        margin-left: auto;
        margin-right: auto;
    }

    .top-access-container h3 {
        font-size: 1.5rem;
    }
    .top-access-container h3 span {
        font-size: 1rem;
        display: inline-block;
    }
    .top-access-container p {
        font-size: 1rem;
        margin-bottom: 0;
        line-height: 110%;
    }
 
    .footer-nav2 {
        width: calc(33.333% - 1px);
        padding: 1.5rem;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff;
    }
    .footer-nav4 {
        display: flex;
        flex-direction: column;
        margin: 1.25rem 0;
    }
    .footer-nav4 li {
        width: inherit;
        max-width:14rem;
    }
    .footer-tel-btn {
        width: inherit;
        margin-top: 1.5rem;
        
    }
    .footer-tel-btn a:link, .footer-tel-btn a:visited {
        display: inline-flex;
        justify-content: space-between;
        align-items: center;
        border: none;
        color: #fff;
        border-radius: 100vh;
        text-align: center;
        font-weight: 700;
        font-size: 1.25rem;
        padding: 0px;
        line-height: 110%;
        padding: 0.5rem 1rem;
    }
    .footer-tel {
        font-size: 2rem;
        margin-right: 1rem;
        padding-top: 8px;
    }
    .tel-cap {
        font-size: 0.7rem;
        width: 40%;
        font-weight: 400;
        text-align: left;
        white-space: nowrap;
    }
    
    

    p.copyright {
        margin-bottom: 0;
        text-align: end;
        margin-top: 0;
    }
    .footer-btn a:link, .footer-btn a:visited{
        text-align: start;
        padding-left: 1rem;
        letter-spacing: 0.1rem;
        max-width: 14rem;
    }

    .footer-nav4 li a:link, .footer-nav4 li a:visited {
        text-align: start;
        padding-left: 1rem;
    }
    footer h2 {
        text-align: start;
    }
    .top-links ul {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
        justify-content: center;
    }
    .top-links ul li {
        width: calc(50% - 0.5rem);
        margin-bottom: 0;
    }
    .top-links ul li a:link, .top-links ul li a:visited {

        padding: 3rem;
    }

    .top-links ul li p {
        font-size: 1rem;
    }
    .main1 {
        object-position: left top;
    }
    .main2 {
        object-position: 60% center;
    }
    .main3 {
        object-position: 40% center;
    }
    .main4 {
        object-position: 35% center;
    }
    .main5 {
        object-position: 30% center;
    }
	.top-pc-container,.top-topics-container {
		width:70%;
		margin-left:auto;
		margin-right:auto;
	}
	.activity-border_pc {
		width:70%;
		margin-left:auto;
		margin-right:auto;
	}
	.category-link li a:link, .category-link li a:visited {
    padding: 0.25rem 0.6rem;
    background-color: #FF6900;
    color: #fff;
    margin-right: 0.25rem;
    font-size: 0.8rem;
	}
	.news-date {
		font-size:1rem;
	}
	.news-title h3 {
		font-size:1.1rem;
	}
	  .archive-category-list a:link, .archive-category-list a:visited {
		color: #fff;
		padding: 0.25rem 0.75rem;
		font-size: 1rem;
		font-weight: 700;
	  }
	  .archive-post-list .post-data h3 {
		font-size: 1.25rem;
		font-weight: 700;
	  }
	.archive-category-list {
		margin-bottom:1.5rem;
	}
    .category-list,.archive-category-list {
        margin-bottom: 3rem;
        padding-bottom: 1.5rem;
    }
	.yellow-container {
		padding-bottom:4rem;
	}
	.prev-arrow {
		top: calc(50% - 24px);
		left:2.5rem;
		transform: translateY(-50%);
		z-index: 10;
	}
	.next-arrow {
		top: calc(50% - 24px);
		right:2.5rem;
		transform: translateY(-50%);
		z-index: 10;
	}
	.top-news-container {
		padding-top:3rem;
		padding-bottom:3rem;
	}
	.top-news-container ul {
		width:90%;
		margin-left:auto;
		margin-right:auto;
	}
	.sonota-container {
		padding-bottom:4rem;
	}
	.top-links {
		padding-top:3rem;
		padding-bottom:3rem;
	}
	.top-menu-b-text {
    font-size:1.25rem;
	}
	 .googlemap iframe {
    width: 100%;
    height: 25vw;
    vertical-align: bottom;
  }
	.page-title h2 {
		font-size:2rem;
	}
	.top-access-container h3 span{
		display:block;	
		font-size:inherit;
	}
	.footer-nav2 {
		padding:3rem;
	}
	.main-nav2 {
		padding:1.5rem 3rem;
	}
	.main-nav h2{

		font-size: 1.6rem;
	}
	.main-nav-btn a:link, .main-nav-btn a:visited{
		background-color: #fff;
		display: block;
		padding: 0.25rem 0.25rem 0.25rem 0.75rem;
		border-radius: 100vh;
		text-align: center;
		font-weight: 700;
		font-size: 1.2rem;
		letter-spacing:0.1rem;
	}
	.main-nav-child {
		font-size: 1.1rem;
		letter-spacing: 0px;
		margin-left:2rem;
	}
	.main-nav-child li {
		margin-bottom: 0.8rem;
	}
		.main-nav1,.main-nav3{
		font-size:1.2rem;
	}
	.main-nav4 li a:link, .main-nav4 li a:visited {
		display: block;
		border: 1px solid #fff;
		background-color: #fff;
		color: #162642;
		border-radius: 100vh;
		text-align: center;
		font-weight: 700;
		font-size: 1.2rem;
		padding: 0.2rem;
	}
	.nav3-container ul{
		padding-left:4rem!important;	
	}
	.nav3-container ul:last-child {
		padding-left:5rem!important;
	}
	.head-topics {
		background-color: #FF6900;
		padding: 1rem 0;
		font-size: 1.25rem;
		text-align: center;
		width: 100%;
		position: absolute;
		top: 0px;
		left: 0px;
		z-index: 20;
		letter-spacing:0.1rem;
	}
	.head-topics-date {
		font-weight:400;
		font-size:0.9rem;
	}
	.hero h2 {
		position: absolute;
		left: 15%;
		bottom: calc(10% + 133.83px);
		color: #fff;
		font-size: 3rem;
		font-weight: 900;
		letter-spacing: 0.2rem;
		line-height: 150%;
		z-index: 20;

	}
	.f-container {
		width: 100%;
		padding-left: 3rem;
		padding-right: 3rem;
	}
	.footbtns {
		position: fixed;
		bottom: 0px;
		left: 0px;
		background-color: #fff;
		width: 100%;
		z-index: 9998;
		transform: translateY(100%);
		transition: 0.5s ease;
		font-size:1.25rem;
	}
	.footbtns-on {
		transform: none;
	}
	.footbtns ul{
		list-style-type: none;
		padding: 0;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.footbtns ul li {
		background-color: #FF6900;
		width: calc(33.333% - 3.333px);
		text-align: center;
		padding: 0.8rem 0;
		height: 65px;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	.footbtns ul li+li {
		margin-left: 5px;
	}
	.footbtns a:link, .footbtns a:visited {
		color: #fff;
		font-weight: 700;
		text-decoration: none;
	}
	.footbtn-arrow {
		width: 1.2rem;
		margin: 0 0 3px 2px;
	}
	.archive-post-list ul {
		margin-bottom:4rem;
	}
	.archive-post-list li {
		margin-bottom:3rem;
		padding-bottom:3rem;
	}
	.kids-nav-y a:link, .kids-nav-y a:visited {
        background-color: #FFD100;
        position: relative;
        font-size: 1.35rem;
        border-top: 1px solid #fff;
        letter-spacing: 0.15rem;
    }
    .adult-nav-g a:link, .adult-nav-g a:visited {
        background-color: #9DE100;
        position: relative;
        font-size: 1.35rem;
        border-top: 1px solid #fff;
        letter-spacing: 0.15rem;
    }
	.subpage-nav a:link, .subpage-nav a:visited {
        font-size: 1.1rem;
    }
    .adult-nav a::after {
        content:none;
    }

	.page-title-yellow {
        padding: 1.5rem 0;

    }
    .page-title-green {
        padding: 1.5rem 0;

    }
	.subpage-nav {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        overflow-x: hidden;
        z-index: 500;
    }
    .subpage-nav-sticky {
        position: sticky;
        top: 0;
        left: 0;
        width: 100%;
        overflow-x: hidden;
        z-index: 500;
    }
	.adult-page h2{
        color: #86AF14;
        font-weight: 900;
        text-align: center;
        margin-bottom: 1.5rem;
    }
    .kids-page h2, .adult-page h2{
        font-size: 2rem;
    }
    .kids-sub-body h3,  .adult-sub-body h3{
        font-size: 1.75rem;
    }
    .kids-sub-body h4,  .adult-sub-body h4{
        font-size: 1.75rem;
    }
    .adult-sub-btn a:link, .adult-sub-btn a:visited, .kids-sub-btn a:link, .kids-sub-btn a:visited {
        font-size:1.2rem;
    
    }
	.adult-sub-btn a::after, .kids-sub-btn a::after {
		width: 14px;
		height: 14px;
	}
    .free-textbox {
        color: #E60000;
        border: 1px solid #E60000;
        padding: 0.5rem 1rem;
        margin: 1rem auto 2rem auto;
        font-weight: 400;
        
        width:80%;
    }
    .free-textbox p {
        line-height: 150%;
        font-size: 0.75rem;
    }
    .page-slider img {
        margin: 0;
    }
    .detail-container {
        background-color: #F4F3EF;
        padding: 2rem;
        margin-bottom: 2rem;
    
    }
    .rental-reserve-notice li {
        margin-bottom: 0.5rem;
    }
    .rental-btn a:link, .rental-btn a:visited {

        font-size: 1.25rem;
    
    }
    .rental-btn a::after {
        content:'';
        width: 10px;
        height: 14px;
        background-image: url(image/m-arrow-w.svg);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: auto;
        vertical-align: 1px;
        display: inline-block;
        margin-left: 0.25rem;
    }

    .kids-sub-body table th {
        width: 6rem;
    }

    .kids-sub-body th, .kids-sub-body td, .adult-sub-body th, .adult-sub-body td {
        padding: 0.75rem 1rem;
    }
    .b-table th {
        width: 7rem;
    }
    .b-table th, .b-table td {
        padding: 0.75rem 1rem;
    }

    .privacy-link {
        font-size: 0.7rem;
        text-align: end;
        display: block;
        line-height: 170%;
    }
    .page-title-b {
        padding: 1.3rem 0;
    }
    .page-title-b h2{
        font-size: 2rem;
    }
    .topics-slide {
        margin-top: 3rem;
    }
    .condensed-font a span {
        transform: none;
        position: relative;
    }
    .schedule-btn {
        position: absolute;
        left: 2.5rem;
        top: calc(50% + 0.5rem);
        transform: translateY(-50%);
    }
    .schedule-btn a img {
        width: 3rem;
        height: auto;
    }
    .fc-daygrid-event { /* make root-level, because will be dragged-and-dropped outside of a component root */
        font-size: 0.7rem;
    }
    .fc table {
        font-size: 0.8rem;
    }
    .top-activity-pc-margin {
        padding-top: 0.25rem;
    }
    .gakudou-uketsuke-caption {
        line-height: 150%;
    }
	
	.kaigo_heading {
		font-size:1.25rem;
		font-weight:bold;
		text-align:center;
		letter-spacing: 0.03em;
	}
	
  }






  @media only screen and (min-width: 1050px) {
    .top-concept h2 {
        font-size: 2.7rem;
        letter-spacing: 0.1rem;
        margin-bottom: 1.4rem;
    }
    .top-concept h2 span {
        font-size: 1.3rem;
    }
    .top-concept p {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
        font-size: 0.9rem;
        line-height: 170%;
        font-weight: 400;
        margin-bottom: 2rem;
    }
    .top-concept-btn a:link, .top-concept-btn a:visited {
        background-color: #FFF;
        color: #FF6900;
        font-size: 1rem;
    }
  }