@charset "utf-8";

/* layout =============================================================
		
	Header
	Footer
	Container
	Floating button
	Page Visual
	
======================================================================== */


/* =====================================================================

	Header
	
======================================================================== */
	header .navbar {
		padding: 0;
    opacity: 0.95;
		}
	.header-logo {
		display: block;
    width: calc( 300px/1.5 );
		height: 40px;
		background: url("../img/common/logo.svg") no-repeat left center;
		background-size: contain;
		text-indent: -9999px;
		margin-left: 35px;
		}
  .navbar-toggler-icon {		
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
		}
  .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
	  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2.5' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
		}
	.navbar-nav .nav-item a {
		font-size: 0.875rem; /*14px*/
		color: #FFFFFF;
		text-decoration: none;
    text-shadow: 2px 2px 1px rgba(0,0,0,1);
		}

  .header-subnav {
    width: 100%;
    }
	.header-subnav li a,
  .header-subnav .subnav-btn {
		display: block;
		padding: 8px 0;
		color: #122123;
    text-decoration: none;
    text-shadow: 1px 0px 1px rgba(0,0,0,0.4);
    font-weight: 500;
    background: rgba(229,229,211,1);
    background: -moz-linear-gradient(top, rgba(229,229,211,1) 55%, rgba(176,173,159,1) 100%);
    background: -webkit-linear-gradient(top, rgba(229,229,211,1) 55%,rgba(176,173,159,1) 100%);
    background: linear-gradient(to bottom, rgba(229,229,211,1) 55%,rgba(176,173,159,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e5d3', endColorstr='#b0ad9f',GradientType=0 );
		}
  .header-subnav li a.header-subnav--red {
    color: #FFFFFF;
    background: rgba(157,0,0,1);
    background: -moz-linear-gradient(top, rgba(157,0,0,1) 55%, rgba(87,0,0,1) 100%);
    background: -webkit-linear-gradient(top, rgba(157,0,0,1) 55%,rgba(87,0,0,1) 100%);
    background: linear-gradient(to bottom, rgba(157,0,0,1) 55%,rgba(87,0,0,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9d0000', endColorstr='#570000',GradientType=0 );
    }
  .header-subnav li svg {
    filter: drop-shadow(1px 0px 1px rgba(0,0,0,0.4));
    }
@media (max-width: 991px) {
  .navbar .navbar-collapse {
    overflow: auto;
    max-height: 70vh;
    }
  .header-logo {
    margin: 7px 0 7px 15px;
		}
	.navbar-nav .nav-item a {
		display: block;
		padding: 10px 0 10px 20px;
		}

	.header-subnav li {
		width: 33.3%;
		text-align: center;
		}
  .header-subnav li+li {
    border-left: solid 1px #0E2926;
    }
  /* オーバーレイ
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    z-index: 999;
    }
  */  
}
@media (min-width: 992px) {
	.navbar {
		height: 100px;
		}
	.header-logo {
		width: 300px;
    height: 100px;
    }
	.navbar-nav {
		display: table;
		border-spacing: 15px 0;
		}
	.navbar-nav .nav-item {
		display: table-cell;
    border-right: solid 1px #FFFFFF;
    line-height: 14px;
    padding-right: 1rem;
		}
  .navbar-nav .nav-item a {
    font-weight: 700;
    }
	.navbar-nav .nav-item a:hover {
		opacity: 0.6;
		}
  
  .header-subnav {
    width: auto;
    position: absolute;
    top: 0;
    right: 1rem;
    }
  .header-subnav li+li {
    margin-left: 10px;
    }
  .header-subnav li a,
  .header-subnav .subnav-btn {
    padding: 4px 1rem;
    }
  .header-subnav li a:hover {
    opacity: 0.7;
    }
}
@media (min-width: 992px) and (max-width: 1119.98px) {
	.header-logo {
    margin-left: 1rem;
    }
  .navbar-nav .row .col-lg-auto {
    padding: .2rem 0;
    }
}
@media (min-width: 1220px) {
	.header-logo {
		width: 400px;
    }  
}


/* =====================================================================

	Footer
	
======================================================================== */
	footer,
  footer a:link {
    color: #FFFFFF;
		}
	.footer-logo {
		display: block;
    max-width: 300px;
		height: 60px;
		background: url("../img/common/logo.svg") no-repeat left center;
		background-size: contain;
		text-indent: -9999px;
		}
  .footer-nav a {
    color: #FFFFFF;
    text-decoration: none;
    }
  .footer-nav a:hover {
    opacity: 0.6;
    }
  .footer-nav li {
    margin-bottom: .25rem;
    }
@media (max-width: 991.98px) {
  .footer-address {
    text-align: center;
    }
  .footer-logo {
    background-position: center center;
    margin: 0 auto;
    }
}


/* =====================================================================

	Container Width
	
======================================================================== */
@media (min-width: 1200px) {
	.container {
		max-width: 1030px;
		}
}

  .main-container {
    padding-bottom: 8rem;
    }
@media (min-width: 992px) {
  .main-container {
    padding-bottom: 250px;
    }
}


/* =====================================================================

	Floating button（追従するボタン）
	
======================================================================== */

/*	 Page Top
===================================================== */
	.p-pagetop {
    position: fixed;
    z-index: 2;
    right: 15px;
	  }
  .p-pagetop a {
		display: block;
		width: 50px;
		height: 50px;
    font-size: 10px;
    line-height: 110%;
    color: #FFFFFF;
		background-color: #003C3D;
		text-decoration: none;
	  }
@media (min-width: 992px) {
	.p-pagetop {
		right: 50px;
		}
	.p-pagetop a {
		width: 60px;
		height: 60px;
		}
  .p-pagetop a:hover {
    background-color: #3D0100;
    }
}


/* =====================================================================

	Page Visual
	
======================================================================== */
  .pageVisual {
    background: #fff center center no-repeat;
    background-size: cover;
    height: 180px;
    }
  .pageVisual-news, .pageVisual-404 { background-image: url("../img/common/pageVisual_news02.jpg"); }
  .pageVisual-contact { background-image: url("../img/common/pageVisual_contact.jpg"); }
  .pageVisual-course { background-image: url("../img/common/pageVisual_course.jpg"); }
  .pageVisual-access { background-image: url("../img/common/pageVisual_access.jpg"); }
  .pageVisual-facility { background-image: url("../img/common/pageVisual_facility.jpg"); }
  .pageVisual-fee { background-image: url("../img/common/pageVisual_fee.jpg"); }
@media (min-width: 768px) {
  .pageVisual {
    background-size: cover;
    height: 260px;
    }
  .pageVisual-news, .pageVisual-404 { background-image: url("../img/common/pageVisual_news-lg02.jpg"); }
  .pageVisual-contact { background-image: url("../img/common/pageVisual_contact-lg.jpg"); }
  .pageVisual-course { background-image: url("../img/common/pageVisual_course-lg.jpg"); }
  .pageVisual-access { background-image: url("../img/common/pageVisual_access-lg.jpg"); }
  .pageVisual-facility { background-image: url("../img/common/pageVisual_facility-lg.jpg"); }
  .pageVisual-fee { background-image: url("../img/common/pageVisual_fee-lg.jpg"); }
}
  

