/* CSS Document */
@charset "utf-8";

body *{
	font-size: 16px;
	line-height: 1.5;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	box-sizing: border-box;
	color: #001e43;
}

body{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
body .eng{
	font-family: "Noto Serif", "Times New Roman", serif, sans-serif;
}

.pc{ display: none;}
.sp{}


h1,h2,h3{
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 1em;
}
h1{
	font-size: 10vw;
}
h2{
	font-size: 8vw;
}
h3{
	font-size: 4.5vw;
}

.mb10{ margin-bottom: 10px; }
.mb20{ margin-bottom: 20px; }
.mb50{ margin-bottom: 50px; }

.conWrap{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/* ボタン
***************************************/

.btnd01{
	position: relative;
	display: inline-block;
	padding: 6vw 9vw;
	background-color: #FFF;
	border-radius: 10vw;
	box-sizing: border-box;
}
.btnd_o01{
	position: relative;
	display: inline-block;
	padding: 5vw 15vw;
	background-color: #FFF;
	border-radius: 10vw;
	box-sizing: border-box;
	border: 2px solid #0b985e;
}
.btnd02{
	position: relative;
	display: inline-block;
	padding: 5vw 15vw;
	background-color: #FFF;
	border-radius: 10px;
	box-sizing: border-box;
}
.btn_arrw::after{ 
	content: "";
	width: 2vw;
	height: 2vw;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	position: absolute;
	right: 6vw;
	top: 50%;
	margin-top: -1vw;
	transform: rotate(45deg);
	font-weight: bold;
}
.bg_green{
	background-color: #0b985e;
	color: #FFF;
}
.bg_orange{
	background-color: #ed770a;
	color: #FFF;
}

.contentBtnArea{
	padding: 3vw 0;
	display: flex;
	justify-content: center;
}
.contentBtn{
	display: inline-block;
	padding: 20px 0;
	width: 100%;
	border-radius: 50px;
	font-size: 16px;
	font-weight: bold;
	background-color: #0b985e;
	color: #FFF;
	text-align: center;
	text-decoration: none;
}
.contentBtn2{
	display: inline-block;
	padding: 1em 0;
	width: 100%;
	border-radius: 50px;
	font-size: 14px;
	font-weight: bold;
	background-color: #FFF;
	color: #333;
	text-align: center;
	text-decoration: none;
	position: relative;
}
	.contentBtn2::after{
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border-top: 1px solid #555;
		border-right: 1px solid #555;
		transform: rotate(45deg);
		position: absolute;
		right: 20px;
		top: 50%;
		margin-top: -4px;
	}
.contentBtn3{
	display: inline-block;
	padding: 1em 4em 1em 3em;
	width: auto;
	border-radius: 50px;
	font-size: 14px;
	background-color: #F3F3F3;
	color: #333;
	text-align: center;
	text-decoration: none;
	position: relative;
}
	.contentBtn3::after{
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		border-top: 1px solid #555;
		border-right: 1px solid #555;
		transform: rotate(45deg);
		position: absolute;
		right: 20px;
		top: 50%;
		margin-top: -4px;
	}

/* 投稿リスト
***************************************/
.postList1{}
.postList1 li{}
.postList1 li a{}

.postList2{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 11vw;
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5vw;

}
	.postList2 li{
		width: 100%;
	}
		.postList2 li a{
			display: block;
			text-decoration: none;
		}
			.postList2 li a > div{
				margin-top: -20px;
				padding: 0;
			}
			.postList2 li a img{
				display: block;
				width: 100%;
				height: 50vw;
			}
			.postList2 li a span {
				background-color: #001e43;
				color: #FFF;
				display: inline-block;
				margin-top: 1vw;
				margin-bottom: 2vw;
				font-size: 4vw;
				padding: 2vw 3vw;
				line-height: 1;
			}
			.postList2 li a time{
				font-size: 4vw;
				display: block;
				margin-bottom: 1vw;
			}
			.postList2 li a h3{
				font-size: 5vw;
				font-weight: bold;
				display: block;
				line-height: 1.3;
				margin-bottom: 2vw;
			}
			.postList2 li a p{
				font-size: 4vw;
			}
			.postList2 li a dl{
				display: flex;
				flex-wrap: wrap;
			}
			.postList2 li a dl dt,
			.postList2 li a dl dd{
				font-size: 4vw;
			}
			.postList2 li a dl dt{
				width: 35%;
			}
			.postList2 li a dl dd{
				width: 65%;
			}
			.postList2 li a dl dd::before{
				content: ":";
			}


/* CTA
***************************************/
.cta{
	padding: 5vw 0;
	background-color: #f7ffef;
	background-image: url(../img/bg_cta1.png);
	background-repeat: repeat-x;
	background-position: 50% bottom;
	background-size: 1200px;
}
.ctaWrap{
	width: 90%;
	margin: 0 auto;

}
	.ctaWrap .ctaWrap_l{
		width: 100%;
	}
	.ctaWrap .ctaWrap_r{
		width: 100%;
	}
		.ctaWrap .ctaWrap_r img{
			display: block;
			width: 100%;
			height: auto;
			margin-bottom: 10vw;
		}
.cta h2{
	font-size: 4.5vw;
	display: block;
}
.cta ul{
	display: flex;
	gap: 2vw;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto 5vw;
}
.cta ul li {
    width: 48.5%;
    background-color: #fff;
    border: 1px solid #0b985e;
    text-align: center;
    padding: 2vw;
    font-size: 4vw;
    line-height: 1.3;
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 1vw;
}
.cta img{
	display: block;
	width: 358px;
	height: auto;
	margin: 0 auto 20px;
}
.ctaWrap_r_wrap{
	position: relative;
}
.cta a {
    display: block;
    width: 100%;
    position: relative;
    background-color: #ed770a;
    text-decoration: none;
    color: #FFF;
    border-radius: 4vw;
    box-shadow: 1.5vw 1.5vw 0px 0px rgba(50, 50, 50, 1);
}
	.cta .cta_t1 {
		display: block;
        width: 20vw;
        height: 20vw;
        background-color: #f9e830;
        border-radius: 10vw;
        display: flex;
        position: absolute;
        top: -6vw;
        left: -4vw;
        align-items: center;
        justify-content: center;
        text-align: center;
        line-height: 1.2;
        font-weight: bold;
        color: #111;
		z-index: 2;
	}
.cta .cta_t2 {
    display: inline-block;
    position: absolute;
    top: -4vw;
    left: 19vw;
    background-color: #fff;
    padding: 1.2vw 2vw;
    font-size: 2.8vw;
    border-radius: 3vw;
    line-height: 1.3;
    font-weight: bold;
    border: 1px solid #ed770a;
	z-index: 2;
}
span.cta_t2::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4vw;
    left: 100%;
    margin-left: -37vw;
    border: 6px solid transparent;
    border-top: 11px solid #fff;
}
	.cta a b {
        display: block;
        width: 100%;
        padding: 4vw 4vw 4vw 11vw;
        font-size: 7vw;
        text-align: center;
		color: #FFF;
	}


/* CVエリア1
***************************************/
.f_cv1{
	background-color: #172639;
	text-align: center;
	color: #FFF;
}
.f_cv1_wrap{
	padding: 5vw 3vw 10vw;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
	.f_cv1_wrap .img_f_cv1 {
		display: block;
		width: 50vw;
		height: auto;
		position: absolute;
		right: -7vw;
		bottom: -37vw;
		z-index: -1;
	}
	.f_cv1 h2,
	.f_cv1 h2 span,
	.f_cv1 h3,
	.f_cv1 p{
		color: #FFF;
	}
	.f_cv1 h2{
		display: block;
		line-height: 1.4;
		margin-bottom: 4vw;
		font-size: 6vw;
	}
		.f_cv1 h2 span.mini{
			display: block;
			margin-bottom: 3vw;
			font-size: 4vw;
		}
		.f_cv1 h2 span.text_mrkr_yellow{
			text-shadow: 
				2px 0px 1px rgba(23, 38, 57, 1),
				-2px 0px 1px rgba(23, 38, 57, 1),
				0px 2px 1px rgba(23, 38, 57, 1),
				0px -2px 1px rgba(23, 38, 57, 1)
			;
			
		}
	.f_cv1 .f_cv1_text0{
		font-size: 3.5vw;
		margin-bottom: 7vw;
	}
	.f_cv1 h3{
		font-size: 4.5vw;
		margin-bottom: 9vw;
		color: #fcdd02;
	}
.f_cv1 .f_cv1_text1 {
    font-size: 4.5vw;
    margin-bottom: 5vw;
    padding-right: 1vw;
    padding-top: 6vw;
    text-align: left;
}
	.f_cv1 ul{
		width: 75%;
		margin: 0 auto 30px;
	}
		.f_cv1 ul li {
			width: 100%;
			background-color: #FFF;
			padding: 5vw 0vw;
			margin-bottom: 4vw;
		}
		.f_cv1 ul li p{
			color: #001e43;
		}
		.f_cv1 ul li span {
			display: inline-block;
			width: auto;
			margin-bottom: 3vw;
			font-weight: bold;
			font-size: 4vw;
			background-color: #ed770a;
			color: #FFF;
			padding: 0.5vw 3.5vw;
		}
		.f_cv1 ul li b{
			display: block;
			width: 100%;
			margin-bottom: 5vw;
			font-weight: bold;
			font-size: 5.5vw;
			line-height: 1.4;
			color: #ed770a;
			letter-spacing: 0;
		}
		.f_cv1 ul li p{
			font-size: 3.5vw;
		}
.f_cv1_text1{
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
.f_cv1_btn {
    padding: 8vw 0 0;
}
	.f_cv1_btn a {
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
		display: block;
	}
		.f_cv1_btn a img {
			display: block;
			width: 100%;
			height: auto;
		}

/* CVエリア2
***************************************/
.f_cv2{
	padding: 10vw 3%;
	background-color: #001e43;
	text-align: center;
	color: #FFF;
	background-image: url(../img/bg_cta2.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 560px;
	width: 100%;
}
	.f_cv2 .sec_title01{
        margin-bottom: 6vw;
        font-size: 4vw;
		line-height: 3;
	}
	.f_cv2 .sec_title01 .text_mrkr_yellow{
        font-size: 1em;
		color: #FFF;
	}
		.f_cv2 .sec_title01 img {
			display: inline-block;
			width: 45vw;
			margin: 0 1vw -1vw;
			height: auto;
		}
	.f_cv2 .sec_text01{
		line-height: 1.7;
		margin-bottom: 8vw;
		font-size: 3vw;
		letter-spacing: 0;
	}
		.f_cv2 .sec_text01 b{
			display: block;
			margin-bottom: 0;
			
		}
	.f_cv2 > h2,
	.f_cv2 > p,
	.f_cv2 > p *{
		color: #FFF;
	}
	.f_cv2_wrap{
		width: 100%;
		margin: 0 auto 3vw;
		padding: 0;
		background-color: #f7ffef;
		text-align: center;
		color: #FFF;
		padding: 7vw 3% 1vw;
	}
		.f_cv2_wrap h2 {
			display: flex;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
			gap: 3vw;
			font-size: 5vw;
		}
			.f_cv2_wrap h2 img {
				display: inline-block;
				width: 60vw;
				height: auto;
				margin-top: -4vw;
			}
	.f_cv2_text1{
		font-size: 4.2vw;
		margin-bottom: 30px;
	}
		.f_cv2_text1 b {
			font-size: 4.2vw;
			display: inline-block;
			margin-bottom: 30px;
		}

	.f_cv2_text2{
		font-size: 5vw;
		font-weight: bold;
		margin-bottom: 8vw;
	}



	.f_cv2 ol{
		width: 78%;
		margin: 0 auto 30px;
	}
		.f_cv2 ol li {
			width: 100%;
			background-color: #FFF;
			padding: 5vw 0vw;
			margin-bottom: 4vw;
			border: 1px solid #0b985e;
		}
		.f_cv2 ol li p{
			color: #001e43;
		}
		.f_cv2 ol li span {
			display: inline-block;
			width: auto;
			margin-bottom: 4vw;
			font-weight: bold;
			font-size: 5vw;
			background-color: #ed770a;
			color: #FFF;
			padding: 0.5vw 3.5vw;
		}
		.f_cv2 ol li b{
			display: block;
			width: 100%;
			margin-bottom: 5vw;
			font-weight: bold;
			font-size: 5vw;
			line-height: 1.4;
			color: #ed770a;
			letter-spacing: 0;
		}
		.f_cv2 ol li p{
			font-size: 3.5vw;
		}




	.f_cv2 ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 2vw 2%;
		width: 100%;
		margin: 0 auto 8vw;
	}
		.f_cv2 ul li {
			width: 49%;
			background-color: #FFF;
			color: #333;
			display: flex;
			justify-content: center;
			align-items: center;
			line-height: 1.3;
			font-size: 4vw;
			font-weight: bold;
			border: 1px solid #0b985e;
			padding: 2vw 2vw;
		}

	/* .f_cv2 ol{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 32px;
		width: 100%;
		margin: 0 auto;
	}
		.f_cv2 ol li{
			width: 333px;
			background-color: #FFF;
			color: #333;
			position: relative;
			padding: 80px 0 30px;
			display: flex;
			justify-content: center;
			align-items: center;
			flex-wrap: wrap;
			border: 1px solid #0b985e;
		}
		.f_cv2 ol li span{
			width: 333px;
			position: absolute;
			top: 30px;
			left: 50%;
			display: block;
			width: 80px;
			margin-left: -40px;
			background-color: #ed770a;
			color: #FFF;
			
		}
		.f_cv2 ol li b{
			display: block;
			width: 100%;
			line-height: 1.5;
			font-size: 22px;
			margin-bottom: 0.5em;
			color: #ed770a;
		}
		.f_cv2 ol li p{
			line-height: 1.5;
			font-size: 16px;
		} */
/* CVエリア3
***************************************/
.f_cv3{
	padding: 5vw 0;
	background-color: #f7ffef;
	text-align: center;
}
	.f_cv3_wrap{
		width: 88%;
		margin: 0 auto;
		padding: 5vw 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
		.f_cv3_wrap .f_cv3_wrap_l{
			width: 100%;
		}
			.f_cv3_wrap .f_cv3_wrap_l p {
				font-size: 4vw;
				font-weight: bold;
				text-align: left;
				margin-bottom: 4vw;
				letter-spacing: -1px;
			}
				.f_cv3_wrap .f_cv3_wrap_l p img {
					display: inline-block;
					width: 45vw;
					height: auto;
					vertical-align: sub;
					margin-right: 1vw;
				}
.f_cv3_wrap .f_cv3_wrap_l h2 {
    display: block;
    font-size: 5.3vw;
    line-height: 1.3;
    font-weight: bold;
    text-align: left;
    margin-bottom: 4vw;
}
		.f_cv3_wrap .f_cv3_wrap_r{
			width: 420px;
		}
			.f_cv3_wrap .f_cv3_wrap_r .f_cv3_wrap_r_1{
				font-size: 6vw;
				font-weight: bold;
				text-align: center;
				width: 100%;
				margin-bottom: 1vw;
			}
				.f_cv3_wrap .f_cv3_wrap_r .f_cv3_wrap_r_1 span{
					font-size: 6vw;
					font-weight: bold;
					line-height: 1.2;
				}
			.f_cv3_wrap .f_cv3_wrap_r .f_cv3_wrap_r_2{
				font-size: 3.5vw;
				text-align: center;
				width: 100%;
				margin-bottom: 20px;
			}
			.f_cv3_wrap .f_cv3_wrap_r a{
				display: block;
				font-size: 22px;
				text-align: center;
				width: 100%;
				border: 2px solid #0b985e;
				font-weight: bold;
			}
				.f_cv3_wrap .f_cv3_wrap_r a::after{
					border-top: 2px solid #0b985e;
					border-right: 2px solid #0b985e;
				}

	.f_cv3_wrap .f_cv3_txt1{
		font-size: 22px;
		font-weight: bold;
		text-align: left;
	}
	.f_cv3_wrap h2{
		display: block;
		margin: 0;
		font-size: 32px;
		text-align: left;
	}
	.f_cv3_wrap .f_cv3_txt2{
		font-size: 32px;
		font-weight: bold;
	}
	.f_cv3_wrap .f_cv3_txt3{
		font-size: 16px;
	}
	.f_cv3_wrap a{

	}


/* MV
***************************************/
.top_mv{
	padding: 31vw 2vw 35vw;
	position: relative;
	width: 100%;
	overflow: hidden;
	background-image: url(../img/top/main.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
}
.top_mv::after {
    display: block;
    content: "";
    width: 112vw;
    height: 15vw;
    background-image: url(../img/top/mv_logo.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 1vw;
    right: -37vw;
    z-index: 0;
}
		.top_mv h1 {
			display: block;
			font-size: 9vw;
			line-height: 1;
			width: 100%;
			margin: 0 auto 4vw;
			color: #FFF;
			text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.54);
		}
	.top_mv p {
		display: block;
		font-size: 4vw;
		line-height: 1;
		width: 100%;
		margin: 0 auto;
		color: #FFF;
text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.54);
	}

/* TOP - section
***************************************/
.sec_padding_50{
	padding: 10vw 3%;
	overflow: hidden;
}
.sec_padding_100{
	padding: 8vw 3%;
}
.secWrap1000{
	width: 96%;
	margin-left: auto;
	margin-right: auto;
}
.secWrap1200{
	width: 94%;
	margin-left: auto;
	margin-right: auto;
}
.sec_color_gray{
	background-color: #EEE;
}
.sec_title01{
	text-align: center;
	margin-bottom: 2vw;
}
.sec_title02{
	text-align: left;
	margin-bottom: 2vw;
}

.sec_text01{
	text-align: center;
	margin-bottom: 5vw;
}
.sec_text02{
	text-align: left;
	margin-bottom: 5vw;
}


/* TOP - about1
***************************************/
.sec_top_about1{}
	.sec_top_about1_wrap{
		padding: 100px 0;
		width: 100%;
		margin: 0 auto;
		/* display: flex;
		justify-content: space-between; */
	}
		.sec_top_about1_wrap img{
			display: block;
			width: 100%;
			height: auto;
			object-fit: cover;
		}
		.sec_top_about1_wrap .sec_top_about1_wrap_txt{
			width: 100%;
			padding: 40px 0px;
		}
			.sec_top_about1_wrap .sec_top_about1_wrap_txt h2{
				font-size: 36px;
			}
				.sec_top_about1_wrap .sec_top_about1_wrap_txt h2 span{
					font-size: 24px;
				}
			.sec_top_about1_wrap .sec_top_about1_wrap_txt p{
				line-height: 1.5;
			}

/* TOP - tabsec1
***************************************/
.sec_top_tabSec1{
	padding: 30px 0;
	background-color: #f6f6f6;
}
.sec_top_tabSec1 h2{
	margin-bottom: 32px;
	color: #001e43;
}
.sec_top_tabSec1 p{
	margin-bottom: 32px;
}


.tabs {
    display: flex;
    padding: 0;
    margin: 0 0 32px;
    gap: 2vw;
}
.tabs li {
    width: 100%;
    text-align: center;
    cursor: pointer;
    transition: background 0.3s;
    border-radius: 2vw;
    padding: 4vw 0vw;
    font-size: 3.4vw;
    background: #0b985e;
    color: #FFF;
}
.tabs li:hover {
	background: #f7ffef;
	border: 1px solid #0b985e;
	color: #001e43;
}

.tabs li.active {
	background: #f7ffef;
	border: 1px solid #0b985e;
	color: #001e43;
}
.tab-content {
	display: none;
}
.tab-content.active {
	display: block;
}
.tab-content ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 4%;
}
	.tab-content ul li {
		display: block;
		width: 48%;
	}
		.tab-content ul li:last-child {
			margin-right: 0;
		}
		.tab-content ul li span,
		.tab-content ul li a{
			display: block;
			width: 100%;
			text-decoration: none;
			color: #333;
		}
			.tab-content ul li span img,
			.tab-content ul li a img{
				display: block;
				width: 100%;
				height: auto;
				margin-bottom: 1vw;
			}
			.tab-content ul li time{
				display: block;
				width: 100%;
				text-decoration: none;
				font-size: 13px;
				margin-bottom: 1vw;
			}
			.tab-content ul li h3{
				display: block;
				width: 100%;
				text-decoration: none;
				font-size: 16px;
			}


/* TOP - taidan
***************************************/
.sec_top_taidan{
	padding: 5vw 3%;
}
	.sec_top_taidan h2{
		font-size: 6.3vw;
	}
		.sec_top_taidan h2 span{
			font-size: 4vw;
        	display: inline-block;
			margin-bottom: 5vw;
		}
	.sec_top_taidan * > p{
		margin-bottom: 4vw;
	}

/* TOP - Search
***************************************/
.sec_top_search{
	padding: 7vw 0;
	background-color: #001e43;
	color: #FFF;
}
	.sec_top_search .conWrap{
		width: 90%;
		margin: 0 auto;
	}
	.sec_top_search h2{
		font-size: 7vw;
		display: block;
		text-align: center;
		color: #FFF;
	}

/*　検索ボックス
*******************************/
.searcBox{
	padding: 6vw 2vw;
	background-color: #f7ffef;
	margin-bottom: 2vw;
}
	.searcBox h3{
        display: block;
        font-size: 5vw;
        text-align: center;
        font-weight: normal;
	}
	.searcBox form{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 2vw;
		width: 100%;
	}
	.batsu{
		display: block;
		position: relative;
		width: 5vw;
        height: 5vw;
	}
		.batsu::before,
		.batsu::after{
			content: "";
			display: block;
			position: absolute;
			border-top: 2px solid #001e43;
			width: 100%;
			position: absolute;
			top: 50%;
			left: 50%;
			margin-left: -2.5vw;
		}
		.batsu::before{
			transform: rotate(-135deg);
		}
		.batsu::after{
			transform: rotate(135deg);
		}

		.searcBox form select,
		.searcBox form input[type="text"]{
			margin: 0;
			border: 2px solid #001e43;
			padding: 1vw 5vw;
			text-align: center;
			color: #001e43;
			width: 33vw;
			line-height: 1;
		}
		.searcBox form input[type="text"]::placeholder{
			color: #001e43;
			line-height: 1;
		}
	.searcBox form button{
		background: none;
		border: none;
		width: 7vw;
        padding: 0;
	}
	.searcBox form button img{
		display: block;
		width: 100%;
		height: auto;
	}

.tagBox{
}
	.tagBox h3{
		display: block;
		font-size: 5vw;
		text-align: center;
		font-weight: normal;
		color: #FFF;
	}
		.tagBox ul{
			padding: 0;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			gap: 8px;
		}
			.tagBox ul li{
				border-radius: 2vw;
			}
				.tagBox ul li a{
					text-decoration: none;
					display: block;
					padding: 2vw;
					background-color: #f7ffef;
					color: #333;
					font-size: 3vw;
					line-height: 1;
					border-radius: 5px;
				}

/* Top - カルーセル
***************************************/
.list_cal1{
	
}
	.list_cal1 li{
		width: 100%;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
		.list_cal1 li a{
			display: block;
			color: #333;
			text-decoration: none;
		}
			.list_cal1 li a time{
				display: block;
				font-size: 14px;
				font-weight: normal;
				margin-bottom: 1em;
			}
			.list_cal1 li a h3{
				display: block;
				font-size: 16px;
				font-weight: bold;
			}
			.list_cal1 li a img{
				display: block;
				width: 100%;
				height: 360px;
				border-radius: 8px;
				object-fit: cover;
				margin-bottom: 1em;
			}
.splide {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
	.splide__list {
		width: 100%;
		margin: 0 auto;
	}
	/* .splide__slide {
		width: 100%;
		max-width: 800px;
	}
		.splide__slide a{
			display: block;
			width: 100%;
			color: #333;
			text-decoration: none;
		}
			.splide__slide a img{
				display: block;
				width: 100%;
				height:auto;
				border-radius: 8px;
			}
			.splide__slide a time{
				display: block;
				font-size: 14px;
				font-weight: normal;
			}
			.splide__slide a h3{
				display: block;
				font-size: 16px;
				font-weight: bold;
			} */


/* Top - コラム
***************************************/
.list_column{
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
	.list_column li{
			width: 100%;
			max-width: 750px;
	}
		.list_column li a{
			display: block;
			width: 100%;
			position: relative;
		}
			.list_column li a > img {
				display: block;
				width: 100%;
				height: 100vw;
				object-fit: cover;
				border-radius: 3vw;
			}
			.list_column li a > div{
				display: block;
				width: 100%;
				height: auto;
				position: absolute;
				bottom: 0;
				left: 0;
				padding: 58vw 9vw 5vw;
			}
				.list_column li a span{
					display: inline-block;
					padding: 0.2em 1em;
					font-size: 0.6em;
					color: #FFF;
					background-color: #001e43;
					margin-bottom: 1em;
				}

					.list_column li a div > h3{
						font-size: 5vw;
						font-weight: bold;
						margin-bottom: 0.5em;
						background-color: #001e43;
						color: #FFF;
						padding: 0.2em 0.5em;
					}

					.list_column li a div > .list_column_author{
						display: flex;
						justify-content: left;
						align-items: center;
						gap: 5vw;
					}
					.list_column li a div .list_column_author_img{
						display: block;
						width: 15vw;
						height: 15vw;
						object-fit: cover;
						border-radius: 7.5vw;
					}
					.list_column li a div .list_column_author_text{
						font-size: 12px;
						color: #FFF;
						background-color: #001e43;
						padding: 10px 20px;
					}
						.list_column li a div .list_column_author_text b{
							font-size: 1.2em;
							margin-bottom: 0.15em;
							font-weight: bold;
							display: block;
							width: 100%;
							color: #FFF;
						}


#carousel-a .splide__arrow--prev,
#carousel-b .splide__arrow--prev{
	left: 1vw;
}
#carousel-a .splide__arrow--next,
#carousel-b .splide__arrow--next{
	right: 1vw;
}

#carousel-a .splide__arrow {
    background: #0b985e;
    opacity: 1;
	top: 20vw;
}
#carousel-b .splide__arrow {
    background: #0b985e;
    opacity: 1;
	top: 50vw;
}
#carousel-a .splide__arrow svg ,
#carousel-b .splide__arrow svg {
    fill: #fff;
    height: 3vw;
    width: 3vw;
}

#carousel-b{
	margin-bottom: 10vw;
}

.splide__arrows.splide__arrows--ltr {
    width: 100%;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}
#carousel-a .splide__arrow ,
#carousel-b .splide__arrow {
	width: 10vw;
    height: 10vw;
    background: #0b985e;
}

/* Top - QA
***************************************/
.list_qa{}
.list_qa li{
	padding: 15px 25px 15px 15px;
	border-radius: 4px;
	margin-bottom: 30px;
	box-shadow: 0px 3px 0 3px rgba(11, 152, 94, 1);
	background-color: #f6f6f6;
}

.list_qa li summary {
        display: flex;
        padding-left: 3.3em;
        position: relative;
        align-items: center;
  }
.list_qa li summary::-webkit-details-marker {
	display: none;
}
	.list_qa li summary::before {
		content: "Q";
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40px;
		height: 40px;
		box-sizing: border-box;
		border-radius: 20px;
		background-color: #0b985e;
		color: #FFF;
		line-height: 1;
		position: absolute;
		left: 0;
	}
	.list_qa li details p {
        display: flex;
        padding-left: 4em;
        position: relative;
        align-items: center;
	}
	.list_qa li details p::before {
		content: "A";
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40px;
		height: 40px;
		box-sizing: border-box;
		border-radius: 20px;
		background-color: #FFF;
		border: 1px solid #0b985e;
		color: #0b985e;
		line-height: 1;
		position: absolute;
		left: 0;
	}

.summary_inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    font-weight: bold;
    gap: 5vw;
}
  .icon {
	position: relative;
	display: block;
	height: 20px;
	border-right: 2px solid #0b985e;
	transition: transform 0.4s;
	opacity: 1;
  }
  .icon::after {
	content: "";
	position: absolute;
	top: 9px;
	left: -9px;
	display: block;
	width: 20px;
	border-bottom: 2px solid #0b985e;
	transition: transform 0.4s;
  }
  
  /* アコーディオンが開いた時のスタイル */
  details[open] .icon {
	transform: rotate(90deg);
  }
	details[open] .icon::after {
		opacity: 0;
	}
  .list_qa li p{
	margin-top: 4vw;
  }

/* Top - 運営
***************************************/
.sec_list_operator{
	padding: 7vw 3vw;
	background-color: #f7ffef;
}
.list_operator{
	display: block;
	width: 100%;
	margin: 0 auto;
}
	.list_operator li {
		width: 100%;
		box-shadow: 0px 35px 10px 0 rgba(168, 168, 168, 0),
				0px 22px 9px 0 rgba(168, 168, 168, 0.01),
				0px 13px 8px 0 rgba(168, 168, 168, 0.05),
				0px 6px 6px 0 rgba(168, 168, 168, 0.09),
				0px 1px 3px 0 rgba(168, 168, 168, 0.1);
		background-color: #FFF;
		border: 1px solid #0b985e;
		display: flex;
		justify-content: space-between;
		margin-bottom: 3vw;
		border-radius: 1vw;
		overflow: hidden;
	}
	
		.list_operator li img{
			display: block;
			width: 35%;
			height: auto;
			object-fit: cover;
		}
		.list_operator li div{
			padding: 3vw 4vw;
		}
			.list_operator li div .contentBtn3{
				display: block;
			}
			.list_operator li dl{
				display: flex;
				flex-wrap: wrap;
				gap: 2%;
				margin-bottom: 3vw;
			}
				.list_operator li dl dt{
					width: 23%;
					font-size: 0.8em;
				}
					.list_operator li dl dt::after{
						content: ":";
					}
				.list_operator li dl dd{
					width: 75%;
					font-size: 0.8em;
					margin-bottom: 0vw;
				}
					.list_operator li dl dd b{
						font-size: 1.2em;
					}
				.list_operator li div a {
					padding: 2vw 5vw;
					font-size: 3.2vw;
					width: 100%;
					line-height: 1;
					border-radius: 5vw;
				}
			.list_operator li div a.btn_arrw::after {
				right: 3vw;
			}


/* TOP - 不動産に関するコラム一覧
***************************************/
.about_real_estate_wrap > h2 {
    border-bottom: 1px solid #333;
    font-size: 6vw;
    font-weight: bold;
    width: 100%;
    margin: 0 auto 4vw;
    display: block;
    padding-bottom: 2vw;
}
	.about_real_estate_wrap > h2 span{
		font-size: 0.6em;
        font-weight: normal;
        margin-left: 10px;
        vertical-align: middle;
        margin-bottom: 0.5em;
        display: inline-block;
	}
.list_about_real_estate{
	width: 100%;
	margin: 0 auto;
}
	.list_about_real_estate > div{
		width: 100%;
	}
		.list_about_real_estate > div h3{
			font-size: 5vw;
			margin-bottom: 2vw;
		}
		.list_about_real_estate > div ul{
			/* font-size: 18px; */
			margin-bottom: 6vw;
			list-style: disc;
			margin-left: 1em;
		}
		.list_about_real_estate > div ul li a{
			font-size: 14px;
			text-decoration: underline;
		}


.realEstateLife .sec_title01{
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.realEstateLife .sec_title01 img{
	display: inline-block;
	width: 26px;
	height: 26px;
	background-image: url(../img/icon_speaker.svg);
	background-repeat: no-repeat;
	background-position: 0 center;
	margin-right: 0.7em;
}


/* ボタンエフェクト */
@keyframes shiny {
    0% { transform: scale(0) rotate(25deg); opacity: 0;}
    50% { transform: scale(1) rotate(25deg); opacity: 1;}
    100% { transform: scale(50) rotate(25deg);opacity: 0;}
}
.shiny-btn {
    position: relative;
    cursor: pointer;
    overflow: hidden;
}
.shiny-btn::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}