@charset "utf-8";
/* CSS Document */
.now_search_box>a {
    background-color: #d5d5d5;
    font-size: 14px;
    padding: .5em;
    text-decoration: none;
    border-radius: 3px;
    display: inline-block;
    margin-top: 1em;
}

.now_search_box{
	padding: 40px 100px 36px;
	border-radius:30px;
	margin-bottom: 50px;
}
.now_search_box .title_menu{
	font-size: 25px;
	color: #000000;
	border-bottom: 2px solid #000000;
	text-align: left;
	font-weight: bold;
	padding-left: 20px;
}
.now_search_box .title_menu .menu_icon{width:17px;}
.now_search_box .now_search_list{
	margin-top: 15px;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-weight: bold;
}
.now_search_box .now_search_list li{
	background-color: #c3f0fa;
	padding: .2em .5em;
	display: inline-block;
}
.now_search_box .now_search_list li span:nth-of-type(n+2)::before{content: "・";}

.bg_color {background-color: #fdffda;}
.width90 {
	width: 90%;
	margin: 0 auto;
}
.max_w1200 {max-width: 1200px;}

@media screen and (max-width: 600px){
	.now_search_box .now_search_list li{font-size: 13px;}
}
/*=====================================================================================
***************************************************************************************

　　絞り込み検索・ワード検索

***************************************************************************************
=====================================================================================*/

.menu_icon {
	width: 24px;/* 一旦基準 */
	height: auto;/* 縦横比を保つ */
	margin-right: 10px;
}

.menu_icon polygon {
	fill: #e73f17;/* 通常時の色 */
}

.menu_icon.green polygon {fill: #29ba6f;}
.menu_icon.pink polygon {fill: #eb729c;}
.menu_icon.blue polygon {fill: #307fc1;}
.menu_icon.yellow polygon {fill: #fee200;}
.searchbox_container {
	overflow: hidden;
	margin-top: 10px;
}
.accordion_header {
	position: relative;
	padding: 1.3em;
	cursor: pointer;
	transition: background-color 0.2s;
	background: #e94119;
	border-radius: 40px;
	transition: border-radius cubic-bezier(.2, 0, .2, 1);
}

.accordion_header.accordion_open {
	border-radius: 40px 40px 0 0;
}

.accordion_header .font_title {
  /*font-size: 35px;*/
	color: #ffffff;
	text-align: center;
	display: inline-block;
}
.accordion_icon {
	position: absolute;
	inset: 0 40px 0 auto;
	margin: auto;
	width: 43px;
	height: 43px;
	border-radius: 100%;
	background-color: #ffffff;
  transition: transform 0.3s;
}
.accordion_icon .line{
	position: absolute;
	display: inline-block;
	background-color: #e94119;
	height: 5px;
	left: 0;
	right: 0;
	margin: auto;
	width: 50%;
	transition: 0.3s;

	&:nth-of-type(1) {
		top: 50%;
		transform: translateY(-50%) rotate(90deg);;
		opacity: 0;
  }
	&:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%);
	}
}
.accordion_icon.closed {
	.line {
		&:nth-of-type(1) {
			opacity: 1;
		}
	}
}
.searchbox_container .accordion_content {max-height: 3000px;}
.freeword_container .accordion_content {max-height: 300px;}
.accordion_content {
    overflow: hidden;
    transition: max-height 1s ease;

		border: 2px solid #e94119;
		border-top: none;
		border-radius: 0 0 30px 30px;
}
.accordion_content:not(.has-border) {border-color: transparent;}


.accordion_content.closed {max-height: 0;}
.accordion_content .filter_section {
  max-width: 1050px;
	width: 90%;
	margin: 40px auto;
	text-align: left;
}
.accordion_content .filter_title {
	font-size: 22px;
	margin-bottom:.5em;
	display: flex;
	align-items: center;
	font-weight: bold;
}

.accordion_content .form_group {margin-bottom: 10px;}
.accordion_content .checkbox_group,
.accordion_content .radio_group {
    display: flex;
    gap: .8em 40px;
    margin-left: 1.5em;
    flex-wrap: wrap;
		font-weight: bold;
}
.accordion_content .checkbox_item,
.accordion_content .radio_item {
    display: flex;
    align-items: center;
}
.accordion_content input[type="checkbox"],
.accordion_content input[type="radio"] {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    cursor: pointer;
}
.accordion_content label {
    cursor: pointer;
    font-size: 18px;
}
.accordion_content select {
	padding: 10px;
	border: 1px solid #000000;
	font-size: 16px;
	background-color: #ffffff;
	cursor: pointer;
	max-width: 250px;
	width: 100%;
  margin-left: 1.5em;
	font-family: "Zen Maru Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック";
	font-weight: bold;
}
.accordion_content .date_picker {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.accordion_content .date_group {
    display: flex;
    align-items: center;
    gap: 15px;
}
.accordion_content .date_group #start_year,
.accordion_content .date_group #end_year {min-width: 100px;}
.accordion_content .date_group #start_month,
.accordion_content .date_group #end_month,
.accordion_content .date_group #start_day,
.accordion_content .date_group #end_day{min-width: 80px;}
.accordion_content .date_separator {margin: 0 8px;}
.accordion_content .search_button {
	position: relative;
	background-color: #ffffff;
	font-size: 34px;
	color: #000000;
	border: 2px solid #000000;
	border-radius: 100px;
	text-align: center;
	max-width: 280px;
	width: 100%;
	font-weight: 600;
	text-decoration: none;
	display: block;
	padding: .3em .6em .4em;
	margin: 0 auto 80px;
	cursor: pointer;
	line-height: 1.3;
}
.accordion_content .search_button:hover {
    background-color: #ffffff;
}
.accordion_content .pop_up{
	background-color: #000000;
    color: #ffffff;
    font-size: 14px;
    text-decoration: none;
    padding: .2em 1.2em .4em;
    border-radius: 16px;
    margin-left: .5em;
}
.accordion_content .search_button::after {
	position: absolute;
	content: "";
	background: url(../img/common/btn_arrow_yellow.svg) no-repeat center /cover;
	width: 72px;
	height: 72px;
	right: -1px;
	top: -2px;
}

.freeword_container form{
	max-width: 1000px;
	margin: 60px auto;
	border: solid 2px #071533;
}
.search_form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    border: none;
    border-radius: 3px;
}
.search_form input {
    width: 100%;
    height: 45px;
    padding: 5px 15px;
    border: none;
    box-sizing: border-box;
    font-size: 1em;
    outline: none;
	background-color: #ffffff;
}
.search_form label{width:90%;}

.search_form button {
	width: 125px;
    display: flex;
    justify-content: center;
    align-items: center;
	column-gap: 3px;
    height: 45px;
    border: none;
    background-color: transparent;
    cursor: pointer;
	background-color: #f36938;
	color: #fcffee;
}
.search_form button::before {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.232,17.102 C20.886,17.654 20.970,18.632 20.418,19.287 C19.867,19.941 18.891,20.024 18.237,19.473 L13.775,15.708 C13.610,15.569 13.482,15.402 13.391,15.221 C10.454,17.663 6.107,17.733 3.086,15.183 C-0.308,12.321 -0.740,7.245 2.120,3.848 C4.981,0.450 10.051,0.017 13.445,2.882 C16.468,5.432 17.125,9.730 15.215,13.041 C15.413,13.100 15.603,13.196 15.771,13.338 L20.232,17.102 ZM11.575,5.102 C9.406,3.273 6.167,3.549 4.339,5.719 C2.512,7.890 2.788,11.133 4.956,12.963 C7.124,14.793 10.364,14.515 12.192,12.345 C14.019,10.174 13.743,6.932 11.575,5.102 Z' fill='%23fcffee'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    content: '';
}

.accordion2{padding: .8em;}

@media screen and (max-width: 600px){
	.accordion_header{padding: 0.8em;}
	.accordion_header .font_title {font-size: 18px;}
	.accordion_header .font_title img{
		width: 72%;
		vertical-align: -4px;
	}
	.accordion_icon{
		width: 35px;
		height: 35px;
		inset: 0 24px 0 auto;
	}

	.now_search_box{
		margin-bottom: 30px;
		padding: 30px 30px 40px;
	}
	.searchbox_container{margin-bottom: 20px;}
	.accordion_content .filter_title {font-size: 18px;}
	.accordion_content label{font-size: 15px;}
	.accordion_content .filter_section{margin: 25px auto;}
	.freeword_container form{margin: 30px auto;}

	.accordion_content .search_button {
		font-size: 26px;
		margin: 0px auto 50px;
	}

	.accordion_content select{padding: 6px;}

	.accordion_content .date_group {gap: 6px;}

	.accordion_content .date_picker{gap: 12px 5px;}

	.accordion_content .date_group #start_month,
	.accordion_content .date_group #start_day,
	.accordion_content .date_group #end_month,
	.accordion_content .date_group #end_day{margin-left:0;}

	.accordion_content .date_group #start_year,
	.accordion_content .date_group #end_year {
		min-width: 60px;
	}
	.accordion_content .date_group #start_month,
	.accordion_content .date_group #end_month,
	.accordion_content .date_group #start_day,
	.accordion_content .date_group #end_day {
		min-width: 50px;
	}
	.accordion_content .search_button::after {
		width: 56px;
		height: 56px;
	}

	.accordion_content .ttl_long {
		font-size: 16px;
		align-items: baseline;
	}

}

/*=====================================================================================
***************************************************************************************

　　セレクトボックス

***************************************************************************************
=====================================================================================*/

.selectbox {
	display: flex;
	align-items: center;
	position: relative;
	margin: 50px 0 0 auto;
	max-width: 140px;
}
.selectbox::after {
	position: absolute;
	right: 5px;
	width: 18px;
	height: 10px;
	background-color: #e94119;
	clip-path: polygon(50% 50%,0 0,0 100%);
	content: '';
	pointer-events: none;
}
.selectbox select {
	appearance: none;
	width: 100%;
	height: 2.8em;
	padding: .4em calc(.8em + 10px) .4em .8em;
	border: 1px solid #e94119;
	border-radius: 3px;
	background-color: #fdffda;
	color: #e94119;
	font-size: 1em;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
}

/*=====================================================================================
***************************************************************************************

	体験活動りすと

***************************************************************************************
=====================================================================================*/

.taiken_box{
	margin-top: 80px;
	display: flex;
	flex-wrap: wrap;
	gap:70px 5%;
}
.taiken_li{
	width: 30%;
	position: relative;
	box-sizing: border-box;
	border: 3px solid #000000;
	border-radius: 30px;
	padding: 1.2em;
}
.status_new a .img_box::before{
	position: absolute;
	content: "";
	width: 103px;
	height:92px ;
	top:-40px;
	left: -40px;
	z-index:2;
}
.status_shimekiri a .img_box::before {
	position: absolute;
	content: "";
	width: 113px;
	height: 93px;
	top: -40px;
	left: -40px;
	z-index: 2;
}
.status_uketsuke a .img_box::before {
	position: absolute;
	content: "";
	width: 105px;
	height: 103px;
	top: -40px;
	left: -40px;
	z-index: 2;
}
.status_end a .img_box::before {
	position: absolute;
	content: "";
	width: 120px;
	height: 78px;
	top: -40px;
	left: -40px;
	z-index: 2;
}
.status_new a .img_box::before{background:url(../img/situation_new.png) no-repeat center/cover;}
.status_shimekiri a .img_box::before{background:url(../img/situation_shimekiri.png) no-repeat center/cover;}
.status_uketsuke a .img_box::before{background:url(../img/situation_uketsuke.png) no-repeat center/cover;}
.status_end a .img_box::before{background:url(../img/situation_end.png) no-repeat center/cover;}


.taiken_li a{
	text-decoration: none;
	text-align: left;
}
.img_box {
	width: 100%;
	aspect-ratio: 5 / 3;
	overflow: hidden;
	/*border-radius: 20px;*/
}
.img_box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	transition:.3s all;
}
.taiken_li a:hover .img_box img{
	transform:scale(1.1,1.1);
	transition:.3s all;
}
.text_box {
	/*background-color: #fcffee;*/
	padding: 1.2em 0;
	font-weight: bold;
}
.text_box .tag{
	background-color: #000000;
	color: #ffffff;
	font-size: 14px;
	padding: .2em 1em;
	display: inline-block;
	border-radius:10px;
	margin-bottom: .5em;
}
.text_box .article_title{font-size: 23px;}
.text_box .calendar{
	margin-top: .5em;
	display: flex;
	flex-wrap: wrap;
	/*align-items: baseline;*/
}
.category_list{
	display: flex;
	flex-wrap: wrap;
	gap:8px;
	margin-top: .6em;
}

.category_list li{
	background: #fff0b5;
	border-radius: 20px;
	padding: .4em 1.2em;
	line-height: normal;
	display: flex;
}

.category_list .icon_pin img{width: 12px;}
.category_list .icon_map img{width: 14px;}
.category_list .icon_money img {width: 13px;}

.cms_text{
	margin-left: .3em;
	font-size: 14px;
	line-height: 1.5;
}

@media screen and (max-width: 820px){
	.taiken_li{width: 47.5%;}
}
@media screen and (max-width: 600px){
	.taiken_li{width: 100%;}
	.status_icon a::before{
		width: 92px;
		height: 92px;
		top: -35px;
		left: -18px;
	}
	.status_new a .img_box::before {left: -20px;}
	.status_shimekiri a .img_box::before {left: -20px;}
	.status_uketsuke a .img_box::before {left: -20px;}
	.status_end a .img_box::before {left: -20px;}
}

/*=====================================================================================
***************************************************************************************

	ぺーじねーしょん

***************************************************************************************
=====================================================================================*/

.page_link{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 60px;
	gap: 20px;
}

.page_link li a{
	color: #000000;
	border-radius: 50%;
	border: 3px solid #000000;
	box-sizing: border-box;
	width: 50px;
	height: 50px;
}
.page_link .link_active{background: #ffef37;border-radius: 50%;}

.page_link li a{
	text-decoration: none;
	display: block;
}

.page_link li span{font-size: 23px;}

.page_link li.dots {
	border: none;
	pointer-events: none;
	font-size: 32px;
}

.page_link li.dots {
	border: none;
	pointer-events: none;
	font-size: 32px;
}
@media screen and (max-width: 600px) {
	.page_link{
		margin-top: 30px;
		gap: 12px;
	}
	.page_link li a{
		width: 36px;
		height: 36px;
	}
	.page_link li span {font-size: 16px;}
	.page_link li.dots{font-size: 24px;}
}




#start_date,
#end_date{
	padding: 10px;
	border: 1px solid #000000;
	font-size: 16px;
	background-color: #ffffff;
	cursor: pointer;
	max-width: 250px;
	width: 100%;
	margin-left: 1.5em;
	font-family: "Zen Maru Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック";
	font-weight: bold;
}


@media screen and (max-width: 600px) {
	#start_date,#end_date{
		padding: 6px;
	}
}



/****************************************

ポップアップ

******************************************/


/* ↓ ポップアップデザイン ↓ */
/* ==== モーダル全体 ==== */
.modal {display: none;}
.modal.is-open {display: block;}
button {background: inherit;}

/* ==== 背景（フェード）==== */
.modal__overlay {
	position: fixed;
	inset: 0;
	background: rgba(253, 255, 218, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 10000;
}

/* 開いたとき */
.modal.is-open .modal__overlay {opacity: 1;}

/* ==== 中身（ちょい拡大＋フェード）==== */
.modal__container {
	width: min(90vw, 1000px);
	/* PC:1000px / SP:画面の90% */
	height: min(80vh, 680px);
	/* 高さも画面基準 */

	transform: translateY(20px);
	opacity: 0;
	transition: opacity 0.3s ease, transform 0.3s ease;
	background: #ffffff;
	z-index: 1;
	position: relative;
	border-radius: 50px;
}

/* 中身だけスクロール */
.modal__content {
	height: 100%;
	padding: 60px 40px;
	overflow-y: auto;
	box-sizing: border-box;
	border-radius: 50px;
}

.modal.is-open .modal__container {
	transform: translateY(0);
	opacity: 1;
}

#modal-1 .modal__container li {
	background-image: linear-gradient(to right, #dcd4bd 2px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	padding: 30px;
}

#modal-1 .modal__container li:first-child {padding-top: 0;}
#modal-1 .modal__container li:last-child {background-image: none;}

#modal-1 .modal__container h3 {
	color: #e94119;
	margin-bottom: 40px;
	font-weight: bold;
	text-align: center;
}

#modal-1 .modal__container h4 {
	color: #e94119;
	font-size: 20px;
}

#modal-1 .modal__container p {font-size: 16px;}

#modal-1 .modal__container .popup_rei {
	margin-top: 10px;
	position: relative;
}

#modal-1 .modal__container .popup_rei span {
	padding-left: 30px;
	text-indent: -30px;

	display: block;
	padding-left: 40px;
	text-indent: 0px;
}

#modal-1 .modal__container .popup_rei::before {
	content: "例";
	width: 30px;
	height: 30px;
	background: #e94119;
	color: #fff;
	margin-right: 5px;
	border-radius: 50px;
	display: inline-block;
	text-align: center;

	position: absolute;
	left: 0;
	top: 0;
}

/* ==== 閉じるボタン ==== */
.modal_close {
	position: absolute;
	background: none;
	cursor: pointer;
	color: #fff;
	right: 20px;
	top: 20px;
	font-size: 30px;
	border: none;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	/* iOS対策 */
	background: #e94119;
	width: 66px;
	height: 66px;
	border-radius: 50px;
	z-index: 1000000;
}

.modal_close:focus {outline: none;}

/* ==== スマホ用：スクロール固定 ===== */
body.is-modal-open {
	/*position: fixed;*/
	overflow: hidden;
	width: 100%;
}

/* ↑ ポップアップデザイン ↑ */

@media screen and (max-width: 600px) {
	.modal__content {padding: 60px 20px;}
	#modal-1 .modal__container li {padding: 20px 0;}

	.modal_close {
		width: 39px;
		height: 39px;
		font-size: 20px;
	}

	#modal-1 .modal__container h3 {margin-bottom: 15px;}
	#modal-1 .modal__container h4 {font-size: 18px;}
	#modal-1 .modal__container p {font-size: 14px;}
}
