.contact_cont{
	
}

.tags {
    text-align: right;
}
.tags li{
	display:inline-block;
	margin:3px 5px;
}

.tags li a{
background:beige;
	border-radius:50px;
	padding:0 5px 0 5px;
}

.tags li a:before{
content:"#";
}

#page #main .tag_h3{
	padding: 0 2% 4%;
}

.dandan_title::before {
    content: "";
	background: url(img/bus_icon.png) no-repeat;
background-position: center;
    background-size: contain;
    width: 8rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}

.rute_title::before {
    content: "";
	background: url(img/bus_icon2.png) no-repeat;
background-position: center;
    background-size: contain;
    width: 8rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}

.about_title::before {
    content: "";
	background: url(img/bus_icon3.png) no-repeat;
background-position: center;
    background-size: contain;
    width: 8rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}

.news_title::before {
    content: "";
    background: url(img/icon_topics.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 5rem;
    height: 4rem;
    display: inline-block;
    vertical-align: bottom;
}


#footer{
	border-top:1px solid;
}

#page #wrap{
	padding: 0 ;
}

.page_cont article{
	padding:40px 0;
}

#page #main .page_cont h3{
		font-size:1.6rem;
}

#page #main .contact_cont p{
text-align: center;
    padding: 10px 0 20px;
    margin: 0;
}

.company_name{
display: block;
    font-weight: bold;
    font-size: 1.5rem;	
}

.contact_tel{
color: #000;
    display: block;
    font-size: 1.8rem;
    font-weight: bold;	
}

.gray{
    margin: 20px auto;
    background: #eee;
    display: inline-block;
    padding: 1px 5px;	
}

#page .cont{
	padding: 0;
	margin: 0;
	max-width: 100%;
	
}

.customize-support #main{
	padding: 0;
}

.page_title {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: normal;
}

.about h3,.route h3 {
    width: fit-content !important;
    margin: 2rem 0 !important;
    position: relative;
    display: inline-block;
    padding: 1rem 2rem 1rem 4rem;
    color: #fff;
    border-radius: 20px 5px 5px 20px;
    background: #265a97;
}

.about h3:before,.route h3:before {
  position: absolute;
  top: calc(50% - 7px);
  left: 10px;
  width: 14px;
  height: 14px;
  content: '';
  border-radius: 50%;
  background: #fff;
}

/*********トピックリスト********/

.list_wrap {
    width: 100%;
    padding: 5rem 0;
}

.topic_list{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.topic_list li h3 a {
    font-size: 0.9rem;
    letter-spacing: 1px;
}

.topic_list .date {
    font-size: 1rem;
    letter-spacing: 1px;
}

.topic_list .meta-block .flex_box{
	flex-wrap: wrap;
}

.topic_list .text_cont{
	
}

.topic_list li figure {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: 100%;
    max-width: 234px;
    max-height: 175.5px;
    object-position: center;
    border-radius: 10px;
    overflow: hidden;
    margin: 0 auto;
}

.topic_list li img {
    height: 100%;
    width: 100%;
    object-position: center;
}

/*.topic_list li {
    width: 100%;
    background: #fff;
    padding: 2rem 1rem;
    box-sizing: border-box;
    border-radius: 15px;
    border: solid 2px;
    margin: 0 auto;
}*/

#page #main .topic_list h3 {
    letter-spacing: normal;
    line-height: 100%;
    margin: 0.5rem auto 0 !important;
    width: 100%;
    font-weight: normal;
}

#page #main .topic_list p {
    line-height: 1.4rem;
    margin: 0px 0px 10px !important;
    font-size: 1.15rem !important;
}

.cours_list p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1.2rem ! Important;
}

#imagetopics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0rem;
    grid-row-gap: 0px;
}

/*詳細ページ共通*/

.main_img{
	text-align: center;
}

.main_img>img {
    border-radius: 30px;
    overflow: hidden;
    border: solid 3px;
    max-width: 1000px;
	width:100%;
    margin: 5rem auto 2rem;
    display: block;
}

.topic_detail{
	
}

/*沿線紹介 cours_list*/

.cours_list{
	background: #fdeeed;
	/*border-top: solid 2px;*/
}

.cours_list li .meta-block {
    justify-content: space-between;
}


/*沿線紹介　詳細ページ*/

.cours{
	
}



.cours .date{
	
}

.cours .img_area {
    display: grid;
    FONT-WEIGHT: 500;
    grid-row-gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
    grid-column-gap: 2rem;
	grid-template-columns: 1fr 1fr;
}

.cours .img_area>figure {
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
}

.cours .sub_img1{ grid-area: 1 / 1 / 2 / 2; }
.cours .sub_img2 { grid-area: 1 / 2 / 2 / 3; }
.cours .sub_img3 { grid-area: 2 / 1 / 3 / 2; }
.cours .sub_img4 { grid-area: 2 / 2 / 3 / 3; }

.cours .data_text{
    width: 100%;
}

.cours .data_text p {
    margin: 0;
    padding: 0 !important;
}

.spot_info .text_cont p{
	margin: 0!important;
	padding: 0!important;
}

.cours .map p{
    margin: 0;
}

.spot_info>.flex_box {
    gap: 5%;
    justify-content: space-between;
}

.access_text{
font-weight: 600;
    padding-top: 20px;
}
.access_text h4{
font-weight:normal;
	letter-spacing:normal;
	padding-bottom:10px;
	display:block;
}

.access_text article{
	display:flex;
}

.access_text figure{
	width:34px;
}

.access_text .info{
padding-left:0.7em;
}
.access_text .info .busstop{
	font-size:1.5rem;
}

#page #main .access_text p{
padding-left:0;	
text-indent:0em;
font-weight: 400;
font-size:0.85rem;
}

.access_text span {
font-weight: 600;
}

.spot_name {
    padding: 10px 0 15px;
}

.spot_name h4 {
    font-size: 1.55rem;
    font-weight: 700;
}

.spot_name span{
    font-size: 90%;
    font-weight: 400;
}

.spot_info .text_cont {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cours .map{
	    width: 50%;
    padding: 3px 0;
}

.cours .map span {
    font-size: 1.2rem;
    font-weight: 500;
}

.spot_info h3 {
    background: linear-gradient(transparent 60%, #fdeeed 60%);
    display: inline-block;
    padding: 0 10px;
}

/*だんだんニュース topics_list*/

.news_list{
	width: 96%;
    max-width: 1060px;
    margin: 0 auto;
}

#page #main .news_list h3{
    font-size: 1.4rem;
    font-weight: bold;
    margin: 1rem auto;
}
	
.cate_list{

    padding: 2% 0;
    box-sizing: border-box;
}
.cate_list a{
background: aliceblue;
    display: block;
    padding: 2%;
    box-sizing: border-box;
    border-radius: 8px;
}

#page #main .cate_list a h3{
    border-bottom: 1px solid #ccc;
    padding: 0 0 10px;
}


.topics_list .more{
text-align:right;
	padding:5px 0;
}

.cours_list li .meta-block {
    justify-content: space-between;
}

/*だんだんバスとは*/

.about{
	
}

.about .main_figure {
    width: 70%;
    margin: 0 auto;
}

.about .main_figure img{
    border-radius: 40px 100px 40px 100px;
}

.about article{
	margin: 0 auto;
}

.about .main_figure figcaption {
    width: fit-content !important;
    margin: 1rem auto -3rem -2rem;
    position: relative;
    display: inline-block;
    padding: 2rem 2rem 2rem 4rem;
    color: #fff;
    border-radius: 22px 5px 5px 20px;
    background: #b6a042;
    font-size: 1.8rem;
    font-weight: bold;
    transform: rotate(355deg);
}

.about .main_figure figcaption:before {
  position: absolute;
  top: calc(50% - 7px);
  left: 10px;
  width: 14px;
  height: 14px;
  content: '';
  border-radius: 50%;
  background: #fff;
}

.about .strong {
    border-bottom: dashed #ffb8c9;
}


.about .intro {
    max-width: 1000px;
}

.about .message{
	
}

.about .color {
    display: block;
    color: #bc914d;
    font-size: 1.1rem;
    font-weight: 500;
    margin: 2rem 2rem 3rem;
}

.about .message p span{
	
}

.about .logo {
    width: 350px;
    margin: 5rem auto;
	max-width:80%;
}

.about .cont_wrap {
    width: 100vw;
    margin: 0rem calc(50% - 50vw);
    padding: 3rem 0 0;
}

/*ルート案内*/

.route{
	
}

.route .intro{
	
}

.route .intro .dandan{
	
}

.route .intro .rekishi{
	
}

.route .intro .machinaka{
	
}


.route .intro article:nth-of-type(1) h4{
    background: linear-gradient(transparent 60%, #fdeeed 60%);
    width: fit-content;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: normal;
}

.route .intro article:nth-of-type(2) h4{
    background: linear-gradient(transparent 60%, #eaf1c5 60%);
    width: fit-content;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: normal;
}

.route .intro article:nth-of-type(3) h4{
    background: linear-gradient(transparent 60%, #ffffd2 60%);
    width: fit-content;
    margin: 0 auto;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: normal;
}

.route .intro .flex_box {
    gap: 1rem;
    justify-content: center;
    border: unset;
}

.route .intro article {
    width: calc(100% / 3);
    padding: 2rem;
    border-radius: 20px;
    border: solid;
    text-align: center;
    display: grid;
    grid-template-rows: 2rem 2fr 0.2fr;
}

.route .intro h4 {
    font-size: 1.2rem;
    text-align: center;
}

.route .intro p{
	
}

.route .intro{
	
}

.dl{
	padding:30px 0 60px;
}
#page .time .dl{
    display: flex;
    background: beige;
    margin: 25px auto;
    padding: 5%;
    box-sizing: border-box;
    gap: 10px;
    border-radius: 8px;
}
#page .time a {
    width: 90%;
    text-align: center;
    display: block;
    margin: 0 auto;
    font-size: 1.5rem;
    background: #8c206d;
    color: #fff;
    padding: 10px 25px;
    box-sizing: border-box;
    border-radius: 13px;
    letter-spacing: 1px;
    font-weight: 500;;
}

.route .intro .flex_box a {
    letter-spacing: normal;
    padding: 5px;
    border-radius: 20px;
    font-weight: bold;
}

.route .route_wrap {
    margin: 5rem auto;
    padding: 3rem 3rem;
    background: beige;
    border-radius: 20px;
}

.route .route_wrap h4 {
    font-size: 1.4rem;
    letter-spacing: 0;
    font-weight: 500;
}

.route .route_wrap article {
    width: 100%;
    background: unset;
    border-radius: 0;
    padding: 0;
    margin: 0 auto;
}

.route .route_wrap figure {
    overflow: hidden;
    width: 20rem;
    height: 12rem;
    margin: 0;
    border-radius: 5px;
}

.route .route_wrap figure>img {
    object-position: center;
    width: 100%;
    height: 100%;
}

.route .route_wrap figcaption {
    width: fit-content;
    top: -30px;
    position: relative;
    padding: 1rem 1.5rem 1rem 0.5rem;
    background: #fefcf2;
    border-radius: 0 10px 0 0;
    font-weight: 500;
    color: #ab6666;
    font-size: 1.1rem;
}

.route .time>figure{
	
}
.rosenzu {
    width: 80%;
    margin: 10rem auto;
}

.rosenzu img{
	
}

.rosenzu figcaption {
    position: relative;
    z-index: 1;
    padding: 1.5rem 2rem;
    border-bottom: solid;
    text-align: center;
    font-size: 1.5rem;
    text-indent: 1.5rem;
    width: 60%;
    margin: 3rem auto;
}

.rosenzu figcaption:before {
    position: absolute;
    bottom: -14px;
    left: 50%;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #000000 transparent transparent transparent;
}

.rosenzu figcaption:after {
    position: absolute;
    bottom: -10px;
    left: 50%;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #ffffff transparent transparent transparent;
}

/*.rosenzu figcaption::before {
    content: "";
    background: url(img/bus_stop.svg) no-repeat;
    background-position: center;
    width: 5rem;
    height: 5rem;
    display: block;
}*/

.time {
    position: relative;
}

.time h4 {
    margin: 0 0 1rem;
    width: fit-content;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: normal;
}

.time .dandan h4{
    background: linear-gradient(transparent 80%, #ed1b2b 60%);
}

.time .rekishi h4{
    background: linear-gradient(transparent 80%, #00844a 60%);
}

.time .machinaka h4{
    background: linear-gradient(transparent 80%, #fddf01 60%);
}

.time .another h4 {
    background: linear-gradient(transparent 80%, #c5e2f1 60%);
}

.time .another .block{
	display: block;
	width: 
}

.time .another .list{
	display: block;
    text-indent: 8.6rem;
}

.time .another .list::before{
	content: "●";
	font-size:75%;
	color:beige;
}

.time .tag {
    margin: 0.3rem 1rem 0 0;
    padding: 3px 1rem;
    background: #ffd6d6;
    border-radius: 5px;
    display: inline-block;
    font-weight: 500;
    letter-spacing: normal;
}

.time .day {
    background: #d6e0ff;
}

.time .holiday{
	
}

.time .new_year {
    background: beige;
}

/*.route .img_area {
    position: absolute;
    bottom: 60%;
    display: flex;
    gap: 1rem;
    justify-content: center;
    right: 0;
}*/

.route .img_area {

    display: flex;
    gap: 1rem;
    justify-content: center;
    right: 0;
}

.time .img_area figure:nth-of-type(1){
	
}

.time .img_area figure:nth-of-type(2){
	
}

.spot .dandan{
	background: #fdeeed;
}

.spot .rekishi{
    background: #ffffd2;
}

.spot .machinaka{
	background: #eaf1c5;
}

.spot h4 {
    width: fit-content;
    margin: -4.5rem 0 2rem;
    background: inherit;
    border-radius: 20px;
    padding: 0.5rem 3rem;
}

.cost{
	
}

.cost>span{
	display: block;
}

.cost ul{
	
}

.cost li{
	
}

.cost li::before {
    content: "●";
    font-size: 110%;
    color: beige;
}

/*レスポンシブ*/

@media screen and (max-width: 768px) {
	
.breadcrumbs span {
    padding: 0 7px;
    font-weight: 500;
    font-size: 0.8rem;
	        margin: 5px 0
}	

.news_title::before {
    content: "";
    background: url(img/icon_topics.svg) no-repeat;
    background-position: center;
    background-size: contain;
    width: 4rem;
    height: 3rem;
    display: inline-block;
    vertical-align: bottom;
}
	
.about_title::before {
    content: "";
    background: url(img/bus_icon3.png) no-repeat;
    background-position: center;
    background-size: contain;
    width: 4rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}
	.dandan_title::before {
    content: "";
    background: url(img/bus_icon.png) no-repeat;
    background-position: center;
    background-size: contain;
    width: 5rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}
.rute_title::before {
    content: "";
    background: url(img/bus_icon2.png) no-repeat;
    background-position: center;
    background-size: contain;
    width: 5rem;
    height: 3rem;
    display: inline-block;
    vertical-align: middle;
}
	
#page .breadcrumbs {

    margin: 0rem auto 0rem;
	}
	
.page_cont {
    padding: 30px 5px 80px;
}

#page #main h3 span {
    width: 7rem;
    display: inline-block;
}
	
#imagetopics {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 0rem;
    grid-row-gap: 1rem;
}
	
#page #main .news_list h3 {
    font-size: 1.1rem;
    font-weight: bold;
    margin: 1rem auto;
}	

.topic_list li {
    
}
	
#page #main .topic_list p {
    line-height: 1.2rem;
    margin: 0px 0px 10px !important;
    font-size: 0.9rem !important;
}	

.topic_list li figure {
    width: 140px;
    height: 100px;
}
	
.topics .date {

    left: -0.2rem;
}	
	
	
	.cat {
    color: #000;
    padding: 0px 8px;
	}
	
.topic_list .date {
    font-size: 0.95rem;
    letter-spacing: 1px;
    top: 2rem;
    left: -0.2rem;
}
#page .topic_list .date {
        font-size: 0.90rem;
        letter-spacing: 1px;
        top: 2rem;
        left: -2.6rem;
    }

.topics h3 {
    font-size: 1.5rem;
}
	
.spot_info .flex_box{
    flex-direction: column;
}
	
.spot_info .flex_box>article{
        width: 98%;
        margin: 8px auto;
}
	
.route .intro .flex_box {
        flex-direction: column;
        margin-top: 25px;
}

.route .intro article {
    width: 85%;
    box-sizing: border-box;
    margin: 0 auto;
}
	
.time .dl {
    display: flex;
    background: beige;
    margin: 25px auto;
    padding: 5%;
    box-sizing: border-box;
    gap: 10px;
    flex-direction: column;
    border-radius: 8px;
}	

#page #main .page_cont h3 {
    font-size: 1.1rem;
	font-weight: normal;
}
	
.about .cont_wrap {
    width: auto;
    margin: auto;
    padding: 0;
}	

    .about h3, .route h3 {
        padding: 0.5rem 2rem 0.5rem 2.5rem;
        margin: auto !important;
    }

.about .intro {
    padding: 40px 5px;
}

.about .color {
    font-size: 0.95rem;
    font-weight: 500;
    margin: 2rem auto 2rem;
}

.about .main_figure figcaption:before {
    top: calc(50% - 5px);
    left: 10px;
    width: 10px;
    height: 10px;
}

.about .logo {
        width: unset;
        margin: 1rem auto;
        max-width: 80%;
    }

.route .intro {
    max-width: 500px;
    margin: 0 auto;
}

.route .route_wrap {
    margin: 5rem auto;
    padding: 3rem 0rem;
    border-radius: 10px;
    box-sizing: border-box;
	max-width: 400px;
}
	
.route .route_wrap figure {
    width: 14rem;
    height: 8rem;
	margin: 0 auto;
}

.route .route_wrap figcaption {
    font-size: 0.9rem;
    letter-spacing: normal;
}

.route .route_wrap h4 {
    font-size: 1.1rem;
}

.spot h4 {
    margin: -4.5rem auto 1rem;
    border-radius: 10px;
    padding: 0.5rem 2rem;
    width: 10rem;
}
	
.time .another .list {
    display: block;
    text-indent: -1rem;
    padding: 0 0 0 1rem;
    font-size: 0.9rem;
    line-height: normal;
    margin: 0 0 0.5rem;
}
	
.time li{
    margin: 0 0 1rem;
}

.time>a {
    font-size: 1rem;
}

.cost {
    margin: 1rem auto;
}
	
.cost p{
    line-height: 1.3;
}
	
.time h4 {
    font-size: 1.1rem;
}

    .about .main_figure {
        width: 90%;
        margin: 0 auto 30px;
    }

.about .main_figure img {
    border-radius: 10px 30px 10px 30px;
}

.about .main_figure figcaption {
    margin: 1rem auto -1rem -1rem;
    padding: 1rem 1rem 1rem 2rem;
    border-radius: 22px 5px 5px 20px;
    font-size: 0.9rem;
    transform: rotate(355deg);
}

.about .strong {
    width: unset !important;
}


.time a {
        margin: auto;
        font-size: 1.0rem;
	
	}

.cours {
    box-sizing: border-box;
    padding: 0 3%;
}

    .page_cont article {
        padding: 25px 0;
        text-align: left;
    }




}

/*レスポンシブ タブレット*/

@media (430px <= width <= 768px) {
	
    #imagetopics {
        grid-template-columns: repeat(2, 1fr);
    }
	
	.flex_tab {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
	
	.flex_tab article{
		width: 45%;
		    padding: 20px 0;
	}
	
}
