/*---------------------
メインビジュアル
---------------------*/
.l_creative .ttl_h2_wrap{
	padding: 215px 7% 155px;
	width: 100%;
	position: relative;
	background: url(/assets/images/basicpolicy/bg_creative.jpg) no-repeat left center;
	background-size: cover;
}

.l_creative .ttl_h2_wrap .ttl_h2{
	background: #fff;
	padding: 35px 40px;
	border-radius: 20px;
	box-shadow: 0px 3px 0 0px rgba(0, 0, 0, 0.16);
	display: inline-block;
}

.l_creative .ttl_h2_wrap .ttl_h2 p.is_category{
	font-size: 10px;
	font-weight: 600;
}

.l_creative .ttl_h2_wrap .ttl_h2 h2{
	color: #008742;
	font-size: 32px;
	font-weight: 600;
	padding: 14px 0 50px 0;
	display: flex;
	align-items: center;
}

.l_creative .ttl_h2_wrap .ttl_h2 h2 span{
	margin-top: -5px;
	padding-right: 10px;
}

.l_creative .ttl_h2_wrap .ttl_h2 h2 span.is_no{
	color: #000;
	font-size: 66px;
	font-weight: 400;
	padding-right: 30px;
}

.l_creative .ttl_h2_wrap .ttl_h2 p.is_comment{
	color: #008742;
	font-weight: 600;
	padding: 0 0 0 94px;
	position: relative;
}

.l_creative .ttl_h2_wrap .ttl_h2 p.is_comment::before{
	content: "";
	background: #000;
	width: 20px;
	height: 1px;
	position: absolute;
	top: 30%;
	left: 38px;
}

@media (max-width: 767px) {
	.l_creative .ttl_h2_wrap{
		padding: 210px 4% 30px;
		background: #01533A url(/assets/images/basicpolicy/bg_creative_sp.jpg) no-repeat top center;
		background-size: 100% auto;
	}
	
	.l_creative .ttl_h2_wrap .ttl_h2{
		padding: 25px;
		border-radius: 15px;
		box-shadow: 0px 3px 0 0px rgba(0, 0, 0, 0.16);
		display: block;
	}
	
	.l_creative .ttl_h2_wrap .ttl_h2 h2 span.is_no{
		font-size: 40px;
		padding-right: 20px;
	}
	
	.l_creative .ttl_h2_wrap .ttl_h2 h2{
		font-size: 22px;
		padding: 14px 0 25px 0;
	}
	
	.l_creative .ttl_h2_wrap .ttl_h2 p.is_comment{
		font-size: 15px;
		padding: 0 0 0 30px;
	}
	
	.l_creative .ttl_h2_wrap .ttl_h2 p.is_comment::before{
		top: 20%;
		left: 0;
	}
	
}


/*---------------------
コンテンツ
---------------------*/
main{
	background: #F2F2F2;
	padding-bottom: 100px;
}


/*---------------------
コンセプト
---------------------*/
.l_concept{
	background: url(/assets/images/basicpolicy/icon_creative_left.svg), url(/assets/images/basicpolicy/icon_creative_right.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top left, bottom -50px right -80px;
	background-size: 200px auto, 340px auto;
}

.l_concept .md_concept{
	max-width: 760px;
	width: calc(100% - 430px);
	margin: -40px auto 0 auto;
	padding-bottom: 300px;
}

.l_concept:not(:has(+ .l_contents)) .md_concept {
	padding-bottom: 150px;
}

.l_concept .md_concept h1{
	color: #008742;
	font-size: 28px;
	font-weight: 600;
	padding: 40px 0 30px 0;
}

.l_concept .md_concept h1 br{
	display: none;
}

@media (max-width: 767px){
	.l_concept{
		background-position: bottom +100px left, bottom -30px right -30px;
		background-size: 90px auto, 170px auto;
	}
	
	.l_concept .md_concept{
		padding: 0 20px 220px 20px;
		width: 100%;
	}
	.l_concept:not(:has(+ .l_contents)) .md_concept {
		padding-bottom: 220px;
	}
	
	.l_concept .md_concept h1{
		font-size: 20px;
	}
	
	.l_concept .md_concept h1 br{
		display: block;
	}
}


/*---------------------
最新記事
---------------------*/
.l_contents{
	border-radius: 15px;
	background: #fff;
	width: calc(100% - 80px);
	margin: -220px auto 0 auto;
	padding: 60px 80px;
}

.l_contents > *{
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.l_contents h1{
	display: flex;
	align-items: center;
	padding-bottom: 50px;
}

.l_contents h1 p:nth-child(1){
	font-size: 24px;
	font-weight: 700;
	border-right: #000 1px solid;
	margin: 0 25px 0 0;
	padding: 5px 25px 5px 0;
}

.l_contents h1 p:nth-child(2) span{
	color: #008742;
	font-size: 20px;
	font-weight: 600;
	padding: 0 5px 0 0;
}

.l_contents .list + p{
	display: flex;
	justify-content: flex-end;
}

.l_contents .list + p .btn{
	width: 165px;
	margin-top: 30px;
	padding: 20px 20px 16px;
}

.l_contents .list + p .btn span{
	font-size: 14px;
}

.l_contents .list .list_time time{
	padding-left: 10px;
}

@media (max-width: 767px){
	.l_contents{
		border-radius: 15px;
		background: #fff;
		width: calc(100% - 20px);
		margin: -174px auto 0 auto;
		padding: 40px 20px;
	}
	
	.l_contents h1{
		padding-bottom: 40px;
		justify-content: center;
		flex-wrap: wrap;
	}
	
	.l_contents h1 p:nth-child(1){
		border-right: none;
		padding: 0;
	}
	
	.l_contents h1 p:nth-child(2) span{
		font-size: 17px;
	}
	
	.l_contents .list + p{
		justify-content: center;
	}
}


/*---------------------
場所
---------------------*/
.l_place{
	padding: 120px 0;
}

.l_concept + .l_place {
	padding-top: 0;
}

.l_place .md_catch{
	margin: 0 0 60px 0;
	padding: 15px 70px;
	position: relative;
}

.l_place .md_catch::before{
	content: "";
	border-radius: 10px 10px 0 0;
	background: #008742;
	width: 4px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 0;
}

.l_place .md_catch::after{
	content: "";
	border-radius: 0 0 10px 10px;
	background: #00A85F;
	width: 4px;
	height: calc(100% - 40px);
	position: absolute;
	left: 0;
	bottom: 0;
}

.l_place .md_catch h1{
	font-size: 22px;
	font-weight: 700;
	padding-bottom: 20px;
}

.l_place ul{
	border-top: rgba(0, 0, 0, 0.1) 1px solid;
	padding-bottom: 50px;
}




.l_place ul li{
	border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
	padding: 5%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.l_place ul li div:nth-child(1){
	width: 40%;
	position: relative;
}

.l_place ul li div:nth-child(2){
	width: 50%;
}

.l_place ul li.is_nameno div:nth-child(2){
	width: 56%;
}

.l_place ul li div:nth-child(1) p img{
	border-radius: 15px;
}

.l_place ul li div:nth-child(1) .md_placelogo{
	position: absolute;
	top: 0;
	right: 0;
}

.l_place ul li div:nth-child(1) .md_placelogo p{
	border-radius: 10px;
	box-shadow: 0 3px 30px rgba(0, 0, 0, 0.06);
	background: #fff;
	margin-top: 32%;
	width: 60%;
	padding: 10px;
	position: absolute;
	top: 0;
	right: -30%;
}

.l_place ul li div:nth-child(2) h2{
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	padding-bottom: 20px;
}

.l_place ul li div:nth-child(2) h2 span{
	font-size: 13px;
	font-weight: 500;
	display: block;
}

.l_place ul li div:nth-child(2) h2 span.is_subtitle{
	font-size: 18px;
}

.l_place ul li div:nth-child(2) h2 + p,
.l_place ul li div:nth-child(2) h2 + p + p{
	padding-bottom: 10px;
}

.l_place ul li div:nth-child(2) .md_btn{
	display: flex;
	justify-content: flex-end;
}

.l_place ul li div:nth-child(2) .btn{
	background: #008742;
	width: 165px;
	margin-top: 20px;
	padding: 20px 20px 16px;
}

.l_place ul li div:nth-child(2) .btn span{
	font-size: 14px;
	margin-left: 0;
	transform: translate(7px, 0);
}

.l_place ul li div:nth-child(2):has(:not(.is_external)) .btn span{
	transform: translate(0px, 0);
}

/* .l_place ul li div:nth-child(2) .btn span:not(.is_external){
	transform: translate(0px, 0);
} */

.l_place ul li div:nth-child(2):has(.is_external) .btn span{
	transform: translate(5px, 0);
}

.l_place ul li div:nth-child(2):has(.is_external) .btn:hover span{
	transform: translate(-5px, 0);
}

.l_place ul li div:nth-child(2):has(:not(.is_external)) .btn:hover span{
	transform: translate(-5px, 0);
}

.l_place ul li div:nth-child(2) .btn span.is_external{
	transform: translate(0, 0);
}
.l_place ul li div:nth-child(2) .btn:hover span.is_external{
	transform: translate(0, 0);
}

.l_place ul li div:nth-child(2) .btn:hover img{
	right: 19px;
}

.l_place ul li div:nth-child(2):has(.is_external) .btn img{
	filter: brightness(0) invert(1);
	position: relative;
	right: 0;
	transform: translate(5px, 0);
}

.l_place ul li div:nth-child(2) .btn span:not(.is_external) img{
	transform: translate(5px, -3px);
}

.l_place ul li div:nth-child(2):has(.is_external) .btn:hover img{
	opacity: 1;
	transform: translate(7px, 0);
	right: 0px;
}

/* .l_place ul li div:nth-child(2) .btn:hover span:not(.is_external) img{
	transform: translate(5px, -3px);
} */

.l_place ul li:last-child{
	border-bottom: none;
}

.l_place ul + p{
	border-top: rgba(0, 0, 0, 0.1) 1px solid;
	display: flex;
	justify-content: center;
}

.l_place ul + p .btn{
	width: 270px;
	margin-top: 50px;
	padding: 25px 20px;
}

.l_place ul + p .btn span{
    font-size: 16px;
}

@media (max-width: 767px){
	.l_place{
	    padding: 100px 0;
	}
	
	.l_place .md_cont{
		padding: 0;
	}
	
	.l_place .md_catch{
		margin: 0 30px 60px 30px;
		padding: 25px 0 25px 25px;
	}
	
	.l_place .md_catch h1{
		font-size: 18px;
	}
	
	.l_place ul{
		border-top: none;
		padding-bottom: 0;
	}
	
	.l_place ul li{
		border-bottom: none;
		padding: 0;
	}
	
	.l_place ul li div:nth-child(1){
		width: 100%;
		padding: 0;
	}
	
	.l_place ul li div:nth-child(2){
		width: 100%;
		padding: 90px 30px 60px 30px;
	}
	
	.l_place ul li.is_nameno div:nth-child(2){
		width: 100%;
		padding: 40px 30px 60px 30px;
	}
	
	.l_place ul li div:nth-child(1) p img{
		border-radius: 0;
	}
	
	.l_place ul li div:nth-child(2) .btn span {
	  transform: translate(0);
	}

	.l_place ul li div:nth-child(2) .md_btn{
		justify-content: center;
	}

	.l_place ul li div:nth-child(2):has(.is_external) .btn span,
	.l_place ul li div:nth-child(2):has(.is_external) .btn:hover span {
		transform: translate(-2px, 0);
	}

	.l_place ul li div:nth-child(2) .btn span.is_external img {
		display: block;
    opacity: 1;
	}
	
	.l_place ul li div:nth-child(2):has(.is_external) .btn img {
		opacity: 1;
    transform: translate(7px, 0);
    right: 0px;
	}

	.l_place ul li div:nth-child(1) .md_placelogo p{
		top: 44%;
		right: 35%;
		width: 33%;
	}
	
	.l_place ul li div:nth-child(2) h2{
		font-size: 20px;
	}
	
	.l_place ul li div:nth-child(2) h2 span{
		font-size: 12px;
	}
	
	.l_place ul li div:nth-child(2) h2 span.is_subtitle{
		font-size: 18px;
	}
	
	.l_place ul + p{
		margin: 0 30px 0 30px;
	}
	
	.l_place ul + p .btn{
		width: 255px;
		margin-top: 40px;
		padding: 20px 20px;
	}
	
}


/*---------------------
他のページへのボタン
---------------------*/
.l_basicpolicy{
	background: #E6E6E6;
	padding: 30px 0 60px 0;
}

.l_place + .l_basicpolicy {
	padding-top: 0;
	background: transparent;
}

.l_basicpolicy ul li.is_current a{
	opacity: 0.3;
	pointer-events: none;
}

.l_basicpolicy .is_basicpolicy .is_category,
.l_basicpolicy .is_basicpolicy h2,
.l_basicpolicy .list.is_num .list_ttl br{
	display: none;
}

@media (max-width: 767px){
	.l_basicpolicy{
		padding-bottom: 140px;
	}

	.l_place + .l_basicpolicy {
		padding-bottom: 0;
	}

	.l_basicpolicy:last-of-type {
		padding-bottom: 140px;
	}

	.l_basicpolicy .md_cont{
		padding: 0;
	}
	
	.l_basicpolicy .list.is_num .list_item{
		border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
		padding: 30px;
	}
	
	.l_basicpolicy .list.is_column_03{
		gap: 0;
		margin-top: 30px;
	}
	
	.l_basicpolicy .list.is_num .list_link .list_num,
	.list.is_num .list_hash_main{
		display: none;
	}
	
	.l_basicpolicy .is_basicpolicy .is_category,
	.l_basicpolicy .is_basicpolicy h2,
	.l_basicpolicy .list.is_num .list_ttl br{
		display: block;
	}
	
	.l_basicpolicy .list.is_num .list_link{
		padding-top: 0;
		display: flex;
		justify-content: space-between;
	}
	
	.l_basicpolicy .list.is_num .list_link .list_image{
		width: 36%;
		padding-top: 34%;
		border-radius: 5px;
	}
	
	.l_basicpolicy .list.is_num .list_link .is_basicpolicy{
		width: 58%;
	}
	
	.l_basicpolicy .is_category{
		font-size: 10px;
		font-weight: 600;
	}
	
	.l_basicpolicy h2{
		color: #008742;
		font-size: 18px;
		font-weight: 600;
		line-height: 1;
		padding: 5px 0 0 0;
		display: flex !important;
		align-items: center;
	}
	
	.l_basicpolicy li.is_communication h2{
		color: #7C5ABE;
	}
	
	.l_basicpolicy li.is_experience h2{
		color: #F36700;
	}
	
	.l_basicpolicy h2 span.is_no{
		color: #000;
		font-size: 36px;
		font-weight: 400;
		padding-right: 10px;
	}
	
	.l_basicpolicy h2 span{
		margin-top: -3px;
		padding-right: 5px;
	}
	
	.l_basicpolicy .list.is_num .list_ttl{
		font-size: 14px;
	}
}


/*---------------------
出会いと交流・体験と発見
---------------------*/
.l_communication .ttl_h2_wrap{
    background: url(/assets/images/basicpolicy/bg_communication.jpg) no-repeat left center;
    background-size: cover;
}

.l_experience .ttl_h2_wrap{
	background: url(/assets/images/basicpolicy/bg_experience.jpg) no-repeat left center;
	background-size: cover;
}

.l_communication .ttl_h2_wrap .ttl_h2 h2,
.l_communication .ttl_h2_wrap .ttl_h2 p.is_comment,
.l_communication .l_concept .md_concept h1,
.l_communication .l_contents h1 p:nth-child(2) span{
	color: #7C5ABE;
}

.l_experience .ttl_h2_wrap .ttl_h2 h2,
.l_experience .ttl_h2_wrap .ttl_h2 p.is_comment,
.l_experience .l_concept .md_concept h1,
.l_experience .l_contents h1 p:nth-child(2) span{
	color: #F36700;
}

.l_communication .l_concept{
	background: url(/assets/images/basicpolicy/icon_communication.svg), url(/assets/images/basicpolicy/icon_communication.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top left -40px, bottom right -180px;
	background-size: 200px auto, 420px auto;
}

.l_experience .l_concept{
	background: url(/assets/images/basicpolicy/icon_experience.svg), url(/assets/images/basicpolicy/icon_experience.svg);
	background-repeat: no-repeat, no-repeat;
	background-position: top left -90px, bottom right -140px;
	background-size: 240px auto, 380px auto;
}

.l_communication .l_place .md_catch::before{
	background: #7C5ABE;
}

.l_communication .l_place .md_catch::after{
	background: #A27EE8;
}

.l_experience .l_place .md_catch::before{
	background: #F36700;
}

.l_experience .l_place .md_catch::after{
	background: #FC984F;
}

.l_communication .l_place ul li div:nth-child(2) .btn{
	background: #7C5ABE;
}

.l_experience .l_place ul li div:nth-child(2) .btn{
	background: #F36700;
}

@media (max-width: 767px){
	.l_communication .ttl_h2_wrap{
	    background: #3B1F87 url(/assets/images/basicpolicy/bg_communication_sp.jpg) no-repeat top center;
		background-size: 100% auto;
	}
	
	.l_experience .ttl_h2_wrap{
		background: #E9450A url(/assets/images/basicpolicy/bg_experience_sp.jpg) no-repeat top center;
		background-size: 100% auto;
	}
	
	.l_communication .l_concept{
		background-position: bottom +100px left -10px, bottom right -80px;
		background-size: 90px auto, 180px auto;
	}
	
	.l_experience .l_concept{
		background-position: bottom +100px left -40px, bottom right -81px;
		background-size: 120px auto, 200px auto;
	}
}


/*---------------------
基本価値
---------------------*/
.l_value .l_concept{
	background: none;
}

.l_value .l_concept .md_concept h1,
.l_value .l_contents h1 p:nth-child(2) span{
	color: #000;
}

.l_value .l_place .md_catch{
	padding: 15px 20px;
}

.l_value .l_place .md_catch::before{
	background: #000;
	height: 100%;
}

.l_value .l_place .md_catch::before,
.l_value .l_place .md_catch::after{
	display: none;
}

.l_value .l_place .md_catch h1 {
	font-size: 20px;
	font-weight: 700;
	position: relative;
	padding: 4px 0 0 16px
}

.l_value .l_place .md_catch h1::before{
	border-radius: 100px;
	background: #000;
	content: "";
	display: block;
	width: 4px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

/* .l_value .l_place ul li div:nth-child(2) .btn{
	background: #000;
} */

.l_value .l_place ul li div:nth-child(2) .btn{
	background: #666666;
}


@media (max-width: 767px){
	.l_value .ttl_h2_wrap{
		background: url(/assets/images/common/kv_under_sp.svg) 50% 0 / cover no-repeat;
		width: 100%;
		padding: 140px 30px 100px 30px;
		position: relative;
	}
	
	.l_value .ttl_h2_wrap .ttl_h2{
		padding: 0;
		border-radius: 0;
		box-shadow: none;
		display: block;
	}
	
	.l_value .ttl_h2_wrap .ttl_h2 h2{
		font-size: 22px;
		padding: 14px 0 5px 0;
	}
	
	.l_value .l_place .md_catch{
		margin: 0 30px 60px 0;
	}
	
	.l_value .l_place .md_catch h1{
		font-size: 18px;
	}
	
}
