@charset "UTF-8";

/*-----------------
mainVidual
conceptWrap
strengthWrap
assetsWrap
caseWrap
caseWrap caseLis
-----------------*/
/*
img
-----------------*/
.mainVidual .sp_img{
	display: block;
}
.mainVidual .pc_img{
	display: none;
}

@media (min-width: 1100px) {
	.mainVidual .sp_img{
		display: none;
	}
	.mainVidual .pc_img{
		display: block;
	}
}



/*
mainVidual
--------------------------*/
.mainVidual {
	padding-top: 40px;
	padding-bottom: 60px;
	min-height: 80vh;
}
.mainVidual .mvInner{
	max-width: 1900px;
	width: 96%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}

.mainVidual .scroll{
	display: none;
}

.mainVidual .mvText{
	position: absolute;
    z-index: +1;
    top: 7%;
    left: 20px;
    width: 90%;
    max-width: 1200px;
	    text-shadow: 2px 0px 2px rgba(0, 0, 0, 0.2);
}

.mainVidual .mvText .mv_ttl{
	color: #fff;
	font-size: 10vw;
	font-style: italic;
}
.mainVidual .mvText .mv_text{
	font-size: 14px;
	line-height: 2;
	color: #fff;
}


.mainVidual .mv_img {
	width: 100%;
	min-height: 500px;
	height: calc(100vh - 100px);
	overflow: hidden;
	position: relative;
}

.mainVidual .mv_img img{
    border-radius: inherit;
    position: absolute;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media (min-width: 768px) {
	.mainVidual .mvText{
		left: 40px;
	}
	.mainVidual .mvText .mv_ttl{
		font-size: 6vw;
	}
}

@media (min-width: 900px) {
	.mainVidual .mvInner{
		width: 90%;
	}
	.mainVidual .mv_img {
		height: calc(100vh - 200px);
		max-height: 850px;
	}
	.mainVidual .mvText {
	    top: 10%;
	    left: 5%;
	}
	.mainVidual .mvText .mv_ttl{
		font-size: 42px;
	}
	.mainVidual .scroll{
		display: block;
		position: absolute;
		left: -40px;
		bottom: 0;
		writing-mode:vertical-rl;
		font-size:14px;
		font-style: italic;
		letter-spacing:.1em;
		color: var(--color-main);
		padding-top: 40px;
		border-left: 1px solid var(--color-main);
		transition: .3s;
	}
	.mainVidual .scroll:hover{
		padding-top: 10px;
	}
}
@media (min-width: 1100px) {
	.mainVidual .mv_img {
		min-height: 700px;
	}
}

@media (min-width: 1350px) {
	.mainVidual .mvText {
		top: inherit;
		bottom: 5%;
		left: 30px;
	}
	.mainVidual .mvText .mv_ttl{
		font-size: 44px;
	}
	.mainVidual .mvText .mv_text{
		font-size: 16px;
	}
}
@media (min-width: 1400px) {
	.mainVidual .mvText .mv_ttl{
		font-size: 48px;
	}
	.mainVidual .mvText .mv_text{
		font-size: 18px;
	}
}
@media (min-width: 1650px) {
	.mainVidual .mvText .mv_ttl{
		font-size: 58px;
	}
}
@media (min-width: 1900px) {
	.mainVidual .mvText .mv_ttl{
		font-size: 66px;
	}
	.mainVidual .scroll{
		left: -60px;
	}
}
@media (min-width: 2100px) {
	.mainVidual .mvText .mv_ttl{
		font-size: 70px;
	}
	.mainVidual .mvText .mv_text{
		font-size: 20px;
	}
}


/*
conceptWrap
--------------------------*/
.conceptWrap {
	background: url(../img/concept_bg.png) no-repeat;
	background-size: cover;
	padding-top: 80px;
	padding-bottom: 80px;
	border-radius: 40px 40px 0 0;
}
.conceptWrap .conceptInner{
	position: relative;
	display: flex;
	width: 94%;
	max-width: 1700px;
	margin-right: auto;
	margin-left: 0;
}

.conceptWrap .concept_ttl{
	font-weight: bold;
	color: var(--color-white);
	font-size: 24px;
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	max-width: 1000px;
}

.conceptWrap .leftItem{
	writing-mode: vertical-rl;
	text-orientation: sideways;
	font-size: 30px;
	color: var(--color-white);
	font-style: italic;
	font-weight: bold;
}

.conceptWrap .rightItem{
	padding-left: 10%;
}

.conceptWrap .flexTxt{
	line-height: 2;
}

.conceptWrap .flexWrap{
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.conceptWrap .flexItem img{
	display: block;
	min-width: inherit;
	width: 100%;
}

@media (min-width: 764px) {
	.conceptWrap .conceptInner{
		width: 90%;
		margin-left: auto;
	}
	.conceptWrap .leftItem{
		margin-left: 8%;
		font-size: 80px;
	}
	.conceptWrap .rightItem{
		padding-left: 50px;
	}

}
@media (min-width: 1200px) {
	.conceptWrap {
		padding-top: 130px;
		padding-bottom: 100px;
		border-radius: 50px 50px 0 0;
	}
	.conceptWrap .conceptInner{
		width: 100%;
	}
	.conceptWrap .flexWrap{
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		align-items: center;
		gap: 5px;
	}

	.conceptWrap .flexTxt{
		max-width: 510px;
		width: 50%;
	}
	.conceptWrap .flexWrap .imgItem{
		width: auto;
			flex: 1;
	}
}

@media (min-width: 1500px) {
	.conceptWrap .flexWrap{
		gap: 40px;
	}
}

/*
strengthWrap
--------------------------*/
.strengthWrap {
	background: url(../img/strength_bg.png) no-repeat;
	background-size: cover;
	background-position: top;
	background-attachment: fixed;
	padding-bottom: 80px;
	position: relative;
}

.strengthList {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	gap: 20px;
    justify-content: center;
}

.strengthList .listItem{
	position: relative;
}

.strengthList .listItem a{
	background: var(--color-main);
	width: 220px;
	display: inline-block;
	color: var(--color-white);
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	padding: 16px 8px 15px;
	border-radius: 100px;
	border: 2px solid var(--color-main);
	transition: .3s;
}

.strengthList .listItem:before{
	top: 0;
	bottom: 0;
	left: -7px;
	margin-top: auto;
	margin-bottom: auto;
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	background: var(--color-skyblue);
	border-radius: 100px;
}

.strengthList .listItem a:hover{
	background: var(--color-white);
	color: var(--color-main);
}

.strengthInner{
	background: var(--color-white);
	width: 96%;
	margin-left: auto;
	padding-right: 2%;
	box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.15);
	padding-bottom: 80px;
}


.strengthWrap .common_ttl_box{
	position: relative;
	padding-top: 80px;
}

.strengthWrap .common_ttl_box:before{
	content: "";
	width: 2px;
	height: 60px;
	background: var(--color-gray2);
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	display: block;
}

.strengthWrap .common_ttl_box:after{
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	border-radius: 20px;
	background: var(--color-main);
	top: 60px;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	display: block;
}


@media (min-width: 764px) {
	.strengthInner{
		width: 92%;
		padding-right: 4%;
	}
}

@media (min-width: 1200px) {
	.strengthList .listItem a{
		width: 250px;
	}
}


/*
strengthSpace
--------------------------*/
.strengthSpace{
	margin-top: 50px;
	margin-bottom: 50px;
	margin-right: auto;
	margin-left: auto;
	background: url(../img/strength_space.svg) no-repeat;
	background-size: contain;
	width: 20px;
	height: 60px;
}

@media (min-width: 764px) {
	.strengthSpace{
		margin-top: 60px;
		margin-bottom: 60px;
		width: 30px;
		height: 80px;
	}
}



/*
assetsWrap
--------------------------*/
.assetsWrap .commonInner{
	max-width: 1300px;
	margin-right: auto;
	margin-left: auto;
}
.assetsWrap .assetsList{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
    justify-content: center;
    gap: 20px;
}
.assetsWrap .assetsList .listItem{
	min-width: 0;
}

.assetsWrap .assetsList .imgItem{
	border-radius: 10px;
	margin-bottom: 10px;
	width: 100%;
	display: block;
}

.assetsWrap .assetsList .textItem{
	color: var(--color-main);
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}

.assetsWrap .assetsList .iconList .listItem{
	list-style: none;
	display: inline-block;
	font-size: 11px;
	padding: 5px 15px 6px;
	border-radius: 100px;
	background: #fff;
	color: var(--color-gray2);
	border: 1px solid var(--color-gray2);
	margin-right: 10px;
	margin-left: 0;
	margin-bottom: 10px;
	width: auto;
}

.assetsWrap .assetsList .iconList .listItem.sample{
	background: var(--color-skyblue);
	border-color: var(--color-skyblue);
	color: #fff;
	min-width: 30px;
	text-align: center;
}

.assetsWrap .groupComList{
	width: 90%;
	max-width: 400px;
	margin-right: auto;
	margin-left: auto;
}

.assetsWrap .groupComList .linkPdfItem{
	background: var(--color-main);
	color: #fff;
	border-radius: 10px;
	display: block;
	padding: 15px 40px 15px 15px;
	transition: .3s;
	position: relative;
}

.assetsWrap .groupComList .linkPdfItem:hover{
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
}

.assetsWrap .groupComList .linkPdfItem:before{
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 15px;
  width: 20px;
  height: 2px;
  border-radius: 9999px;
  background-color: var(--color-white);
  transform: rotate(45deg);
  transform-origin: calc(100% - 2px) 50%;
	transition: .3s;
}

.assetsWrap .groupComList .linkPdfItem:after{
  content: "";
  position: absolute;
  top: calc(50% - 0px);
  right: 15px;
  width: 40px;
  height: 2px;
  border-radius: 9999px;
  background-color: var(--color-white);
	transition: .3s;
}


.assetsWrap .groupComList .linkPdfItem:hover:before{
	right: 8px;
}
.assetsWrap .groupComList .linkPdfItem:hover:after{
	right: 8px;
}

.assetsWrap .groupComList .linkPdfItem .text,
.assetsWrap .groupComList .linkPdfItem .data{
	display: block;
}

.assetsWrap .groupComList .linkPdfItem .text{
	font-weight: bold;
	font-size: 16px;
}

.assetsWrap .groupComList .linkPdfItem .data{
	font-size: 12px;
}
@media (min-width: 500px) {
	.assetsWrap .assetsList .listItem{
		width: calc(50% - 20px);
	}
}
@media (min-width: 764px) {
	.assetsWrap .assetsList{
		gap: 40px;
	}
	.assetsWrap .assetsList .listItem{
		width: calc(33.3% - 40px);
	}
	.assetsWrap .assetsList .textItem{
		font-size: 20px;
	}
	.assetsWrap .assetsList .iconList .listItem{
		width: auto;
		font-size: 14px;
	}

}



/*
areaWrap
--------------------------*/
.areaWrap .areaFlex .aF_leftItem{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 40px;
}

.areaWrap .areaFlex .aF_leftItem .listItem{
	width: calc(50% - 24px);
	list-style: none;
	color: var(--color-white);
	background: var(--color-skyblue);
	font-size: 16px;
	font-weight: bold;
	padding: 10px 10px;
	cursor: pointer;
	transition: .3s;
}

.areaWrap .areaFlex .aF_leftItem .listItem.active{
	background: var(--color-main);
}

.areaWrap .rightItemInner{
	border: 1px solid var(--color-main);
}

.areaWrap .aF_rightItem .tabFlexItem{
	margin-bottom: 40px;
}

.areaWrap .aF_rightItem .tabInner{
	width: 86%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}

.areaWrap .aF_rightItem .imgItem{
	margin-bottom: 10px;
}

.areaWrap .aF_rightItem .tabTtl{
	font-size: 16px;
	font-weight: bold;
	border-left: 4px solid var(--color-main);
	padding-left: 10px;
}

.areaWrap .aF_rightItem .flexttl{
	font-weight: bold;
	font-size: 14px;
	color: var(--color-main);
	border-bottom: 1px solid var(--color-main);
	padding-bottom: 5px;
	margin-bottom: 10px;
}

.areaWrap .aF_rightItem .flextext{
	font-size: 14px;
	line-height: 1.7;
}

.areaWrap .areaList{
	width:80%;
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
	background: var(--color-gray1);
	border-radius: 20px;
	padding: 40px 30px 25px;
	position: relative;
}

.areaWrap .areaList .areaTtl{
	width: 80%;
	font-size: 16px;
	font-weight: bold;
	background: var(--color-main);
	max-width: 300px;
	color: var(--color-white);
	text-align: center;
	position: absolute;
	right: 0;
	left: 0;
	top: -27px;
	margin-left: auto;
	margin-right: auto;
	padding: 10px 15px;
	border-radius: 100px;
}

.areaWrap .areaList .areaText{
	font-size: 14px;
	line-height: 2;
}

@media (min-width: 764px) {
	.areaWrap .areaFlex{
		display: flex;
	}
	.areaWrap .areaFlex .aF_leftItem{
		flex-direction: column;
		width: 320px;
		margin-right: 10px;
	}
	.areaWrap .areaFlex .aF_leftItem .listItem{
		width: auto;
		border-radius: 5px 0 0 5px;
	}
	.areaWrap .areaFlex .aF_rightItem{
		width: calc(100% - 330px);
	}
	.areaWrap .aF_rightItem .tabTtl{
		font-size: 18px;
	}
	.areaWrap .aF_rightItem .flexttl{
		font-size: 16px;
	}
	.areaWrap .areaList{
		width: auto;
		padding: 60px 30px 25px;
	}
	.areaWrap .areaList .areaTtl{
		font-size: 20px;
	}
	.areaWrap .areaList .areaText{
		font-size: 16px;
	}
}

@media (min-width: 1200px) {
	.areaWrap .aF_rightItem .tabFlex{
        display: flex;
        gap: 40px;
        flex-direction: row;
        flex-wrap: wrap;
	}
	.areaWrap .aF_rightItem .tabFlex .tabFlexItem{
		width: calc(50% - 40px);
	}
}


/*
areaWrap TAB
--------------------------*/
.aF_rightTab{
	display: none;
}

.aF_rightTab .aF_rightTabMap{
	display: block;
	line-height: 1;
}

.aF_rightTab.active{
	display: block;
}


/*
MERIT
--------------------------*/
.meritWrap .meritBlock .meritTtl{
	display: flex;
	background: var(--color-skyblue);
	padding: 10px;
	color: #fff;
	border-radius: 10px 10px 0 0;
}

.meritWrap .meritBlock .meritTtl .left{
	width: 100px;
	font-style: italic;
}

.meritWrap .meritBlock .meritTtl .en{
	font-size: 16px;
	font-family: "Josefin Sans", sans-serif;
	font-weight: bold;
	margin-right: 6px;
}
.meritWrap .meritBlock .meritTtl .number{
	font-size: 30px;
	font-family: "Josefin Sans", sans-serif;
	font-weight: normal;
}
.meritWrap .meritBlock .meritTtl .jp{
	font-size: 16px;
	flex:1;
	display: block;
	padding-top: 6px;
	padding-left: 30px;
	position: relative;
}

.meritWrap .meritBlock .meritTtl .jp:before{
	content: '';
	position: absolute;
	left: 0;
	top: 20px;
	width: 18px;
	height: 1px;
	background: #fff;
}

.meritWrap .meritBlock .meritFlex{
	display: flex;
	padding: 30px 20px;
	flex-wrap: wrap;
	border-radius: 0 0 10px 10px;
	border: 1px solid var(--color-skyblue);
  flex-direction: column;
  gap: 30px;
}

.meritWrap .meritBlock .meritFlex .flexttl{
	font-size: 16px;
	font-weight: bold;
	color: var(--color-skyblue);
	margin-bottom: 10px;
}

.meritWrap .meritBlock .meritFlex .flextext{
	font-size: 14px;
	color: var(--color-black);
	padding-bottom: 30px;
	border-bottom: 1px dotted var(--color-gray2);
}

@media (min-width: 764px) {
	.meritWrap .meritBlock .meritTtl{
		padding: 10px 20px;
	}
	.meritWrap .meritBlock .meritTtl .en{
		font-size: 20px;
	}
	.meritWrap .meritBlock .meritTtl .number{
		font-size: 38px;
	}
	.meritWrap .meritBlock .meritTtl .jp{
		font-size: 20px;
		font-weight: bold;
		padding-top: 10px;
	}
	.meritWrap .meritBlock .meritFlex {
		  flex-direction: row;
		  gap: 0;
	    justify-content: space-between;
	    flex-wrap: inherit;
	}
	.meritWrap .meritBlock .meritFlex .flexItem{
		width: 100%;
		border-right: 1px dotted var(--color-gray2);
		padding-right: 20px;
		padding-left: 20px;
	}
	.meritWrap .meritBlock .meritFlex .flexItem:last-child{
		border-right: none;
	}
	.meritWrap .meritBlock .meritFlex .flexttl{
		min-height: 50px;
	}
	.meritWrap .meritBlock .meritFlex .flextext{
		padding-bottom: 0;
		border-bottom: none;
	}

}




/*
themeWrap
--------------------------*/
.themeWrap {
	padding-top: 80px;
	padding-bottom: 80px;
}
.themeWrap .themeFlexNv{
	display: flex;
	gap: 30px;
  justify-content: center;
    flex-direction: column;
}

.themeWrap .themeFlexNv .nvFlexLink{
	background: var(--color-main);
	color: #fff;
	position: relative;
	border-radius: 10px;
	display: block;
	padding: 30px 10px 20px 80px;
	font-weight: bold;
}

.themeWrap .themeFlexNv .nvFlexLink .nvFlexItem	{
	display: block;
}

.themeWrap .themeFlexNv .nvFlexLink .nvIcon{
	position: absolute;
	top: 10px;
	left: 10px;
	width: 50px;
}

.themeWrap .themeFlexNv .nvFlexLink .text{
	font-size: 16px;
}

.themeWrap .themeFlexNv .nvFlexLink:after{
	content: '';
	width: 0;
	height: 0;
	display: block;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 10px solid #fff;
	position: absolute;
	right: 10px;
	top: 35%;
}

@media (min-width: 764px) {
	.themeWrap .themeFlexNv{
		flex-direction: row;
	}
	.themeWrap .themeFlexNv .nvFlexItem{
		width: 300px;
	}
	.themeWrap .themeFlexNv .nvFlexLink .text{
		font-size: 18px;
	}
	.themeWrap .themeFlexNv .nvFlexLink{
		padding: 30px 10px 30px;
		text-align: center;
	}
	.themeWrap .themeFlexNv .nvFlexLink .nvIcon{
		top: -30px;
		right: 0;
		left: 0;
		margin-right: auto;
		margin-left: auto;
		width: 60px;
	}
	.themeWrap .themeFlexNv .nvFlexLink:after{
		border-top: 10px solid #fff;
		border-bottom: inherit;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		top: inherit;
		bottom: 10px;
		right: 0;
		left: 0;
		margin-left: auto;
		margin-right: auto;
	}
}


@media (min-width: 1200px) {
	.themeWrap .themeFlexNv .nvFlexItem{
		width: 330px;
	}
}


/*
themeWrap themeBlock
--------------------------*/
.themeWrap .themeBlock {
	border: 1px solid var(--color-main);
	border-left: 6px solid var(--color-main);
	border-right: 6px solid var(--color-main);

	margin-bottom: 60px;
	padding-bottom: 60px;
}
.themeWrap .themeBlock .themeBlockTtl{
	text-align: center;
	border-bottom: 1px solid var(--color-main);
	position: relative;
	padding: 40px 20px 20px;
	font-weight: bold;
	font-size: 20px;
	color: var(--color-main);
}

.themeWrap .themeBlock .themeBlockTtl .ttlicon{
	width: 120px;
	position: absolute;	
	top: -25px;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
}

.themeWrap .themeBlock .textBlock {
	padding: 0 20px 0;
}

.themeWrap .themeBlock .textBlock .text{
	font-size: 16px;
}

.themeWrap .issuBlock,
.themeWrap .ideaBlock{
	max-width: 960px;
	padding: 0 20px;
	margin-right: auto;
	margin-left: auto;
}

.themeWrap .issuBlock .issueTtl{
	font-size: 16px;
	background: var(--color-main);
	border-radius: 100px;
	max-width: 400px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	font-weight: bold;
	color: var(--color-white);
	padding: 12px 10px 10px;
	margin-bottom: 50px;
}

.themeWrap .ideaBlock .ideaTtl{
	font-size: 16px;
	background: var(--color-skyblue);
	border-radius: 100px;
	max-width: 400px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
	font-weight: bold;
	color: var(--color-white);
	padding: 12px 10px 10px;
	margin-bottom: 40px;
}

.themeWrap .themeFlex{
	display: flex;
	gap: 40px;
	flex-direction: column;
	flex-wrap: wrap;
}

.themeWrap .themeFlex .flexItem{
	list-style: none;
	border: 1px solid var(--color-main);
	padding: 40px 20px 20px;
	border-radius: 10px;
	font-size: 14px;
	color: var(--color-main);
	width: auto;
	line-height: 1.7;
	position: relative;
}
.themeWrap .themeFlex.issuItem .flexItem{
	background: var(--color-gray1);
}
.themeWrap .themeFlex.ideaItem .flexItem{
	background: var(--color-lightblue);
}

.themeWrap .themeFlex.issuItem .flexItem:before,
.themeWrap .themeFlex.ideaItem .flexItem:before{
	content: '';
	position: absolute;
	top: -10px;
	left: -10px;
	width: 40px;
	height: 44px;
}

.themeWrap .themeFlex.issuItem .flexItem:before{
	background: url(../img/theme_icon_blue.png) no-repeat;
	background-size: contain;
}

.themeWrap .themeFlex.ideaItem .flexItem:before{
	background: url(../img/theme_icon_blue.png) no-repeat;
	background-size: contain;
}


.themeWrap .themeTrg{
	margin-top: 40px;
    margin-bottom: 40px;
    margin-right: auto;
    margin-left: auto;
    width: 0px;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 50px solid var(--color-blue);
}

@media (min-width: 764px) {
	.themeWrap .themeBlock .themeBlockTtl{
		font-size: 26px;
	}
	.themeWrap .themeBlock .themeBlockTtl .ttlicon{
		width: 170px;
	}
	.themeWrap .themeBlock .textBlock {
		padding: 0 30px 0;
	}
	.themeWrap .themeBlock .textBlock .text{
		font-size: 16px;
		text-align: center;
	}

	.themeWrap .issuBlock .issueTtl,
	.themeWrap .ideaBlock .ideaTtl{
		font-size: 18px;
	}
	.themeWrap .issuBlock .issueTtl{
		font-size: 18px;
	}
	.themeWrap .themeFlex {
		flex-direction: row;
	}
	.themeWrap .themeFlex .flexItem{
		font-size: 15px;
		width: calc(33.3% - 70px);
	}

}




/*
caseWrap
-------------------------------------------*/
.caseWrap {
	background-color: var(--color-gray1);
	background-image: linear-gradient(-90deg, #fff 30px, transparent 30px);
	background-size: 31px 1px;
	background-repeat: repeat;

	padding-bottom: 80px;
	border-bottom: 1px solid var(--color-gray1);
}
.casettlSpace{
	height: 40px;
	width: 100%;
	position: relative;
}
.casettlSpace:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 1px;
	background: var(--color-gray2);
}
.casettlSpace:after{
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	margin-left: auto;
	margin-right: auto;
	width: 1px;
	height: 100%;
	background: var(--color-gray2);
}

.caseWrap .common_ttl_box{
	position: relative;
	padding-top: 80px;
}

.caseWrap .common_ttl_box:before{
	content: "";
	width: 1px;
	height: 60px;
	background: var(--color-gray2);
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	display: block;
}

.caseWrap .common_ttl_box:after{
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	border-radius: 20px;
	background: var(--color-main);
	top: 60px;
	right: 0;
	left: 0;
	margin-right: auto;
	margin-left: auto;
	display: block;
}


/*
caseWrap caseLis
-------------------------------------------*/
.caseListSlider{
	padding: 0 20px;
	/*max-width: 1650px;*/
	max-width: 1100px;
}
.caseListFlex{
/*	display: flex;
	gap: 40px;*/
/*    flex-wrap: nowrap;
    justify-content: center;
    align-content: flex-start;
    align-items: stretch;*/
		padding-top: 20px;
    padding-bottom: 20px;
}

.caseListFlex .caseLisItem{
/*	width: 80%;
	max-width: 500px;*/
	list-style: none;
}

.swiper-slide{
	height: auto;
	display: flex;
}

.swiper-slide{
	transform: scale(.9);
	/*opacity:.6;*/
	transition:.4s;
}
.center-active{
	opacity: 1;
transform: translateY(-10px);
}
.caseListFlex .caseLisItem .linkItem{
	display: block;
	overflow: hidden;
	border: 1px solid var(--color-main);
	width: 100%;
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
}

.caseListFlex .caseLisItem .linkItem{
	transition: .3s;
}

.caseListFlex .caseLisItem:hover .linkItem{
	transform: translateY(-8px);
	box-shadow: 0 12px 30px rgba(0,0,0,0.15);
}

.caseListFlex .caseLisItem .point_image_block {
    overflow: hidden;
    height: 250px;
}

.caseListFlex .caseLisItem .point_image_block img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: .3s;
}

.caseListFlex .caseLisItem .point_text_block{
	width: 86%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 30px;
	padding-bottom: 30px;
	max-width: 450px;
}

.caseListFlex .caseLisItem .point_text_block .year{
	background: var(--color-skyblue);
	display: inline-block;
	padding: 5px 10px;
	color: #fff;
	font-size: 12px;
	border-radius: 5px;
	margin-bottom: 10px;
}

.caseListFlex .caseLisItem .point_text_block .company{
	color: var(--color-skyblue);
	font-size: 12px;
	margin-bottom: 20px;
}
.caseListFlex .caseLisItem .point_text_block .ttl{
	font-size: 16px;
	font-weight: bold;
	color: var(--color-main);
	margin-bottom: 20px;
	line-height: 1.5;
}
.caseListFlex .caseLisItem .hashList {
	font-size: 12px;
	/*margin-bottom: 10px;*/
}

.caseListFlex .caseLisItem .hashList .hashListItem{
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	font-size: 12px;
	color: var(--color-main);
}
.caseListFlex .caseLisItem .textWrap{
	line-height: 1.5;
	font-size: 14px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-bottom: 14px;
}


.caseListFlex .caseLisItem .point_text_block .readmore{
	color: var(--color-main);
	font-size: 14px;
	font-weight: bold;
	position: relative;
	text-align: right;
	padding-right: 20px;
	width: 90px;
	margin-left: auto;
	display: block;
}

.caseListFlex .caseLisItem .point_text_block .readmore:after{
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid var(--color-main);
  border-right: 0;
}

@media (min-width: 764px) {
	.caseListFlex .caseLisItem .point_image_block {
		height: 300px;
	}
	.caseListFlex .caseLisItem .point_text_block .year{
		font-size: 14px;
	}
	.caseListFlex .caseLisItem .point_text_block .company{
		font-size: 12px;
	}
	.caseListFlex .caseLisItem .point_text_block .ttl{
		font-size: 18px;
	}
	.caseListFlex .caseLisItem .hashList .hashListItem{
	font-size: 14px;
	}
	.caseListFlex .caseLisItem .textWrap{
		font-size: 16px;
	}
}

/*@media (max-width:767px){

.swiper-slide{
	margin-right:10px !important;
}

}*/


/*
modalWrap
-------------------------------------------*/
.modalWrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,.6);
  display:none;
/*  align-items:center;
  justify-content:center;*/
  z-index:9999;
}

.modalWrap.active{
  display:flex;
}

.modalWrap .modal_inner{
  background:#fff;
  max-width:1000px;
  width:90%;
  max-height: 80vh;
  border-radius:10px;
	overflow-y: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
margin: auto;
}

.modalWrap .modal_inner .modalScroll{
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 40px;
	padding-bottom: 40px;
}

.modalWrap .modal_inner_ttl{
	display: flex;
	flex-direction: column;
	gap: 40px;
}


.modalWrap .modal_inner_ttl .textBlock .year{
	background: var(--color-skyblue);
	display: inline-block;
	padding: 5px 10px;
	color: #fff;
	font-size: 12px;
	border-radius: 5px;
	margin-bottom: 10px;
}

.modalWrap .modal_inner_ttl .textBlock .company{
	color: var(--color-skyblue);
	font-size: 12px;
	margin-bottom: 20px;
}
.modalWrap .modal_inner_ttl .textBlock .ttl{
	font-size: 16px;
	font-weight: bold;
	color: var(--color-main);
	margin-bottom: 20px;
	line-height: 1.5;
}
.modalWrap .modal_inner_ttl .textBlock .hashList {
	font-size: 12px;
	/*margin-bottom: 10px;*/
}

.modalWrap .modal_inner_ttl .textBlock .hashList .hashListItem{
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	font-size: 12px;
	color: var(--color-main);
}

.modalWrap .textWrap .text{
	font-size: 14px;
	line-height: 1.7;
}

.modalWrap .modalttl_02{
	font-size: 	16px;
	font-weight: bold;
	padding-bottom: 7px;
	border-bottom: 1px solid var(--color-main);
	color: var(--color-main);
}
.modalWrap .modal_flex{
        display: flex;
        flex-direction: column;
        gap: 40px;
}
.modalWrap .modal_close{
	margin-top: 60px;
  font-size:16px;
  cursor:pointer;
  color: #fff;
  background: var(--color-main);
  border-radius: 100px;
  width: 200px;
  margin-right: auto;
  margin-left: auto;
  border: none;
  padding: 5px 10px;
  display: block;
}

@media (min-width: 764px) {
	.modalWrap .modal_inner_ttl {
		flex-direction: row;
		align-items: center;
	}
	.modalWrap .modalttl_02{
		font-size: 18px;
	}
	.modalWrap .modal_inner_ttl .imgBlock{
		width: 40%;
		max-width: 600px;
	}
	.modalWrap .modal_inner_ttl .textBlock {
		flex: 1;
	}
	.modalWrap .modal_inner_ttl .textBlock .company{
		font-size: 16px;
	}
	.modalWrap .modal_inner_ttl .textBlock .hashList .hashListItem{
		font-size: 16px;
	}
	.modalWrap .modal_inner_ttl .textBlock .ttl{
		font-size: 20px;
	}
	.modalWrap .textWrap .text{
		font-size: 16px;
	}

	.modalWrap .modal_flex{
        gap: 40px;
        flex-direction: row;
        align-content: flex-start;
        align-items: flex-start;
	}
	.modalWrap .modal_flex .imgItem{
		width: 40%;
		max-width: 400px;
		display: block;
	}
}




/*
flowWrap
-------------------------------------------*/
.flowWrap{
	padding-top: 80px;
	padding-bottom: 80px;
}

.flowWrap .flowItem .flowLeft{
	background: var(--color-main);
	color: var(--color-white);
	font-size: 22px;
	padding: 5px 20px;
	font-family: "Josefin Sans", sans-serif;
	font-style: italic;
	border-radius: 10px 10px 0 0;

}
.flowWrap .flowItem .flowLeft .number{
	font-size: 40px;
}

.flowWrap .flowItem .flowRight{
	padding: 20px 20px;
	border: 1px solid var(--color-gray2);
	border-radius: 0 0 10px 10px;
}
.flowWrap .flowItem .ttl{
	font-size: 18px;
	font-weight: bold;
	color: var(--color-main);
	margin-bottom: 10px;
}
.flowWrap .flowItem .text{
	font-size: 14px;
	line-height: 1.7;
}

.flowWrap .flowTrg{
		margin-top: 30px;
    margin-bottom: 20px;
    margin-right: auto;
    margin-left: auto;
    width: 0px;
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 40px solid var(--color-blue);
}

@media (min-width: 764px) {
	.flowWrap .flowItem{
		display: flex;
		border-radius: 10px;
		overflow: hidden;
	}
	.flowWrap .flowItem .flowRight{
		flex:1;
		border-radius: 0 10px 10px 0;
	}
	.flowWrap .flowItem .flowLeft{
		width: 120px;
		text-align: center;
		font-size: 24px;
		border-radius: 10px 0 0 10px;
		padding: 20px;
	}
	.flowWrap .flowItem .flowLeft .number{
		font-size: 46px;
	}
	.flowWrap .flowItem .text{
		font-size: 20px;
	}
	.flowWrap .flowItem .text{
		font-size: 16px;
	}
}

/*
entryWrap
-------------------------------------------*/
.entryWrap{
	background: var(--color-lightblue);
	padding-top: 80px;
	padding-bottom: 80px;
}
.entryWrap .conditionsList .conditions_ttl{
	width: 150px;
	padding: 5px 10px;
	text-align: center;
	font-size: 18px;
	margin-right: auto;
	background: var(--color-main);
	color: #fff;
}
.entryWrap .conditionsList .conditions_text{
	position: relative;
	font-size: 14px;
	line-height: 1.7;
	border-bottom: 1px dotted var(--color-main);
	padding: 15px 20px 15px 40px;
}
.entryWrap .conditionsList .conditions_text:before{
	content: '';
	background: var(--color-main);
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	left: 0;
	top: 1.2em;
}
.entryWrap .conditionsList .conditions_text:first-of-type{
	border-top: 2px solid var(--color-main);
}
.entryWrap .conditionsList .conditions_text:last-child{
	border-bottom: 2px solid var(--color-main);
}

.entryWrap .conditionsList .fsize_s{
	font-size: .8em;
}

.entryWrap .cautionList .listItem{
	list-style: none;
	padding-left: 2em;
	position: relative;
	font-size: 12px;
	margin-bottom: 10px;
	line-height: 1.5;
}

.entryWrap .cautionList .listItem .icon{
	position: absolute;
	left: 0;
	top: 0;
}

.entryBtn{
	max-width: 750px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}

.entryBtn .btnItem{
	background: var(--color-main);
	padding: 30px 40px 30px 20px;
	transition: .3s;
	display: block;
	position: relative;
	color: #fff;
	border-radius: 10px;
}
.entryBtn .btnItem .en{
	font-size: 36px;
	width: 100%;
	display: inline-block;
	line-height: 1;
}
.entryBtn .btnItem .jp{
	width: 100%;
	display: inline-block;
	font-size: 20px;
}

.entryBtn .btnItem .arrowBlock{
	position: absolute;
	background: #fff;
	width: 80px;
	height: 80px;
	border-radius: 100px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	right: 20px;
	transition: .3s;
}

.entryBtn .btnItem .arrow{
  position: absolute;
  display: inline-block;
  width: 40px;
  height: 4px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	right: 20px;
  border-radius: 9999px;
  background-color: var(--color-main);
}

.entryBtn .btnItem .arrow::before,
.entryBtn .btnItem .arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 22px;
  height: 4px;
  border-radius: 9999px;
  background-color: var(--color-main);
  transform-origin: calc(100% - 2px) 50%;
}

.entryBtn .btnItem .arrow::before {
  transform: rotate(45deg);
}

.entryBtn .btnItem .arrow::after {
  transform: rotate(-45deg);
}

.entryBtn .btnItem:hover{
	background: var(--color-skyblue);
}

.entryBtn .btnItem:hover .arrowBlock{
	right:15px;
}

@media (min-width: 764px) {
	.entryWrap .conditionsList .conditions_ttl{
		width: 180px;
		font-size: 20px;
	}
	.entryWrap .conditionsList .conditions_text{
		font-size: 15px;
		padding: 20px 20px 20px 40px;
	}
	.entryWrap .cautionList .listItem{
		font-size: 14px;
	}
	.entryBtn .btnItem{
		padding: 40px 60px 40px 40px;
	}
	.entryBtn .btnItem .arrowBlock{
		right: 40px;
	}
	.entryBtn .btnItem .en{
		font-size: 40px;
	}
}

