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

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 961px){

	section.mos2shot div.fl_block{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	section.mos2shot div.text_block{
		width: 54%;
	}

	section.mos2shot div.img_block{
		width: 38%;
		margin-top: 0.5vw;
	}

	section.mos2shot div.text_block > p,
	section.features div.feature_block p{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		line-height: 1.8;
		letter-spacing: 0.04em;
	}

	section.mos2shot div.material_data{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-top: 3.4vw;
		margin-top: 3.4cqw;
	}

	section.mos2shot div.material_data figure{
		width: 45%;
	}

	section.mos2shot div.material_data div.photo,
	section.features div.stem_photos div.photo,
	section.features div.graph,
	section.portfolio div.photo{
		line-height: 0;
	}

	section.mos2shot figcaption,
	section.features figcaption,
	section.portfolio figcaption{
		font-size: 1.2rem;
		font-size: clamp(calc((1.2rem * 0.739)), 0.92vw, 1.2rem);
		line-height: 1.4;
		margin-top: 0.6em;
	}

	section.mos2shot div.material_data figcaption::before,
	section.features div.stem_photos figcaption::before,
	section.features div.graph_list figcaption::before,
	section.portfolio figcaption::before{
		content: "□ ";
	}

	section.mos2shot table{
		width: 51%;
		font-size: 1.3rem;
		font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
		line-height: 1.35;
		border-collapse: collapse;
		border-top: 1px solid #333;
	}

	section.mos2shot th,
	section.mos2shot td{
		border-bottom: 1px solid #333;
		padding: 0.5em 0.75em;
	}

	section.mos2shot th{
		width: 52%;
		font-weight: 500;
		text-align: left;
		color: #FFF;
		background: #2a71b7;
		border-bottom-color: #333;
	}

	section.mos2shot td{
		white-space: nowrap;
	}

	section.mos2shot sub{
		font-size: 70%;
	}

	section.mos2shot div.img_block figure{
		width: 95%;
		line-height: 0;
		margin-left: 5%;
	}

	section.features h2 {
		margin-bottom: 1.5em;
	}
	
	section.features div.feature_block h3{
		font-size: 2.0rem;
		font-size: clamp(calc((2.0rem * 0.739)), 1.53vw, 2.0rem);
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.04em;
		color: #2a71b7;
		display: block;
		background: none;
		padding: 0;
		border-radius: 0;
		margin-bottom: 0.75em;
	}

	section.features div.strong_bond{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	section.features div.strong_bond div.text_block{
		width: 43%;
	}

	section.features div.stem_block{
		width: 53%;
	}

	section.features div.stem_block h4{
		font-size: 1.3rem;
		font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
		font-weight: 500;
		line-height: 1.4;
		color: #FFF;
		background: #333;
		padding: 0.35em 0.75em;
		border-radius: 3px;
		margin-bottom: 0.75em;
	}

	section.features div.stem_photos,
	section.features div.graph_list{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}

	section.features div.stem_photos figure{
		width: 48.5%;
	}

	section.features div.binder{
		margin-top: 4.5vw;
		margin-top: 4.5cqw;
	}

	section.features div.graph_list{
		margin-top: 2.2vw;
		margin-top: 2.2cqw;
	}

	section.features div.graph_list figure{
		width: 48%;
	}

	section.features div.graph_list figcaption{
		margin: 0 0 0.75em;
	}

	section.portfolio div.block ul{
		display: flex;
		justify-content: space-between;
	}

	section.portfolio div.block li{
		width: 23%;
	}

	section.portfolio div.photo{
		border-radius: 3px;
		overflow: hidden;
	}
}


/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 960px){

	section.mos2shot div.fl_block{
		display: flex;
		flex-direction: column;
	}

	section.mos2shot div.text_block,
	section.mos2shot div.img_block{
		width: 100%;
	}

	section.mos2shot div.text_block > p,
	section.features div.feature_block p{
		font-size: calc(3.4rem * 0.375);
		font-size: clamp(calc((3.4rem * 0.375)), 3.54vw, 3.4rem);
		line-height: 1.8;
		letter-spacing: 0.06em;
	}

	section.mos2shot div.material_data{
		margin-top: 8vw;
	}

	section.mos2shot div.material_data figure{
		width: 78%;
		margin: 0 auto;
	}

	section.mos2shot div.material_data div.photo,
	section.features div.stem_photos div.photo,
	section.features div.graph,
	section.portfolio div.photo{
		line-height: 0;
	}

	section.mos2shot figcaption,
	section.features figcaption,
	section.portfolio figcaption{
		font-size: calc(3.0rem * 0.375);
		font-size: clamp(calc((3.0rem * 0.375)), 3.12vw, 3.0rem);
		line-height: 1.4;
		text-indent: -1.25em;
		padding-left: 1.25em;
		margin-top: 0.6em;
	}

	section.mos2shot div.material_data figcaption::before,
	section.features div.stem_photos figcaption::before,
	section.features div.graph_list figcaption::before,
	section.portfolio figcaption::before{
		content: "□ ";
	}

	section.mos2shot table{
		width: 100%;
		font-size: calc(3.2rem * 0.375);
		font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
		line-height: 1.35;
		border-collapse: collapse;
		margin-top: 7vw;
		border-top: 1px solid #333;
	}

	section.mos2shot th,
	section.mos2shot td{
		border-bottom: 1px solid #333;
		padding: 0.65em 0.8em;
	}

	section.mos2shot th{
		width: 48%;
		font-weight: 500;
		text-align: left;
		color: #FFF;
		background: #2a71b7;
		border-bottom-color: #333;
	}

	section.mos2shot td{
		white-space: nowrap;
	}

	section.mos2shot sub{
		font-size: 70%;
	}

	section.mos2shot div.img_block{
		margin-top: 10vw;
	}

	section.mos2shot div.img_block figure{
		line-height: 0;
	}

	section.features div.feature_block h3{
		font-size: calc(4.0rem * 0.375);
		font-size: clamp(calc((4.0rem * 0.375)), 4.16vw, 4.0rem);
		font-weight: 700;
		line-height: 1.5;
		letter-spacing: 0.04em;
		color: #2a71b7;
		display: block;
		background: none;
		padding: 0;
		border-radius: 0;
		margin-bottom: 0.75em;
	}

	section.features div.stem_block{
		margin-top: 9vw;
	}

	section.features div.stem_block h4{
		font-size: calc(3.0rem * 0.375);
		font-size: clamp(calc((3.0rem * 0.375)), 3.12vw, 3.0rem);
		font-weight: 500;
		line-height: 1.4;
		color: #FFF;
		background: #333;
		padding: 0.5em 0.75em;
		border-radius: 1vw;
		margin-bottom: 4vw;
	}

	section.features div.stem_photos figure + figure{
		margin-top: 7vw;
	}

	section.features div.binder{
		margin-top: 14vw;
	}

	section.features div.graph_list{
		margin-top: 8vw;
	}

	section.features div.graph_list figure + figure{
		margin-top: 10vw;
	}

	section.features div.graph_list figcaption{
		margin: 0 0 2vw;
	}

	section.portfolio div.block ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.portfolio div.block li{
		width: 46%;
	}

	section.portfolio div.block li:nth-child(n + 3){
		margin-top: 6vw;
	}

	section.portfolio div.photo{
		border-radius: 1vw;
		overflow: hidden;
	}
}
