* {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	color: #333333;
	font-size: calc(13px + 0.7vmin);
	font-family: sans-serif;
	font-style: normal;
	font-weight: 400;
	text-align: left;
	/* font-feature-settings: "pwid"; */
	/* font-feature-settings: "pkna"; */
	font-feature-settings: "palt";
	text-decoration: none;
	list-style: none outside;
	font-family: sans-serif;
}


div.clear {
	clear: both;
}
div.clear hr {
	display: hidden;
}
br {
	font-size: 0%;
	line-height: 0%;
}
html {
	height: 100%;
	width: 100vw;
}
#visual { height:100%; }

body {
	padding: 0;
	background: #fff6ee url("./layout/background_body.jpg") top left no-repeat;
	background-size: cover;
	height: 100%;
}
body.top {
	height: 100%;
	width: 100vw;
	padding: 0;
	background: #fff6ee;
}
div.top {
	width: 100%;
	height: 90%;
}
div.top a,
div.top a img {
	display: block;
	height: 60vh;
	margin: 0 auto;
	padding: 10vh 0;
}

header {
	margin: 0 5vw;
}
header a img {
	height: 10vh;
	margin: 2vh 0;
}
header p {
	font-weight: bold;
	color: #cc6666;
	margin: 2vh 3vw;
}
footer {
	clear: both;
	height: 10vh;
	background: #cc6666;
}
footer p {
	color: #ffffff;
	font-size: 2vh;
	line-height: 10vh;
	text-align: center;
}

span.title {
	padding: 0 1vw;
	margin: .5vh 1vw .5vh 0;
	font-size: 80%;
	color: #ffffff;
	background: #556666;
	border-radius: 1em;
	display: inline-block;
}
span.nobreak {
	display: inline-block;
	margin: 0 1vmin;
}
ul.nobreak {
	margin: 1vh 2vw;
}
ul.nobreak li {
	padding: 0 1vw;
	background: #fff7ee;
	margin: .5vh 1vw .5vh 0;
	line-height: 150%;
	border-radius: 1em;
	display: inline-block;
}


article {
	margin: 10vh 5vw 30vh 5vw;
}

article div.content_box {
	clear: both;
	margin: 4vh 0vw;
	padding: 3vh 2vw 10vh 2vw;
	background: #ffffff;
}

article h1 {
	font-size: calc( 16px + 0.9vmin );
	color: #ffffff;
	background: #cc6666;
	margin-bottom: 3vh;
	padding: 0 2vw;
	text-align: left;
}
article h2 {
	font-size: calc( 15px + 0.8vmin);
	line-height: 125%;
	font-weight: bold;
	color: #cc6666;
	margin: 3vmin 0;
	padding: 0 2vw;
	clear: right;
	text-align: left;
}
article h2 + p,
article h2 + figure {
	margin-top: 8vh;
}
article h3 {
	font-weight: bold;
	color: #55aa77;
	margin: 8vh 0vw 1vh 0vw;
	padding: 0vh 2vw;
	border-bottom: .2vh solid #55aa77;
	text-align: left;
}
article h3:before {
	content: "◆ ";
	color: #55aa77;
}
article h4 {
	font-size: calc( 16px + 0.7vmin);
	font-weight: bold;
	color: #606040;
	margin: 4vh 0vw 1vh 0vw;
	padding: 0vh 2vw;
	border-bottom: .2vh dotted #606040;
	text-align: left;
}
article h4:before {
  content: "◇ ";
}
article p {
	padding: 0 2vw;
}
article p + p {
	margin-top: 2vh;
}
article p.note {
	margin-top: 4vh;
	padding: 1vw 2vw;
	font-size: calc( 14px + 0.5vmin);
	color: #ee2277;
}
article p.note + p.note {
	margin-top: 0vh;
}
article p.qa_q {
	font-weight: bold;
	margin-top: 4vh;
}
article p.qa_a {
	margin-left: 4vw;
}
article ul li {
	margin: 2vh 2vw;
}
article ul li a {
	display: block;
	padding: 2vh 2vw;
	background: #fff6ee;
}
article ul li a::before {
	content: "● ";
	color: #cc6666;
}


article figure.right {
	float: right;
	width: 20vw;
	margin:  calc( .55vh + .55vw ) 2vw 2vh 4vw;
}
article figure.right img {
	width: 20vw;
}
article figure.right figcaption {
	font-size: calc( 12px + 0.3vmin);
	line-height: 120%;
	margin-top: calc( .5vh + .25vw );
	text-align: center;
}



article a.list * {
	margin: 0;
	padding: 0;
	border: 0;
	text-indent: 0;

	font-size: calc(12px + 0.3vmin);
	color: #333333;
	font-family: sans-serif;
	font-style: normal;
	font-weight: 700;

	/* font-feature-settings: "palt"; */
	hyphens: auto;
	text-decoration: none;
	list-style: none inside;
}
article a.list {
	display: block; /*box*/
	float: left;
	width: 320px;
	padding: 0 0 0 2vw;
	margin: 0vmin 0;
}
article a.list:hove {
	background: #f8f8ee;
}

article a.list img {
	width: 300px;
	height: calc( 300px / 16 * 9 );
	padding-top: 1vmin;
}
article a.list p {
	display: block; /*box*/
	height: 3.6em;
	overflow: hidden;
	font-size: calc(10px + 0.25vmin);
	font-family: sans-serif;
	font-style: normal;
	font-weight: 700;
	line-height: 120%;
}




article ul.schedules {
}
article ul.schedules li {
	background: #ffffff;
	border: 1px solid #cc6666;
	color: #cc6666;
	margin: 2vmin 0;
	padding: 2vmin 4vmin;
	line-height: 200%;
	font-weight: bold;
}
article ul.schedules li:before {
  content: "●　";
}


article div.report_photo {
	padding: 0 1vw;
	clear: both;
}
article div.report_photo figure {
	max-width: 20vw;
	margin: 0 2vw;
	float: left;
}
article div.report_photo figure img {
	max-width: 20vw;
}
article div.report_photo figure figcaption {
	font-size: calc( 1vh + .5vw );
}




dl.event,
dl.bank {
	clear: both;
	margin: 3vh 1vw;
	padding: 2vh 2vw;
}
dl.event dt,
dl.bank dt {
	float: left;
	width: calc( 8vh + 8vw );
	line-height: 150%;
	padding-left: 3vw;
}
dl.bank dt.title {
	float: left;
	width: 50vw;
	line-height: 125%;
	padding-left: 3vw;
	font-weight: bold;
	color: #606040;
}
dl.event dd,
dl.bank dd {
	padding-left: calc( 10vh + 10vw );
	padding-bottom: 1vh;
	line-height: 125%;
	margin-bottom: 1vh;
	border-bottom: .2vh dotted #55aa77;
	font-feature-settings: "palt";
}
dd h4 {
	margin: 0vh 0vw 1vh 0vw;
	line-height: 150%;
}
dd p + h4 {
	margin: 2vh 0vw 0vh 0vw;
}
dd p {
	margin: 0;
	font-size: calc( .9vh + .9vw );
	line-height: 125%;
}
dd a {
	margin: 0;
	line-height: 150%;
}


ul.orders {
	text-align: left;
	margin: 1vh 1vw;
	padding: 0vh 2vw;
}
ul.orders li {
	display: inline-block;
	background: none;
	margin: 1vh 1vw;
	padding: 1vh 2vw;
	font-size: calc( .9vh + .9vw );
	border: .2vh solid #606040;
	border-radius: calc( 2vh + 1vw );
}


@media screen and (orientation: landscape) {
	nav.menu_area_cp {
		display: none;
	}
	nav.menu_area {
		margin: 2vh 0vw;
	}
	nav.menu_area ul {
		text-align: left;
	}
	nav.menu_area ul li {
		display: inline-block;
		margin: 1vh 1vw;
		background: none;
	}
	nav.menu_area ul li a {
		margin: 1vh 2vw;
		color: #cc6666;
	}
	nav.menu_area ul li:hover {
		display: inline-block;
		background: #cc6666;
		border-radius: calc( 1.5vh + 1.5vw );
	}
	nav.menu_area ul li:hover a {
		margin: 0vh 2vw;
		color: #ffffff;
	}

	article figure.right_middle {
		float: right;
		width: 30vw;
		margin: calc( .55vh + .55vw ) 0 2vh 4vw;
	}
	article figure.right_middle img {
		width: 30vw;
	}
	article figure.right_middle figcaption {
		font-size: calc( 1vh + .5vw );
		line-height: 120%;
		margin-top: calc( .5vh + .25vw );
		text-align: center;
	}
	div.section {
		width: 48%;
		margin: 1%;
		float: left;
	}
}
@media screen and (orientation: portrait) {
	nav.menu_area {
		display: none;
	}
	.cp_offcm01 {
		position: fixed;
		top: 2vw;
		right: 2vw;
		display: inline-block;
	}
	/* menu */
	.cp_offcm01 .cp_menu {
		z-index: 5;
		position: fixed;
		top: 0;
		right: -100vw;
		width: 80vw;
		height: 100%;
		cursor: pointer;
		-webkit-transition: 0.53s transform;
			transition: 0.53s transform;
		-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
			transition-timing-function: cubic-bezier(.38,.52,.23,.99);
		background: #666666;
		opacity: 0.9;
	}
	.cp_offcm01 .cp_menu ul {
		margin: 0;
		padding: 0;
	}
	.cp_offcm01 .cp_menu li {
		list-style: none;
	}
	.cp_offcm01 .cp_menu li a {
		display: block;
		padding: 1.5vh;
		text-decoration: none;
		font-size: calc( 1.5vh + 1.5vw );
		color: #ffffff;
		border-bottom: .1vh solid #ffffff;
	}
	.cp_offcm01 .cp_menu li a.outlink {
		display: block;
		padding: 1.5vh;
		text-decoration: none;
		font-size: calc( 1.5vh + 1.5vw );
		color: #88ccff;
		border-bottom: .1vh solid #ffffff;
	}
	.cp_offcm01 .cp_menu li a:hover {
		background: #cc6666;
	}
	
	.cp_offcm01 #cp_toggle01 {
		position: absolute;
		display: none;
		opacity: 0;
	}
	.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
		-webkit-transform: translateX(-100vw);
			transform: translateX(-100vw);
	}
	/* menu toggle */
	.cp_offcm01 #cp_toggle01 ~ label {
		display: block;
		padding: 0.5em;
		cursor: pointer;
		-webkit-transition: 0.5s transform;
			transition: 0.5s transform;
		-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
			transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
		text-align: center;
		color: #333333;
	}
	.cp_offcm01 #cp_toggle01:checked ~ label {
		-webkit-transform: translateX(-80vw);
			transform: translateX(-80vw);
	}
	.cp_offcm01 #cp_toggle01 ~ label::before {
		content: '';
		display: inline-block;
		width: 8vw;
		height: 12vw;
		background-image: url(./layout/menu_on.png);
		background-size: contain;
		vertical-align: middle;
	}
	.cp_offcm01 #cp_toggle01:checked ~ label::before {
		content: '';
		display: inline-block;
		width: 8vw;
		height: 8vw;
		background-image: url(./layout/menu_off.png);
		background-size: contain;
		vertical-align: middle;
	}

	article figure.right_middle {
		width: 60vw;
		margin: 6vh auto;
	}
	article figure.right_middle img {
		width: 60vw;
	}
	article figure.right_middle figcaption {
		font-size: calc( 1vh + .5vw );
		line-height: 120%;
		margin-top: calc( .5vh + .25vw );
		text-align: center;
	}
	div.action_list {
		max-width: 640px;
		margin: auto;
	}
}



div.navi {
}
div.navi a {
	display: block;
	width: 70vw;
	margin: 2vh auto;
	padding: 0vh 5vw;
	border: .2vh solid #ee2277;
	text-indent: center;
}
div.navi a:hover {
	color: #ffffff;
	background: #cc6666;
}