
body{
    background-color: #fff;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}
input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
}
img{
	width: 100%;
}

/* -------------------------------------
共通
-------------------------------------- */
/* 背景色 */
.hp_bgWhite{
	background-color: #fff!important;
}
.hp_bgGreen{
	background-color: #008033!important;
}
.hp_bgLightgreen{
	background-color: #00a73c!important;
}

/* 文字色 */
.hp_fcBlack{
	color: #000!important;
}
.hp_fcWhite{
	color: #fff!important;
}
.hp_fcDarkred{
	color: #561b24!important;
}
.hp_fcGreen{
	color: #008033!important;
}

/* フォントウェイト */
.hp_fwLighter{
	font-weight: lighter!important;
}
.hp_fwBold{
	font-weight: bold!important;
}
.hp_fw500{
	font-weight: 500!important;
}
.hp_fw600{
	font-weight: 600!important;
}

/* 行間 */
.hp_line1{
	line-height: 1em;
}
.hp_line105{
	line-height: 1.5em;
}
.hp_line2{
	line-height: 2em;
}

/* 文字そろえ */
.hp_txtCenter{
	text-align: center!important;
}
.hp_txtRight{
	text-align: right!important;
}
.hp_txtLeft{
	text-align: left!important;
}

/* 文字サイズ */
.hp_txt14{
	font-size: 14px!important;
}
.hp_txt16{
	font-size: 16px!important;
}
.hp_txt18{
	font-size: 18px!important;
}
.hp_txt20{
	font-size: 20px!important;
}
.hp_txt22{
	font-size: 22px!important;
}
.hp_txt24{
	font-size: 24px!important;
}
.hp_txt26{
	font-size: 26px!important;
}
.hp_txt28{
	font-size: 28px!important;
}
.hp_txt30{
	font-size: 30px!important;
}
@media (max-width:765px){
	.hp_txt20{
		font-size: 18px!important;
	}
	.hp_txt22{
		font-size: 20px!important;
	}
	.hp_txt24{
		font-size: 22px!important;
	}
	.hp_txt26{
		font-size: 24px!important;
	}
	.hp_txt28{
		font-size: 26px!important;
	}
	.hp_txt30{
		font-size: 28px!important;
	}
}
@media (max-width:475px){
	.hp_txt18, .hp_txt20, .hp_txt22{
		font-size: 16px!important;
	}
	.hp_txt24, .hp_txt26, .hp_txt28{
		font-size: 18px!important;
	}
	.hp_txt30{
		font-size: 20px!important;
	}
}

/* ------------------------------------
凡庸性のあるcss
------------------------------------- */
/* レスポンシブ改行 */
.sp_br{
	display: none;
}
@media (max-width:475px){
	.sp_br{
		display: block;
	}	
}
/* ------------------------------------
ヘッダー
------------------------------------- */
.slide {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.title_logo{
	position: absolute;
	width: 35%;
	right: 0;
	left: 0;
	margin: 1em auto;
	z-index: 1;
	background-color: #fff;
	padding: 55px;
	border-radius: 50%;
}
.slide-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	animation: slider-1 24s linear infinite;
}
.slide-image:nth-child(1) {
	background-image: url(../images/slide_gal01.jpg);
	animation-delay: -2s;
}

.slide-image:nth-child(2) {
	background-image: url(../images/slide_gal02.jpg);
	animation-delay: 6s;
}

.slide-image:nth-child(3) {
	background-image: url(../images/slide_gal03.jpg);
	animation-delay: 14s;
}

@keyframes slider-1 {
	0% {
		opacity: 0;
		transform: scale(2);
	}
	4.16% {
		opacity: 1;
	}
	33.33% {
		opacity: 1;
	}
	41.66% {
		opacity: 0;
		transform: scale(1.2);
	}
	100% {
		opacity: 0;
	}
}
@media(max-width:1200px){
	.title_logo{
		width: 50%;
	}
}
@media(max-width:900px){
	.title_logo{
	}
}
@media(max-width:765px){
	.title_logo{
		width: 70%;
	}
	.slide {
		height: 78vh;
	}
}
@media(max-width:475px){
	.title_logo{
		width: 90%;
		padding: 30px;
	}
}
/* ------------------------------------
メイン
------------------------------------- */
#container{
	/*下のかぶさるエリアの指定*/
	position: relative;
	z-index:1;
    background-color: #fff;
}
@media(max-width:1200px){
	#container{
		padding: 0;
	}
}

/* コンテンツ1 */
.cont1{
	padding-top: 100px;
	margin: 0 0 4em 0;
}
.cycleW_img{
	position: absolute;
	width: 10%;
	right: 300px;
	top: 120px;
}
@media(max-width:900px){
	.cont1{
		padding-top: 50px;
	}
	.cycleW_img{
		display: none;
	}
}

/* コンテンツ2 */
.cont2{
	width: 100%;
	background-color: #fff;
	width: 1200px;
	margin: 0 auto;
}
.cont2_flex{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
	}
.cogocogo_L{
	width: 100%;
	height: auto;
	padding: 0 15px;
	box-sizing: border-box;
}
.cogocogo_L-Inner{
	display: flex;
	gap: 1em;
	justify-content: center;
	align-items: center;
}
.link_title{
	width: fit-content;
	margin: 1em auto;
}
.ttl_background3 {
	font-weight: bold;
	padding: 0.5em 1em;
	background-color: #00a73c;
	color: #fff;
	overflow: hidden;
	position: relative;
}
.ttl_background3::after {
	content: '';
	background-color: #fff;
	opacity: 0.3;
	transform: rotate(-65deg);
	position: absolute;
	bottom: -250px;
	right: -250px;
	width: 300px;
	height: 500px;
}
.link_flex{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em;
}
.linkItem{
	width: 38%;
}

.cogocogo_R{
	width: 100%;
	height: auto;
	overflow: hidden;
	box-sizing: border-box;
}

@media(max-width:1200px){
	.cont2{
		width: 80%;
	}
	.cogocogo_L{
		margin: 1em 0;
	}
}
@media(max-width:900px){
	.cont2_flex{
		flex-direction: column-reverse;
	}
}
@media(max-width:765px){
	.cont2{
		width: 90%;
	}
}
@media(max-width:475px){
	.cogicogi_logo{
		width: 50%;
	}
	.cogocogo_L-Inner{
		flex-direction: column;
	}
	.link_flex{
		flex-direction: column;
	}
	.linkItem{
		width: 60%;
	}
}

/* コンテンツ2.5 */
.cont2-5{
	margin-top: 2em;
	display: flex;
	gap: 50px;
	justify-content: center;
	align-items: center;
	padding-bottom: 100px;
}
.cont2-5_inner{
	background-color: #fff;
	width: 250px;
	padding: 15px 30px;
	border-radius: 15px;
	color: #008033;
	font-weight: 600;
	text-align: center;
}
@media(max-width:765px){
	.cont2-5{
		gap: 20px;
		flex-direction: column;
		padding-bottom: 50px;
	}
}
/*--------------------------------------
モーダル表示上から_002
--------------------------------------*/
.modal_wrap input {
	display: none;
}

.modal_overlay {
	display: flex;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	transition: opacity 0.5s, transform 0s 0.5s;
	transform: scale(0);
}

.modal_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}

.modal_content {
	align-self: center;
	width: 60%;
	padding: 30px 30px 15px;
	box-sizing: border-box;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
}
@media(max-width:475px){
	.modal_content {
		width: 90%;
	}
}

.modal_content p {
	padding-top: 10px;
}

.close_button {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 24px;
	cursor: pointer;
}

.modal_wrap input:checked ~ .modal_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
	transform: translateY(20px);
}

.open_button {
	/* color: #4f96f6; */
	background-color: #eeeeee;
	font-weight: bold;
	text-align: center;
	cursor :pointer;
	transition: all 0.3s;
	display: block;
	/* margin-top: 40px; */
	margin-bottom: 1px;
	padding: 12px 2px;
	max-width:300px;
	text-decoration: none;
}

.open-button:active {
	/*ボタンを押したとき*/
	-webkit-transform: translateY(2px);
	transform: translateY(2px);/*下に動く*/

}

/*アイコンを表示*/
.open-button:after {
	font-family: "Font Awesome 5 Free";
	content: "\f2d0";
	padding-left: 8px;
}

/*ラベルホバー時*/
.open-button:hover {
	color: #FFFFFF;
	background-color: #4f96f6;
	transition: .6s;
}

.modal_title2 {
	font-size: 1.5em;
	position: relative;
	overflow: hidden;
	padding-bottom: 10px;
	margin-top:0;
	margin-bottom: 0;
}

.modal_title2::before,
.modal_title2::after{
	content: "";
	position: absolute;
	bottom: 0;
}

/* h2 プライマリカラー*/
.modal_title2:before{
	border-bottom: 4px solid #38c950;
	width: 100%;
}
/* h2 セカンダリカラー*/
.modal_title2:after{
	border-bottom: 4px solid #c7dbc8;
	width: 100%;
}



/* コンテンツ3 */
.cont3{
	margin: 0 auto;
	padding: 100px 0;
	background-color: #fff;
}
.cont3_inner{
	border: 10px #008033 solid;
	border-radius: 30px;
	padding: 10px 30px;
	margin: 0 auto;
	width: 800px;
}
.cont3_caption{
	display: flex;
	align-items: end;
	justify-content: center;
}
.cont3_map{
	margin-top: 2em;
}
.map{
	max-width: 900px;
	height: auto;
	overflow: hidden;
	margin: 30px auto;
}

.map iframe{
	width: 100%;
	aspect-ratio: 18/14;
}

@media(max-width:900px){
	.cont3{
		margin: 0 auto;
		padding: 50px 0;
	}
	.cont3_inner{
		width: 100%;
		border-style: none;
	}
}
@media(max-width:475px){
	.cont3_inner{
		padding: 10px;
	}
}

/* コンテンツ4 */
.cont4{
	background-color: #fef2de;
	/* 方眼紙模様に必須のスタイル */
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #d7e597 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #d7e597 calc(100% - 1px));
	background-size: 50px 50px;
	background-repeat: repeat;
	background-position: center center;
	/* 以下任意のスタイル */
	padding: 20px;
	border-radius: 100px 100px 0 0;
}
.cont4_caption{
	display: flex;
	align-items: end;
	justify-content: center;
}
.cont4_inner{
	margin: 150px auto;
}
.souvenir_inner{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2em;
}
.souvenir_inner2{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2em;
	margin-top: 100px;
}
.souvenir_img01{
	width: 80%;
	margin: 0 auto;
}
.souvenir_img03{
	width: 75%;
}
.souvenir_img04{
	width: 90%;
	margin: 0 auto;
}
.box_circle{
	background-color: #fff;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	text-align: center;
}


/* モーダル */
.modal_txt{
	text-align: center;
	margin-top: 2em;
}
.modal_txt p{
	text-align: center;
	margin-top: 1em;
	font-size: 16px;
	line-height: 2em;
}
span.txt_inner{
	display: inline-block;
	text-align: left;
}
.modal_img{
	margin: 0 50px;
}
.modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	padding: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s;
	pointer-events: none;
	opacity: 0;
	z-index: 100;
	background-color: rgba(120, 123, 131, 0.8);
}

/* モーダルがactiveの時 */
.modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

/* モーダル背景のオーバーレイ部分 */
.modal__overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

/* モーダルのコンテンツ */
.modal__content {
	position: relative;
	background-color: #fff;
	width: 100%;
	max-width: 900px;
	padding: 20px;
}

/* モーダルを閉じるボタン */
.modal__close-btn {
	position: absolute;
	right: 0;
	top: 0;
	width: 40px;
	height: 40px;
	background: #fff;
	border: 1px solid #ccc;
	cursor: pointer;
	z-index: 10;
}

/* Swiperの矢印部分 */
@media (max-width: 768px) {
	.modal .swiper-button-next,
	.modal .swiper-button-prev {
		display: none;
	}
}

/* 画像ホバーアニメ */
.souvenir_img01:hover, .souvenir_img03:hover{
	transform: rotate(-30deg);
}
.souvenir_img02:hover, .souvenir_img04:hover,
.souvenir_img05:hover{
	transform: rotate(15deg);
}

/* 吹き出し */
.cont4_fukidashi{
	display: inline-block;
}
.fukidashi span{
	position: relative;
	left: 5%;
	top: -25px;
	font-size: 24px;
	color: #ff9d2d;
	font-weight: bold;
}
.fukidashi span::before,
.fukidashi span::after{
	content: "";
	display: inline-block;
	background: #ff9d2d;
	width: 3px;
	position: absolute;
}
.fukidashi span::before{
	left: 0;
}
.fukidashi span::after{
	right: 0;
}
@media screen and (min-width: 768px){
	.fukidashi span{
		padding: 0 30px;
	}
	.fukidashi span::before,
	.fukidashi span::after{
		height: 45px;
		bottom: -20px;
	}
	.fukidashi span::before{
		transform: rotate(-45deg);
	}
	.fukidashi span::after{
		transform: rotate(45deg);
	}
}
@media screen and (max-width: 767px){
	.fukidashi span{
		display: inline-block;
		padding: 0 20px;
	}
	.fukidashi span::before,
	.fukidashi span::after{
		height: 45px;
		
	}
	.fukidashi span::before{
		transform: rotate(-45deg);
	}
	.fukidashi span::after{
		transform: rotate(45deg);
	}
}


@media(max-width:900px){
	.souvenir_inner, .souvenir_inner2{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.souvenir_inner2{
		margin-top: 2em;
	}
}
@media(max-width:765px){
	.cont4{
		border-radius: 50px 50px 0 0;
	}
}
@media(max-width:475px){
	.cont4_inner{
		margin: 50px auto;
	}
	.modal_img{
		margin: 0;
	}
	.modal_txt-inner{
		font-size: 14px;
	}
}



/* コンテンツ5 */
.cont5{
	background: repeating-linear-gradient(-44deg, #d8e698, #d8e698 5px, #a9d06b 9px, #a9d06b 18px);
	padding: 50px 150px;
	margin: 0 auto;
}
.cont5_inner{
	background-color: #fff;
	padding: 15px 250px 50px;
	max-width: 1300px;
	margin: 0 auto;
}
.cont5_DL{
	margin: 2em auto;
	text-align: center;
}
.btn--orange,
a.btn--orange {
	color: #fff;
	background-color: #eb6100;
	padding: 10px 30px;
}
.btn--orange:hover,
a.btn--orange:hover {
	color: #fff;
	background: #f56500;
}
a.btn--radius {
	border-radius: 100vh;
}

.cont5_flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3em;
}
.cont5_flex img{
	border: 1px solid #000;
}

@media(max-width:1100px){
	.cont5_inner{
		padding: 15px 120px 50px;
	}
}
@media(max-width:900px){
	.cont5_flex{
		flex-direction: column;
		gap: 1em;
	}
	.cont5_inner{
		padding: 15px 30px 50px;
	}
}
@media(max-width:765px){
	.cont5{
		padding: 35px 50px;
	}
	.cont5_inner{
		padding: 15px 50px 50px;
	}
}
@media(max-width:475px){
	.cont5{
		padding: 30px 0;
	}
	.cont5_inner{
		padding: 10px 30px 30px;
	}
}

/* コンテンツ6 */
.cont6{
	padding: 100px 0;
}
.cont6_inner{
	width: 20%;
	margin: 0 auto;
	max-width: 1200px;
}
.image_link{
	display:block; 
	position:relative;
	text-decoration:none;
}
.image_link img{
	display:block;
	width:100%;
	transition:0.3s;
}
.image_link:before{
	content:"Click!";
	display:block;
	color:#ff6a00;
	line-height:48px;
	width:180px;
	border:solid 1px #ff6a00;
	border-radius:5px;
	text-align:center;
	position:absolute;
	top:50%;
	left:50%;
	margin-top:-1em;
	margin-left:-90px;
	opacity:0;
	z-index:3;
	transition:0.3s;
	font-weight:bold;
	letter-spacing:0.2em;
}
.image_link:hover img{
	filter:blur(5px);
}
.image_link:hover:before{
	opacity:1;
	margin-top:-0.5em;
}

@media(max-width:1100px){
	.cont6_inner{
		width: 30%;
	}
}
@media(max-width:900px){
	.cont6{
		padding: 50px 0;
	}
}
@media(max-width:765px){
	.cont6_inner{
		width: 50%;
	}
}

/* ------------------------------------
フッター
------------------------------------- */
.footer{
	padding: 20px 0;
}
.footer_inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 10px;
}
.footer_caption{
	padding-bottom: 10px;
	border-bottom: 2px solid #fff;
}
.footer_cont{
	padding-top: 10px;
}
.footer_copy{
		padding-top: 1em;
}

/* ---------------------------------------------------
その他追加要素
-----------------------------------------------------*/
.cicle_cont3{
	border-bottom: 2px solid #561b24;
}
#wrap {
	position: relative;
	overflow: hidden;
	
}
.slideConts {
	max-width: 150px;
	/* margin: 0 auto; */
	margin-left: auto;
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}
.slideContsL {
	transform: translate(-1000px, 0);
}
.slideContsL.show {
	transform: translate(-50px, 0) !important;
}