@charset "utf-8";

@media screen and (max-height:800px) {
	#access .container {
		background: url("../../images/src/common/bg_03.svg") no-repeat left 42vw bottom -20vh;
	}

}

@media screen and (min-width:641px) and (max-width:1900px) {
	#about .container {
		background: url("../../images/src/common/bg_01.svg") no-repeat left 30vw bottom -100px;
	}

}

@media screen and (min-width:641px) and (max-width:1830px) {
	.container {
		padding: 3vw calc(200px + 6.25vw) 3vw 3.125vw;
	}

}

@media screen and (min-width:641px) and (max-width:1180px) {
	#about .inner .text {
		width: 100%;
	}
	#plan .detail {
		width: 100%;
		margin-bottom: 3vw;
	}
	
	#plan .item {
		width: 100%;
		margin-bottom: 3vw;
	}

	#access .container {
		background: url("../../images/src/common/bg_03.svg") no-repeat right 220px bottom -80px;
	}
	
	#access .detail {
		width: 100%;
		margin-bottom: 2vw;
	}

	#access .map {
		width: 100%;
	}

	#access .map img {
		max-width: 80%;
	}

}

@media screen and (min-width:641px) and (max-width:1000px) {
	#contact .container {
		padding-bottom: calc(3vw + 200px);
	}

}

@media screen and (min-width:641px) and (max-width:800px) {

	#plan .container {
    padding-bottom: calc(3vw + 350px);
	}

	#access .container {
    padding-bottom: calc(3vw + 250px);
		background: url("../../images/src/common/bg_03.svg") no-repeat right 25vw bottom -80px;
	}
	
	#access .detail .inbox .text {
		width: 100%;
		margin-bottom: 2vw;
	}

	#access .detail .inbox figure {
		width: 100%;
		text-align: center;
	}

	#access .map img {
		max-width: 100%;
	}
}

/*SP用*/
@media screen and (max-width:640px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	.sp_tac { text-align: center !important; }
	.sp_tar { text-align: right !important; }
	.sp_mb15 { margin-bottom: 15px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }
	
	.sp_menu {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 1rem;
		right: 5vw;
		z-index: 1000;
		width: 40px;
		height: 40px;
		text-align: center;
		cursor: pointer;
	}
	
	.sp_menu span {
		display: block;
		width: 40px;
		height: 2px;
		background: #000;
	}

	nav {
		z-index: 99999;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		display: none;
		overflow: scroll;
		padding: 60px 3vw 19.37% 3vw;
		box-sizing: border-box;
	}
	
	nav .btnbox {
		position: fixed;
		top: 0;
		right: 0;
		width: 25vw;
		height: 100vh;
		background: #ffffff;
		border-left: 3px solid #000;
	}
	
	nav .closebtn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
    position: fixed;
    top: 1rem;
    right: 3.125vw;
    width: 40px;
    height: 40px;
    color: #ffffff;
    margin: 0;
    cursor: pointer;
	}

	nav .closebtn span {
		display: inline-block;
		width: 40px;
		height: 2px;
		background: #000;
	}

	nav .closebtn span:nth-child(1) {
		transform: rotate(30deg);
	}

	nav .closebtn span:nth-child(2) {
		transform: rotate(-30deg);
	}

	body:not(#top) header {
		border-bottom: none;
	}

	nav,
	#top header nav {
    animation: none;
    opacity: 1;
    width: 100%;
    padding: 30vw 0 0;
	}

	#top header nav ul {
		height: 100%;
		padding: 0 0 0 45px;
		border-left: none;
		background: #fff;
	}
	
	body:not(#top) header ul {
    display: block;
		height: 100%;
		padding: 0 0 0 45px;
		border-left: none;
		background: #fff;
	}
	
	header nav li:not(:last-child),
	#top header nav li:not(:last-child) {
		margin-bottom: 1em;
	}	

	body:not(#top) header ul a {
    display: inline-block;
    padding: 0;
    font-size: 28px;
	}

	body#top {
		overflow: hidden !important;
	}

	#top header h1 {
		width: 60vw;
		padding: 0 7vw 20px 5vw;
	}

	body:not(#top) header h1 {
		width: 60vw;
		padding: 0 7vw 20px 5vw;
		border-bottom: 3px solid #000;
	}

	#top .mv {
		animation: fadein 1s ease-in 0.5s 1 normal forwards;
		opacity:0;
		text-align: center;
	}

	#top .mv img {
		width: 100%;
		margin-top: 10vw;
	}
	
	#top #next {
		animation: fadein 1s ease-in 1.5s 1 normal forwards;
		opacity:0;
	}
	
	.container {
    padding: 10vw 5vw;
    font-size: 4.5vw;
	}
	
	.headline_01 {
    font-size: 4vw;
	}
	
	.headline_01 span {
    font-size: 6.5vw;
	}
	
	.headline_02 {
    font-size: 4vw;
		text-align: left;
	}
	
	.headline_02 span {
		display: inline-block;
    margin-right: 0.5em;
    font-size: 6.5vw;
	}
	
	.headline_03 {
    font-size: 5vw;
	}
	
	.headline_04 {
		margin-bottom: 0.5em;
    font-size: 5vw;
	}
	
	#next {
		position: absolute; 
		width: 50vw;
	}
	
	#next a {
    font-size: 6vw;
	}
	
	#next a span {
    font-size: 4vw;
	}

	#about .container {
    background: url(../../images/src/common/bg_01.svg) no-repeat left 5vw bottom -5vw / 55vw auto;
	}
	
	#about .inner figure {
		width: 100%;
		margin-bottom: 60vw;
    padding-right: 0;
		text-align: center;
	}
	
	about .inner figcaption {
    font-size: 5.5vw;
	}
	
	#about .inner figcaption span {
    font-size: 4.5vw;
	}
	
	#plan .container {
		padding-bottom: 60vw;
    background: url(../../images/src/common/bg_02.svg) no-repeat left 5vw bottom -15vw / 40vw auto;
	}
	
	#plan .detail {
    width: 100%;
	}
	
	#plan .item {
    width: 100%;
	}
	
	#plan .item figure {
		order: 2;
    width: 100%;
		padding: 2vw 0;
		text-align: center;
	}
	
	#plan .item dl {
		order: 1;
    width: 100%;
	}
	
	#plan .detail dt {
		margin-bottom: 0;
		width: 100%;
    font-size: 4.8vw;
	}
	
	#plan .detail dt span {
    font-size: 4.2vw;
	}
	
	#plan .detail dd {
		margin-bottom: 1em;
    font-size: 4vw;
	}
	
	#plan .detail dd.price {
		width: 100%;
		margin-bottom: 0.5em;
    font-size: 4.8vw;
	}
	
	#plan .item dt {
    font-size: 4.8vw;
	}
	
	#plan .item dt span {
    font-size: 4vw;
	}
	
	#plan .item dd {
    font-size: 4vw;
	}
	
	#plan .item .price {
    font-size: 4.8vw;
		text-align: right;
	}
	
	#plan .note {
		margin: 1em 0;
    font-size: 4vw;
	}
	#plan .kessai {
		margin: 4.831vw 7.246vw;
	}
	
	#access .container {
		padding-bottom: 60vw;
    background: url(../../images/src/common/bg_03.svg) no-repeat left 5vw bottom -20vw / 35vw auto;
	}
	
	#access .detail {
    width: 100%;
	}
	
	#access .detail .inbox .text {
		order: 2;
    width: 100%;
	}
	
	#access .detail .inbox figure {
		order: 1;
    width: 100%;
		padding: 0 10vw 5vw;
		text-align: center;
	}
	
	#access .detail .inbox .text address {
    font-size: 5vw;
	}
	
	#access .detail .inbox .text a {
    font-size: 5vw;
	}
	
	#access .sp.map {
    width: 100%;
    padding: 10vw 0 3vw;
	}
	
	#access .sp.map figure {
    width: 100%;
    padding: 0;
	}
	
	#contact .container {
    padding: 10vw 5vw 45vw;
    text-align: center;
    background: url(../../images/src/common/bg_04.svg) no-repeat right -15vw bottom -15vw / 80vw auto;
	}
	
	#contact .lead {
		margin-bottom: 0;
    font-size: 4.5vw;
	}
	
	#contact .sns {
    margin-bottom: 10vw;
	}
	
	#contact .sns .tel {
    display: block;
		width: 100%;
		text-align: center;
    margin: 0;
    font-size: 10vw;
	}
	
	#contact .sns .line {
    font-size: 5vw;
	}
	
	#contact p {
    font-size: 4vw;
	}
	
}

/* 印刷用 */
@media print {
  body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
@page { size: A4; margin: 12.7mm 9.7mm; }
body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}