@charset "utf-8";

* {
	box-sizing: border-box;
}

html, body {
	font-size: 14px;
	font-weight: normal;
	color: #000;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
body {
	margin: 0;
}

iframe {
	max-width: 100%;
}
ul, li {
	list-style: none;
}
ul {
	margin: 0;
	padding: 0;
}
a img {
	max-width: 100%;
}

a.banner { display: block; }

.mb15 { margin-bottom: 15px; }
.mb30 { margin-bottom: 30px; }
.mb45 { margin-bottom: 45px; }
.mb60 { margin-bottom: 60px; }

.mt0 { margin-top: 0; }

.flex {
	display: flex;
}

.float-left { float: left; }
.float-right { float: right; }
.clearfix {

}
.clearfix::after {
	display: block;
	content: "";
	clear: both;
}


.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.container {
	width: 1000px;
	margin: auto;
}

a.link {
	color: #542F0B;
	font-weight: 800;
}

.blockTitle {
	color: #E9546B;
	font-weight: 800;
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
	margin-top: 0;
}

#mapImage {

}
#mapImage img {
	max-width: 100%;
}

table th.min,
table td.min {
	width: 1%;
	white-space: nowrap;
}

.listSection .wrap table .min.sakuraName {
	width: 250px;
}

/**
* pankuzu
*/
#pankuzu {
	padding: 15px 0;
}
#pankuzu ul {
	display: flex;
	justify-content: flex-start;
}
#pankuzu ul li {
	display: block;
}
#pankuzu ul li:after {
	content: ">";
	margin-right: 1rem;
}
#pankuzu ul li a {
	display: inline-block;
	text-decoration: none;
	margin-right: 1rem;
}
#pankuzu ul li:last-child:after {
	display: none;
}

/**
* header image
*/
#headerImage {
	position: relative;
}
#headerImage:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(../img/slide-text.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 60% auto;
	width: 100%;
	height: 100%;
	z-index: 10000;
}


/**
* site header
*/
#siteHeader {

}
#siteHeader #catch {
	text-align: center;
	padding: 15px 0;
}
.gnavContainer {
	background-image: url(../img/gnav-pink.png);
	background-repeat: repeat-x;	
}
#gnavWrap {	
	background-image: url(../img/gnav-bg.png);
	background-repeat: repeat;
}
#gnav {
	display: flex;
	justify-content: flex-start;
}
#gnavLogo {
	width: 40%;
	margin-right: 30px;
}
#gnavLogo img {
	max-width: 100%;
	max-height: 100%;
	display: block;
}
#gnav ul.pc {
	display: -webkit-flex;
	display: flex;
	justify-content: flex-start;
	width: 60%;
	align-items: center;
}
#gnav ul.pc li {
	display: block;
	width: 100%;
	/*height: 70%;*/
	height: 100px;
}
#gnav ul.pc li a {
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	text-align: left;
	text-indent: -10000px;
	padding: 10px;
	border-left: 1px solid #FFFCDB;
	height: 100%;
}
#gnav ul.pc li:last-child a {
	border-right: 1px solid #FFFCDB;
}
#gnav ul.pc li a:hover {
	opacity: 0.8;
}
#gnav ul.pc li a.g1 {
	background-image: url(../img/gnav1-2.png);
}
#gnav ul.pc li a.g2 {
	background-image: url(../img/gnav2-2.png);
}
#gnav ul.pc li a.g3 {
	background-image: url(../img/gnav3-2.png);
}
#gnav ul.pc li a.g4 {
	background-image: url(../img/gnav4-2.png);
}
#gnav ul.pc li a.g5 {
	background-image: url(../img/gnav5-2.png);
}




/**
* contents
*/
#main {
	background: #FFFCDB;
	padding-bottom: 60px;
}
#main .mainWrap {
	display: flex;
	justify-content: space-between;
}

#main .sideCol {
	width: 310px;
}

#main .mainCol {
	width: 675px;
}

.toppage #main .mainCol {
	width: 1000px;
	padding-top: 30px;
}

/**
* top page
*/
#topContainer {
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding-bottom: 5px;
	margin-bottom: 15px;
	border-bottom: 1px dashed #542F0B;
}
#topContainer .topLeft,
#topContainer .topRight {
	width: 49%;
}
#topContainer iframe {
	border: 1px solid #C80E47;
	border-color: rgba(200, 14, 71, 0.65);
}
.topLinks {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.topIntro {
	text-align: center;	
	font-weight: 800;
	font-size: 1.2rem;
	color: #542F0B;
}
#topContainer a.banner {
	margin-bottom: 15px;
	box-shadow: 0 0 5px #ccc;
}
#topContainer a.banner img {
	display: block;
}

.topicsContainer .listTitle {
	margin-top: 1rem;
	margin-bottom: 5px;
}
.topicsContainer .listTitle:before {
	width: 28px;
	height: 30px;
}
.topicsWrapper {
	background: #FEEAB4;
	padding: 15px;
}
.topicsWrapper .topics {
	background: #fff;
	padding: 0.5rem;
	/*height: 220px;*/
	height: 305px;
	overflow-y: scroll;
	overflow-x: hidden;
}
.topics table {
	width: 100%;
}
.topics table td {
	vertical-align: top;
}
.topics table td.top {
	vertical-align: top;
	white-space: nowrap;
	width: 1%;
	padding-right: 0.5rem;
}
.topics table td.date {
	white-space: nowrap;
	width: 1%;
	padding-right: 0.5rem;
}
.topics table td.note {
	padding-bottom: 1rem;
}
.topics table td h3 {
	margin-top: 0;
	margin-bottom:0.5rem;
}
.topics table td p {
	margin-top: 0;
	margin-bottom: 0;
	line-height: 1.5;
}
.topics .new {
	font-weight: bold;
	padding: 0.5rem;
	background: #F9D0C6;
	display: block;
}


/**
* contents > side nav
*/
.sideNav {
	background: #fff;
	padding-bottom: 0;
	margin-bottom: 15px;
}
.sideNav .sideSakuraTitle {
	margin-bottom: 10px;
}
.sideNav .links {
	padding-bottom: 15px;
}
.sideNav .links h3 {
	margin-top: 0;
	margin-bottom: 0;
}
.sideNav .links h3 a {
	display: block;
}
.sideNav .links ul {
	padding-bottom: 5px;
}
.sideNav .links ul li {
	padding-left: 2em;
}
.sideNav .links ul li a {
	display: block;
	color: #000;
	text-decoration: none;
	line-height: 1.8
}
.sideNav .links ul li a:hover {
	text-decoration: underline;
	color: #0af;
}

.sideCol .banner {
	display: block;
	margin-bottom: 15px;
}
.sideLinks {
	margin-bottom: 30px;
}
.sideLinks ul {

}
.sideLinks ul li {
	margin-bottom: 1rem;
}
.sideLinks ul li a {
	display: block;
	color: #542F0B;
	background-image: url(../img/icon-side-sakura.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 100%;
	padding-left: 30px;
	text-decoration: none;
}
.sideLinks ul li a:hover {
	text-decoration: underline;
}



/**
* contents > view
*/
#sakuraMap {
	
}
#sakuraMap .flex {
	align-items: center;
	justify-content: space-between;
}
.sakuraTitle {
	background-image: url(../img/sakura-title2.png);
	background-repeat: no-repeat;
	padding: 35px 10px 30px 105px;
	min-height: 95px;
	font-weight: 800;
	font-size: 1.6rem;
	color: #542F0B;
	width: 100%;
}
.sakuraTitle.single {
	background-image: url(../img/sakura-title3.png);
	background-size: 100% auto;
	min-height: 110px;
	font-size: 1.8rem;
}
.sakuraTitle.area {
	padding-top: 10px;
	padding-right: 40px;
}
#sakuraMap .btnPdf {
	padding-top: 10px;
}


.listSection {
	margin-bottom: 30px;
}
.listTitle {
	color: #542F0B;
	font-weight: 800;
	font-size: 1.6rem;
	margin-bottom: 10px;
}
.listTitle:before {
	content: " ";
	display: inline-block;
	background-image: url("../img/icon-sakura-list-title.png");	
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 40px;
	height: 40px;
	margin-bottom: -7px;
	margin-right: 0.5rem;
}
.listSection a {
	color: #542F0B;
	font-weight: 800;
}
.listSection .wrap {
	background: #FEEAB4;
	padding: 30px;
}
.listSection .wrap table {
	width: 100%;
	margin-bottom: 15px;
}
.listSection .wrap table, .listSection .wrap table th, .listSection .wrap table td {
	border-collapse: collapse !important;
	border: 1px solid #542F0B !important;	
	font-size: 1.1rem;
}
.listSection .wrap table th, .listSection .wrap table td {
	padding: 0.25rem 1rem;
}
.listSection .wrap table thead th {
	background: #FBE6EF;
	color: #542F0B;
	text-align: center;
	font-weight: 800;
}
.listSection .wrap table tbody td {
	background: #fff;
}
.listSection .wrap table .min {
	width: 1%;
	white-space: nowrap;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.listSection .wrap table a {
	text-decoration: none;
	color: #000;
}
.listSection .wrap table a:hover {
	text-decoration: underline;
	color: #0af;
}
.listSection .kaikaIcon img {
	width: 35px;
	height: auto;
	vertical-align: middle;
}


/**	
* sakura article
*/
article#sakura {

}
#sakura .infoTable {

}
#sakura .infoTable {
	width: 100%;
	margin-bottom: 15px;
}
#sakura .infoTable, #sakura .infoTable th, #sakura .infoTable td {
	border-collapse: collapse !important;
	border: 1px solid #542F0B !important;	
}
#sakura .infoTable th, #sakura .infoTable td {
	padding: 0.5rem 1rem;
}
#sakura .infoTable tbody th {
	background: #FDEFF5;
	color: #E5004F;
	text-align: center;
	font-weight: 800;
	width: 110px;
}
#sakura .infoTable tbody td {
	background: #fff;
}
#sakura .infoTable a {
	text-decoration: none;
	color: #0af;
}
#sakura .infoTable a:hover {
	text-decoration: underline;
	color: #0af;
}

#sakura .sakuteNote {
	margin-bottom: 30px;
}
#sakura .sakuraNote img {
	padding: 15px 0;
}
#sakuraSlide {

}
#sakuraSlide .bx-controls {
	position: relative;
	top: -60px;
}
#sakuraSlide .bx-wrapper .bx-viewport {
	left: 0;
}
#sakuraSlide .bx-wrapper .bx-pager.bx-default-pager a {
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background: #666;
}
#sakuraSlide .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #fff;
}

/**
* kaika
*/
#kaikaHeader {
	margin-top: 13px;
}
#kaikaHeader .kaikaTable {
	width: 100%;
	margin-bottom: 30px;
}
#kaikaHeader .kaikaTable .title {
	margin: 0;
}
#kaikaHeader .kaikaTable .title + div {
	padding-left: 1rem;
}


/**
* single page
*/


/**
* chishiki
*/
.chishiki .flex {
	justify-content: space-between;
}
.chishiki .flex .note {
	width: 65%;
}
.chishiki .flex .note a {
	display: block;
	margin-top: 30px;
}
.chishiki .flex .imgList {
	width: 30%;
}
.chishiki .flex .imgList img {
	max-width: 100%;
	display: block;
	margin-bottom: 1rem;
	border: 5px solid #fff;
	box-shadow: 0 0 5px #ddd;
}


/**
* sketch
*/
.note {
	font-size: 1.2rem;
	line-height: 1.8;
}
.note img.float-left {
	padding-right: 1rem;
	padding-bottom: 1rem;
}
.note img.float-right {
	padding-left: 1rem;
	padding-bottom: 1rem;
}

.sketchNote {
	background: #FBE6EF;
	padding: 1rem 2rem;
	margin-top: 30px;
	margin-bottom: 30px;
	border-radius: 10px;
}
.sketchNote .username {
	margin: 0;
}
.gallery-list {
	margin-bottom: 45px;
}
.gallery-list table {
	table-layout: fixed;
	width: 100%;
}
.gallery-list a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #000;
	padding: 0.5rem 0;
}
.gallery-list a img {
	display: block;
	margin: auto;
}

/**
* kihon
*/
.kihonTitle {
	font-size: 1.5rem;
	font-weight: 800;
}
.kihonTitleSub {
	font-size: 1.2rem;
	font-weight: 800;
}

/**
* unei
*/
.note .has-img.float-right {
	padding-left: 1rem;
	padding-bottom: 1rem;
}
.note .has-img.float-left {
	padding-right: 1rem;
	padding-bottom: 1rem;
}

.note .has-img img {
	box-shadow: 0 0 5px #ccc;
}
.uneiNote {
	background: #E2EDBA;
	padding: 1rem 2rem;
	margin-top: 30px;
	margin-bottom: 30px;
	border-radius: 10px;
}

/**
* sitemap 
*/
#sitemap-list {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
}
#sitemap-list .col {
	width: 50%;
}
#sitemap-list .col > ul {

}
#sitemap-list .col > ul > li {
	padding-bottom: 0.5rem;
}
#sitemap-list .col > ul > li > a {
	color: #E9546B;
	font-weight: 800;
	text-decoration: none;
}
#sitemap-list .col > ul > li > a:hover {
	text-decoration: underline;
}
#sitemap-list .col .sub > ul {
	padding-left: 1rem;
}
#sitemap-list .col .sub > ul > li {
	padding-bottom: 0.5rem;
}
#sitemap-list .col .sub > ul > li > a {
	color: #000;
	text-decoration: none;
}
#sitemap-list .col .sub > ul > li > a:hover {
	text-decoration: underline;
}


/**
* site footer
*/
#siteFooter {
	padding-top: 30px;
	padding-bottom: 30px;
	background: #F8C9C9;
}
#siteFooter .wrap {
	display: flex;
	justify-content: space-between;
}


#footerNav {
}
#footerNav ul {
	display: flex;
	justify-content: flex-start;
}
#footerNav ul li {

}
#footerNav ul li a {
	display: block;
	text-decoration: none;
	color: #000;
	padding-top: 1px;
	padding-left: 30px;
	margin-right: 1rem;
	background-image: url(../img/icon-nav-arrow.png);
	background-repeat: no-repeat;
	background-position: left center;
}
#footerNav ul li a:hover {
	text-decoration: underline;
}


/**
* tekuteku
*/
.page-tekuteku .bannerTitle {

}
.page-tekuteku .bannerTitle img {

}
.page-tekuteku .courseList {
	display: flex;
	flex-wrap: nowrap;
	margin-bottom: 3rem;
}
.page-tekuteku .course {
	position: relative;
}
.page-tekuteku .course .img {

}
.page-tekuteku .course .img img {
	height: 220px;
}
.page-tekuteku .course .comment {
	position: relative;
	border: 4px solid #955E4B;
	border-radius: 1rem;
	padding: 1rem;
	margin-left: 1rem;
	margin-right: 1rem;
	background: #fff;
}
.page-tekuteku .course .comment:before {
	content: "";
	display: block;
	width: 0;
	height: 30px;
	position: absolute;
	top: 92%;
	left: 70px;
	border-top: 30px solid #fff;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
	z-index: 100;
}
.page-tekuteku .course .comment:after {
	content: "";
	display: block;
	width: 0;
	height: 30px;
	position: absolute;
	top: 100%;
	left: 70px;
	border-top: 30px solid #955E4B;
	border-left: 18px solid transparent;
	border-right: 18px solid transparent;
	z-index: 10;
}
.page-tekuteku .course.no1 .comment:before {
	left: 65px;
}
.page-tekuteku .course.no1 .comment:before,
.page-tekuteku .course.no1 .comment:after {
	transform: skewX(30deg);
}
.page-tekuteku .course.no3 .comment:before {
	left: 75px;
}
.page-tekuteku .course.no3 .comment:before,
.page-tekuteku .course.no3 .comment:after {
	transform: skewX(-30deg);
}

.page-tekuteku .people {
	margin-bottom: 3rem;
}
.page-tekuteku .iconDescription {
	margin-bottom: 3rem;

}
.page-tekuteku .iconDescription .top {
	background: #73CAF3;
	color: #fff;
	text-align: center;
	font-size: 1.25rem;
	font-weight: 800;
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	padding: 0.5rem 0;
}
.page-tekuteku .iconDescription .bottom {
	background: #fff;
	display: flex;
	border-bottom-left-radius: 1rem;
	border-bottom-right-radius: 1rem;

}
.page-tekuteku .iconDescription .bottom ul {
	display: flex;
	flex-wrap: nowrap;
	padding: 0 1rem;
}
.page-tekuteku .iconDescription .bottom li {
	display: block;
	text-align: center;
	padding: 0.5rem;
}
.page-tekuteku .iconDescription .bottom li img{
	display: block;
	max-width: 100%;
	margin-bottom: 0.5rem;
}
.page-tekuteku .iconDescription .bottom li span {
	font-weight: 800;
}

