@charset "utf-8";
/* CSS Document */

/*============================================================================

	共通

============================================================================*/

body {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	color: #707070;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.65;
	text-align: justify;
}
a {
	color: #f5878d;
	text-decoration: underline;
}
a:hover {
	color: #C0AB9A;
	text-decoration: none;
}
a:hover img {
	opacity: 0.8;
}
.clear {
	clear:both;
}
p {
	color: #707070;
}
.pink {
	color: #f5878d;
}
.red {
	color: #e50012;
}
.bold {
	font-weight: 600;
}
.mb00 {
	margin-bottom: 0;
}
.mb01 {
	margin-bottom: 1rem;
}
.mb02 {
	margin-bottom: 2rem;
}
.mb03 {
	margin-bottom: 3rem;
}
.mb04 {
	margin-bottom: 4rem;
}
.mb05 {
	margin-bottom: 5rem;
}
.row {
	max-width: 60rem;
}
figure {
	margin: 0;
}
.max-width {
	max-width: 100%;
}
.float-left-img {
    float: left;
    margin: 0 1.85rem 1.5rem 0;
    width: 35%;
}
.float-right-img {
    float: right;
    margin: 0 0 1.5rem 1.85rem;
    width: 35%;
}
.float-right-img.small,.float-left-img.small {
    width: 25%;
}
.radius img{border-radius:0.5rem;}



.frame {
    width: 545px;
    height: 220px;
    overflow-y: scroll;
	overflow-wrap: break-word;
	   margin-left: 240px;
}

@media only screen and (max-width: 64.0625em){
	.frame{
		margin-left: 0;
		width: 375px;
	}	
}

.frame_title {
	font-size: 13px;
    padding-left: 15px;
    margin-bottom: 4px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    box-sizing: content-box;
    color: #707070;
		font-weight: 600;
}

.frame_title::before {
    content: "";
    display: inline-block;
    background-color: #f5878d;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-right: 8px;
}

.frame_text {
    padding-left: 15px;
    margin: 0 0 20px 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    box-sizing: content-box;
    color: #707070;
	width: 515px;
	font-weight: 600;
}
@media only screen and (max-width: 64.0625em){
	.frame_text{
	 width: 325px;
	}
}

.str {
    font-weight: 600;
}
/*============================================================================

	header

============================================================================*/

header {
	margin-bottom: 1rem;
}
header .logo {
	width:36%;
}
header .flu {
	width:28%;
	text-align: center;
}
header .contact {
	padding-top: 1rem;
	width:36%;
}
header .tel {
	float: left;
	display: block;
	width:46%;
}

header .contact hgroup{float:right;margin-left:2%;width:52%;}
header .contact hgroup a{display:block;}
header .contact hgroup a:not(:first-child){margin-top:2px;}
header .yoyaku {
	float: right;
	width:36%;
	display: block;
}
/*============================================================================

	nav

============================================================================*/

nav li {
	float: left;
	width: 16.6666%;
	text-align: center;
	border-left: dotted 2px #e5e5e5;
}
nav li:last-child {
	border-right: dotted 2px #e5e5e5;
}
nav a {
	line-height:1em;
	display: block;
	width: 100%;
	padding-top: 0.65rem;
}
/*============================================================================

	#mainvisual

============================================================================*/

/*==================================================================

	#contents

==================================================================*/

main {
	display: block;
	padding-top: 2rem;
}
/*============================================================================

	$footer

============================================================================*/

footer {
	position: relative;
	width: 100%;
	background-color: #f4abb2;
	padding-top: 1rem;
}
footer .logo {
	margin-right: 1.5rem;
}
footer p {
	color: #fff;
}
.copyright {
	background: #707070;
	color: #fff;
	padding: 1rem;
}
/*==================================================================

	タイトル

==================================================================*/

.section_heading {
	padding-bottom: 8px;
	position: relative;
	border-bottom: 3px solid #ddd;
	margin-bottom: 1rem;
	color:#444;
	font-weight:600;
	font-family:"ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.section_heading:after {
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -3px;
	width: 30%;
	border-bottom: 3px solid #f4abb2;
}
.section_heading .en {
	color: #888;
	font-family: "Century Gothic", "Courier New", Courier, monospace;
	font-size: 11px;
	margin-left: 1.125rem;
}
.section_heading3::after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0.5rem;
    width: 3px;
    background: #f4abb2;
}
.section_heading3 {
	font-weight:600;
	color:#666;
    margin: 2rem 0 1rem 0;
    padding: 0 0 0.5rem 1rem;
    border-bottom: 2px dotted #dcdcdc;
    position: relative;
}
/*==================================================================

	table

==================================================================*/

table {
	border: none;
	border-collapse: collapse;
}
table th, table td {
	border-bottom: solid 1px #f5878d;
}
.table {
	width:100%;
	
}
.table th, .table td {
	border: solid 1px #ddd;
	padding:1rem;
}

.table th {
	background:#f5f5f5;
	min-width:30%;
}
/*==================================================================

	TOPページコンテンツ

==================================================================*/

.top_slider {
	max-width: 80rem;
}
.top_slider img {
	width: 100%;
}
.top_news .inner {
	overflow-y: scroll;
	height: 220px;
	padding-right: 1rem;
}
.top_timetable table {
	width: 100%;
	white-space: nowrap;
	margin-bottom: 0.5rem;
}
.top_guide ul {
	overflow: hidden;
	background: #fbdde0;
	padding: 2rem 3rem;
}
.top_guide ul li {
	float: left;
	width:48%;
}
.top_guide ul li:last-child {
	float: right;
	width:47.5%;
}
.top_menu .inner {
	max-width: 880px;
	margin: 0 auto;
}
.top_menu li {
	background-image: url(../img/icon_play.png);
	background-repeat: no-repeat;
	background-position: left 6px;
	padding-left: 1rem;
	color: #707070;
}
.top_menu .menu_3colmns ,.top_menu .menu_hifu ul{
	float: left;
	width: 32%;
}
.top_menu .menu_3colmns.geka, .top_menu .menu_hifu .second {
	margin:0 2%;
}
.top_menu .menu_3colmns {
	float: left;
	
}
.top_menu h3 {
	font-size: 1.125rem;
	color: #f4abb2;
}
.top_access .info {
	background: #fbdde0;
	width: 46%;
	height: 360px;
	float: left;
}
.top_access h3 {
	background: #f4abb2;
	padding: 1rem 3rem;
	margin: 0;
}
.top_access .info p {
	padding: 0.3rem 3rem;
	margin: 0;
	line-height: 1.4em;
}
.top_access .map {
	width: 54%;
	height: 360px;
	float: right;
}
.related_links li {
	display: inline-block;
	padding: 0 0.65rem 0.1rem;
	line-height: 1em;
	vertical-align: bottom;
}

.flexCol2{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.flexCol2 .wrap{
	width: 450px;
	border: 4px double #f4abb2;
	padding: 1.5rem 2.5rem 0.5rem;
}
.flexCol2 .wrap h2{
	color:#ef5a6e;
}
.flexCol2 .wrap p.img{
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.flexCol2 .bnrSec{
	width: calc(100% - 450px);
	display: flex;
	align-items: center;
	justify-content: center;
}
.flexCol2 .bnrSec img{
	max-width: 100%;
	width: 100%;
}


@media only screen and (max-width: 64.0625em) {
	.flexCol2{
	  display: block;
	}
	.flexCol2 .wrap{
	  width: 100%;
	  margin-bottom: 15px;
	}

	.flexCol2 .bnrSec{
	  width: 100%;
	  display: block;
	  position: relative;
	    padding-left: 0.9375rem;
	    padding-right: 0.9375rem;
	}
}


.section {
	margin-bottom:4rem;
	overflow:hidden;
	clear:both;
	padding:0 1.5rem;
}
.section .section_heading {
	margin-left:-1.5rem;margin-right:-1.5rem;
	margin-bottom:2.5rem;
}
@media only screen and (max-width: 64.0625em) {

header .logo {
	/*width:46%;*/
	width:36%;
}
header .flu {
	width:28%;
}
header .contact {
	padding-top: 0.5rem;
}
.top_news  {
	margin-bottom:1rem;
}
.top_menu .menu_3colmns ,.top_menu .menu_hifu ul{
	float: left;
	width: 32%;
}
.top_menu .menu_3colmns.geka, .top_menu .menu_hifu .second {
	margin:0 2%;
}
.top_access .info {
	width: 52%;
}
.top_access h3 {
	padding: 1rem 2rem;
}
.top_access .info p {
	padding: 0.3rem 2rem;
}
.top_access .map {
	width: 48%;
}

}
@media only screen and (max-width: 46.125em) {
	.section {
	margin-bottom:3rem;
	padding:0 1rem;
}
.float-left-img ,
.float-right-img {
    float: none;
    margin: 0 0 1.5rem;
    width: 100%;
}
/*============================================================================

	header

============================================================================*/

header .logo{
	float:none;
	width:100%;
	
}
header .flu{
	float:none;
	width:100%;
	margin-bottom: 1rem;
}
header .flu img{
	width: 80%;
}
header .contact {
	float:none;
	width:100%;
	padding-top:0;
	padding-bottom:1rem;
}
/*============================================================================

	nav

============================================================================*/
nav li {
	width: 33.3%;
	padding-bottom:1rem;
	
}
nav li:nth-child(3) {
	border-right: dotted 2px #e5e5e5;
	
}
nav a {
	display: block;
	width: 100%;
	padding-top: 0.65rem;
	height:80px;
	
}
nav li:nth-child(2) a,nav li:nth-child(1) a,nav li:nth-child(3) a{
	padding-top: 0;
	padding-bottom:0.65rem;
}
nav li:nth-child(2),nav li:nth-child(1),nav li:nth-child(3) {
	border-bottom: dotted 2px #e5e5e5;
	
}

.top_timetable table th, .top_timetable table td{
	padding:0.15rem;
	font-size:0.75rem;
}
.top_menu .menu_hifu ul{
	float:none;
	width:100%;
	
}
.top_menu .menu_3colmns{
	float:none;
	width:100%;
}
.top_guide ul {
	padding: 1rem 1rem;
}
.top_guide ul li {
	float: none !important;
	width:100%  !important;
	text-align:center;
}
.top_guide li:first-child{
	margin-bottom:1.5rem;
}
.top_menu .menu_3colmns.geka, .top_menu .menu_hifu .second {
	margin:0;
}
.top_menu figure img, .top_bnrs li img {
	width:100%;
}
.top_access .info {
	width: 100%;
	text-align:center;
	height:auto;
}
.top_access .info p {
	padding: 0.5rem 1rem;
}
.top_access .map {
	width: 100%;
}
.related_links  {
	margin-bottom:1rem;
}
.related_links li {
	display: block;
	float:left;
	padding: 0.25rem 0.65rem;
	border:none;
	
}
.related_links li {
	width:50%;
	margin-bottom:5px;
	border:none !important;
	height:50px;
	
}
.top_line .wrap .img{
	text-align:center;
	
}
.top_line .wrap {
	padding:1rem 1rem 0.25rem;
}
.top_line .wrap br {
	display:none;
}
}
@media only screen and (max-width: 450px) {
nav a {
	height:70px;
}
nav a img{
	width:90%;
}
nav .columns{
	padding:0;
}

}
@media only screen and (max-height: 340px) {

}

.lineBtn{position:fixed;bottom:20px;right:20px;z-index:999;display:block;width:100%;max-width:280px;}
.lineBtn:hover{opacity:0.6;}
@media only screen and (max-width:1025px){
	.lineBtn{max-width:240px;}
}
/*@media only screen and (max-width:400px){
	footer{padding-bottom:53px;}
	.lineBtn{bottom:0;right:0;padding:5px;max-width:100%;background:#06c754;}
	.lineBtn>img{display:block;margin:0 auto;width:100%;max-width:180px;}
}*/
.related_links{margin-bottom:40px;}
.footlink{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:-20px;}
.footlink li{width:calc(33.333% - 20px);margin-top:20px;text-align:center;}
.footlink li img{margin:auto;}
@media only screen and (max-width:600px){
	.footlink li{width:calc(50% - 10px);}
}