@charset "utf-8";
/* CSS Document */
.now_search_box{
	padding: 30px;
	border-radius:10px;
	margin-bottom: 50px;
}
.now_search_box .title_menu{
	font-size: 20px;
	color: #234083;
}
.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;
}
.now_search_box .now_search_list li{
	background-color: #d3e6f6;
	padding: .2em .5em;
	display: inline-block;
	border-radius:3px;
}
.now_search_box .now_search_list li span:nth-of-type(n+2)::before{content: "・";}
.now_search_box>a{
	background-color: #d5d5d5;
	font-size: 14px;
	padding: .5em;
	text-decoration: none;
	border-radius:3px;
	display: inline-block;
    margin-top: 1em;
}
@media screen and (max-width: 600px){
	.now_search_box .now_search_list li{font-size: 13px;}
}
/*=====================================================================================
***************************************************************************************

　　絞り込み検索・ワード検索

***************************************************************************************
=====================================================================================*/

.menu_icon.green path {fill: #2aba6f;}
.menu_icon.blue path {fill: #2f7fc2;}
.menu_icon.pink path {fill: #eb739c;}
.menu_icon.yellow path {fill: #fee300;}
.searchbox_container {
	overflow: hidden;
	margin-top: 30px;
}
.accordion_header {
	position: relative;
    padding: 1.2em;
    cursor: pointer;
    transition: background-color 0.2s;
}
.accordion_header .font_title {
    font-size: 30px;
	color: #365cb2;
	text-align: center;
}
.accordion_icon {
	position: absolute;
	inset: 0 20px 0 auto;
	margin: auto;
	width: 50px;
	height: 50px;
	border-radius: 100%;
	background-color: #365cb2;
    transition: transform 0.3s;
}
.accordion_icon .line{
	position: absolute;
    display: inline-block;
    background-color: #ffffff;
    height: 2px;
    left: 0;
	right: 0;
	margin: auto;
    width: 50%;
    transition: 0.3s;

	&:nth-of-type(1) {
        top: 50%;
        transform: rotate(90deg);
		opacity: 0;
      }
      &:nth-of-type(2) {
        top: 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;
}
.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;
}
.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;
}
.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,
.accordion_content .date_group input{
    padding: 10px;
    border: 1px solid #223e7b;
    border-radius: 4px;
    font-size: 16px;
    background-color: #ffffff;
    cursor: pointer;
	max-width: 250px;
	width: 100%;
    margin-left: 1.5em;
}
.accordion_content input#end_date{margin-left: 0;}
.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: #365cb2;
	color: #fcffee;
	border: none;
    border-radius: 100px;
    text-align: center;
    max-width: 280px;
	width: 100%;
    font-weight: 600;
	text-decoration: none;
    display: block;
    padding: 1em .5em;
	margin: 0 auto 80px;
	cursor: pointer;	
}
.accordion_content .search_button:hover {
    background-color: #223e7b;
}
.accordion_content .pop_up{
	background-color: #223e7b;
    color: #fcffee;
    font-size: 14px;
    text-decoration: none;
    padding: .2em .8em;
    border-radius: 3px;
    margin-left: .5em;
}
.accordion_content .search_button::after {
    position: absolute;
    content: "";
    background: url(../img/search_btn.svg) no-repeat;
    width: 35px;
    height: 35px;
	inset: 0 12px 0 auto;
    margin: auto;
}

.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: '';
}

@media screen and (max-width: 600px){
	.accordion_header{padding: 0.8em;}
	.accordion_header .font_title {font-size: 18px;}
	.accordion_icon{width: 35px;height: 35px;}

	.now_search_box{margin-bottom: 30px;}
	.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{margin-bottom: 50px;}
}

/*=====================================================================================
***************************************************************************************

　　セレクトボックス

***************************************************************************************
=====================================================================================*/

.selectbox {
    display: flex;
    align-items: center;
    position: relative;
	margin: 50px 0 0 auto;
	max-width: 250px;
}
.selectbox::after {
    position: absolute;
    right: 15px;
    width: 18px;
    height: 10px;
    background-color: #202020;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}
.selectbox select {
    appearance: none;
    width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #000000;
    border-radius: 3px;
    background-color: ##fcffee;
    color: #000000;
    font-size: 1em;
    cursor: pointer;
}

/*=====================================================================================
***************************************************************************************

	体験活動りすと

***************************************************************************************
=====================================================================================*/

.taiken_box{
	margin-top: 80px;
	display: flex;
	flex-wrap: wrap;
	gap:70px 5%;
}
.taiken_li{
	width: 30%;
	position: relative;
	background: #fcffee;
}
.status_icon a::before{
	position: absolute;
	content: "";
	width: 124px;
	height:124px ;
	top:-40px;
	left: -40px;
	z-index:2 ;
}
.status_new a::before{background:url(../img/situation_new.png) no-repeat center/cover;}
.status_shimekiri a::before{background:url(../img/situation_shimekiri.png) no-repeat center/cover;}
.status_uketsuke a::before{background:url(../img/situation_uketsuke.png) no-repeat center/cover;}
.status_end a::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: 3 / 2;
	background-color: #223e7b;
    overflow: hidden;
}
.img_box img {
	height: 100%;
    width: 100%;
	object-fit: contain;
	object-position: center;
	transition: .3s all;
}
.taiken_li a:hover .img_box img{transform:scale(1.1,1.1);}
.text_box {
	background-color: #fcffee;
	padding: 1.2em;
}
.text_box .tag{
	background-color: #223e7b;
	color: #fcffee;
	font-size: 12px;
	padding: .2em .8em;
	display: inline-block;
	border-radius:3px;
	margin-bottom: .5em;
}
.text_box .article_title{font-size: 20px;}
.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;
}
.cms_text{margin-left: .3em;}

@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;
	}
}
/*=====================================================================================
***************************************************************************************

	スペシャルコンテンツ

***************************************************************************************
=====================================================================================*/
.special_contents {
	position: fixed;
	bottom: 100px;
	right: 0;
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.special_contents.active {
	opacity: 1;
	pointer-events: auto;
}

.special_contents>div{
	width:210px;
	background-color: #ffe897;
	padding: 10px 17px;
	border-radius:8px 0 0 8px;
	margin-top: 15px;
}
.special_contents>div a{text-decoration: none;}
.special_contents>div a .font_title{
	color:#223e7b;
	display: flex;
    align-items: center;
	justify-content: center;
    gap: 5px;
}
.special_contents>div a p{font-size: 14px;line-height: 1.2;}
.special_contents>div a .samune{
	margin: 0 auto 10px;
	transition: .3s all;
}
.special_contents>div a:hover .samune{
    transform: scale(1.1, 1.1);
}
@media screen and (max-width: 1200px){
	.special_contents .pc{display: none;}
	.special_contents>div {width: auto; padding: 10px 5px;}
	.special_contents>div a .font_title{
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		line-height: 1.2;
		text-align: justify;
	}
	.special_contents>div a .font_title .sp{
		display: block;
	}
}
/*=====================================================================================
***************************************************************************************

　　ポップアップ

***************************************************************************************
=====================================================================================*/

/* 開くボタン */
.accordion_content .popup_open_btn{
	background-color: #223e7b;
    color: #fcffee;
    font-size: 14px;
    text-decoration: none;
    padding: .2em .8em;
    border-radius: 3px;
    margin-left: .5em;
	cursor:pointer
}
/* ===== POPUP 背景 ===== */
.popup_overlay {
	position: fixed;
	inset: 0;
	background-color: rgba(35, 64, 131, 0.8);;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 100;
}
.popup_overlay.is-active {display: flex;}

/* ===== POPUP 本体 ===== */
.popup_box{position: relative;}
.popup_box>div{
	background-color: #fcffee;
	max-height: 80vh;
	overflow-y: auto;
	padding: 80px 0 40px ;
}
/* タイトル */
.popup_title {
	font-size: 26px;
	font-weight: 600;
	margin-bottom: 1em;
	color: #234083;
}
/* リスト */
.popup_list {text-align: left;}
.popup_item{margin-bottom: 50px;}
.popup_item .font_title {
	font-size: 23px;
	font-weight: 600;
	color: #234083;
	display: flex;
	align-items: center;
}
.popup_item p {
	font-size: 18px;
	margin: .5em 0;
}
.popup_item span {
	font-size: 16px;
	line-height: 1.8;
}
.popup_item span img{
	width: 35px;
	margin:-2px .5em 0 0;
}
/* 閉じるボタン */
.popup_close_btn {
    position: absolute;
    top: -1.5em;
    right: 0px;
    font-size: 40px;
    border: none;
    background: none;
    cursor: pointer;
    color: #fcffee;
    padding: 0;
}
@media screen and (max-width:750px) {
	.popup_box>div{padding: 40px 0 20px;}
	.popup_item {margin-bottom: 30px;}
	.popup_title {font-size: 22px;}
	.popup_item .font_title {font-size: 20px;}
	.popup_item p {font-size: 16px;}
	.popup_item span {font-size: 14px;}
}