@charset "utf-8";
/* CSS Document */
.color_orange{color: #f36938;}
header h2 {
	opacity: 0;
	transition: opacity 0.5s ease;
}
header h2.is-visible {opacity: 1;}
/*=====================================================================================
***************************************************************************************

　　MV

***************************************************************************************
=====================================================================================*/
#MV{
	background: url(../img/top_mv_bg.jpg) no-repeat top center/cover;
	padding: 100px 0 150px;
}
#MV .MV_in{width: 100%;}
#MV .MV_in>div{
	max-width: 1400px;
	width: 90%;
	margin: 0 auto;
}
#MV .MV_in .MV_in_top_contents{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	gap:20px 1%;
}
#MV .MV_in .MV_in_top_contents .text_box{
	width: 29%;
	text-align: left;
}
.MV_in_top_contents .text_box .font_title{
	font-size: clamp(22px, 2.3vw, 28px);
	color: #f1ad4b;
	font-weight: 600;
	margin: 1em auto .4em;
}
.MV_in_top_contents .text_box .font_title span{
	width: .6em;
	display: inline-block;
}
.MV_in_top_contents .text_box p{
	color: #fcffee ;
	font-weight: 500;
	font-size: clamp(15px, 1.4vw, 18px);
	text-align: justify;
	line-height: 2;
}
#MV .MV_in .shindan_btn_sp{
	display: none;
	position: absolute;
	right: 0;
	top: 220px;
	max-width:58px;
}
@media screen and (max-width: 1023px) {
#MV .MV_in .shindan_btn_sp{display: block;}
}
@media (max-width: 1430px) and (min-width: 500px) {
	#MV .MV_in .MV_in_top_contents .text_box p .pc{display: none;}
}
@media screen and (max-width: 819px) {
	#MV{background: url(../img/top_mv_bg_sp.jpg) no-repeat top/contain;}
	#MV{padding: 70px 0;}
}
@media screen and (max-width: 500px) {
	.MV_in_top_contents .text_box img{max-width: 240px;}
}
/*=====================================================================================
***************************************************************************************

　　MV スライダー

***************************************************************************************
=====================================================================================*/
.slider_wrapper_01 {
	position: relative;
	width: 70%;
	overflow: hidden;
	text-align: left;
}
.slider01_container {
	display: flex;
	transition: transform 0.5s ease-in-out;
}
.slider01_item {
	min-width: 100%;
	padding: 0 0 2% 2%;
	text-decoration: none;
	position: relative;
}
.status_icon::before{
	position: absolute;
	content: "";
	width: 124px;
	height:124px ;
	top:-63px;
	right: 2px;
	z-index:2 ;
}
.status_new::before{background:url(../img/situation_new.png) no-repeat center/cover;}
.status_shimekiri::before{background:url(../img/situation_shimekiri.png) no-repeat center/cover;}
.status_uketsuke::before{background:url(../img/situation_uketsuke.png) no-repeat center/cover;}
.status_end::before{background:url(../img/situation_end.png) no-repeat center/cover;}
.slider_title {
	display: inline-flex;
    font-size: 35px;
    line-height: 1;
    font-weight: 600;
    color: #223e7b;
    background-color: #fcffee;
    padding: .4em .8em .4em .5em;
    align-items: center;
    column-gap: .2em;
}
.slider_title .menu_icon{width:22px;}
.slider_title path{fill:#f1ad4b;}
#slider_wrapper_01 .slider_title{margin-left: 4%;}
.slider_wrapper_01 .slider_content {margin: 0 6% 0 2%;}
.slider_image {
	width: 100%;
	aspect-ratio: 4.5 / 3;
	background-color: #223e7b;
	position: relative;
	overflow: hidden;
}
.slider_image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
.slider_textbox {
	max-width: 370px;
	background-color: #fcffee;
	position: absolute;
	bottom: 0;
	left: 2%;
	padding: 1.2em;
}
.slider_textbox .tag{
	background-color: #223e7b;
	color: #fcffee;
	font-size: 12px;
	padding: .2em .8em;
	display: inline-block;
	border-radius:3px;
	margin-bottom: .5em;
}
.slider_textbox .article_title{
	font-size: 20px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.slider_textbox .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;}
.category_list_2 li{
	background-color: #f7dc7d;
	font-size: 14px;
	line-height: 1;
	border-radius:2px;
	padding: .2em .5em;
}
.slider_controls_01 {
	position: absolute;
	bottom:0;
	right: 0;
	display: flex;
	gap: 10px;
	z-index: 5;
}
.slider_btn_01 {
	width: 60px;
	height: 60px;
	border: none;
	cursor: pointer;
	background-color: transparent;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: opacity 0.3s;
}
.slider_btn_01:hover {opacity: 1;}
.slider_btn_prev_01,
.slider_btn_next_01{background-image: url('../img/common/slider_btn.svg');}
.slider_btn_prev_01 {transform: scale(-1, 1);}

@media screen and (max-width: 1023px) {
	.slider_textbox {
		max-width: none;
		position: unset;
	}
}
@media screen and (max-width: 819px) {
	#MV .MV_in .MV_in_top_contents .text_box{width: 90%;}
	.slider_wrapper_01 {width: 100%;}
	#slider_wrapper_01 .slider_title{margin-left: 2%;}
	.status_icon::before {
		width: 80px;
		height: 80px;
		top: -36px;
		right: 2px;
	}
	.slider01_item{padding: 0 0 30px 0;}
	.slider_title{font-size: 20px;}
}
/*=====================================================================================
***************************************************************************************

　　MV 下スライダー

***************************************************************************************
=====================================================================================*/
#MV .MV_in .MV_in_btm_contents {
	position: relative;
	margin-top:50px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap:2%;
}
#MV .MV_in .slider_wrapper_02{width: 82%;}

/* PC時:横並び表示 */
.slider02_container {
	display: flex;
	column-gap:5%;
}
.slider02_item {
	text-align: left;
	width: 30%;
	text-decoration: none;
	position: relative;
	display: flex;
    flex-wrap: wrap;
}
.slider02_textbox{margin-top: 10px;}
.topic_tag{
    font-size: 14px;
    line-height: 1;
    border-radius: 2px;
    padding: .2em .5em;
	display: inline-block;
	margin-right: .5em;
}
/* トピックスのタグ色 */
#cat_notice.topic_tag{background-color: #f5d154;}/*==お知らせ==*/
#cat_feature.topic_tag{background-color: #e0783f;}/*==特集 ==*/
#cat_siteinfo.topic_tag{background-color: #64d0b3;}/*==サイトについて==*/
#cat_other.topic_tag{background-color: #e5e5e5;}/*==その他==*/

.slider02_textbox .day{display: inline;}
.slider02_textbox .article_titl{font-size: 20px;}

/* ホバー */
a .slider_image img{transition:.3s all;}
a:hover .slider_image img{
	transform:scale(1.1,1.1);
	transition:.3s all;
}
.slider02_container .slide02_btn{
	position: absolute;
    right: -20px;
    bottom: -20px;
}
.slider_controls_02 {display: none;}
#slider_wrapper_02 .slider_content {
	background-color: #fcffee;
	padding: 20px;
	width: 100%;
}
#slider_wrapper_02 .slider_title{
	font-size:20px;
	padding-bottom: 0;
}
#slider_wrapper_02 .slider_title .menu_icon{width:18px;}
.slider_image_02 {
	width: 100%;
	height: 250px;
	object-fit: cover;
	margin-bottom: 15px;
}
#slider_wrapper_02 .slider02_textbox .article_title{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.slider_btn_02 {
	width: 15px;
	height: 18px;
	border: none;
	cursor: pointer;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-color: unset;
	transition: opacity 0.3s;
}

.slider_btn_02:hover {opacity: 1;}
.slider_btn_prev_02,
.slider_btn_next_02 {background-image: url('../img/slider_btn2.svg');}
.slider_btn_next_02{transform: scale(-1, 1);}
.slider_dots_02 {
	display: flex;
	gap: 20px;
}
.slider_dot_02 {
	width: 14px;
	height: 14px;
	border-radius:100%;
	background: #fcffee;
	border: none;
	cursor: pointer;
}
.slider_dot_02.active {background: #234083;}

/* レスポンシブ調整 */
/* SP時:スライダー表示 */
@media (max-width: 1023px) {
	#MV .MV_in .MV_in_btm_contents{
		width: 100%;
		overflow: hidden;
	}
	#MV .MV_in .slider_wrapper_02 {
		width: 70%;
		margin: 0 auto;
		padding: 0 5%;
	}
	.slider02_container {
		transition: transform 0.5s ease-in-out;
		column-gap:0;
	}
	.slider02_item {
		min-width: 90%;
		text-decoration: none;
		margin: 0 5%;
	}
	.slider_controls_02 {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
		margin-top: 50px;
	}
}
@media (max-width: 767px) {
	.slider_title {font-size: 24px;}
}
@media (max-width: 600px) {
	#MV .MV_in .slider_wrapper_02 {
		width: 100%;
		overflow: hidden;
		padding: 0 8%;
	}
	#slider_wrapper_02 .slider_title{font-size:18px;}
}

/*おすすめ体験診断のボタンの動き */
.shindan_btn {
	position: absolute;
    right: -1%;
	display: inline-block;
	transition: transform .4s cubic-bezier(.34,1.56,.64,1);
	transform-origin: center bottom;
}
.shindan_btn img {
	display: inline-block;
	width: 100%;
	max-width: 200px;

	animation: poyoUpDown 1.8s ease-in-out infinite;
	transform-origin: center bottom;
}
.shindan_btn:hover {transform: scale(1.2) rotate(6deg);}
.shindan_btn:hover img {
  animation-play-state: paused;  /* ← ここが超重要！ */
  transform: translateY(0) scale(1,1)!important; /* ← hover中は揺れをリセット */
}
/* ▼ 上下にぽよぽよ弾むアニメ */
@keyframes poyoUpDown {/* 横・縦 */
	0%, 100% {transform: translateY(0px) scale(1, 1);}
	15% {transform: translateY(2px) scale(1.08, 0.8);}
	35% {transform: translateY(-40px) scale(0.9, 1.02);}
	85% {transform: translateY(0px) scale(1.02, 0.9);}
	90% {transform: translateY(2px) scale(1, 1);}
}
@media (max-width: 1023px) {
	.shindan_btn {display: none;}
}


/*=====================================================================================
***************************************************************************************

　　体験活動一覧へ

***************************************************************************************
=====================================================================================*/
#taiken{
	position: relative;
	background-color:#234083 ;
	padding:140px 0 200px;
}
#taiken .dot_bg{
	position: absolute;
	inset: auto 0 0;
	margin: auto;
	background: url(../img/dot_pattern.jpg) repeat-x;
	height: 306px;
	width: 100%;
}
#taiken .taiken_in{
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap:20px 3%;
	text-align: left;
}
#taiken .taiken_in .font_en{font-size: 35px;}
#taiken .taiken_in .font_title{
	font-size: 35px;
	color: #fcffee;
	font-weight: 600;
}
#taiken .taiken_in .font_title span{
	transform: scale(1.2);
	display: inline-block;
	vertical-align: text-bottom;
	padding: 0 .12em 0;
	margin-bottom: -.05em;
}
#taiken .taiken_in .btn{margin-top: 30px;}
#taiken .taiken_in img{width: 37%;}
@media (max-width: 680px) {
	#taiken .taiken_in .sp{display: block;}
	#taiken .taiken_in{
		text-align: center;
		flex-direction: column;
		align-items: center;
	}
	#taiken .taiken_in img{
		width: 100%;
		max-width: 400px;
	}
	#taiken .taiken_in .btn{margin: 30px auto 0;}
}
@media (max-width: 600px) {
	#taiken{padding: 50px 0 130px;}
	#taiken .taiken_in .font_en{font-size: 20px;}
	#taiken .taiken_in .font_title{font-size: 25px;}
	#taiken .taiken_in .btn {
				margin: auto;
				position: absolute;
				width: 100%;
				bottom: -90px;
				left: 0;
				right: 0;
		}
}

/*=====================================================================================
***************************************************************************************

　　絞り込み検索・ワード検索

***************************************************************************************
=====================================================================================*/
#search{
	position: relative;
	margin-top: -60px;
	padding-bottom: 150px;
}
.h3{margin-bottom: 30px;}
.h3 .font_en{
	font-size: 35px;
	line-height: 1;
}
.h3 .font_title{
	font-size: 45px;
	font-weight: 500;
	color: #fcffee;
}
.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: 70px;
}
.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;
      }}
}
.accordion_content {
    max-height: 3000px;
    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 {
	max-width: 100px;
	min-width: 65px;
	margin-left: 0;
}
.accordion_content .date_group #start_month,
.accordion_content .date_group #end_month,
.accordion_content .date_group #start_day,
.accordion_content .date_group #end_day{
	max-width: 80px;
	min-width: 50px;
	margin-left: 0;
}
.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 .search_button::after {
    position: absolute;
    content: "";
    background: url(../img/common/search_btn.svg) no-repeat;
    width: 35px;
    height: 35px;
	inset: 0 12px 0 auto;
    margin: auto;
}

.freeword_container{
	max-width: 1000px;
}
.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: #fcffee;
}
.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 (max-width: 600px) {
	.h3 {margin-bottom: 10px;}
	.h3 .font_title,
	.accordion_header .font_title {font-size: 25px;}
	.h3 .font_en{font-size: 20px;}
	#search {
		margin-top: 40px;
		padding-bottom: 80px;
	}
	.searchbox_container{margin-top: 40px;}
	.accordion_content .filter_title {font-size: 18px;}
	.accordion_content label{font-size: 16px;}
	.accordion_content .date_picker {justify-content: center;}
}

/*=====================================================================================
***************************************************************************************

　　スペシャルコンテンツ

***************************************************************************************
=====================================================================================*/
#special_contents{padding: 60px 0;}
#special_contents .line_bg{
	padding: 50px 0;
	background-image: repeating-linear-gradient(0deg, #d2e1e5, #d2e1e5 1px, transparent 1px, transparent 26px);
}
#special_contents article{max-width: 1400px;}
#special_contents article:first-child{
	margin-bottom:60px ;
	padding-bottom: 60px;
	border-bottom:  17px solid #fbec6b;
}
.title_box{
	display: flex;
    flex-wrap: wrap;
    gap: .5em 2em;
    align-items: center;
    justify-content: flex-start;
    text-align: justify;
	margin-bottom: 30px;
}
.title_box .font_en{
	font-size: 80px;
	color: #f1ad4b;
	width: 100%;
}
.title_box .font_title{
	font-size: 30px;
    display: flex;
    align-items: center;
}
#special_contents article ul{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap:30px 3%;
}
#special_contents article ul li{width: 25%;}
#special_contents article ul li:first-child{width: 44%;}
#special_contents article ul li a{
	text-decoration: none;
	text-align: left;
}
#special_contents .img_box{
	width: 100%;
    aspect-ratio: 5 / 3;
    position: relative;
    overflow: hidden;
	margin-bottom: 15px;
}
#special_contents .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.textbox .article_title{
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
/* ホバー */
a .img_box img{transition:.3s all;}
a:hover .img_box img{
	transform:scale(1.1,1.1);
	transition:.3s all;
}
#special_contents .btn{
	border: 2px solid #3f58b2;
	margin: 60px auto 0;
}
@media screen and (max-width: 1024px) {
	.title_box .font_en{font-size: 40px;line-height: 1;}
	.title_box .font_title{font-size: 20px;}
	.title_box .menu_icon{width: 18px;}
}
@media screen and (max-width: 750px) {
	#special_contents{padding: 40px 0;}
	#special_contents .line_bg {padding: 30px 0;}

	#special_contents article ul li{width: 48%;}
	#special_contents article ul li:first-child{width: 100%;}
	#special_contents .btn{margin-top: 30px;}
	#special_contents article:first-child {
		margin-bottom: 30px;
		padding-bottom: 30px;
	}
}
/*=====================================================================================
***************************************************************************************

　　タブ切り替え

***************************************************************************************
=====================================================================================*/
#topic{
	max-width: 1400px;
	padding: 100px 0;
}
#topic .title_box .font_title,
#topic .title_box p{color: #fcffee;}
.tab_buttons {
    display: flex;
	flex-wrap: wrap;
    column-gap: 1.25%;
}
.tab_button {
	width: 19%;
	padding:.8em;
	border: none;
	cursor: pointer;
	font-size: 20px;
	font-weight: bold;
	transition: all 0.3s;
}
@media screen and (max-width: 1024px) {
	.tab_button {font-size: 14px;}
}
@media screen and (max-width: 600px) {
	.tab_buttons{gap: 0;}
	.tab_buttons .tab_button:first-child{width: 100%;}
	.tab_button {width:50%;}
	.tab_button {font-size: 15px;}
}

.tab_button.tab_button_all { background: #fcffee; }
.tab_button.tab_button_notice { background: #f5d154; }
.tab_button.tab_button_feature { background: #f36938;}
.tab_button.tab_button_site { background: #64d0b3;}
.tab_button.tab_button_other { background: #e5e5e5; }

.tab_content_wrapper{
	padding: 60px 0;
}
.tab_content_wrapper.bg_all { background: #fcffee; }
.tab_content_wrapper.bg_notice { background: #f5d154; }
.tab_content_wrapper.bg_feature { background: #f36938; }
.tab_content_wrapper.bg_site { background: #64d0b3; }
.tab_content_wrapper.bg_other { background: #e5e5e5; }

.content_grid{
	max-width: 1300px;
	width: 90%;
	margin: 0 auto;
}
.tab_content {
	display: none;
	padding: 32px;
	border-radius: 0 8px 8px 8px;
	min-height: 400px;
}
.tab_content.active {display: block;}

.content_grid {
	display:flex;
	flex-wrap: wrap;
	gap:40px 4%;
}
.content_item {
	width: 48%;
	transition: transform 0.3s;
	display: none;
}
@media screen and (max-width: 1024px) {
	.content_item {width: 100%;}
}
.content_item.show {display: block; }
.content_item:hover {transform: translateY(-4px);}
.content_item a{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:10px 2%;
	text-decoration: none;
}
.content_item .img_box{
	width: 34%;
    aspect-ratio: 5 / 3;
    position: relative;
    overflow: hidden;
	margin-bottom: 15px;
	border-radius:5px;
}
.content_item .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.item_content {
	width: 56%;
	text-align: left;
}
.item_tag{
	font-size: 14px;
    line-height: 1;
    border-radius: 2px;
    padding: .3em .5em;
	margin-bottom: 6px;
	max-width: 170px;
	display: block;
	text-align: center;
}
.content_item[data-category="notice"] .item_tag { background: #ffe897;}
.content_item[data-category="feature"] .item_tag { background: #f88d66;}
.content_item[data-category="site"] .item_tag { background: #9cf2db;}
.content_item[data-category="other"] .item_tag { background: #ffffff;}

.item_title {
	font-size: 20px;
	font-weight: bold;
	margin: .2em 0;
}
.item_text {
	line-height: 1.2;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.content_item a>img{
	width: 6%;
	position: absolute;
	inset:0 0 0 auto;
	margin: auto;
}
#topic .btn{margin: 50px auto 0;}
@media screen and (max-width: 750px) {
	#topic{padding: 40px 0;}
	#topic .btn{margin: 30px auto 0;}
}
@media screen and (max-width:600px) {
	.item_text {display: none;}
	.item_content{width: 63%;}
	.item_title {font-size: 18px;}
	.content_item a>img{inset: auto 0 -5px auto;}
}
/*=====================================================================================
***************************************************************************************

　　意見箱　ペーパークラフト

***************************************************************************************
=====================================================================================*/

.other_box{
	overflow: hidden;
	width: 85%;
	padding: 70px 5% 0;
}
#Opinionbox.other_box{background-color: #f36938;}
#PaperCraftbox.other_box{
	background-color: #d54d7a;
	margin: 50px 0 0 auto;
}
.other_box>div{
	position: relative;
	max-width:860px;
	margin: 0 auto;
}
.other_box .title_box{
    align-items: flex-start;
    flex-direction: column;
	margin-bottom: 0;
	width: 52%;
}
.other_box .title_box .font_en{color: #f5d154;}
.other_box .title_box .menu_icon path {fill: #365cb2;}
.other_box .title_box .font_title,
.other_box .title_box p{color:#ffffff ;}

.other_box .title_box .btn{margin: 30px 0 60px;}

.other_box div img{
	position: absolute;
	right: 0;
	bottom: 0;
	width: 46%;
}

@media screen and (max-width:1024px) {
	.other_box{width: 95%;}
}
@media screen and (max-width:600px) {
	.other_box{padding: 40px 5% 0;}
	#PaperCraftbox.other_box{margin-top: 30px;}
	.other_box .title_box{
		width: 100%;
		position: relative;
		z-index: 1;
	}
	.other_box div img{
		width: 55%;
		bottom: -37px;
	}
	#PaperCraftbox.other_box div img{bottom: 0;	}
	.other_box .title_box .btn{margin: 8px 0 120px;}

}
/*=====================================================================================
***************************************************************************************

　　事業者の方へ、利用方法、FAQ

***************************************************************************************
=====================================================================================*/

#faqbox{
	padding: 100px 0;
	margin-top: 120px;
	background-color: #e6f4ff;
	  /* 横線＋縦線（40px間隔） */
	background-image:linear-gradient(to right, #c4d2e0 1px, transparent 1px),
	linear-gradient(to bottom, #c4d2e0 1px, transparent 1px);
	background-size: 40px 40px;
	background-position: 0 0;
}

#faqbox .width90{
	max-width: 1400px;
    display: flex;
    flex-wrap: wrap;
    gap: 50px 6%;
}
#faqbox .faqbox_in{transition: .3s;}
#faqbox .faqbox_in a{
	position: relative;
	display: block;
	text-decoration: none;
	padding: 70px 5%;
}
#faqbox .faqbox_in.faqbox_in1 a{color: #ffffff;}
#faqbox .faqbox_in.faqbox_in1{
	color: #ffffff;
	width: 100%;
	background-color: #2c4e9b;
}
#faqbox .faqbox_in.faqbox_in2{
	width: 47%;
	background-color: #ffe897;
}
#faqbox .faqbox_in .title_box{
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 0;
}
#faqbox .faqbox_in.faqbox_in2 .font_en{
	font-size: 50px;
	color: #f36938;
	line-height: 1;
}
#faqbox .faqbox_in.faqbox_in2 .font_title,
#faqbox .faqbox_in.faqbox_in2 .arrow{
	color: #365cb2;
}
#faqbox .faqbox_in .arrow{
	position: relative;
    margin-right: 3em;
    text-align: right;
}
#faqbox .faqbox_in .arrow::after{
	position: absolute;
    content: "";
    background: url(../img/common/btn_arrow_white.svg) no-repeat;
	background-size: cover;
    width: 35px;
    height: 35px;
    margin: auto;
	inset: 0 -3em 0 auto;
}
#faqbox .faqbox_in:hover {
    transform: scale(1.1);
}
@media screen and (max-width:1024px) {
	#faqbox {
		padding: 50px 0;
		margin-top: 80px;
	}
	#faqbox .width90{row-gap: 30px;}
	#faqbox .faqbox_in a{padding: 40px 5%;}
	#faqbox .faqbox_in.faqbox_in2 .font_en{display: none;}
}
@media screen and (max-width:750px) {
	#faqbox .faqbox_in .title_box{margin-bottom: 15px;}
}
/*=====================================================================================
***************************************************************************************

　　みたいけんバナー バナーlist

***************************************************************************************
=====================================================================================*/
.mitaiken_banner {padding: 80px 0;}
.mitaiken_banner a{
	display: inline-block;
    transition: .3s;
    margin: 0 5%;
}
.mitaiken_banner a:hover {transform: scale(1.1);}
@media screen and (max-width:1024px) {
	.mitaiken_banner{padding: 40px 0;}
}

#banner_list {
	padding: 50px 0;
	background-color:#a0b1d8 ;
}
#banner_list div{
	display: flex;
    flex-wrap: wrap;
    gap: 15px 2%;
    max-width: 1725px;
}
#banner_list div a{width: 15%;}
@media screen and (max-width:1300px) {
	#banner_list div a{width: 32%;}
}

@media screen and (max-width:750px) {
	#banner_list div a{width: 49%;}
}
.top footer{margin-top: 0;}



/*=====================================================================================
***************************************************************************************

　　ポップアップ

***************************************************************************************
=====================================================================================*/

/* 開くボタン */
.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;}
}