@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Jost:wght@100..900&display=swap');


/* reset */
	main {
		font-size: 1rem;
		pointer-events: all;
	}
	.lpContWrapper {
		font-weight: 500;
		letter-spacing: 0.01em;
		background: #FFF;
	}
	.lpContWrapper span {
		font-size: inherit;
	}
	.lpContWrapper img {
		max-width: 100%;
	}
	.lpContWrapper small.block {
		display: block;
		line-height: 1.6;
		font-size: 70%;
	}
	.lpContWrapper > div {
		padding-bottom: 30px;
	}


	.pageTop-wrapper.active {
		bottom: 124px;
	}
	.lpContWrapper.is-end + footer .pageTop-wrapper {
		opacity: 0;
		pointer-events: none;
	}

/*/////////////////////////////////////////////////////

wrapper

/////////////////////////////////////////////////////*/
	.lpContWrapper {
		position: relative;
		text-align: center;
		align-self: flex-end;
	}
	.sectionWrap + .sectionWrap {
		margin-top: 150px;
	}
@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.sectionWrap + .sectionWrap {
		margin-top: 10vw !important;
	}
}
@media screen and (max-width: 736px) {
	.sectionWrap + .sectionWrap {
		margin-top: 100px !important;
	}
}


/*/////////////////////////////////////////////////////

pageNav

/////////////////////////////////////////////////////*/
	.pageNav {
		font-size: min(1.2vw, 1.4em);
		padding: 4.6em 0 6em;
	}
	.pageNav ul {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		width: 90%;
		max-width: 1400px;
		margin: 0 auto;
		border: 0px solid rgba(0, 0, 0, .8);
		border-width: 1px 1px 0 0;
	}
	.pageNav ul li {
		border: 0px solid rgba(0, 0, 0, .8);
		border-width: 0 0 1px 1px;
	}
	.pageNav ul li a {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding: 0.4em 0.6em 0.4em 0.2em;

		transition: background 0.3s ease;
	}
	.pageNav ul li a::after {
		content: "";
		position: absolute;
		right: 0.3em;
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
		display: block;
		width: 15px;
		aspect-ratio: 1 / 1;
		border: 0px solid rgba(0, 0, 0, .8);
		border-width: 1px 1px 0 0;
		
		transition: translate 0.3s ease;
	}
	.pageNav ul li a:hover {
		background: rgba(0, 0, 0, .05);
	}
	.pageNav ul li a:hover::after {
		translate: 5px 0;
	}

@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.pageNav {
		font-size: 1.8vw;
		padding: 2.6em 0;
	}
	.pageNav ul {
		grid-template-columns: repeat(3, 1fr);
		width: 96%;
	}
	.pageNav ul li a {
		min-height: 4em;
		padding-right: 1em;
	}
	.pageNav ul li a::after {
		width: 10px;
	}
}
@media screen and (max-width: 736px) {
	.pageNav {
		font-size: 2.4vw;
		padding: 2em 0em;
	}
	.pageNav ul {
		grid-template-columns: repeat(2, 1fr);
	}
	.pageNav ul li a {
		min-height: 4em;
		padding-right: 2em;
	}
}




/*/////////////////////////////////////////////////////

ttl Setting

/////////////////////////////////////////////////////*/
.aqFont {
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
header .aqFont,
h3 .aqFont,
.listTtl .aqFont {
	font-weight: 500;
}

/* .sectionWrap header */
	.lpContWrapper .sectionWrap header {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 374px;
		color: #FFF;
		background: #000 url("../img/bg_ttl_future.webp") center center / cover no-repeat;
		margin-bottom: 140px;
		padding: 10px;
		box-sizing: border-box;
	}
	.lpContWrapper .sectionWrap.secProject header {	background-image: url("../img/bg_ttl_project.webp");}
	.lpContWrapper .sectionWrap.secFuture header {	background-image: url("../img/bg_ttl_future.webp");}
	.lpContWrapper .sectionWrap.secMethod header {	background-image: url("../img/bg_ttl_method.webp");}
	.lpContWrapper .sectionWrap.secCase header {	background-image: url("../img/bg_ttl_case.webp");}
	.lpContWrapper .sectionWrap.secPossibility header {	background-image: url("../img/bg_ttl_possibility.webp");}
	.lpContWrapper .sectionWrap.secNetwork header {	background-image: url("../img/bg_ttl_network.webp");}

	.lpContWrapper .sectionWrap header h2 {
		font-size: min(2.2vw, 32px);
		font-weight: 600;
		line-height: 1.8;
		letter-spacing: 0.1em;
	}
	.lpContWrapper .sectionWrap header h2 strong {
		font-size: 1.7em;
		letter-spacing: 0em;
	}
@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.lpContWrapper .sectionWrap header {
		min-height: 280px;
		margin-bottom: 6vw !important;
	}
}
@media screen and (max-width: 736px) {
	.lpContWrapper .sectionWrap header {
		min-height: 0px;
		margin-bottom: 12vw !important;
		padding: 2em 1em;
	}
	.lpContWrapper .sectionWrap header h2 {
		font-size: 2.8vw;
		line-height: 1.6;
	}
	.lpContWrapper .sectionWrap header h2 strong {
		display: inline-block;
		margin: 0.2em 0;
	}
}


/* .lpContents h3 */
	.lpContWrapper .lpContents h3 {
		font-size: min(2.4vw, 29px);
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.15em;
		padding-bottom: 1.2em;
		border-bottom: 1px solid #4c4948;
	}
	.lpContWrapper .lpContents h3.noLine {
		padding-bottom: 0em;
		border-bottom: 0px solid #4c4948;
	}
	.lpContWrapper .lpContents h3 strong {
		display: inline-block;
		letter-spacing: 0.15em;
		font-weight: 600;
		font-size: 1.4em;
		margin: 0.1em 0;
	}
@media screen and (max-width: 736px) {
	.lpContWrapper .lpContents h3 {
		font-size: 4.3vw;
	}
	.lpContWrapper .lpContents h3 strong {
		font-size: 1.15em;
		letter-spacing: 0.02em;
	}
}

/* .lpContents h4 */
	.lpContWrapper .lpContents h4 {
		font-size: min(2.4vw, 44px);
		font-weight: 500;
		line-height: 1.43;
		margin-top: 2.4em;
		margin-bottom: 1.8em;
	}
@media screen and (max-width: 736px) {
	.lpContWrapper .lpContents h4 {
		font-size: 4.3vw;
	}
}




/*/////////////////////////////////////////////////////

lpContents

/////////////////////////////////////////////////////*/
	.lpContents {
		width: 90%;
		max-width: 1350px;
		color: #4c4948;
		margin: 0 auto;
	}
	.lpContents + .lpContents {
		margin-top: 80px;
	}
	.lpContents .txtBox {
		text-align: left;
		text-align: justify;
		letter-spacing: 0;
		line-height: 1.7;
		font-size: 1em;
		font-weight: 400;
		margin: 2em auto 0;
	}
@media print, screen and (min-width: 736.02px) {
	.lpContents + .lpContents {
		margin-top: 110px;
	}
	.lpContents .txtBox {
		font-size: 2.1em;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 820px) {
	.lpContents + .lpContents {
		margin-top: 8vw;
	}
	.lpContents .txtBox {
		font-size: clamp(0.667rem, 0.41rem + 1.106vi, 0.879rem);
	}
}
@media screen and (min-width: 820.02px) and (max-width: 1400px) {
	.lpContents + .lpContents {
		margin-top: 8vw;
	}
	.lpContents .txtBox {
		font-size: 1.6em;
	}
}



/*/////////////////////////////////////////////////////

contactBtn

/////////////////////////////////////////////////////*/
	.contactBtn {
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 10000;
		width: 500px;
		text-align: center;
		/*margin: 145px auto 0;*/

		padding-bottom: max(env(safe-area-inset-bottom, 0px), 0px);

	}
	.lpContWrapper.is-end .contactBtn {
		position: absolute;
		right: 50%;
		transform: translateX(50%);
		text-align: center;
		margin: 30px auto 50px;
	}
	.endSentinel {
	  width: 0;
	  height: 0;         /* 高さは JS が付与・同期 */
	  display: block;
		margin-top: 50px;
	}


	.contactBtn a {
		position: relative;
		display: grid;
		grid-template-columns: 1fr min(15%, 110px);
		grid-gap: 10px;
		color: #FFF;
		font-size: clamp(1rem, -0.2911rem + 2.6899vw, 1.7rem);
		font-weight: 400;
		background: #f7931e;
		padding: 25px 15px;
		/*border-radius: 5px;*/
		transition: transform 0.3s ease;
		box-shadow: 0 0 5px rgba(0, 0, 0, .3);
		animation: 2s btnAniBg ease infinite;
		animation-direction: alternate-reverse;
	}
	.contactBtn a::after {
		content: "";
		pointer-events: none;
		position: absolute;
		top: 3px;
		left: 3px;
		display: block;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		border: 3px double rgba(255, 255, 255, .6);
	}
	.contactBtn a:hover::after {
		content: "";
		pointer-events: none;
		position: absolute;
		top: 3px;
		left: 3px;
		display: block;
		width: calc(100% - 12px);
		height: calc(100% - 12px);
		border: 3px solid rgba(255, 255, 255, .6);
	}
	.contactBtn a i {
		position: relative;
		background: #7b5c3e;
		border-radius: 10px;
	}
	.contactBtn a i::before,
	.contactBtn a i::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
		transition: transform 0.3s ease;
	}
	.contactBtn a i::before {
		width: 30%;
		height: 1px;
		background: #FFF;
	}
	.contactBtn a i::after {
		width: 15%;
		aspect-ratio: 1 / 1;
		translate: -17% -50%;
		rotate: -45deg;
		border-right: 1px solid #FFF;
		border-bottom: 1px solid #FFF;
	}
	@media (hover: hover) and (pointer: fine) {
		.contactBtn a:hover {
			transform: scale(0.99);
		}
		.contactBtn a:hover i::before {
			opacity: 1;
			transform: translateX(5px);
			animation: none;
		}
		.contactBtn a:hover i::after {
			opacity: 1;
			transform: translate(5px, 5px);
			animation: none;
		}
	}
	.contactBtn a:focus-visible {
		transform: scale(0.99);
	}
	.contactBtn a:focus-visible i::before {
		transform: translateX(5px);
	}
	.contactBtn a:focus-visible i::after {
		transform: translate(5px, 5px);
	}
@keyframes btnAniBg {
	0% {	background: #f7931e;}	
	100% {	background: #f77f1e;}	
}


@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.contactBtn {
	}
}
@media screen and (max-width: 840px) {
	.contactBtn {
		text-align: left;
		width: 100%;
		margin: 50px 0 0 0;
		padding: 10px;
		background: #333;
	}
	.lpContWrapper.is-end .contactBtn {
		margin-bottom: 0px;
	}

	.contactBtn a {
		grid-gap: 30px;
	}
	.contactBtn a span {
		font-size: 4.0vw !important;
	}
	.contactBtn a span .TBPC {
		display: none;
	}
}


/*/////////////////////////////////////////////////////

list

/////////////////////////////////////////////////////*/
	.listTtl {
		color: #FFF;
		letter-spacing: 0.01em;
		line-height: 1.8em;
		font-size: 4.8vw;
		background: #7b5c3e;
		margin-bottom: 0.8em;
	}
	.listTxt {
		letter-spacing: 0.092em;
		text-align: left;
		text-align: justify;
		text-align-last: left;
		font-size: 1.0em;
	}
	.listPic {
		position: relative;
		display: inline-block;
	}
	.listPic small {
		position: absolute;
		bottom: 0;
		right: 0;
		color: #FFF;
		font-size: 80%;
		padding: 3px;
	}
	.listPic small.bk {	color: #4c4948;	}

@media print, screen and (min-width: 736.02px) {
	.listTtl {
		font-size: 1.4em;
	}
	.listTxt {
		font-size: 1.4em;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 820px) {
	.listTtl {
		font-size: clamp(0.515rem, 0.288rem + 0.979vi, 0.703rem);
	}
	.listTxt {
		font-size: clamp(0.455rem, 0.183rem + 1.169vi, 0.679rem);
	}
}
@media screen and (min-width: 820.02px) and (max-width: 1400px) {
	.listTtl {
		font-size: 1.4em;
	}
	.listTxt {
		font-size: 1.1em;
	}
}

/*/////////////////////////////////////////////////////

picBox

/////////////////////////////////////////////////////*/
	.picBox {
		position: relative;
		display: inline-block;
	}
	.picBox small {
		position: absolute;
		bottom: 0;
		right: 0;
		color: #FFF;
		font-size: 80%;
		padding: 3px;
	}
	.picBox small.bk {	color: #4c4948;	}




/*/////////////////////////////////////////////////////

mainVisual

/////////////////////////////////////////////////////*/
	.mainVisualWrap {
		position: relative;
	}
	.mainVisualWrap h1 {
		position: absolute;
		top: 50%;
		left: 3%;
		translate: 0 -46%;
		
		width: 52.5%;
		text-align: left;
		letter-spacing: 0;
		line-height: 1.9em;
		font-size: 1.65vw;
		padding: 1em 2.9%;
		
	}
	.mainVisualWrap h1 strong {
		font-size: 1.3em;
		font-weight: 500;
		letter-spacing: 0.03em
	}
	.mainVisualWrap h1 strong .decoWrap .decoParts {
		letter-spacing: -0.05em;
	}
	.mainVisualWrap h1 strong .smlTxt {
		font-size: 0.8em;
	}
	.mainVisualWrap h1 br.SP {
		display: none;
	}

@media screen and (max-width: 736px) {
	.mainVisualWrap h1 {
		position: relative;
		left: 0;
		translate: 0 0;
		
		width: 100%;
		text-align: center;
		font-size: 3.8vw;
	}
	.mainVisualWrap h1 strong {
		display: inline-block;
		font-size: 1.72em;
		margin-top: 0.2em;
	}
	/*.mainVisualWrap h1 strong .decoWrap {
		display: flex;
		justify-content: center;
		grid-area: 10px;
	}
	.mainVisualWrap h1 strong .decoWrap .decoCont {
		text-align: left;
	}
	.mainVisualWrap h1 strong .decoWrap .decoStart {
	}
	.mainVisualWrap h1 strong .decoWrap .decoEnd {
		align-self: flex-end;
	}*/
	.mainVisualWrap h1 br.SP {
		display: block;
	}
}



/*/////////////////////////////////////////////////////



/////////////////////////////////////////////////////*/
/* project
=====================================================*/
	.secProject .txtBox + .picBox {
		margin-top: 50px;
	}
@media print, screen and (min-width: 736.02px) {
	.secProject .txtBox + .picBox {
		margin-top: 80px;
	}
}
@media print, screen and (min-width: 1400.02px) {
	.secProject .txtBox + .picBox {
		margin-top: 130px;
	}
}

/* future
=====================================================*/
	.lpContWrapper .sectionWrap.secFuture header {
		margin-bottom: 180px;
	}
	.secFuture header h2 {
		line-height: 1.5;
	}
	.secFuture header strong {
		line-height: 1.4;
	}
	.secFuture header strong em {
		font-family: "Oswald", sans-serif;
		font-optical-sizing: auto;
		font-weight: 500;
		font-size: 1.6em;
		line-height: 1.0em;
	}
	.lpContWrapper .secFuture .lpContents h3 {
		padding-bottom: 0.9em;
	}
@media print, screen and (min-width: 736.02px) {
}



	.futureCol01 {
		margin-top: 3em;
	}
	.futureCol01 .txtBox {
	}
	.futureCol01 p:nth-of-type(2) {
		width: 80%;
		margin: 2.5em auto 0;
	}
	.futureCol02 {
		margin-top: 7.6em;
	}
	.futureCol02 p {
		width: 80%;
		margin: 0 auto;
	}
	.futureCol02 p:nth-of-type(2) {
		margin-top: 4em;
	}
	.futureCol02 + small {
		text-align: left;
		margin-top: 5em;
	}
	.futureLastCol {
		position: relative;
		color: #FFF;
		font-size: min(4vw, 57px);
		background: #7b5c3e;
		margin-top: 60px;
		padding: 1.2em 1.2em;
	}
	.futureLastCol::before {
		content: "";
		pointer-events: none;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		display: block;
		width: calc(100% - 10px);
		height: calc(100% - 10px);
		border: 1px solid #FFF;
	}

@media print, screen and (min-width: 736.02px) {
	.futureCol01 {
		margin-top: 1.5em;
	}
	.futureCol01 .txtBox {
		margin-top: 0;
	}
	.futureCol02 {
		margin-top: 2.6em;
	}
	.futureLastCol {
	}
	.futureLastCol::before {
		width: calc(100% - 20px);
		height: calc(100% - 20px);
	}
}
@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.futureCol02 + small.block {
		font-size: 12px;
	}
}
@media print, screen and (min-width: 1049.02px) {
	.futureCol01 {
		display: grid;
		grid-template-columns: 1fr 32%;
		margin-top: 4.5em;
		gap: 60px;
	}
	.futureCol01 p:nth-of-type(2) {
		margin-top: 0em;
	}
	.futureCol02 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 60px;
		margin-top: 7.6em;
	}
	.futureCol02 p {
		width: 100%;
		margin: 0 auto;
	}
	.futureCol02 p:nth-of-type(2) {
		margin-top: 0em;
	}
	.futureLastCol {
		padding: 0.4em;
	}
}





/* method
=====================================================*/
/* header */
	.lpContWrapper .sectionWrap.secMethod header {
		margin-bottom: 190px;
	}
/* h3 */
	.lpContWrapper .secMethod .lpContents h3 .smlTxt {
		font-size: 0.8em;
	}
	.lpContWrapper .secMethod .lpContents h3 strong {
		font-size: 1.3em;
		line-height: 1.3em;
		letter-spacing: 0.15em;
	}
	.lpContWrapper .secMethod .lpContents:nth-of-type(2) h3 {
		margin-bottom: 0.9em;
		padding-bottom: 1em;
		border-bottom: 1px solid #4c4948;
	}
@media screen and (max-width: 736px) {
	.lpContWrapper .secMethod .lpContents h3 strong {
		font-size: 4vw;
		line-height: 1.6em;
	}
}
/* h4 */
	.lpContWrapper .secMethod .lpContents h4 {
		color: #7b5c3e;
		font-size: min(2.2vw, 37px);
		margin-top: 2.1em;
		margin-bottom: 1.2em
	}
@media screen and (max-width: 736px) {
	.lpContWrapper .secMethod .lpContents h4 {
		font-size: 4vw;
	}
}
/* point */
	.secMethod .methodPoint {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 6%;
		margin-bottom: 10px;
	}
	.secMethod .methodPoint li {
		overflow: hidden;
		border-radius: 50%;
	}
	.secMethod .methodPoint li img {
		width: 100%;
	}
	.secMethod .methodPoint + small {
		display: block;
		text-align: right;
		font-size: 1.4em;
		margin-bottom: 50px;
	}
@media screen and (max-width: 736px) {
	.secMethod .methodPoint {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: 6%;
	}
	.secMethod .methodPoint li {
		width: 47%;
	}
	.secMethod .methodPoint + small {
		font-size: 80%;
	}
}
/* list */

	.secMethod .methodList {
		display: flex;
		flex-direction: column;
		gap: 60px;
		margin-top: 2em;
	}
	.methodListUnit {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto 1fr auto;
		grid-gap: 5%;
	}
	.secMethod .methodListUnit .listTtl {
		position: relative;
		grid-column: 1 / 3;
		letter-spacing: 0.1em;
		background: #4c4948;
		margin-bottom: 0.3em;
		padding: 5px 15px;
	}
	.secMethod .methodListUnit .listTtl::before {
		content: "";
		position: absolute;
		top: 0;
		left: 8px;
		display: block;
		width: 1px;
		height: 100%;
		background: #FFF;
	}
	.secMethod .methodListUnit .listPic {
		grid-column: 2 / 3; grid-row: 2 / span 2;
	}
	.secMethod .methodListUnit .listPic img {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: fill;
	}
	.secMethod .methodListUnit .listTxt {
		grid-column: 1 / 2;
		line-height: 1.6;
	}
	.secMethod .methodListUnit .listMag {
		grid-column: 1 / 2;
		align-self: end;
		
		font-size: clamp(1.375rem, -0.9035rem + 4.7468vw, 3.25rem);
		font-weight: 400;
		vertical-align: baseline;
		border: 0px solid #4c4948;
		border-width: 1px 0;
		padding: 0.1em
	}
	.secMethod .methodListUnit .listMag em {
		display: inline-block;
		color: #7b5c3e;
		font-size: 1.7em;
		line-height: 1.1em;
		margin-right: 0.1em;
		
		
		font-family: "Jost", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
	}
@media print, screen and (min-width: 736.02px) {
	.secMethod .methodList {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 80px 8%;
		margin-top: 50px;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 820px) {
	.secMethod .methodListUnit {
		grid-template-rows: auto auto auto;
	}
	.secMethod .methodListUnit .listPic {
		grid-row: 2 / 3;
	}
	.secMethod .methodListUnit .listMag {
		grid-column: 1 / 3;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.secMethod .methodList {
		grid-gap: 80px 5%;
	}
}

/* contactBtn */
	.secMethod .contactBtn {
		margin-top: 165px;
	}



	.secMethod .lpContents h3 + .picBox {
		margin: 120px 0 150px;
	}
	.lpContWrapper .secMethod .lpContents:nth-of-type(2) h3 + .txtBox {
		/*font-size: clamp(1rem, -0.519rem + 3.1646vw, 2.15rem);*/
		margin-top: 0px;
	}
@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.secMethod .lpContents h3 + .picBox {
		margin: 50px 0 70px;
	}
}
@media screen and (max-width: 736px) {
	.secMethod .lpContents h3 + .picBox {
		margin: 50px 0 0px;
	}
}






/* case
=====================================================*/
.sectionWrap.secCase {
	margin-top: 145px;
}

/* list */
	.secCase .caseList {
		display: flex;
		flex-direction: column;
		gap: 40px;
		margin-top: 2em;
	}
	.secCase .caseList .listTtl {
		margin-bottom: 0.5em;
		padding: 0.8em 0.2em;
	}
	.secCase .caseList .listTtlDetail {
		font-size: 1.0em;
		line-height: 1.1em;
		font-weight: 500;
		margin-bottom: 1em;
		padding-bottom: 0.5em;
		border-bottom: 1px solid #4c4948;
	}
	.secCase .caseList .listTxt {
		font-size: 1.0em;
		line-height: 1.7em;
		letter-spacing: 0.01em;
		font-weight: 400;
		margin-bottom: 1.5em;
	}
	.secCase .caseList .listTxt small.block {
		font-size: 65%;
		margin-top: 0.5em;
	}
	.secCase .caseList .listPicWrap {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 8px;
	}
	.secCase .caseList .listTtl + .listPicWrap {
		margin-top: 20px;
	}
	.secCase .caseList .listPicWrap[data-listPic="3"] .listPic:first-of-type {
		grid-column: span 2;
	}
	.secCase .caseList .listAward {
		text-align: left;
		margin-top: 2em;
	}
/* contactBtn */
	.secCase .contactBtn {
		margin-top: 140px;
	}
@media print, screen and (min-width: 736.02px) {
	.secCase .caseList {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 105px 3%;
		margin-top: 200px;
	}
	.secCase .caseList .listTtlDetail {
		font-size: 1.7em;
	}
	.secCase .caseList .listTxt {
		font-size: 1.32em;
		font-weight: 400;
	}
	.secCase .caseList .listTtl + .listPicWrap {
		margin-top: 50px;
	}
}
@media screen and (min-width: 736.02px) and (max-width: 820px) {
	.secCase .caseList .listTtlDetail {
		font-size: 0.48em;
	}
	.secCase .caseList .listTxt {
		font-size: 0.6em;
	}
}
@media screen and (min-width: 820.02px) and (max-width: 1400px) {
	.secCase .caseList {
		margin-top: 5vw;
	}
	.secCase .caseList .listTtlDetail {
		font-size: 1.2em;
	}
	.secCase .caseList .listTxt {
		font-size: 1.26em;
		font-weight: 400;
		word-break: break-all;
		line-height: 1.7em;
	}
}





/* possibility
=====================================================*/
/* possibilityCol */
	.secPossibility .possibilityCol {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 105px 3%;
		margin-top: 130px;
	}
	.secPossibility .possibilityCol figcaption {
		color: #FFF;
		letter-spacing: 0.01em;
		line-height: 1.8em;
		font-size: clamp(1.625rem, 0.7136rem + 1.8987vw, 2.375rem);
		background: #7b5c3e;
		padding: 0.4em 0.01em;
	}
/* contactBtn */
	.secPossibility .contactBtn {
		margin-top: 150px;
	}

@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.secPossibility .possibilityCol figcaption {
		font-size: 2vw;
	}
}
@media screen and (max-width: 736px) {
	.secPossibility .possibilityCol {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-top: 40px;
	}
	.secPossibility .possibilityCol figcaption {
		font-size: 4vw;
	}
}





/* netWork
=====================================================*/
	.lpContWrapper .sectionWrap.secNetwork header {
		margin-bottom: 120px;
	}

	.sectionWrap.secNetwork .lpContents .txtBox:first-child {
		margin-top: 0;
	}
	.secNetwork .networkCol {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 30px 3%;
		margin-top: 100px;
	}
	.secNetwork .networkCol figcaption {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #FFF;
		letter-spacing: 0.01em;
		line-height: 1.2em;
		font-size: min(3vw, 34px);
		background: #7b5c3e;
		margin-bottom: 0.6em;
		padding: 0.4em 0.01em;
	}
	.secNetwork .networkCol figcaption .smlTxt {
		font-size: 0.68em;
	}

@media screen and (min-width: 736.02px) and (max-width: 1400px) {
	.secNetwork .networkCol figcaption {
		font-size: 2vw;
	}
}
@media screen and (max-width: 736px) {
	.secNetwork .networkCol {
		display: flex;
		flex-direction: column;
		gap: 20px;
		margin-top: 40px;
	}
	.secNetwork .networkCol figcaption {
		font-size: 4vw;
	}
}





@media print { /*{printOnly}*/
	.contactBtn,
	.pageNav,
	.pageTop-wrapper.active,
	.globalFooter-inner:nth-of-type(3) {		display: none;	}
	.sectionWrap + .sectionWrap {
		margin-top: 0 !important;
	}
	.lpContWrapper .sectionWrap header {
		min-height: 0px;
		color: #000;
		border: double #000;
		border-width: 3px 0;
		margin-bottom: 50px !important;
	}
	.lpContWrapper .sectionWrap:not(.secProject) header {
		page-break-before: always;
	}
	.futureCol01,
	.futureCol02 {
		margin-top: 0.5em;
	}
	
	.listTtl,
	.secPossibility .possibilityCol figcaption,
	.secNetwork .networkCol figcaption {
		font-size: 0.6em;
		color: #333;
		border: 1px solid #333;
	}
	.lpContents .txtBox,
	.listTxt,
	.secCase .listTxt,
	.secCase .caseList .listTtlDetail,
	.secCase .caseList .listTxt,
	.experimentList .listTxt,
	.SDGsCol .figTxt {
		font-size: 0.48em;
	}
	.secProject .txtBox + .picBox {
		margin-top: 30px;
	}
	.secProject .txtBox + .picBox img {
		width: 80%;
	}
	.secPossibility .possibilityCol figcaption {
        font-size: 0.6em;
    }
	.secFuture .illustUnit + small {
		font-size: 12px;
	}
	.secCase .caseList {
		margin-top: 30px;
	}
	.secCase .caseList .listTxt {
		margin-bottom: 15px !important;
	}
	.secCase .caseList .listAward {
		margin-top: 15px !important;
	}
	.secMethod .methodListUnit .listMag {
		font-size: 0.8em;
	}
	.networkListUnit {
		padding: 0.7em 0.7em 0.7em;
	}
	.networkListUnit dl {
		font-size: 0.40em;
	}
	.secNetwork .networkCol {
		margin-top: 30px;
	}



}


