@charset "utf-8";

/**********************************************/
/***************共通コンテンツ******************/
/**********************************************/
.respd {
	max-width: 100%;
	height: auto;
	width
	/***/
	: auto;
}

body {
	line-height: 1em;
	font-size: 14px;
	overflow-x: hidden;
}

img {
	flex-shrink: 0
}

.store {
	display: flex;
	gap: 10px 20px;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 10px;
}

@media screen and (max-width: 640px) {
	.store {
		margin-top: 20px;
	}
}

.storeimg {
	width: 200px;
}

.iconbox li {
	padding-left: 2em;
	padding-bottom: 0.3em;
	position: relative;
	font-size: 0.9em;
	word-break: break-all;
	line-height: 1.5em;
	padding-top: 0.2em;
}

.icondetail li {
	padding-left: 2em;
	position: relative;
}

/********マイマップ*********/
.mymap_iframe {
	width: 100%;
	height: 540px;
}

.mymap_cover {
	padding: 15px;
	border: 2px solid #0d3161;
	border-radius: 10px;
	background: #fff;
}

/*----------------------------------*/
/*----------- AdobeFonts -----------*/
/*----------------------------------*/
.tsukushiB {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	font-style: normal;
}

/*----------------------------------*/
/*-------------- body --------------*/
/*----------------------------------*/
body {
	font-feature-settings: "palt" 1;
	letter-spacing: 0.5px;
	font-size: 14px;
	line-height: 1.8;
}

a,
div,
table,
tr,
td,
th {
	box-sizing: border-box;
}

/*----------------------------------*/
/*---------- main slider -----------*/
/*----------------------------------*/
#mainvisual {
	width: 100%;
}

#mainvisual .wrapper {
	max-width: 1400px;
	position: relative;
	padding: 0 !important;
}

#mainvisual .top_slider {
	width: 100%;
	margin: 0 auto;
}

.slick-slide {
	margin: 0;
}

#mainvisual .mainlogo {
	width: 320px;
	position: absolute;
	z-index: 2;
	top: 20px;
	left: 35px;
}

/*----------------------------------*/
/*---------- slider 番号付き -----------*/
/*----------------------------------*/
.slider_num .slick-dots {
	bottom: -35px;
}

.slider_num .slick-dots li {
	width: 20px;
	height: 20px;
	margin: 0 4px;
	padding: 0;
	cursor: pointer;
	border: 1px solid #025851;
}

.slider_num .slick-dots li.slick-active {
	background: #87caac;
}

.slider_num .slick-dots li button {
	font-size: initial;
	background: initial;
	width: 100%;
	height: 100%;
	color: #025851;
}

.slider_num .slick-dots li button:before {
	content: none;
}

/*----------------------------------*/
/*------------- pageing ------------*/
/*----------------------------------*/
#pageing {
	text-align: center;
	margin: 40px 0 0;
}

#pageing .wrapper {
	text-align: center;
}

#pageing .pageing a,
#pageing .pageing span {
	width: 36px;
	height: 36px;
	border: 1px solid #005952;
	color: #005952;
	line-height: 36px;
	text-align: center;
	font-size: 16px;
	display: inline-block;
	margin: 0 3px;
	box-sizing: border-box;
	cursor: pointer;
	font-weight: bold;
}

#pageing .pageing a:hover {
	opacity: 0.8;
}

#pageing .pageing span.nowpage {
	background: #005952;
	color: #fff;
	cursor: auto;
}

#pageing .pageing span.hide {
	opacity: 0.5;
	cursor: auto;
}

#pageing .nextlink {
	padding: 10px 45px 10px 25px;
	background: #ebf5ec;
	color: #005952;
	font-size: 15px;
	line-height: 1.4;
	position: relative;
	border: 1px solid #005952;
	display: inline-block;
	margin-bottom: 25px;
}

#pageing .nextlink::after {
	content: '';
	width: 25px;
	height: 10px;
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
	background: url('../img/btnarrow.png')no-repeat center center;
	background-size: contain;
}

#mymap {
	margin-top: min(5vw, 70px);
}

/*----------------------------------*/
/*----------- page_common ----------*/
/*----------------------------------*/
.ZenmaruB {
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: normal;
}

.kizuna_contents section:not(:last-child) {
	margin-bottom: 70px;
}

.img__radius {
	border-radius: 10px;
}

.flex_sb {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}

.flex_cn {
	display: flex;
	flex-wrap: wrap;
}

.flex_c {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.ruby .rt {
	font-size: clamp(11px, 1vw, 0.5em);
	display: block;
}

.ruby .rb {
	display: block;
	line-height: 1;
}

.cap {
	display: flex;
	align-items: center;
	margin: 0.5em 0;
	line-height: 1.3em;
	font-size: 0.8rem;
}

.cap i {
	display: inline-block;
	width: 1.2em;
}

.cap p {
	width: calc(100% - 1.2em);
}

#area1 .accordion__header.open {
	background: #7094c0;
}

#area2 .accordion__header.open {
	background: #d77f6e;
}


main {
	padding-bottom: 50px;
}

.title_about {
	font-size: clamp(1.3rem, 5vw, 2.5rem);
	line-height: 1.4;
	text-align: center;
	display: inline-block;
	width: 100%;
	line-height: 1.2;
	position: relative;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 480px) {
	.kizuna_contents section:not(:last-child) {
		margin-bottom: 50px;
	}
}



/*----------------------------------*/
/*--------------- read -------------*/
/*----------------------------------*/
#read {
	margin: 80px 0 150px 0;
	font-weight: bold;
}

#read .wrapper {
	text-align: center;
}

#read h1 {
	font-size: clamp(1.1rem, 2vw, 1.3rem);
	margin-bottom: 0.5em;
	font-weight: normal;
	line-height: 1.8;
}

#read h1 img {
	margin-bottom: 1em;
	max-width: fit-content;
	width: 100%;
}

#read h1 p {
	font-size: clamp(1.4rem, 5vw, 2.5rem);
	margin-bottom: 0.5em;
	color: #6EB27F;
	line-height: 1.3;
}

#read h1 p span {
	display: inline-block !important;
}

#read h1 span {
	display: inline-block;
}

@media screen and (max-width: 768px) {
	#read h1 img {
		max-width: 96%;
		margin: 0 auto 1em;
		display: block;
	}

	#read h1 img.show_640{
		display: none;
	}

	#read h1 {
		text-align: left;
		margin: 0 auto;
		display: block;
		width: fit-content;
	}
}

@media screen and (max-width: 640px) {
	#read {
		margin: 80px 0 120px 0;
	}

	#read h1 img {
		max-width: 380px;
	}

	#read h1 img.show_640{
		display: block;
	}
}

@media screen and (max-width: 480px) {
	#read {
		margin: 50px 0 70px 0;
	}

	#read h1 span {
		display: inline;
		font-size: 13.8px;
	}

	#read h1 img {
		max-width: 320px;
	}
}

.contents_bg{
	background: url(../img/p1/contents-bg.png) repeat top left;
	margin-bottom: 70px;
}

/*----------------------------------*/
/*------------ navigator -----------*/
/*----------------------------------*/
#navigator .navigator_bg {
	position: relative;
	margin: auto;
	padding: 30px;
    border: 3px solid #6DBB4F;
    border-radius: 10px;
    background: #EBF5EC;
}

#navigator h2 {
	width: 80%;
	max-width: 300px;
	margin: -68px auto 30px auto;
	position: relative;
}

.navigator_persons {
	width: 56%;
}

#navigator .navigator_profiles {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 1.6em;
}
#navigator .navigator_profiles .navigator_profile{
	position: relative;
	width: 31%;
}
#navigator .navigator_profile .navigator_person {
	align-items: flex-end;
	width: 100%;
}

@media screen and (max-width: 768px) {
	#navigator .navigator_profiles {
		margin-bottom: 5.6%;
	}
}

@media screen and (max-width: 640px) {
	#navigator .navigator_profiles {
		margin-bottom: 7.2%;
	}
}

@media screen and (max-width: 480px) {
	#navigator .navigator_profiles {
		margin-bottom: 10%;
	}
}

@media screen and (max-width: 380px) {
	#navigator .navigator_profiles {
		margin-bottom: 12%;
	}
}

.navigator_profile {
	align-items: flex-start;
}

#navigator .navigator_comment{
	width: 100%;
	position: absolute;
	top: 0;
	left: 40%;
	max-width: 114px;
}

#navigator .nc2 {
	position: absolute;
	left: 38% !important;
	max-width: 148px;
}

#navigator .navigator_persons img {
	width: 88%;
}

.navigator_person_img {
	width: 55%;
}

.navigator_text {
	width: 45%;
}

#navigator .navigator_name {
	font-size: clamp(1.4rem, 3vw, 1.2rem);
	line-height: 1.3;
	display: block;
}

#navigator .navigator_name small {
	font-size: 50%;
}

#navigator .navigator_info {
	width: 44%;
	line-height: 1.2;
	padding-top: 96px;
}

#navigator .navigator_info p {
	margin-top: 0.5em;
	font-size: 10px;
}

#navigator .navigator_job {
	font-size: 10px;
	margin-bottom: 4%;
}

 /* ルビの文字サイズを調整 */
ruby[data-ruby]{
    position: relative;
}
ruby[data-ruby]::before{
    content: attr(data-ruby);
    position: absolute;
    line-height: 100%;
    text-align: center;
    left: -3em;
    right: -3em;
    transform-origin: bottom center;
    /* ルビの文字サイズを親文字に対する比率で指定 */
    transform: scale(0.4);
    bottom: 84%;
}
ruby[data-ruby] rt{
    display: none;
}


@media screen and (max-width: 860px) {

	#navigator .navigator_profile .navigator_person{
		width: 98%;
	}

	#navigator .navigator_info {
		width: 100%;
	}

	#navigator .navigator_info img {
		width: 100%;
	}
	
	#navigator .navigator_info p {
		font-size: 14px;
	}

	#navigator .navigator_job {
		font-size: 14px;
		margin-bottom: 2%;
	}

}

@media screen and (max-width: 480px) {

	#navigator .navigator_info {
		width: 100%;
	}

	#navigator .navigator_info img {
		width: 100%;
	}

	
}

@media screen and (max-width: 330px) {

	#navigator .navigator_job {
		font-size: 12px;
	}
	#navigator .navigator_info p {
		font-size: 12px;
	}

}

#navigator .navigator_job.kome{
	position: absolute;
	right: 2%;
	bottom: -8%;
	line-height: 1.4;
	margin-top: 1em;
	font-size: 10px;
}

.navigator_text span {
	display: inline-block;
}

.navigator_text .font_s {
	font-size: 18px;
}

@media screen and (max-width: 860px) {

	#navigator .navigator_profile {
        width:100% !important;
		margin-bottom: 32px;
    }

	#navigator .navigator_profile:last-child {
		margin-bottom: 0%;
    }

	#navigator .navigator_persons {
		width: 50%;
		max-width: 500px;
	}

	#navigator .navigator_info {
		width: 50%;
		padding-top: 134px;
	}

	#navigator .navigator_comment {
		top: 4%;
		left: 36%;
		width: 100%;
        max-width: 164px;
	}
	#navigator .nc2 {
        left: 32% !important;
		width: 100%;
        max-width: 208px!important;
	}

	#navigator .navigator_job.kome {
		bottom: .2%;
        right: 2.4%;
		font-size: 12px;
	}
}

@media screen and (max-width: 480px) {

	#navigator .navigator_job.kome {
		bottom: 0.2%;
        right: 4%;
	}

}

@media screen and (max-width: 330px) {

	#navigator .navigator_job.kome {
		font-size: 10px;
	}

}

@media screen and (max-width: 640px) {
	#navigator .navigator_bg {
		padding: 20px;
	}

	#navigator h2 {
		margin: -10.8% auto 30px auto;
	}

	#navigator .navigator_comment {
		top: 4%;
		left: 34%;
	}
	#navigator .nc2 {
        left: 32% !important;
	}

	#navigator .navigator_persons {
		width: 100%;
		max-width: 540px;
	}

	#navigator .navigator_persons {
		width: 50%;
		max-width: 500px;
	}

	#navigator .navigator_profiles {
		flex-wrap: wrap;
	}

	#navigator .navigator_info {
		width: 50%;
		max-width: 300px;
		margin-top: 2em;
		padding-top: 6em;
	}

	.navigator_profile {
		justify-content: flex-start;
	}
}

@media screen and (max-width: 480px) {
	#navigator h2 {
		margin-top: -14.8%;
		margin-bottom: 10px;
	}
	
	.navigator_person_img {
		width: 190px;
	}
    #navigator .navigator_profile {
        padding-bottom: 16px;
        margin-bottom: 20px;
        flex-wrap: wrap;
		width: 100% !important;
    }

	#navigator .navigator_profile:first-child {
        margin-top: 16px;
    }

	#navigator .navigator_profile:last-child {
        padding-bottom: 0px;
        margin-bottom: 0px;
    }

	#navigator .navigator_persons {
		width: 72%;
	}

	#navigator .navigator_info {
		width: 100%;
		max-width: 100%;
        padding-top: 0;
	}

	.navigator_text {
		width: calc(100% - 190px);
	}

	#navigator .navigator_comment {
		top: 4%;
        left: 56%;
		width: 100%;
		max-width: 38%;
	}

	#navigator .nc2 {
		left: 50% !important;
		max-width: 48% !important;
	}

	.navigator_text .font_s {
		font-size: 16px;
	}
}

@media screen and (max-width: 380px) {
	#navigator .navigator_comment {
		left: 56%;
		width: 100%;
		max-width: 124px;
	}

	#navigator .nc2 {
		left: 46% !important;
		max-width: 164px !important;
	}
}

@media screen and (max-width: 330px) {

	#navigator h2 {
		margin-top: -19%;
		margin-bottom: 1%;
	}

	#navigator .navigator_profile {
        padding-bottom: 10px;
        margin-bottom: 24px;
        flex-wrap: wrap;
		width: 100% !important;
    }
	#navigator .navigator_info {
		margin-top: 1.4em;
	}

	#navigator .navigator_profile:first-child {
        margin-top: 24px;
    }

	#navigator .navigator_comment {
		top: 0;
		left: 56%;
		width: 46%;
	}

	#navigator .nc2 {
		left: 46% !important;
		width: 56% !important;
	}
}

@media screen and (max-width: 480px) {
	.navigator_text {
		width: calc(100% - 170px);
	}

	.navigator_person_img {
		width: 170px;
	}
}

/*----------------------------------*/
/*------------ travelcar -----------*/
/*----------------------------------*/
.travelcar__title {
	align-items: center;
	gap: 10px 20px;
	font-size: clamp(1.3rem, 4vw, 2rem);
	margin-bottom: 0.5em;
}

.travelcar__title img {
	width: 230px;
}

.travelcar__title h2 {
	max-width: 20em;
	line-height: 1.2;
	font-size: clamp(1.1rem, 5vw, 2rem);
}

.travelcar__title h2 span {
	display: inline-block;
}

.travelcar__info {
	align-items: flex-end;
}

.travelcar__info .cap.show_768{
	display: none;
}

.travelcar__info .rt {
	display: block;
	width: fit-content;
	padding-left: 3em;
	margin-bottom: 0.2em;
}

.travelcar__img {
	width: calc(100% - 320px);
}

.travelcar__about {
	width: 300px;
}

.travelcar__about h3 {
	font-size: clamp(1rem, 3vw, 1.2rem);
	line-height: 1;
	font-weight: bold;
	padding: 1em;
	text-align: center;
	background-color: #DFEAF8;
	margin-bottom: 0.5em;
}

.travelcar__about a {
	display: block;
	width: 100%;
	margin-top: 10px;
	text-align: center;
	padding: 0.5em;
	border-radius: 2em;
	background: #de5513;
	color: #fff;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {

	.travelcar__info {
		position: relative;
	}

	.travelcar__img,
	.travelcar__about {
		width: 100%;
	}

	.travelcar__img {
		margin-bottom: 10px;
	}

	.travelcar__img img {
		width: 100%;
	}

	.travelcar__about h3 {
		position: absolute;
		padding: 0.5em;
		top: 0;
		left: 0;
	}

	.travelcar__info .rt {
		padding-left: 0.7em;
	}

	.travelcar__about a {
		max-width: 400px;
		margin: 10px auto 0 auto;
	}

	.travelcar__info .cap.show_768{
		display: block;
	}
}

@media screen and (max-width: 480px) {
	.travelcar__title img {
		width: 150px;
	}

	.travelcar__info .rt {
		padding-left: 0.4em;
	}
}

.spotinfo__bg {
	background: #EBF5EC;
	padding: 50px 0 44px 0;
}

#spotinfo .title_about {
	margin-bottom: -0.5em;
	font-weight: bold;
	display: block;
}

#spotinfo .spotinfo__imgs {
	margin-top: .4em;
	display: flex;
	justify-content: space-between;
	width: 40%;
}

#spotinfo .spotinfo__imgs .spotinfo__img {
	width: 100%;
}

.spotinfo_block {
	width: 80%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
}

.spotinfo__txt {
	width: 56%;
}

#spotinfo .title_about .spotinfo__about__dec {
	width: 60%;
	max-width: 350px;
	margin: 0 auto 0.3em;
}

@media screen and (max-width: 860px) {
	.spotinfo_block {
		width: 88%;
	}
}

#spotinfo .title_about .spotinfo__about__dec {
	width: 60%;
	max-width: 350px;
	margin: 0 auto 0.3em;
}

@media screen and (max-width: 768px) {
	.spotinfo_block {
		width: 100%;
	}

	.spotinfo__txt {
		width: 100%;
	}

	#spotinfo .spotinfo__imgs {
		justify-content: center;
		margin-top: 1em;
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	
	#spotinfo .spotinfo__imgs {
		margin-top: 2.8em;
	}
}

@media screen and (max-width: 480px) {
	#spotinfo .spotinfo__imgs .spotinfo__img {
		width: 100%;
	}

	#spotinfo .spotinfo__imgs {
		flex-wrap: wrap;
		margin-top: 1em;
	}
}

#lead_img {
	max-width: 900px;
	width: 100%;
	margin: auto;
}

@media screen and (max-width: 768px) {
	#lead_img {
		max-width: 728px;
		width: 100%;
	}
}

#lead_img h2{
	margin: auto;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#lead_img h2 img {
		width: 72%;
	}
}

#lead_img .lead_img_flex{
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	align-items: center;
}

#lead_img .lead_img_flex img{
	width: 50%;
	height: 100%;
}

@media screen and (max-width: 480px) {
	#lead_img h2{
		margin-bottom: 48px;
	}
	#lead_img h2 img{
		max-width: 352px;
		width: 100%;
	}

	#lead_img .lead_img_flex img{
		width: 100%;
		height: 100%;
	}
}

.present__bg {
	background: #d9f3d9;
	padding: 30px 20px 40px 20px;
	border-radius: 10px;
	position: relative;
}

.present__title {
	width: 75%;
	max-width: 400px;
	margin: -88px auto auto auto;
}

@media screen and (max-width: 480px) {
	.present__title {
		margin-top: -5.2em;
	}
}

@media screen and (max-width: 380px) {
	.present__title {
		margin-top: -4.4em;
	}
}

.present__main {
	width: 100%;
	margin: 0 auto;
    margin-top: -2em;
}

.present__person {
	width: 27%;
	position: absolute;
	top: -29%;
}



.present__bg a {
	display: block;
	width: fit-content;
	margin: 0 auto 0 auto;
	background: #006934;
	padding: 0.5em 1.5em;
	letter-spacing: 0.1em;
	font-size: clamp(1rem, 3vw, 1.5rem);
	color: #fff;
	border-radius: 3em;
}

.present__contents {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.present_person_comment {
    max-width: 230px;
    width: 60%;
	margin-top: 3em;
    margin-left: 6em;
}



.pp2504{
    width: 60%;
	margin-top: -3.8em;
    margin-left: -1em;
}

.present__person.show_640 {
	display: none;
}

@media screen and (max-width: 980px) {
	.present_person_comment {
		margin-left: 5em;
		width: 50%;
	}
}

@media screen and (max-width: 940px) {

	.pp2504{
		width: 60%;
		margin-top: -3.2em;
		margin-left: -1em;
	}

	.present__person {
		width: 27%;
		position: absolute;
		top: -25%;
	}

	.present_person_comment {
		margin-left: 5em;
		width: 50%;
		margin-top: 2.0em;
	}
}

@media screen and (max-width: 860px) {
	.present_person_comment {
		margin-left: 4.4em;
	}
	.pp2504{
		margin-top: -2.8em;
	}
}



@media screen and (max-width: 768px) {

	.present__person {
		width: 50%;
        position: relative;
		margin: -4em auto 2em auto;
	}
	.present_person_comment {
		margin-left: 7.4em;
        margin-top: 3em;
	}

}

@media screen and (max-width: 640px) {
	.present__bg {
		width: 90%;
		margin: auto;
		padding: 30px 10px 40px 10px;
	}

	.present__title {
		width: 68%;
		max-width: 400px;
		
	}

	.present__person {
		width: 60%;
        position: relative;
		margin: -4em auto 2em auto;
	}

	.present_person_comment {
		margin-top: 4em;
	}

	.present__main {
		width: 74%;
		margin-top: 0em;
	}

	.present__contents {
		margin-top: 0em;
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 480px) {

	.present__main {
		width: 80%;
		margin-top: 0em;
		margin-bottom: 8%;
	}

	.present__person {
		width: 72%;
	}
	.present_person_comment {
		margin-top: 20%;
        margin-left: 42%;
	}

}

@media screen and (max-width: 380px) {
	.present_person_comment {
		
	}
}