@charset "UTF-8";
/*

    Toppage

*/

/*  Caution  */
body.toppage #c_content #top-caution {
}
body.toppage #c_content #top-caution a {
	display: block;
	padding: 0.75em 0;
	background-color: #666666;
	color: #ffffff;
	font-size: 1.5rem;
	text-align: center;
}

/*  Topimage  */
body.toppage #c_content #topimage div.content {
	margin: 0 0 10px 0;
}
body.toppage #c_content #topimage div.content ul {
	position: relative;
	width: 100%;
	margin: 0;
	padding-bottom: 47.5%;
	overflow: hidden;
}
body.toppage #c_content #topimage div.content ul li {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	margin: 0;
	list-style: none;
	background-color: #eeeeee;
}
body.toppage #c_content #topimage div.content ul li img {
	width: 100%;
}
body.toppage #c_content #topimage div.index {
	margin: 15px 0;
	text-align: center;
}
body.toppage #c_content #topimage div.index a {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	background-color: #cccccc;
	border-radius: 6px;
	cursor: pointer;
}
body.toppage #c_content #topimage div.index a.current {
	background-color: #999999;
}

/*  Items layout  */
body.toppage #items {
	display: flex;
	flex-wrap: wrap;
	margin-left: 15px;
}
body.toppage #items div.item {
	width: 100%;
	padding: 0.5em 0;
}
body.toppage #items div.item.wide-half {
	width: 50%;
	padding: 0.25em 0;
}
body.toppage #items div.item.wide-one-third {
	width: 33.3%;
	padding: 0.25em 0;
}
body.toppage #items div.item.only-narrow {
	display: none;
}

/*  free  */
body.toppage #c_main div.piece {
	margin: 0;
}
body.toppage #c_main div.piece img {
	margin-bottom: 0;
}

/*  banner  */
body.toppage #items div.item div.banner {
	padding-right: 15px;
}

/*  About  */
body.toppage #c_main #about .content {
	margin: 15px;
}

/*  News  */
body.toppage #c_main #newslist {
	margin: 0 15px 0 0;
	padding: 10px;
	background-color: #eeeeee;
	box-sizing: border-box;
}
body.toppage #c_main #newslist header {
	position: relative;
	background: none !important;
}
body.toppage #c_main #newslist header h2 {
	margin: 0 0 1em;
	color: #333333;
}
body.toppage #c_main #newslist header h2:before {
	content: none;
}
body.toppage #c_main #newslist header a {
	position: absolute;
	top: 3px;
	right: 0;
	color: #333333;
}
body.toppage #c_main #newslist ul li {
	border-bottom: none;
	border-top: 1px #cccccc dotted;
}
body.toppage #c_main #newslist ul li:first-child {
	border-top: none;
}
body.toppage #c_main #newslist ul li a {
	color :#333333;
}
body.toppage #c_main #newslist ul li a .date {
	color: #333333;
}

/*  Map  */
body.toppage #c_main #map {
	margin: 15px;
}

/*  Timetable  */
body.toppage #c_main #timetable {
	margin: 15px;
}

/*  Consultation  */
body.toppage #c_main #consultation {
	width: 100%;
	margin: 40px 0;
	overflow: hidden;
}
body.toppage #c_main #consultation .content {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding-right: 10px;
}
body.toppage #c_main #consultation .content .item {
	width: 25%;
	padding: 5px;
	box-sizing: border-box;
}
body.toppage #c_main #consultation .content .item h3 {
	margin: 0;
}
body.toppage #c_main #consultation .content .item h3 a {
	display: block;
	padding: 10px 10px 5px;
	background-color: #eeeeee;
	border-bottom: 1px #666666 solid;
	color: #666666;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
}
body.toppage #c_main #consultation .content .item h3 span {
	display: block;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 20px;
	color: #666666;
}
body.toppage #c_main #consultation .content .item p {
	margin: 0;
	padding: 1em 0.5em;
	border-bottom: 1px #cccccc dashed;
}
body.toppage #c_main #consultation .content .item p a,
body.toppage #c_main #consultation .content .item p span {
	display: block;
	position: relative;
	padding-left: 1em;
	color: #000000;
}
body.toppage #c_main #consultation .content .item p a {
	text-decoration: underline;
}
body.toppage #c_main #consultation .content .item p a:before,
body.toppage #c_main #consultation .content .item p span:before {
	content: '\30fb';
	position: absolute;
	top: 0;
	left: 0;
}




/*

    News

*/

/*  News list  */
#c_main #newslist .content ul {
	margin: -0.75em 0 0;
}
#c_main #newslist .content ul li {
	margin: 0;
	list-style: none;
	border-bottom: 1px #cccccc dashed;
}
#c_main #newslist .content ul li a {
	display: block;
	padding: 0.75em 0;
	color: #000000;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
#c_main #newslist .content ul li a .date {
	display: inline-block;
	width: 10em;
	color: #666666;
}

/*  Pagination  */
#c_main #newslist footer .paging ul {
	margin: 15px 15px 0;
	text-align: center;
}
#c_main #newslist footer .paging ul li {
	display: inline-block;
	margin: 0 3px 10px;
	border: 1px #666666 solid;
}
#c_main #newslist footer .paging ul li a,
#c_main #newslist footer .paging ul li span {
	display: block;
	height: 2em;
	width: 2em;
	line-height: 2;
	color: #000000;
}
#c_main #newslist footer .paging ul li span {
	background-color: #f2f2f2;
}

/*  News detail  */
body.news #c_main #newsdetail header p {
	margin: 0 -25px;
	text-align: right;
	color: #666666;
}
body.news #c_main #newsdetail .content {
	margin-bottom: 25px;
	border-bottom: 1px #cccccc dashed;
}
body.news #c_main #newsdetail footer {
	text-align: center;
}
body.news #c_main #newsdetail footer a {
	display: inilne-block;
	padding: 3px 10px;
	border: 1px #cccccc solid;
	color: #666666;
	border-radius: 3px;
}





/*

    Firsttime

*/
body.firsttime #c_main #flow {
	margin-top: 25px;
	margin-left: 30px;
}
body.firsttime #c_main #flow ol {
	margin: 0;
}
body.firsttime #c_main #flow ol li {
	clear: left;
	margin: 0;
	min-height: 100px;
	list-style: none;
}
body.firsttime #c_main #flow ol li .icon {
	float: left;
	width: 100px;
	height: 100px;
	border-radius: 50px;
	background-position: center center;
}
body.firsttime #c_main #flow ol li .icon.right { background-image: url("images/right.arrow.png");}
body.firsttime #c_main #flow ol li .icon.down  { background-image: url("images/down.arrow.png");}
body.firsttime #c_main #flow ol li strong {
	display: block;
	margin-left: 130px;
	padding: 30px 0;
	line-height: 1.25;
	font-size: 20px;
	font-size: 2rem;
}
body.firsttime #c_main #flow ol li span {
	display: block;
	margin-left: 130px;
}





/*

    Director

*/
body.director #c_main section {
	margin-left: 30px;
}
body.director #c_main section h2 {
	margin-left: 0;
}
body.director #c_main #profile img {
	display: block;
	margin-top: 20px;
	max-width: 240px;
}
body.director #c_main #profile .name {
	margin-top: 15px;
}
body.director #c_main #profile .name strong {
	margin: 0 0.75em;
	font-size: 20px;
	font-size: 2rem;
	font-weight: normal;
}
body.director #c_main #profile .name span.en {
	font-size: 20px;
	font-size: 2rem;
	color: #666666;
}





/*

    About

*/
body.about #c_main section {
	margin-left: 30px;
}
body.about #c_main section #description {
	font-size: 18px;
	font-size: 1.8rem;
}
body.about #c_main section ul {
	margin: 0;
}
body.about #c_main section ul li {
	margin: 0 0 30px;
	list-style: none;
	overflow: hidden;
}
body.about #c_main section ul li img {
	float: left;
	max-width: 320px;
}
body.about #c_main section ul li.withimage strong {
	display: block;
	margin: 0 0 20px;
}
body.about #c_main section ul li.withimage span {
	display: block;
}
body.about #c_main section ul li.withimage strong,
body.about #c_main section ul li.withimage span {
	margin-left: 340px;
}





/*

    Consultation

*/
body.consultation #c_main section #description {
	margin-bottom: -50px;
	font-size: 18px;
	font-size: 1.8rem;
}
body.consultation #c_main section.department {
	padding-top: 65px;
	margin-bottom: 0;
}





/*

    Access

*/
body.access #c_main section {
	margin-left: 30px;
}
body.access #c_main section h2 {
	margin-left: 0;
	margin-bottom: 0;
	border: none;
}
body.access #c_main section #address {
	margin: 1em 0 0.5em;
}
body.access #c_main section #map {
	margin-bottom: 10px;
}
body.access #c_main section #map img {
	max-width: 100%;
}
body.access #c_main section #gmapouter a {
	color: #000000;
	text-decoration: underline;
}
body.access #c_main section #description dl {
	margin: 50px 0 0;
}
body.access #c_main section #description dl dt {
	font-weight: normal;
	border-bottom: 1px #666666 dashed;
	font-size: 16px;
	font-size: 1.6rem;
}
body.access #c_main section #description dl dt.train:before { content: url("images/train.icon.png");}
body.access #c_main section #description dl dt.bus:before   { content: url("images/bus.icon.png");}
body.access #c_main section #description dl dt.car:before   { content: url("images/car.icon.png");}
body.access #c_main section #description dl dt.other:before { content: url("images/bicycle.icon.png");}
body.access #c_main section #description dl dt.other {
	apadding-left: 70px;
}
body.access #c_main section #description dl dd {
	margin: 15px 0 30px 70px;
}





/*

    Faq

*/
body.faq #c_main #faqlist dl dt {
	min-height: 25px;
	margin: 20px 0;
	cursor: pointer;
}
body.faq #c_main #faqlist dl dd {
	display: none;
	margin: 0;
}
body.faq #c_main #faqlist dl dt:before,
body.faq #c_main #faqlist dl dd:before {
	content: 'Q';
	display: block;
	width: 2em;
	height: 2em;
	float: left;
	font-family: 'Century Gothic', sans-serif;
	font-size: 18px;
	background-color: #666666;
	color: #ffffff;
	line-height: 2em;
	text-align: center;
	font-weight: bold;
}
body.faq #c_main #faqlist dl dt:before { content: 'Q';}
body.faq #c_main #faqlist dl dd:before { content: 'A';}
body.faq #c_main #faqlist dl dt span.question,
body.faq #c_main #faqlist dl dd div.answer {
	display: block;
	margin-left: 46px;
}





/*

    Mail form

*/
body.mailform #c_content #c_main section .ErrorMessage {
	margin: 1em 0;
	padding: 10px;
	background-color: #E5E5E5;
}
body.mailform #c_content #c_main section .Error {
	display: block;
	margin-top: 2px;
	color: #df6e24;
}
body.mailform #c_content #c_main section em {
	margin-right: 5px;
	font-style: normal;
	color: #df6e24;
}
body.mailform #c_content #c_main section table {
	width: 100%;
	border-top: 1px #CCCCCC solid;
}
body.mailform #c_content #c_main section th {
	padding: 20px 20px 20px 0;
	vertical-align: top;
	background: none;
	border: none;
	border-bottom: 1px #CCCCCC solid;
}
body.mailform #c_content #c_main section td {
	padding: 20px 0;
	text-align: right;
	border: none;
	border-bottom: 1px #CCCCCC solid;
}
body.mailform #c_content #c_main section td input[type=text],
body.mailform #c_content #c_main section td input[type=password],
body.mailform #c_content #c_main section td textarea {
	width: 400px;
}
body.mailform #c_content #c_main section td input[type=text],
body.mailform #c_content #c_main section td input[type=password] {
	height: 2em;
	line-height: 2em;
}
body.mailform #c_content #c_main section p.Submit {
	text-align: center;
}
body.mailform #c_content #c_main section p.Submit input {
	display: inline-block;
	padding: 10px 30px;
	background-color: #666666;
	border: none;
	color: #FFFFFF;
	font-size: 1.8rem;
	cursor: pointer;
	border-radius: 5px;
}
body.mailform #c_content #c_main section div.ConfirmBack a {
	display: inline-block;
	padding: 3px 10px;
	background-color: #F6F6F6;
	border: 1px #CCCCCC solid;
	color: #666666;
	cursor: pointer;
	border-radius: 5px;
}

/*  interview  */
body.interview #c_content #c_main section table th {
	white-space: nowrap;
}
body.interview #c_content #c_main section table tr.name td input[type=text],
body.interview #c_content #c_main section table tr.birth td input[type=text] {
	width: auto;
}
body.interview #c_content #c_main section table tr.address td input[type=text] {
	display: inline-block;
	width: auto;
	margin-bottom: 5px;
}



/*

    Blog

*/

/*  Layout  */
body.blog #c_main #blog_content {
	overflow: hidden;
}
body.blog #c_main #blog_articles {
	float: left;
	width: 485px;
	margin: 0;
}
body.blog #c_main #blog_nav {
	float: right;
	width: 165px;
}
body.blog #c_main #blog_articles article {
	margin-left: 30px;
}

/*  Nav  */
body.blog #c_main #blog_nav dl {
	margin: 0;
}
body.blog #c_main #blog_nav dl dt {
	padding: 5px 0;
	color: #cccccc;
	border-bottom: 1px #cccccc dashed;
	font-weight: normal;
	font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
	font-size: 14px;
	font-size: 1.4rem;
}
body.blog #c_main #blog_nav dl dd {
	margin: 0 0 60px;
	padding: 1em 5px;
	font-size: 12px;
	font-size: 1.2rem;
}
body.blog #c_main #blog_nav dl dd ul {
	margin: 0;
}
body.blog #c_main #blog_nav dl dd ul li {
	margin: 0;
	list-style: none;
}
body.blog #c_main #blog_nav dl dd ul li a {
	color: #000000;
}

/*  Content  */
body.blog #c_main section #description {
	margin-left: -20px;
	font-size: 18px;
	font-size: 1.8rem;
}
body.blog #c_main #blog_articles article {
	margin-bottom: 80px;
	border-bottom: 2px #cccccc dotted;
}
body.blog #c_main #blog_articles article header {
	position: relative;
	margin-bottom: 20px;
}
body.blog #c_main #blog_articles article header h2 {
	border: none;
	margin: 0 6em 0 0;
	line-height: 1.3;
	font-weight: normal;
}
body.blog #c_main #blog_articles article header h2:before {
	content: "";
	display: inline-block;
	height: 5px;
	margin-right: 15px;
	border-left: 15px #cccccc solid;
	vertical-align: middle;
}
body.blog #c_main #blog_articles article header h2 a {
	color: #333333;
}
body.blog #c_main #blog_articles article header span {
	position: absolute;
	right: 0;
	top: 5px;
	color: #666666;
	font-size: 12px;
	font-size: 1.2rem;
	font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
}
body.blog #c_main #blog_articles article footer {
	margin: 30px 5px 10px;
	color: #666666;
	font-family: "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", serif;
}
body.blog #c_main #blog_articles article footer a {
	color: #666666;
}

/*  Pagination  */
body.blog #blog_articles footer .paging ul {
	margin: 15px 15px 0;
	text-align: center;
}
body.blog #blog_articles footer .paging ul li {
	display: inline-block;
	margin: 0 3px 10px;
	border: 1px #666666 solid;
}
body.blog #blog_articles footer .paging ul li a,
body.blog #blog_articles footer .paging ul li span {
	display: block;
	height: 2em;
	width: 2em;
	line-height: 2;
	color: #000000;
}
body.blog #blog_articles footer .paging ul li span {
	background-color: #f2f2f2;
}





/*  202411- custom  */
body.blog #c_main #blog_articles {
	width: 60%;
}
body.blog #c_main #blog_nav {
	width: 30%;
}
body.blog #c_main #blog_articles article {
	margin-bottom: 20px;
}