@charset "utf-8";
/* CSS Document */
#wrapper{overflow: hidden;}
/*=====================================================================================
***************************************************************************************

　　メインビジュアル

***************************************************************************************
=====================================================================================*/
#mv{
	padding: 160px 0 180px;
	background: url("../img/mv_bg.png") bottom center no-repeat;
	position: relative;
}

#mv .mv_taiken li.mv_taiken_box{
	width: 670px;
	/*height: 695px;*/
	background: url("../img/mv_taiken_bg.png") top center no-repeat;
	position: relative;
	padding: 40px 0 20px 0;

	margin: 0 50px;
}
#mv .mv_taiken li.mv_taiken_box a{text-decoration: none;}
#mv .mv_taiken li.mv_taiken_box a:hover{opacity: 1;}

#mv .mv_taiken .img_box{
	width: 530px;
	max-width: 80%;
	overflow: hidden;
	margin: -20px auto 0;
	
	height: 330px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#mv .mv_taiken .img_box img{
	/*width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 370px;
	object-fit: cover;*/
	
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#mv .mv_taiken .tag_box{
	display: flex;
	justify-content: flex-end;
	width: 530px;
	max-width: 80%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	flex-wrap: wrap;
	padding-left: 40px;
}
#mv .mv_taiken .tag_box p{
	font-size: 20px;
	font-weight: 900;
	line-height: 33px;
	color: #FFFFFF;
	background: #000000;
	padding: 0 5px;
	border-radius: 5px;
	margin-left: 10px;
	margin-bottom: 5px
}

#mv .status_new a::before{
	position: absolute;
	content: "";
	width: 155px;
	height:140px ;
	top:0;
	left: 0;
	z-index:2;
}
#mv .status_shimekiri a::before {
	position: absolute;
	content: "";
	width: 155px;
	height:140px ;
	top: 0;
	left: 0;
	z-index: 2;
}
#mv .status_uketsuke a::before {
	position: absolute;
	content: "";
	width: 140px;
	height:140px ;
	top: 0;
	left: 0;
	z-index: 2;
}
#mv .status_end a::before {
	position: absolute;
	content: "";
	width: 150px;
	height: 96px;
	top: 0;
	left: 0;
	z-index: 2;
}

#mv .status_new a::before{background:url(../taiken/img/situation_new.png) no-repeat center/cover;}
#mv .status_shimekiri a::before{background:url(../taiken/img/situation_shimekiri.png) no-repeat center/cover;}
#mv .status_uketsuke a::before{background:url(../taiken/img/situation_uketsuke.png) no-repeat center/cover;}
#mv .status_uketsuke a::before{background:url(../taiken/img/situation_uketsuke.png) no-repeat center/cover;}
#mv .status_end a::before{background:url(../taiken/img/situation_end.png) no-repeat center/cover;}


#mv .article_title{
	background: #FFFFFF;
	border-radius: 10px;
	font-weight: bold;
	width: 530px;
	max-width: 80%;
	margin: 20px auto;
	font-size: 28px;
	text-align: justify;
	padding: 0 20px;
}

#mv .mv_taiken .status_box{
	background: #fdffda;
	margin-left: -3%;
	width: 92%;
	padding: 25px 0 25px 90px;
}

#mv .mv_taiken .category_list_1{
	display: flex;
	flex-wrap: wrap;
}
#mv .mv_taiken .category_list_1 li{
	background: #fff0b5;
	font-size: 16px;
	line-height: 1;
	padding: 10px 20px;
	font-weight: bold;
	border-radius: 25px;
	margin-right: 10px;
	display: flex;
}
#mv .mv_taiken .category_list_1 li img{height: 18px; padding-right: 5px;}

#mv .mv_taiken .category_list_2{
	display: flex;
	margin-top: 15px;
}
#mv .mv_taiken .category_list_2 li{
	background: #c3f0fa;
	font-size: 15px;
	line-height: 1;
	padding: 10px;
	font-weight: bold;
	margin-right: 10px;
}

#mv .mv_taiken .parts{
	position: absolute;
	bottom: 90px;
	right: -45px;
}


#mv .mv_topics{
	display: flex;
	background: url("../img/mv_topics_bg.png") no-repeat;
	color: #FFFFFF;
	font-size: 40px;
	padding: 20px 70px 20px 30px;
	align-items: center;

	position: absolute;
	bottom: -20px;
	left: 0;
}

#mv .mv_topics div{
	background: #FFFFFF;
	font-size: 18px;
	border-radius: 30px;
	margin-left: 20px;
	padding: 10px 60px 10px 40px;
	width: 490px;
	text-align: justify;
	position: relative;
	line-height: 1.2;
}
#mv .mv_topics div a{
	text-decoration: none;
}
#mv .mv_topics div a.list{
	position: absolute;
	font-size: 0;
	background: #000000;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
}

#mv .mv_topics div a.list::after{
	content: "▶";
	color: #FFFFFF;
	position: absolute;
	font-size: 14px;
	top: 8px;
	left: 10px;
}

#mv .shindan_banner{
	position: absolute;
	bottom: -40px;
	right: 50px;
	animation: jelly 1.8s ease-in-out infinite;
}

    /* ゼリーのようなぽよぽよ */
    @keyframes jelly {
      0%, 100% {
        transform: skewX(0deg) skewY(0deg);
      }
      25% {
        transform: skewX(5deg) skewY(-5deg) scale(1.05, 0.95);
      }
      50% {
        transform: skewX(-5deg) skewY(5deg) scale(0.95, 1.05);
      }
      75% {
        transform: skewX(3deg) skewY(-3deg) scale(1.02, 0.98);
      }
    }

.mv_slide .slick-slide {
  width: 670px !important;
}

/* または、スライド内の要素に直接指定 */
.mv_slide .slick-slide > div {
  width: 670px;
}

/* ドットのスタイル */
.slick-dots {
  bottom: 20px;
}

.slick-dots li button:before {
  font-size: 12px;
}

/* 矢印ボタンのスタイル */
.slick-prev,
.slick-next {
  z-index: 1;
}

.slick-prev {
  left: 25px;
}

.slick-next {
  right: 25px;
}

@media screen and (max-width: 1050px){
	#mv .shindan_banner{
		right: 10px;
	}
	#mv .shindan_banner img{width: 150px;}
}

@media screen and (max-width: 750px){
	#mv{padding: 120px 0 210px;}
	#mv .mv_taiken li.mv_taiken_box{padding: 40px 0 20px 0;}
	.mv_slide .slick-slide{
		width: 350px!important;
	}
	#mv .mv_taiken .tag_box{
		max-width: 90%;
		padding-left: 40px;
	}
	#mv .mv_taiken .tag_box p{font-size: 13px;
    line-height: 30px;}
	#mv .mv_taiken .img_box{height: 220px;}
	
	
	#mv .status_new a::before{
		width: 100px;
		height: 90px ;
		left: -10px;
	}
	#mv .status_shimekiri a::before {
		width: 100px;
		height: 90px ;
	}
	#mv .status_uketsuke a::before {
		width: 100px;
		height: 100px ;
		left: 5px;
	}
	#mv .status_end a .img_box::before {
		width: 100px;
		height: 65px ;
		left: 5px;
	}
	
	
	#mv .article_title{
		font-size: 18px;
		border-radius: 10px;
		line-height: 1.2;
		padding: 10px 10px;
		position: relative;
		z-index: 3;
		margin: 10px auto;
	}

	#mv .mv_taiken .parts{
		width: 100px;
		bottom: 170px;
		right: -25px;
	}
	#mv .mv_taiken .status_box{
		padding: 15px 0 15px 30px;
		width: 98%;
	}
	#mv .mv_taiken .category_list_1 li{font-size: 14px;}
	#mv .mv_taiken .category_list_1 li{ margin-right: 5px; padding:10px;}
	#mv .mv_taiken .category_list_2 li{font-size: 14px;}

	#mv .mv_topics{
		width: 100%;
		display: block;
		text-align: justify;
		padding: 20px 20px 20px 30px;
		bottom: 0;
	}
	#mv .mv_topics h3{
		line-height: 1;
		font-size: 30px;
	}
	#mv .mv_topics div{
		margin-left: 0;
		width: 100%;
		font-size: 14px;
		margin-top: 10px;
	}

	#mv .shindan_banner .pc{display: none;}
	#mv .shindan_banner .sp{display: block;}
	#mv .shindan_banner{
		right: 30px;
		animation:none;
		width: 115px;
		bottom: 110px;
	}

	#mv .mv_topics{bottom: 0;}
}




/*=====================================================================================
***************************************************************************************

　　体験さがし

***************************************************************************************
=====================================================================================*/
#taiken{
	background: url("../img/taiken_bg.png") top left no-repeat;
	margin-bottom: 250px;
}
#taiken .flex_box{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 210px;
}

#taiken .txt_box{margin-right: 60px;}
#taiken .txt_box p{
	text-align: justify;
	font-weight: bold;
	font-size: 20px;
	line-height: 2.5;
	margin: 30px 0 50px;
}

#taiken .txt_box a{margin-left: 0;}

#taiken .width90{position: relative;}
#taiken .chara{
	position: absolute;
	left: 10px;
	top: -240px;
	z-index: 1;
}


@media screen and (max-width: 1780px){
	#taiken .img_box img{width: 100%;}
	#taiken .txt_box{margin-left: 20px;}
}

@media screen and (max-width: 1300px){
	#taiken{padding-top: 60px;}
	#taiken .flex_box{display: block;}
	#taiken .txt_box{margin-bottom: 20px;}
	#taiken .txt_box p{text-align: center;}
	#taiken .txt_box a{margin: 0 auto;}
	#taiken .img_box img{width: 90%;}
}


@media screen and (max-width: 700px){
	#taiken .pc{display: none;}
	#taiken .sp{display: inline;}
	#taiken h2 img{width: 325px;}
	#taiken .txt_box{margin: 0 auto 30px;}
	#taiken .txt_box p{
		margin: 20px auto 25px;
		font-size: 15px;
		text-align: justify;
		width: 330px;

	}
	#taiken .chara{width: 300px; top: -130px;}

}




.btn{
	width: 370px;
	vertical-align: middle;
	color: #000;
	background-color: #fff;
	border-radius: 50px;
    display: block;
	position: relative;
	border: 3px solid #000;
	transition: .3s ease-in-out;
	font-weight: 600;
	font-size: 30px;
	line-height: 75px;
	margin: 0 auto;
	text-decoration: none;
}
.btn:hover{transform: scale(1.1,1.1);background-color: #fee300;opacity: 1;}
.btn::after{
	transition: .3s ease-in-out;
	color: #fee300;
	background-color: #000;
	border-radius: 50px;
	position: absolute;
	width: 78px;
	line-height: 78px;
	top: -1px;
    font-size: 22px;
}
.btn_right::after{
	content: "▶";
	right: -1px;
}
.btn_right img{
	width: 92px;
}
@media screen and (max-width: 750px){
	.btn_right{max-width: 370px;width: 90%;}

	.btn_right{
		width: 180px;
		font-size: 18px;
		line-height: 40px;
	}
	.btn_right.btn::after{
		width: 43px;
		line-height: 43px;
		font-size: 12px;
	}

}





/*=====================================================================================
***************************************************************************************

　　絞り込み検索・ワード検索

***************************************************************************************
=====================================================================================*/
.max_w1200{max-width: 1200px; width: 90%; margin: 0 auto;}

.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: 40px;
}
.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: 67%;
		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-top: 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; width: 90%;}

	.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;
	}

}

#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;
	}
}

/*=====================================================================================
***************************************************************************************

　　セレクトボックス

***************************************************************************************
=====================================================================================*/

.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;
}

@media screen and (max-width: 750px){
	#taiken{margin-bottom: 30px;}
}



/*=====================================================================================
***************************************************************************************

　　トピックス

***************************************************************************************
=====================================================================================*/
#topics {
	padding: 50px 0 150px;
	background: url("../img/topics_bg.png") top right no-repeat;
}
#topics .flex_box{
	display: flex;
	width: 90%;
	margin: 0 auto;
	padding-right: 10%;
}

#topics .flex_box .topics_box{width: 100%;}

#topics .txt_box{
	margin-right: 10%;
	font-size: 20px;
	font-weight: bold;
	line-height: 2.5;
}
#topics .txt_box h2 img{width: 205px;}
#topics .txt_box p{
	margin:20px 0 40px;
}


/* タブ切り替えの核心部分 */

/* ラジオボタンを非表示にする */
.tab-input {
  display: none;
}

/* タブのラベル（クリック可能にする） */
.tab-label {
	cursor: pointer;
	width: 19%;
	height: 50px;
	border: 3px solid #000000;
	display: inline-block;
	position: relative;
	border-radius: 30px;
	margin-bottom: 40px;
	background: #FFFFFF;
}
.tab-label img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	 -webkit-transform: translateY(-50%) translateX(-50%);
}

/* 選択中のタブのスタイル */
.tab-input:checked + .tab-label {
  /* ここに選択中のスタイルを記述 */
  background: #fee300;
}

/* コンテンツはデフォルトで非表示 */
.tab-content {
  display: none;
}

/* 対応するラジオボタンがチェックされた時にコンテンツを表示 */
#tab1:checked ~ .tab-contents #content1,
#tab2:checked ~ .tab-contents #content2,
#tab3:checked ~ .tab-contents #content3,
#tab4:checked ~ .tab-contents #content4,
#tab5:checked ~ .tab-contents #content5 {
  display: block;
}

/****記事リスト****/
#topics .list_box{
	display: flex;
	justify-content: space-between;
	column-gap: 30px;
    row-gap: 30px;
	margin-bottom: 100px;
	flex-wrap: wrap;
}
#topics .list_box .card a{text-decoration: none;}
#topics .list_box .img_box{
	overflow: hidden;
	width: 100%;
	height: 250px;
	object-fit: cover;
	object-position: center;
	border-radius: 20px;
}
#topics .list_box .img_box img {
	object-position: center;
	transition: .3s all;
	width: 100%;
	height: 100%;
    object-fit: cover;
}
#topics .list_box a:hover .img_box img {transform: scale(1.1, 1.1);}
#topics .list_box .card{
	width: 47%;
	background: #ffffff;
	border: 3px solid #000000;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 30px;
}

#topics .list_box .content{
	padding-top: 45px;
	text-align: left;
	position: relative;
}
#topics .list_box .title{
	font-size: 22px;
	font-weight: bold;
}
#topics .list_box .card_tag_design{
	position: absolute;
	padding: 12px 24px;
	background-color: #e9ebbe;
	border-radius: 0px 50px 50px 0px;
	display: flex;
	align-items: center;
	left: -30px;
	top: -25px;
	height: 45px;
}
#topics .list_box .card_tag_design_notice{background-color: #2aba6f;}
#topics .list_box .card_tag_design_feature{background-color: #eb739c;}
#topics .list_box .card_tag_design_site{background-color: #82dfd5;}
#topics .list_box .card_tag_design_other{background-color: #e9ebbe;}

@media screen and (max-width: 1400px){
	#topics .flex_box{padding-right: 0;}
	#topics .txt_box{margin-right: 5%;}
}

@media screen and (max-width: 1300px){
	#topics{
		background: url(../img/topics_bg.png) top 100px right no-repeat;
	}
	#topics .flex_box{display: block;}
	#topics .txt_box{margin-right: 0; margin-bottom: 50px;}
	#topics .flex_box{padding-right: 0;}
}



@media screen and (max-width: 1120px){
	#topics .list_box{
		column-gap: 15px;
		row-gap: 15px;
		margin-bottom: 100px;
	}
	#topics .list_box .card{
		/*width: calc((100% - 15px * 2) / 3);*/
		padding: 20px;
	}
	#topics .list_box .title{font-size: 18px;}
	#topics .list_box .card_tag_design{
		left: -20px;
		top: -15px;
		height: 40px;
	}
}
@media screen and (max-width: 750px){
	#topics .list_box{margin-bottom: 50px;}
	#topics .list_box .card{width: 100%;}
	#topics .list_box .content{padding-top: 30px;}
	#topics .list_box .card_tag_design{top: -20px;}
	#topics .list_box .card_tag_design img{width: 80%;}
	#topics .list_box .title{font-size: 20px;}

	#topics{
		background: url("../img/topics_bg_sp.png") top center no-repeat;
		background-size: 100%;
		padding: 80px 0 30px;
	}

	#topics h2{line-height: 1;}
	#topics h2 img{width: 120px;}
	#topics .txt_box{margin-bottom: 20px;}
	#topics .txt_box p{font-size: 16px; margin: 20px 0;}

	.tab-label{width: 48%; margin-bottom: 10px;}
	.tab-container{text-align: justify;}
}










/*=====================================================================================
***************************************************************************************

　　意見箱

***************************************************************************************
=====================================================================================*/
#ikenbako{
	width: 95%;
	background: #fdffda;
	border-radius: 100px;
	margin: 0 auto 100px;
	padding-top: 170px;
	position: relative;
}

#ikenbako .flex_box{
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 2;
}
#ikenbako .flex_box .txt_box{
	margin-right: 140px;
	text-align: justify;
	font-size: 20px;
	line-height:2.5;
}
#ikenbako .flex_box .txt_box p{margin: 30px 0;}
#ikenbako .flex_box .txt_box a{text-align: center;}

#ikenbako .flex_box .img_box{padding-top: 45px;}

#ikenbako .parts01{
	position: absolute;
	top: -30px;
	left: 30px;
}
#ikenbako .parts02{
	position: absolute;
	top: -50px;
	right: 20px;
}
#ikenbako .parts03{
	position: absolute;
	bottom: 30px;
	right: 130px;
	z-index: 3;
}


@media screen and (max-width: 1400px){
	#ikenbako .flex_box .txt_box{margin-right: 40px;}
	#ikenbako .parts01{
		width: 300px;
		top: 60px;
		left: -60px;
	}
	#ikenbako .parts02{
		top: -70px;
		right: -40px;
	}
	#ikenbako .parts03{right: -20px;}
}

@media screen and (max-width: 1100px){
	#ikenbako .flex_box{display: block;}
	#ikenbako .flex_box .txt_box{text-align: center;}
	#ikenbako .parts02{width: 650px;}
	#ikenbako .flex_box .img_box img{width: 400px;}
}

@media screen and (max-width: 750px){
	#ikenbako .pc{display: none;}
	#ikenbako .sp{display: block;}
	#ikenbako{
		width: 90%;
		border-radius: 50px;
		padding-top: 60px;
		margin: 0 auto 50px;
	}

	#ikenbako .flex_box .txt_box{
		text-align: center;
		margin-right: 0;
	}
	#ikenbako h2 img{width: 210px;}
	#ikenbako .flex_box .txt_box p{
		font-size: 16px;
		margin: 0 auto 20px;
		text-align: justify;
		width: 280px;
	}

	#ikenbako .flex_box .img_box{padding-top: 20px;}
	#ikenbako .flex_box .img_box img{width: 180px;}

	#ikenbako .parts01{
		position: absolute;
		top: -30px;
		left: -10px;
		width: 119px;
	}
	#ikenbako .parts02{
		position: absolute;
		top: 230px;
		right: -20px;
		width: 125px;
	}
	#ikenbako .parts03{
		position: absolute;
		bottom: 40px;
		right: auto;
		left: -20px;
		width: 113px;
		z-index: 1;
	}
}

/*=====================================================================================
***************************************************************************************

　　ペーパークラフト

***************************************************************************************
=====================================================================================*/
#paper{
	width: 95%;
	background: #0bc278;
	border-radius: 100px;
	margin: 0 auto 100px;
	padding-top: 50px;
	position: relative;
}

#paper div{
	background: url("../img/craft_bg.png") top center no-repeat;
	padding: 135px 0;
}

#paper p{
	font-size: 20px;
	line-height:2.5;
	margin-bottom: 50px;
}

#paper .parts01{
	position: absolute;
	top: -40px;
	left: 45px;
}
#paper .parts02{
	position: absolute;
	bottom: -45px;
	right: 60px;
}

@media screen and (max-width: 1600px){
	#paper .parts01{width: 500px; left: 10px;}
	#paper .parts02{width: 350px;}
}

@media screen and (max-width: 1300px){
	#paper .parts01{width: 400px; left: -10px;}
	#paper .parts02{width: 300px; right: 20px;}
}

@media screen and (max-width: 1080px){
	#paper .parts01{width: 300px;top: 50px;}
	#paper .parts02{width: 200px;}
}

@media screen and (max-width: 750px){
	#paper .pc{display: none;}
	#paper .sp{display: block;}

	#paper{
		width: 100%;
		border-radius: 0;
		padding-top: 30px;
		margin: 0 auto 50px;
	}
	#paper div{width: 90%; margin: 0 auto; padding: 80px 0 30px;}
	#paper h2 img{width: 280px;}
	#paper p{font-size: 16px; margin-bottom: 20px; line-height: 2.2;}

	#paper .parts01_sp{
		position: absolute;
		top: -20px;
		left: 0;
	}
	#paper .parts02_sp{
		position: absolute;
		bottom: 50px;
		left: 0;
	}
	#paper .parts03_sp{
		position: absolute;
		bottom: -20px;
		right: 0;
	}
}



/*=====================================================================================
***************************************************************************************

　　キャラクター紹介

***************************************************************************************
=====================================================================================*/
#character{
	width: 95%;
	background: #fee300;
	border-radius: 100px;
	margin: 0 auto;
	padding: 130px 0;
	position: relative;
}

#character .flex_box{
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}

#character .txt_box{
	margin-left: 85px;
	text-align: justify;
}
#character p{
	font-size: 20px;
	line-height:2.5;
	margin:20px 0 50px;
}
#character a{text-align: center;}

#character .img_box{
	background: #FFFFFF;
	width: 600px;
	height: 600px;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}


#character .parts01{
	position: absolute;
	top: -45px;
	left: 10px;
}

#character .parts02{
	position: absolute;
	top: -50px;
	right: 70px;
}
#character .parts03{
	position: absolute;
	bottom: 60px;
	right: 150px;
}

@media screen and (max-width: 1300px){
	#character .img_box{width: 500px; height: 500px;}
	#character .img_box img{width: 80%;}

	#character .parts01{width: 400px;}
	#character .parts02{width: 350px;}
	#character .parts03{width: 120px;}
}

@media screen and (max-width: 1100px){
	#character .flex_box{display: block;}
	#character .txt_box{text-align: center; margin: 0 auto 30px;}
	#character .img_box{margin: 0 auto;}
}

@media screen and (max-width: 750px){
	#character .sp{display: block;}
	#character{
		width: 90%;
		border-radius: 50px;
		padding: 60px 0 20px;
	}

	#character .txt_box h2 img{width: 220px;}

	#character .img_box{
		width: 90%;
		height: 300px;
	}
	#character p{
		font-size: 16px;
		line-height:2.5;
		margin:10px auto 20px;
		text-align: justify;
		width: 250px;
	}

	#character .parts01{
		width: 200px;
		top: -30px;
		left: -60px;
	}
	#character .parts02{
		width: 135px;
		top: 250px;
		right: -10px;
	}
	#character .parts03{display: none;}
}

/*=====================================================================================
***************************************************************************************

　　事業者の方へ

***************************************************************************************
=====================================================================================*/
#business{
	background: url("../img/business_bg.png") bottom center no-repeat;
	background-size: cover;
	padding: 120px 0 40px;
	margin-top: -50px;
	margin-bottom: 120px;
}

#business .flex_box{
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: center;
}

#business .txt_box{margin-left: 100px;}

#business .flex_box p{
	font-weight: bold;
	font-size: 22px;
	line-height: 2.5;
	width: 400px;
	margin: 0 auto;
	text-align: justify;
	padding: 25px 0 35px;
}

@media screen and (max-width: 1600px){
	#business .img_box img{width: 100%;}
	#business .txt_box{margin-left: 50px;}
}

@media screen and (max-width: 1000px){
	#business .flex_box{display: block;}
	#business .txt_box{margin-left: 0;}
}

@media screen and (max-width: 750px){
	#business{
		padding: 200px 0 40px;
		margin-top: -130px;
		margin-bottom: 60px;
	}
	#business h2 img{width: 300px;}
	#business .flex_box p{
		font-size: 16px;
		line-height: 2;
		width: 300px;
		padding: 15px 0 20px;
	}

}


/*=====================================================================================
***************************************************************************************

　　2コンテンツ

***************************************************************************************
=====================================================================================*/
#contents_btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#contents_btn > div{
	position: relative;
	margin: 0 20px;
}

#contents_btn a{
	position: absolute;
    left: 130px;
    bottom: 90px;
}

@media screen and (max-width: 1540px){
	#contents_btn img{width: 600px;}
	#contents_btn a{
		width: 350px;
		left: 110px;
		bottom: 70px;
	}
}

@media screen and (max-width:750px) {
	#contents_btn > div{margin: 0 0 10px;}
	#contents_btn img{width: 360px;}
	#contents_btn a{
		width: 180px;
		font-size: 18px;
		line-height: 40px;
		left: 80px;
        bottom: 47px;
	}
	#contents_btn a.btn::after{
		width: 43px;
		line-height: 43px;
		font-size: 12px;
	}
}



/*=====================================================================================
***************************************************************************************

　　バナーlist

***************************************************************************************
=====================================================================================*/
.koukishin_banner{
	display: block;
	transition: .3s;
	width: 1200px;
	max-width: 95%;
	margin: 0 auto;
}
.koukishin_banner:hover {transform: scale(1.1);}

.koukishin_banner img{
	width: 1200px;
	max-width: 90%;
}



#banner_list {
	padding: 70px 0 120px;
}
#banner_list ul{
	display: flex;
	justify-content: center;
    flex-wrap: wrap;
    max-width: 1680px;
	margin: 100px auto 0;
}

#banner_list ul li{
	width: 250px;
	margin: 0 15px 10px;
	border: 1px solid #000000;
}

#banner_list ul li img{width: 100%;}


@media screen and (max-width:1300px) {

}

@media screen and (max-width:750px) {
	#banner_list{padding: 30px 0 40px;}
	#banner_list ul{margin: 40px auto 0; width: 90%;}
	#banner_list ul li{width: 48%; margin: 0 auto 10px; }
}


/****************************************

ポップアップ

******************************************/


/* ↓ ポップアップデザイン ↓ */
/* ==== モーダル全体 ==== */
.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;}
}
