@charset "utf-8";
/* CSS Document */
.width90 {
	width: 90%;
	margin: 0 auto;
}

.taiken{
	background: url(../img/common/bg_02.png) top 40% left/388px no-repeat,
	url(../img/common/bg_03.png) top 40% right 20% /250px no-repeat,
	url(../img/common/bg_01.png) top 20% left/776px no-repeat;
}

@media screen and (max-width: 1000px) {
	.taiken {
		background: url(../img/common/bg_02.png) top 36% left/208px no-repeat,
			url(../img/common/bg_03.png) top 36% right 12% /160px no-repeat,
			url(../img/common/bg_01.png) top 16% left/50% no-repeat;
	}
}

/*=====================================================================================
***************************************************************************************

　　セクション01

***************************************************************************************
=====================================================================================*/
.section01{
	/*background: url(../img/section1_bg.jpg) no-repeat center/cover;*/
	padding:290px 0 120px;
	overflow: hidden;
}
.section01 .section01_in{
	position: relative;
	/*padding: 60px 50px;
	max-width: 1400px;*/
	padding: 10px 0 0;
	width: 94%;
	margin-left: auto;
}

.section01 .tag_box{
	/*position: absolute;
	top: -50px;
	left: 0;*/
}

.section01 .tag{
	background-color: #000000;
	color: #fcffee;
	font-size: 28px;
	padding: .2em .9em .2em .7em;
	display: inline-block;
	border-radius: 10px;
	line-height: 1.2;
	margin-bottom: 10px;
}
.section01 .tag a{
	color: #FFFFFF;
	text-decoration: none;
}

.section01 .text_box {
	width: 46%;
	text-align: left;
	font-size: 20px;
	position: relative;
}

.section01 .text_box::before{
	content: "";
	background: url(../img/common/main_bg_01.png) no-repeat center/cover;
	width: 197px;
	height: 98px;
	top: -104px;
	right: 12%;
	z-index: -1;
	position: absolute;
}

.section01 .text_box .title{
	font-size: 50px;
	font-weight: bold;
	margin-bottom:.6em;
}
.section01 .img_box{
	width: 44%;
	aspect-ratio:1/1;
	height: auto;
	position: absolute;
	top:-60px;
	right: 2.5%;
}
.section01 .img_box img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
	transition:.3s all;
	border-radius: 60px;
}
.section01 .text_box .category_list_1{
	display: flex;
	flex-wrap: wrap;
	gap:15px 10px;
	margin-bottom: 30px;
	width: 80%;
}
.section01 .text_box .category_list_1 a{text-decoration: none;}

.section01 .text_box .category_list_1 li{
	background: #fff0b5;
	border-radius: 32px;
	padding: .4em 1.2em;
	line-height: normal;
}

.section01 .text_box .category_list_1 span{margin-left: .4em;}

.section01 .text_box .calendar{
	background-color: #ffffff;
	border-radius:5px;
	margin-bottom: 30px;
	display: inline-flex;
	flex-wrap: wrap;
  align-items: center;
	gap:5px 10px;

	background: #000000;/* ← border色 */
	padding: 3px;/* ← borderの太さ */
	clip-path: polygon(0 10%, 100% 10%, 96% 97%, 2% 100%, 3% 72%);
	width: 100%;
}

.section01 .calendar .calendar_box{
	display: flex;
	width: 100%;
	height: 100%;
	background: #ffffff;
	/* 中の色 */
	clip-path: polygon(0 9%,100% 10%,96.2% 98%,2% 100%,3% 74%);
	align-items: stretch;
}

.section01 .calendar .calendar_in_box{margin: 30px 40px 20px 0;}

.section01 .calendar .calendar_box .calendar_date {
	background: #ffef37;
	padding: 17px 44px 11px 34px;
	margin-right: 10px;
	display: flex;
	clip-path: polygon(0 0, 100% 0, 84% 100%, 0% 100%);
	align-items: center;
}

.section01 .text_box .calendar .calendar_date img{
	width: 19px;
	height: 19px;
}

.section01 .text_box .calendar .calendar_date p{
	margin-left: 10px;
	font-weight: bold;
}

.section01 .text_box .description_text{margin-bottom: 20px;}
.section01 .text_box .information_box{
	margin-bottom: 24px;
	font-weight: bold;
	font-size: 23px;
}
.section01 .text_box .information_box li{
	display: flex;
	align-items: flex-start;
}
.information_box_titl{white-space: nowrap;}

.category_list_2{
	display: flex;
	flex-wrap: wrap;
	gap:8px;
}
.category_list_2 li{
	background-color: #c3f0fa;
	font-size: 20px;
	line-height: 1;
	border-radius:2px;
	padding: .4em .8em;
}
.category_list_2 li a{text-decoration: none;}

.status_icon .img_box::before{
	position: absolute;
	content: "";
	width: 154px;
	height:154px ;
	top:-40px;
	left: -40px;
	z-index:2 ;
}
.status_end .img_box::before {
	width: 154px;
    height: 100px;
}

.status_new .img_box::before{background:url(../img/situation_new.png) no-repeat center/cover;}
.status_shimekiri .img_box::before{background:url(../img/situation_shimekiri.png) no-repeat center/cover;}
.status_uketsuke .img_box::before{background:url(../img/situation_uketsuke.png) no-repeat center/cover;}
.status_end .img_box::before{background:url(../img/situation_end.png) no-repeat center/cover;}


.section01 .img_box div{
	position: relative;
	aspect-ratio: 5 / 4;
}

.section01_in .img_box .illust_01{
	position: absolute;
	bottom: -90px;
	background: url(../img/common/moyou01.png) no-repeat center/cover;
	left: -45px;
	width: 361px;
	height: 172px;
}

.section01_in .img_box .illust_02{
	position: absolute;
	background: url(../img/common/moyou02.png) no-repeat center/cover;
	right: -50px;
	bottom: -30px;
	width: 178px;
	height: 155px;
}

.section01_in .img_box .illust_03 {
	position: absolute;
	background: url(../img/common/moyou03.png) no-repeat center/cover;
	width: 191px;
	height: 162px;
	right: 95px;
	bottom: -76px;
	z-index: -1;
}

.section01 .btn{
	font-size: 19px;
	max-width: 370px;
	border-radius: 100px;
	text-align: center;
	font-weight: 600;
	transition: .3s;
	box-sizing: border-box;
	border: 3px solid #000000;
	margin-left: auto;
	margin-top: 26px;
	background: #ffffff;
	position: relative;
	line-height: 75px;
	
}
.section01 .btn a{
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 75px;
	width: 100%;	
}
.section01 .btn a:hover{opacity: 1;}
.section01 .btn a img{width: 170px;}
.section01 .btn:hover {
	transform: scale(1.1);
	background-color: #fee300;
	opacity: 1;
}
.section01 .btn_arrow_right::after {
	content: "";
	background: url(../img/common/btn_arrow_yellow.svg) no-repeat center /cover;
	width: 78px;
	height: 78px;
	position: absolute;
	right: -3px;
	top: -3px;
}

.calendar .cms_text {
	font-weight: bold;
	display: block;

	/*grid-column: 2;

	font-weight: bold;*/
	line-height: 1.3;
}


@media screen and (max-width: 1400px) {

	.section01 .text_box .title{font-size: 40px;}
	.section01 .tag{font-size: 22px;}
	.section01 .text_box::before {right: -2%;}
	.section01_in .img_box .illust_01{
		bottom: -50px;
		left: -30px;
		width: 238px;
		height: 113px;
	}
	.section01_in .img_box .illust_02 {
		right: -24px;
		bottom: -18px;
		width: 118px;
		height: 103px;
	}
	.section01_in .img_box .illust_03{
		width: 121px;
		height: 103px;
		right: 95px;
		bottom: -46px;
	}
	.section01 .text_box .calendar .calendar_date p{font-size: 18px;}
	.calendar .cms_text {font-size: 18px;}
}

@media screen and (max-width: 1200px) {
	.section01 .calendar .calendar_box .calendar_date{padding: 17px 26px 11px 20px;}
}

@media screen and (max-width: 1000px){

	.section01 {padding: 260px 0 120px;}

	.section01 .tag_box {position: initial;}

	.section01 .text_box .title{margin-bottom: .3em;}

	.section01 .text_box::before {display: none;}

	.section01 .section01_in {
		display: flex;
		flex-direction: column-reverse;
		padding: 0;
		width: 90%;
		margin: 0 auto;
	}
	.section01 .text_box{
		width: 100%;
		padding: 60px 0 0;
	}
	.section01 .img_box{
		position: unset;
		width: 100%;
		aspect-ratio:3/2;
		margin-top: 30px;
	}

	.section01_in .img_box .illust_01 {
		bottom: -30px;
		left: -7%;
		width: 198px;
		height: 94px;
	}

	.section01_in .img_box .illust_02 {
		bottom: -18px;
		right: -6%;
		width: 88px;
		height: 76px;
	}

	.section01_in .img_box .illust_03 {
		width: 90px;
		height: 77px;
		right: 95px;
		bottom: -25px;
	}

	.section01 .calendar .calendar_box .calendar_date{padding: 17px 44px 11px 34px;}


}
@media screen and (max-width: 820px){
	.section01{padding: 130px 0 50px;}
}

@media screen and (max-width: 600px){
	.section01 .tag{font-size: 18px;}
	.section01 .text_box {
		font-size: 16px;
		padding: 40px 0 0;
	}
	.section01 .text_box .title{font-size: 24px;}
	.section01 .text_box .category_list_1,
	.section01 .text_box .calendar,
	.section01 .text_box .description_text,
	.section01 .text_box .information_box{margin-bottom: 15px;width: 100%;}

	.section01 .calendar .calendar_box {
		display: block;
		clip-path: polygon(0 4%, 100% 4%, 96.2% 98%, 2% 100%, 3% 74%);
	}

	.section01 .calendar .calendar_box .calendar_date {
		padding: 13px 16px 7px 18px;
		margin-right: 0;
		width: 140px;
	}

	.section01 .img_box{margin-top: 18px;}
	.section01 .img_box img {border-radius: 40px;}
	.status_icon .img_box::before {
		width: 92px;
		height: 92px;
		right: 0;
		left: -22px;
		top: -20px;
  }
	.status_end .img_box::before {
		width: 92px;
		height: 60px;
	}

	.section01 .btn{
		font-size: 16px;
		margin: 30px auto 0;
		line-height: 59px;
	}
	.section01 .btn a{height: 61px;}
	
	.section01 .btn a img {width: 160px;}
	.section01 .btn_arrow_right::after{
		width: 65px;
		height: 65px;
		right: -1px;
	}

	.section01 .text_box .information_box {font-size: 16px;}

	.category_list_2 li{font-size: 16px;}

	.section01 .text_box .category_list_1 li{display: flex;}
	.section01 .text_box .category_list_1 li:last-child{width: 100%;}

	.category_list .icon_pin img {width: 12px;}
	.category_list .icon_map img {width: 14px;}
	.category_list .icon_money img {width: 13px;}
	.category_list .icon_organizer img{width: 20px;}

	.section01 .text_box .calendar{clip-path: polygon(0 4%, 100% 4%, 96% 97%, 2% 100%, 3% 72%);sssssssssssssssssssssssssssssssssssss}


	.section01 .text_box .calendar .calendar_date p {font-size: 14px;}
	.calendar .cms_text {
		font-size: 15px;
		padding: 4px 11px 4px 28px;
		display: block;
	}

	.section01_in .img_box .illust_03 {display: none;}

	.section01 .calendar .calendar_in_box{margin: 10px 20px 14px;}

}

/*=====================================================================================
***************************************************************************************

	セクション2

***************************************************************************************
=====================================================================================*/

.section02_in{position: relative;}

.section02 .title_menu{
	font-size: 30px;
	text-align: left;
	position: absolute;
	width: 19%;
	/*background: url(../img/common/midashi_bg.png)left -20px bottom -20px no-repeat;
	height: 140px;
	position: absolute;*/
}

.section02 .title_menu::after{
	content: "";
	background: url(../img/common/midashi_bg.png)left -20px bottom -20px /200px no-repeat;
	width: 80%;
	height: 140px;
	display: block;
	position: absolute;
	left: -36px;
	top: -7%;
}

.section02 .title_menu img{
	width: 100%;
	position: relative;
	z-index: 1;
}

.information_table{
	width: 77%;
	margin-left: auto;
}
.information_table li{
	padding: 0 20px 20px;
	margin: 0 auto 20px;
	text-align: justify;

	/* 幅2の線を作る */
	background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 8px);
	/* グラデーションの幅・高さを指定 */
	background-size: 8px 2px;
	/* 背景の開始位置を指定 */
	background-position: left bottom;
	/* 横向きにのみ繰り返す */
	background-repeat: repeat-x;
}

.information_table li:first-child{
	padding-top: 20px;
	background-image:
	linear-gradient(to right, #000, #000 4px, transparent 4px, transparent 8px),/* 上 */
	linear-gradient(to right, #000, #000 4px, transparent 4px, transparent 8px);/* 下 */
	background-size:
	8px 2px,/* 上 */
	8px 2px;/* 下 */
	background-position:
	left top,/* 上 */
	left bottom;/* 下 */
	background-repeat:repeat-x,repeat-x;
}

.information_table li div{
	font-size: 28px;
	color: #000000;
	font-weight: bold;
}
.information_table li p{font-size: 22px;}
.information_table li:last-child {margin-bottom: 0;}
.information_table li a{color:#e94119;}

/* ↓↓↓ シェアボタン ↓↓↓ */
.section02 .share_box {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
	margin: 30px auto 135px;
	justify-content: flex-end;
}
.section02 .share_box .daruma{
	font-size: 30px;
	color: #000000;
}
.section02 .share_box a{
	width: 60px;
	transition: .3s;
}
.section02 .share_box a img{width: 100%;}
.section02 .share_box a:hover{transform: scale(1.1);}
/* ↑↑↑ シェアボタン ↑↑↑ */

@media screen and (max-width:1000px) {
	.information_table {width: 72%;}
	.section02 .title_menu{width: 23%;}
}

@media screen and (max-width:820px){
	.section02{padding: 40px 0;}
	.section02_in {
		position: initial;
	}
	.section02 .title_menu{
		position: initial;
		width: 35%;
	}
	.information_table{
		width: 100%;
		padding: 40px 0;
		margin: 0 auto 25px;
		padding: 20px 0 18px;
	}
}
@media screen and (max-width: 600px){
	.section02 .title_menu{
		font-size: 20px;
		width: 55%;
	}
	.information_table {
		padding: 18px 0;
	}
	.information_table li div{font-size: 16px;}
	.information_table li p{font-size: 14px;}
	.section02 .share_box{margin: 0 auto;justify-content: center;}
	.section02 .share_box .daruma{font-size: 24px;}
	.section02 .share_box a{width: 45px;}
}

/*=====================================================================================
***************************************************************************************

	セクション３

***************************************************************************************
=====================================================================================*/
.section03{
	background: url(../img/minna_bg.jpg) no-repeat center/cover;
	padding:120px 0 150px ;
}
.section03 .section03_in {
	padding: 60px 0;
	margin-bottom: 35px;
	width: 1200px;
	max-width: 90%;
	margin: 0 auto;
	background: url(../img/minna_bg2.jpg)top center/100% repeat;
	border-radius: 100px;
}
.section03 .section03_in .line_bg{
	max-width: 960px;
	padding: 15px 0 60px;
}
.section03 .title_box{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	line-height: 1;
	margin-bottom: 50px;
}

.section03 .title_box span{
	background: url(../img/minna_bg.png) bottom center/contain no-repeat;
	width: 427px;
	height: 132px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.section03 .word_box{margin-bottom: 60px;}

.word_box ul{
	display: flex;
	flex-wrap: wrap;
	gap:1em;
}
.word_box ul li{
	font-size: 18px;
	background-color: #c3eb6e;
	padding: .2em .5em;
	border-radius:2px;
}

.section03 .voice_box{margin-bottom: 60px;}

.voice_box .voice_txt{width: 100%;}
.voice_box .voice_txt li{
	display: flex;
	align-items: flex-start;
	gap:5px 4%;
	margin-bottom: 20px;
}
.voice_box .voice_txt li:last-child{margin-bottom: 0;}
.voice_box .voice_txt li img{
	width: 86px;
	min-width: 60px;
	/*height: 150px;*/
	margin-top: 8px;
}
.voice_box .voice_txt li p{
	width: 86%;
	font-size: 18px;
	margin-top: 1em;
	text-align: justify;
	background: #fff;
	border: 3px solid #000;
	box-sizing: border-box;
	border-radius: 30px;
	padding: 30px;
	position: relative;
}

.voice_box .voice_txt li p::before{
	content: "";
	background: url(../img/hukidashi.jpg) top center no-repeat;
	width: 30px;
	height: 20px;
	display: block;
	position: absolute;
	left: -26px;
	top: 50%;
	transform: translateY(-50%);
}

.voice_box .voice_txt li .hukidashi2::before {
	content: "";
	background: url(../img/hukidashi.jpg) top center no-repeat;
	width: 30px;
	height: 20px;
	display: block;
	position: absolute;
	right: -26px;
	left: auto;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
}

.section03 .feedback_box{padding: 60px 0 160px;}

.feedback_box ul li{
	display: flex;
	align-items: flex-start;
	gap:5px 3%;
	margin-bottom:20px;
}
.feedback_box ul li:last-child{margin-bottom: 0;}
.feedback_box ul li div{
	width: 18%;
	min-width: 90px;
	white-space: nowrap;
	color: #fcffee;
	background-color: #000000;
	padding: .5em .2em .2em;
	border-radius: 8px;
}
.feedback_box ul li p{
	width:79% ;
	margin-top: .3em;
	text-align: justify;
}

@media screen and (max-width: 820px){
	.section03{padding: 45px 0 0;}
	.section03 .word_box,
	.section03 .voice_box{
		padding: 30px 0;
	}
	.section03 .title_box{margin-bottom: 25px;}
	.section03 .title_box .font_title{font-size: 25px;}
}
@media screen and (max-width: 600px){
	.section03 {
		background: url(../img/minna_bg_sp02.jpg) bottom 14% center / 100% no-repeat,
		url(../img/minna_bg_sp01.jpg) top center / 100% no-repeat;


		padding: 110px 0 0;
	}
	.section03 .section03_in{
		width: 100%;
		border-radius: 60px;
		max-width: 100%;
	}
	.word_box ul li,
	.voice_box ul li p{font-size: 16px;}

	.section03 .title_box{margin-bottom: 28px;}

	
	.voice_box .voice_txt{width: 90%;}

	
	.voice_box .voice_txt li{
		gap: 5px 8%;
		position: relative;
		margin-bottom: 40px;
	}

	.voice_box .voice_txt li p::before{transform: translateY(-50%) rotate(270deg);}
	.voice_box .voice_txt li .hukidashi2::before {
		transform: translateY(-50%) rotate(270deg);
		right: 84px;
		top: inherit;
		bottom: -31px;
	}

	.voice_box .voice_txt .voice_icon_a::before{
		content: "";
		background: url(../img/voice_icon_a.png)top left/cover no-repeat;
		width: 84px;
		height: 146px;
		position: absolute;
		z-index: 1;
		bottom: -130px;
		left: -20px;
		/*bottom: -163px;
		width: 104px;
		height: 181px;*/
	}

	.voice_box .voice_txt .voice_icon_b{z-index: 1;}

	.voice_box .voice_txt .voice_icon_b::before {
		content: "";
		background: url(../img/voice_icon_b.png)top left/cover no-repeat;
		width: 88px;
		height: 163px;
		position: absolute;
		z-index: 1;
		bottom: -136px;
		right: -20px;
		/*bottom: -178px;
		width: 110px;
		height: 203px;*/
	}

	.voice_box .voice_txt .voice_icon_c {z-index: 1;}

	.voice_box .voice_txt .voice_icon_c::before {
		content: "";
		background: url(../img/voice_icon_c.png)top left/cover no-repeat;
		width: 70px;
		height: 144px;
		position: absolute;
		bottom: -44px;
		left: -48px;
		z-index: 1;
		/*z-index: 1;
		bottom: -163px;
		width: 84px;
		height: 181px;*/
}

	.voice_box .voice_txt li img{display: none;}

	.section03 .voice_box{margin-bottom: 30px;}
	.voice_box .voice_txt li p{
		font-size: 14px;
		padding: 16px;
		border-radius: 24px;
		width: 100%;
	}
	.voice_box .voice_txt li p::before{
		left: 84px;
		top: inherit;
		bottom: -31px;
	}
	.section03 .word_box {margin-bottom: 30px;}
	.section03 .voice_box{
		margin-bottom: 130px;
		overflow: hidden;
	}

	.section03 .word_box .title_box span,
	.section03 .voice_box .title_box span,
	.section03 .feedback_box .title_box span{
		width: 90%;
		height: 70px;
	}
	.section03 .word_box .title_box img {width: 40%;}
	.section03 .voice_box .title_box img {width: 44%;}
	.section03 .feedback_box .title_box img {width: 40%;}

	.feedback_box ul{width: 100%;}
	.feedback_box ul li {display: block;}
	.feedback_box ul li div{width: 100%;}
	.feedback_box ul li p{width: 100%;}
	.section03_in .txt_center{text-align: center;}

}

@media (max-width: 1000px) and (max-height: 1200px) {
	.section03 .feedback_box {
		padding: 30px 0 70px;
	}
}

@media (max-width: 600px) and (max-height: 900px) {
	.section03 .feedback_box {
		padding: 30px 0 70px;
	}
}

/*=====================================================================================
***************************************************************************************

		footer

***************************************************************************************
=====================================================================================*/

footer{margin-top: -300px;}

@media (max-width: 1000px) and (max-height: 1200px) {
	footer {
			margin-top: -90px;
		}
}
@media (max-width: 600px) and (max-height: 600px) {
	footer {
		margin-top: -120px;
	}
}
