/* @override 
	https://www.faithful-inc.com/css/base_2018.css */

@import 'https://fonts.googleapis.com/css?family=Roboto:100,400,500,700,900');

@import 'https://fonts.googleapis.com/css?family=Noto+Sans+JP');

/* Adelle Sans SemiBold */
@import "https://use.typekit.net/bwk7shw.css");

/*
font-family: 'Roboto', sans-serif;
font-weight: 100;
*/

/* #c63b72 */

@charset 'utf-8';

.classic-body{
	/*font-family: 'Noto Sans JP', YuGothic, '游ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
	color: #222;
}

.classic-body a:hover{
	-webkit-transition: all 0.15s ease-in;
	transition: all 0.15s ease-in;
	
	opacity: 0.8;
	text-decoration: none;
}
/*  */

.classic-body #box_wrapper{
	position: relative;
	overflow: hidden;
}

.classic-body main{
	width: 100%;
	overflow: hidden;
}


/*  */

.classic-body header{
	width: 100%;
	height: 92px;
	margin: 0 auto;
	
	display: flex;
	display:-webkit-flex;
	
	-webkit-flex-direction:row;
	flex-direction: row;
	
	-webkit-flex-wrap:wrap;
	flex-wrap: wrap;
	
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: flex-start; 
	justify-content: flex-start;
	
	overflow: visible;
	
	position: relative;
	z-index: 999999;
	
	position: fixed;
	transition: .3s;
}

.classic-body #site_id_side{
	display: none;
}

.classic-body header.is-animation{
	height: 50px;
	z-index: 999999;
	box-shadow: 0 0 7px rgba(34, 34, 34, 0.15);
}

.classic-body header.is-animation header h1{
	margin-top: 0;
}

.classic-body header.is-animation #site_id, .classic-body header.is-animation h2, .classic-body header.is-animation .typo_produced{
	display: none;
}

.classic-body header.is-animation #site_id_side{
	display: block;
}

.classic-body header.is-animation h1{
	margin-top: 0;
	/*width: 170px;*/
	width: 12%;
	height: auto;
}

.classic-body header.is-animation h1 img{
	width: 100%;
	height: auto;
}

@media screen and (max-width: 599px) {
	.classic-body header{
		/*height: 64px;*/
		height: 14vw;
		display: block;
	}
	
	.classic-body header.is-animation{
		height: 10vw;
		
		display: flex;
		display:-webkit-flex;
		justify-content: center;
		-webkit-justify-content: center; 
		align-items: center;
		-webkit-align-items: center;
		flex-direction: row;
		-webkit-flex-direction:row;
	}
	
	
}


.classic-body header h1{
	float: none;
	margin-left: 64px;
	margin-top: 0;
}

.classic-body header div.inner{
	float: none;
	width: auto;
	height: auto;
	margin-left: auto;
	margin-right: 76px;
}

@media screen and (max-width: 599px) {
	
	.classic-body header h1{
		width: 86vw;
		height: 14vw;
		margin-left: 0;
	}
	
	.classic-body header h1 a{
		
		display: block;
		width: auto;
		height: 14vw;
		margin: 0 auto;
		text-align: center;
	}
	
	.classic-body header.is-animation h1 a{
		height: auto;
	}
	
	.classic-body header h1 a img{
		width: auto;
		height: 8vw;
		margin-top: 3vw;
	}
	
	
	.classic-body header div.inner{
		display: none;
	}
	
	.classic-body header.is-animation h1{
		/*max-width: 60vw;*/
		width: 30vw;
		height: auto;
		margin: 0 0 0 4vw;
	}
	
	.classic-body header.is-animation h1 a img{
		margin-top: 0;
	}
	
	.classic-body header.is-animation div.inner{
		display: block;
		width: 50vw;
		margin-left: auto;
		margin-right: 12vw;
		
	} 
	
	.classic-body header.is-animation #site_id_side{
		width: auto;
		height: 6vw;
		margin-left: 2%;
	}
	
	
}


.classic-body header h2{
	float: left;
	display: inline-block;
	margin: 0;
	font-size: 12px;
	padding-top: 0.4em;
	margin-right: 0.8em;
	margin-bottom: 14px;
}

.classic-body header h2 strong{
	font-size: 14px;
}

.classic-body header div.inner p{
	text-align: right;
}

.classic-body header p.txt_time{
	font-size: 11px;
	line-height: 1;
	
	display: flex;
	display:-webkit-flex;
	-webkit-flex-direction:row;
	flex-direction: row;
	-webkit-flex-wrap:wrap;
	flex-wrap: wrap;
	
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: flex-end; 
	justify-content: flex-end;
	
	clear: both;
	margin-left: auto;
}

.classic-body header p.txt_time span{
	/*line-height: 2em;*/
	margin-right: 0.8em;
	padding-top: 0.3em;
}

.classic-body header p.txt_time strong{
	display: inline-block;
	font-family: 'Roboto';
	font-weight: 500;
	font-size: 20px;
	/*padding-top: 0.5em;*/
}

.classic-body header div.inner p.typo_produced{
	float: left;
}

@media screen and (max-width: 599px) {
	.classic-body header p.txt_time{
		font-size: 2.5vw;
		/* 8px */
		
		height: 8vw;
	}
	
	.classic-body header p.txt_time span{
		margin-right: 0;
		padding-top: 0;
	}
	
	
	.classic-body header p.txt_time strong{
		font-size: 3.75vw;
		/* 12px */
	}
	
	
	/*  */
}



/*  */

.classic-body #btn_nav{
	width: 64px;
	height: 92px;
	background-color: #c63b72;
	position: absolute;
	/*top: -92px;*/
	top: 0;
	right: 0;
	transition: .3s;
}

.classic-body header.is-animation #btn_nav{
	width: 50px;
	height: 50px;
}

@media screen and (max-width: 599px) {
	
	.classic-body #btn_nav{
		width: 14vw;
		height: 14vw;
	}
	
	.classic-body header.is-animation #btn_nav{
		width: 10vw;
		height: 10vw;
	}
}

.classic-body #btn_nav span{
  width: 24px;
  height: 2px;
  display: block;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -12px;
  
  transition: all 0.3s;
  transform: rotate(0deg);
}
.classic-body #btn_nav .top{
  transform: translateY(-8px);
}
.classic-body #btn_nav .bottom{
  transform: translateY(8px);
}

.classic-body #btn_nav:hover .top{
  transform: translateY(-12px);
}
.classic-body #btn_nav:hover .bottom{
  transform: translateY(12px);
}

@media screen and (max-width: 599px) {
	.classic-body #btn_nav:hover .top{
	  transform: translateY(-8px);
	}
	.classic-body #btn_nav:hover .bottom{
	  transform: translateY(8px);
	}
}



.classic-body #btn_nav.is-open .middle{
  background: rgba(255, 255, 255, 0);
}
.classic-body #btn_nav.is-open .top{
  transform: rotate(-45deg) translateY(0px);
}
.classic-body #btn_nav.is-open .bottom{
  transform: rotate(45deg) translateY(0px);
}

.classic-body #gnav{
	height: 92px;
	width: 100%;
	background-color: #c63b72;
	position: relative;
	z-index: 99999;
	
}

.classic-body header.is-animation + #gnav{
	position: fixed;
	height: 50px;
}

.classic-body #gnav ul{
	width: 100%;
	height: 50px;
	background-color: #c63b72;
	display: flex;
	display:-webkit-flex;
	-webkit-flex-direction:row;
	flex-direction: row;
	-webkit-flex-wrap:wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center; 
	justify-content: center;
	
	transition: 0.4s;
}

@media screen and (max-width: 599px) {
	.classic-body #gnav{
		height: 14vw;
	}
	
	.classic-body header.is-animation + #gnav{
		height: 10vw;
	}
	
}


.classic-body header.is-animation + #gnav ul{
	margin-top: -8px;
}

.classic-body #gnav ul.is-open{
	height: 50px;
	transform:translateY(92px);
}

.classic-body header.is-animation + #gnav ul.is-open{
	transform:translateY(58px);
	
}

@media screen and (max-width: 599px) {
	
	.classic-body #gnav ul{
		/*display: none;*/
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		
		padding: 0 2%;
		opacity: 0;
	}
	
	.classic-body #gnav ul.is-open{
		opacity: 1;
		transform:translateY(14vw);
	}
	
	.classic-body header.is-animation + #gnav ul.is-open{
		margin-top: -4vw;
		top: 10vw;
	}
	
	
}


.classic-body #gnav li{
	/*-webkit-flex-grow:1;
	flex-grow:1;*/
	
	/*height: 58px;*/
}

.classic-body #gnav li a{
	/*height: 58px;*/
	color: #fff;
	display: block;
	font-size: 16px;
	text-align: center;
	padding: 0 1.4em;
}

@media screen and (max-width: 599px) {
	
	
	.classic-body #gnav ul{
		max-width: 100vw;
		overflow: hidden;
/*		-webkit-flex-direction:column;
		flex-direction: column;*/
	}
	
	.classic-body #gnav ul.is-open{
		height: auto;
	}
	
	.classic-body #gnav li{
		/*width: 50%;*/
		width: calc(100%/3);
	}
	
	.classic-body #gnav li a{
		padding: 1em 0;
		
		font-size: 3.75vw;
		/* 12px */
		
	}
	
	.classic-body #gnav li:nth-child(-n+3) a{
		padding-bottom: 0.5em;
	}
	.classic-body #gnav li:nth-child(n+4) a{
		padding-top: 0.5em;
	}
	
}


/*  */

.classic-body section.box_access{
	clear: both;
	background-color: #fff;
	padding-top: 50px;
}

.classic-body section.box_access h4{
	font-size: 32px;
	font-family: 'Roboto';
	font-weight: 400;
	color: #c63b72;
	text-align: center;
}

.classic-body section.box_access h4 + p{
	text-align: center;
	margin-top: 1.2em;
}

.classic-body #gmap{
	margin-top: 20px;
	margin-bottom: 0;
	padding: 0;
	height: 355px;
}

@media screen and (max-width: 599px) {
	
	.classic-body section.box_access{
		width: 100%;
	}
	
	.classic-body section.box_access h4{
		font-size: 7.1875vw;
		/* 23px */
	}
	
	.classic-body section.box_access h4 + p{
		width: 94%;
		margin: 0.6em auto 0;
		font-size: 3.75vw;
		/* 12px */
	}
	
}



/*  */

.classic-body section#about{
	padding-top: 90px;
}

.classic-body section#about.box_about div.inner{
	width: 1024px;
	margin: 0 auto;
}

.classic-body section#about.box_about div.inner:after{
	content: '.';
	visibility: hidden;
	height: 0;
	clear: both;
	display: block;
}

.classic-body section#about h4{
	font-family: "myriad-pro";
	font-style: normal;
	font-weight: 400;
	
	font-size: 48px;
/*	font-family: adelle-sans;
	font-style: normal;
	font-weight: 300;*/
	text-align: center;
}

.classic-body section#about h4 + p{
	font-size: 14px;
	text-align: center;
	margin-top: 2.4em;
}

.classic-body section#about dl{
	width: 490px;
	float: left;
	margin-top: 46px;
}

.classic-body section#about dl:last-child{
	float: right;
}

.classic-body section#about dl:after{
	content: '.';
	visibility: hidden;
	height: 0;
	clear: both;
	display: block;
}

.classic-body section#about dt, .classic-body section#about dd{
	font-size: 16px;
	float: left;
	
	padding: 1em 0;
	
	border-top: 1px solid #dcd5b3;
	
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.classic-body section#about dt{
	font-weight: bold;
	width: 150px;
	clear: left;
	padding-left: 0.5em;
}

.classic-body section#about dd{
	width: 340px;
	/*padding-left: 150px;*/
}

.classic-body section#about dd a{
	
}

@media screen and (max-width: 599px) {
	.classic-body section#about{
		padding-top: 10vw;
	}
	
	.classic-body section#about.box_about div.inner{
		width: 92%;
		margin: 0 auto;
	}
	
	.classic-body section#about h4{
		/*font-size: 7.1875vw;*/
		/* 23px */
		
		font-size: 8.75vw;
		/* 28px */
	}
	
	.classic-body section#about h4 + p{
		font-size: 3.75vw;
		/* 12px */
		margin-top: 6vw;
	}
	
	.classic-body section#about h4 + p br{
		display: none;
	}
	
	.classic-body section#about dl{
		width: 100%;
		float: none;
		margin-top: 6vw;
	}
	
	.classic-body section#about dt, .classic-body section#about dd{
		font-size: 3.75vw;
		/* 12px */
	}
	
	.classic-body section#about dt{
		width: 34%;
	}
	
	.classic-body section#about dd{
		width: 66%;
	}
	
	
	
	
	
	
	
	
	
	
	/*  */
}




/*  */

.classic-body footer#foot{
	margin-top: 80px;
	padding-bottom: 100px;
}

.classic-body #box_foot #page_top{
	display: none;
	bottom: 5vw;
}

.classic-body #box_foot p{
	color: #fff;
}


@media screen and (max-width: 599px) {
	
	.classic-body #page_top img{
		opacity: 0.6;
	}
	
	.classic-body footer#foot{
		padding-bottom: 20vw;
	}
}












































/*  */




















