@charset "utf-8";
/*------------------------------------------------------------------------------ TOP --*/
#cont {
	position:relative;
	min-width:960px;
	margin:0 auto;
	padding:100px 0 80px;
    background-color: #fff;
}
#main_ttl {
	position:relative;
	width:100%;
	height:250px;
	margin:0;
	padding:0;
	overflow: hidden;
	z-index:10 !important;
	border-bottom:#7a3d6f 10px solid;
}
#main_ttl h2 {
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	font-size:3.2rem;
	line-height:1.6;
	font-weight:400;
	text-align:center;
	width:100%;
	color:#fff;
}
#main_ttl{
	background:url(../img/visit/kv.jpg) center center no-repeat;
	background-size:cover;
	}

 @media screen and (max-width:767px) {
#cont {
	position:relative;
	min-width:320px;
	margin:0 auto;
	padding:13vw 0 10vw;
	z-index:10 !important;
	background:#fff;
}
#main_ttl {
	position:relative;
	width:100%;
	height:53vw;
	margin:0;
	padding:0;
	overflow: hidden;
	z-index:10 !important;
	border-bottom:#7a3d6f 5px solid;
}
#main_ttl h2 {
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	font-size:4.6rem;
	line-height:1.6;
	font-weight:400;
	text-align:center;
	width:100%;
	color:#fff;
}

#main_ttl{
    background:url(../img/visit/sp/kv.jpg) center center no-repeat;
	background-size:cover;
	}

}
/* visit
----------------------------------------*/

#visit_cont {
    margin: 60px auto 0 auto;
    text-align: center;
}

	#visit_cont h4{
    font-size:2.2rem;
    line-height:1.8;
    color: #7a3d6f;
    padding:50px 0;
    margin-bottom: 25px;
    text-align: center;
    background:url(../img/visit/h4.png) center center no-repeat;
	background-size:contain;
	 }

#visit_cont p {
    font-size:1.6rem;
    line-height:2.2;
}
.visit_section{
    margin-bottom: 50px;
}

#visit_cont br{
	display: block !important;
}

.index_back img{
    width: 150px;
    height: 150px;
}

.index_back a{
    width: 150px;
    height: 150px;
    display: block;
    margin: 30px auto;
    color: #fff;
    overflow: hidden;
    transition: 0.5s;
}

.index_back a:hover{
    opacity: 0.6;
    transform: scale(0.95,0.95);
}
#info_cont table{
	border-collapse: collapse;
	border-color: inherit;
	text-indent: 0;
	margin: 20px 0 20px !important;
}
#info_cont table th{
	padding: 0 10px 0 0;
}
#info_cont table td span{
	position: relative;
	display: inline-block;
	padding: 0 10px 0 0;
}
#info_cont table#schedule_table th{
	padding: 0 30px 0 0 !important;
}
#info_cont ul{
	margin: 10px 0 0 !important;
}
#info_cont ul li{
	padding-left:1.6rem;
	text-indent: -1.6rem;
}
.apply_btn {
    position: relative;
	display: block;
	text-align: center;
    margin: 30px auto 50px !important;
    zoom: 1;
    overflow: hidden;
}

.apply_btn a {
    position: relative;
    display: inline-block;
    padding: 20px 40px;
    font-size: 20px;
    line-height: 1;
    border: #7a3d6f solid 1px;
    color: #7a3d6f;
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -ms-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}

.apply_btn a:hover {
    background: #7a3d6f;
    color: #fff;
}

.apply_btn a:after {
    content: "▲";
    display: block;
    position: absolute;
    top: 25px;
    left: 20px;
    width: 15px;
    height: 15px;
    transform: rotate(90deg);
    font-size: 12px;
}
#phot_set{
	position: relative;
	margin-top: 80px;
	display: flex;
	width: 100%;
}
#phot_set figure{
	width: 25%;
}
#phot_set figure img{
	width: 100% !important;
	height: auto !important;
}

 @media screen and (max-width:767px) {
     #visit_cont { 
         font-size: 2.4rem;
     }
     
     #visit_cont p { 
         text-align: left;
        font-size: 2.8rem;
        line-height:2;
     }
	 .visit_section{
    margin-bottom: 50px;
	}
	 
	 #visit_cont br.pcv{
		 display: none !important;
	 } 
     #visit01 .visit01_01 p{
         margin:0 30px -50px 30px;  
     }

     #visit_cont .visit_section{
         margin:0 30px 30px 30px;
     }

     #visit_cont .visit05 p{
         margin:0 30px 0 30px;
     }
     
     #visit_cont h4 {
        font-size: 3.2rem;
        line-height:1.8;
        text-align: center;
        margin-bottom: 15px;
		padding:40px 0;
    }
     
     .index_back img{
         width: 120px;
         height: 120px;
     }

     .index_back a{
         width: 120px;
         height: 120px;
     }
#info_cont table{
	margin: 0 0 20px !important;
}
#info_cont table th{
	padding: 0 10px 0 0;
	white-space: nowrap;
}
#info_cont table td span{
	position: relative;
	display: inline-block;
	padding: 0 10px 0 0;
}
#info_cont table#schedule_table th{
	padding: 0 10px 0 0 !important;
}
#info_cont ul{
	margin: 10px 0 0 !important;
}
 #info_cont ul li{
	padding-left:2.4rem;
	text-indent: -2.4rem;
}
.apply_btn {
    position: relative;
    margin: 40px auto 50px !important;
    width: 88%;
    zoom: 1;
    overflow: hidden;
    text-align: center;
}
.mgn_btm0{
	margin-bottom: 0 !important;
	 }

.apply_btn a {
    position: relative;
    float: none;
    display: inline-block;
    padding: 15px 40px;
    font-size: 14px;
    line-height: 1;
    border: #7a3d6f solid 1px;
    color: #7a3d6f;
    -webkit-transition: 0.5s ease;
    -moz-transition: 0.5s ease;
    -ms-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    text-align: center;
}

.apply_btn a:hover {
    background: #7a3d6f;
    color: #fff;
}

.apply_btn a:after {
    content: "▲";
    display: block;
    position: absolute;
    top: 16px;
    left: 21px;
    width: 13px;
    height: 13px;
    transform: rotate(90deg);
    font-size: 10px;
}
#phot_set{
	position: relative;
	margin-top: 40px;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}
#phot_set figure{
	width: 50%;
}

}
/**/
#info_cont {
    font-size:1.6rem;
    line-height:2.2;
    width: 960px;
    margin: 60px auto 0 auto;
}
#info_cont p {
    margin-bottom: 50px;
}

#info_cont h3 {
    color: #7a3d6f;
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
}
#info_cont h4 {
    font-size:1.8rem !important;
    font-weight: bold;
	margin: 0 !important;
	padding: 0 !important;
}
#info_cont ol.list_parentheses {
    padding: 0 0 0 2em;
    text-indent: -1.7em;
    margin-bottom: 40px;
    text-align: left;
}

#info_cont ol.list_parentheses li {
    margin-bottom: 10px;
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
}

#info_cont ol.list_parentheses li:before {
    display: marker;
    content: "("counter(cnt) ") ";
}


@media screen and (max-width:767px) {

    #info_cont {
        padding: 20px;
        width: 100%;
        margin: 0 auto;
        font-size: 2.8rem;
        line-height:2;
    }

    #info_cont p {
        margin-bottom: 50px;
    }

    #info_cont h3 {
        color: #7a3d6f;
        font-weight: bold;
        margin: 0 0 10px 0;
        padding-bottom: 10px;
    }
#info_cont h4 {
    font-size:3.0rem !important;
}
    #info_cont ol.list_parentheses {
        padding: 0 0 0 2em;
        text-indent: -1.7em;
        margin: 0 0 50px 0;
        text-align: left;
    }

    #info_cont ol.list_parentheses li {
        margin: 0 0 10px 0;
        list-style-type: none;
        list-style-position: inside;
        counter-increment: cnt;
    }

    #info_cont ol.list_parentheses li:before {
        display: marker;
        content: "("counter(cnt) ") ";
    }

}

