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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/


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

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



	section.factors div.img_block{
		background: #efeee1;
		margin-top: 1.5vw;
		padding: 1em 1.6%;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
	}

	section.factors div.img_block h4{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 700;
		line-height: 1;
		text-align: center;
		background: #FFF;
		padding: 1em 0;
		margin-bottom: 2em;
	}

	section.mechanism div.fl_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.mechanism div.fl_block div.l_block{
		width: 68.8%;
	}

	section.mechanism div.fl_block div.l_block p{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		margin-bottom: 2.5em;
	}

	section.mechanism div.fl_block div.l_block div.scllor_block{
		line-height: 0;
	}

	section.mechanism div.fl_block div.r_block{
		width: 24%;
		background: #e8ebef;
		padding: 1em 1.6%;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		position: relative;
	}

	section.mechanism div.fl_block div.r_block h4{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		background: #FFF;
		padding: 0.75em 0;
		margin-bottom: 1em;
	}

	section.mechanism div.fl_block div.r_block p.cap{
		font-size: 1.0rem;
		font-size: clamp(calc((1.0rem * 0.739)), 0.769vw, 1.0rem);
		line-height: 1.3;
		position: absolute;
		top: -4em;
		right: 0;
	}

	section.mechanism div.fl_block div.r_block h5{
		font-size: 1.3rem;
		font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		color: #FFF;
		background: #80a1c9;
		padding: 0.5em 0;
		border-radius: 25px;
		margin-bottom: 1em;
	}

	section.mechanism div.fl_block div.r_block figure + h5 {
		margin-top: 1em;
	}


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

    section.track_record > p{
        font-size: 1.6rem;
        font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
        line-height: 1.8;
        letter-spacing: 0.06em;
    }

    section.track_record div.record_group h3{
        font-size: 1.7rem;
        font-size: clamp(calc((1.7rem * 0.739)), 1.3vw, 1.7rem);
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: 0.08em;
        color: #FFF;
        background: #333;
        padding: 0.55em 1em;
        border-radius: 3px;
        margin-bottom: 1.3em;
    }

    section.track_record div.record_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    section.track_record div.record_case{
        width: 47.6%;
    }

    section.track_record div.record_case:nth-child(n + 3){
        margin-top: 1.5em;
    }

    section.track_record div.record_case h4{
        display: flex;
        align-items: center;
        font-size: 1.7rem;
        font-size: clamp(calc((1.7rem * 0.739)), 1.3vw, 1.7rem);
        font-weight: 400;
        line-height: 1.4;
        margin-bottom: 0.5em;
    }

    section.track_record div.record_case h4 span.num{
        width: 1.65em;
        height: 1.65em;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        font-size: 1.5rem;
        font-size: clamp(calc((1.5rem * 0.739)), 1.15vw, 1.5rem);
        font-weight: 700;
        line-height: 1;
        color: #FFF;
        background: #2a71b7;
        border-radius: 50%;
        margin-right: 0.45em;
    }

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

    section.track_record figure.main_photo{
        width: 71.2%;
    }

    section.track_record div.record_data{
        width: 25.8%;
        margin-top: -3%;
    }

    section.track_record figure img{
        width: 100%;
    }

    section.track_record figure.graf{
        line-height: 0;
    }

    section.track_record figure.parts_photo{
        margin-top: 0.55em;
    }

    section.track_record figure.main_photo figcaption,
    section.track_record figure.parts_photo figcaption{
        font-size: 1.3rem;
        font-size: clamp(calc((1.3rem * 0.739)), 1vw, 1.3rem);
        line-height: 1.45;
        margin-top: 0;
    }

    section.track_record figure.main_photo figcaption.f_min{
       color: #2a71b7;
	}

    section.record1 div.record_group{
        margin-top: 2.5em;
    }

    section.record2 div.record_list{
        margin-top: 2.5em;
    }

    section.record2 ul.other_photo{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 2.5em;
    }

    section.record2 ul.other_photo li{
        width: 23.4%;
    }

    section.record2 ul.other_photo figcaption{
        font-size: 1.4rem;
        font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
        line-height: 1.4;
        margin-bottom: 0.6em;
    }


	section.track_record3 div.list_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.track_record3 div.list_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.track_record3 div.list_block div.list{
		width: 36.9%;
		font-size: 1.6rem;
        font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		background: #e8ebef;
		padding: 1em 1em 1.5em;
	}

	section.track_record3 div.list_block div.list.narrow{
		width: 16.3%;
	}

	section.track_record3 div.list_block div.list.ng{
		width: 26.2%;
		background: #efeee0;
	}

	section.track_record3 div.list_block div.list h4{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		background: #FFF;
		padding: 0.75em 0;
		margin-bottom: 1em;
	}

	section.track_record3 div.list_block div.list.ng h6{
		font-size: 1.7rem;
		font-size: clamp(calc((1.7rem * 0.739)), 1.3vw, 1.7rem);
		font-weight: 400;
		line-height: 1.3;
		text-align: center;
		color: #2a71b7;
		margin-bottom: 0.4em;
	}

	section.track_record3 div.list_block div.list ul{
		width: 95%;
		margin: 0 auto;
		display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	}

	section.track_record3 div.list_block div.list.narrow ul{
		width: 80%;
		display: block;
		margin: 0 auto;
	}

	section.track_record3 div.list_block div.list.ng ul{
		width: 55%;
		display: block;
		margin: 0 auto;
	}

	section.track_record3 div.list_block div.list ul li{
		width: 28%;
		display: inline-block;
		font-size: 1.5rem;
        font-size: clamp(calc((1.5rem * 0.739)), 1.15vw, 1.5rem);
		line-height: 1.7;
		padding-left: 0.75em;
		position: relative;
	}

	section.track_record3 div.list_block div.list.food ul li:nth-child(3n+2) {
		width: 38%;
	}

	section.track_record3 div.list_block div.list.narrow ul li,
	section.track_record3 div.list_block div.list.ng ul li{
		width: 100%;
	}

	section.track_record3 div.list_block div.list ul li::before{
		content: "● ";
        font-size: 43%;
		color: #80a1c9;
		display: inline-block;
		position: absolute;
		top: 1em;
		left: 0;
	}

	section.track_record3 div.list_block div.list.ng ul li::before{
		color: #b3b3b3;
	}

	section.track_record3 ul.photo{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		margin-top: 1.5em;
	}

	section.track_record3 ul.photo li{
		width: 23.4%;
	}

	section.track_record3 ul.photo li:nth-child(n + 5){
		margin-top: 1.5em;
	}

	section.track_record3 ul.photo li figcaption{
		text-indent: -1.25em;
		padding-left: 1.25em;
	}

	section.features {
		position: relative;
	}

	section.features figure {
		width: 29%;
		position: absolute;
		top: 0;
		right: -3.1vw;
		right: -3.1cqw;
		z-index: 5;
	}

	section.features figure figcaption{
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
	}

	section.features ul.num_type{
		width: 68%;
		display: block;
	}

	section.features ul.num_type li{
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		line-height: 1.7;
		letter-spacing: 0.04em;
		position: relative;
		padding-left: 3em;
		padding-bottom: 0.75em;
		border-bottom: 1px solid #e5e5e5;
	}

	section.features li + li {
		margin-top: 0.75em;
	}

	section.features li span.num{
		display: inline-block;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0;
		color: #FFF;
		background: #333;
		padding: 0.2em 0.5em 0.3em;
		border-radius: 3px;
		position: absolute;
		top: 0.25em;
		left: 0;
	}

	section.features li span.text{
		display: block;
	}

	section.features li span.text h6{
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		font-weight: 700;
		line-height: 1.7;
		margin-bottom: 0.5em;
	}

	section.features li span.text p{
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
		line-height: 1.7;
	}

	section.verification div.fl_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.verification div.fl_block p{
		width: 48%;
		font-size: 1.6rem;
		font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		line-height: 1.8;
		letter-spacing: 0.06em;
	}

	section.verification div.fl_block div.photo_block{
		width: 49.4%;
		display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	}

	section.verification div.fl_block div.photo_block figure{
		width: 47.8%;
		font-size: 1.4rem;
		font-size: clamp(calc((1.4rem * 0.739)), 1.07vw, 1.4rem);
	}

}


@media screen and (min-width:961px) and (max-width: 1300px){

	section.track_record div.fl_block.factory div.list::after{
		top: calc(50% - 2.3vw);
		top: calc(50% - 2.3cqw);
	}

	section.track_record div.fl_block.graf_box div.block div.photo figure + figure{
		margin-top: 0.23vw;
		margin-top: 0.23cqw;
	}
}


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

@media screen and (max-width: 960px){
	
	div.page_info div.page_info_inner h1.page_label {
		margin-bottom: 0;
	}

	section.factors div.img_block{
		background: #efeee1;
		margin-top: 6vw;
		padding: 1em 5%;
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
	}

	section.factors div.img_block h4{
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		background: #FFF;
		padding: 1em 0;
		margin-bottom: 2em;
	}

	section.factors div.img_block div.scllor_block figure{
		width: 300%;
	}

	section.mechanism {
		padding-top: 5vw;
	}

	section.mechanism div.fl_block{
		display: block;
	}

	section.mechanism div.fl_block div.l_block{
		width: 100%;
	}

	section.mechanism div.fl_block div.l_block p{
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		line-height: 1.8;
		margin-bottom: 2.5em;
	}

	section.mechanism div.fl_block div.l_block div.scllor_block figure{
		width: 210%;
	}

	section.mechanism div.fl_block div.r_block{
		width: 100%;
		background: #e8ebef;
		padding: 1em 5%;
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		position: relative;
		margin-top: 4em;
	}

	section.mechanism div.fl_block div.r_block h4{
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		background: #FFF;
		padding: 0.75em 0;
		margin-bottom: 1em;
	}

	section.mechanism div.fl_block div.r_block p.cap{
		font-size: calc(2.8rem * 0.375);
		font-size: clamp(calc((2.8rem * 0.375)), 2.91vw, 2.8rem);
		line-height: 1.3;
		position: absolute;
		top: -4em;
		left: 0;
	}

	section.mechanism div.fl_block div.r_block h5{
		font-size: calc(3.2rem * 0.375);
		font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		color: #FFF;
		background: #80a1c9;
		padding: 0.5em 0;
		border-radius: 5vw;
		margin-bottom: 1em;
	}

    section.mechanism div.fl_block div.r_block figure + h5 {
        margin-top: 2em;
    }

    section.track_record > p{
        font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
        line-height: 1.8;
        letter-spacing: 0.04em;
    }

    section.track_record div.record_group h3{
        font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: 0.06em;
        color: #FFF;
        background: #333;
        padding: 0.65em 1em;
        border-radius: 0.6vw;
        margin-bottom: 1.3em;
    }

    section.track_record div.record_list{
        display: block;
    }

    section.track_record div.record_case + div.record_case{
        margin-top: 7vw;
    }

    section.track_record div.record_case h4{
        display: flex;
        align-items: center;
        font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
        font-weight: 400;
        line-height: 1.4;
        margin-bottom: 0.6em;
    }

    section.track_record div.record_case h4 span.num{
        width: 1.7em;
        height: 1.7em;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        font-size: calc(3.2rem * 0.375);
        font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
        font-weight: 700;
        line-height: 1;
        color: #FFF;
        background: #2a71b7;
        border-radius: 50%;
        margin-right: 0.5em;
    }

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

    section.track_record figure.main_photo{
        width: 70%;
    }

    section.track_record div.record_data{
        width: 25.5%;
		margin-top: -3.2%;
    }

    section.track_record figure img{
        width: 100%;
    }

    section.track_record figure.graf{
        line-height: 0;
    }

    section.track_record figure.parts_photo{
        margin-top: 1.5vw;
    }

    section.track_record figure.main_photo figcaption,
    section.track_record figure.parts_photo figcaption{
        font-size: calc(2.6rem * 0.375);
        font-size: clamp(calc((2.6rem * 0.375)), 2.7vw, 2.6rem);
        line-height: 1.45;
        margin-top: 0;
    }

    section.track_record figure.main_photo figcaption.f_min{
       color: #2a71b7;
	}

    section.record1 div.record_group{
        margin-top: 8vw;
    }

    section.record2 div.record_list{
        margin-top: 8vw;
    }

    section.record2 ul.other_photo{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 10vw;
    }

    section.record2 ul.other_photo li{
        width: 48%;
    }

    section.record2 ul.other_photo li:nth-child(n + 3){
        margin-top: 6vw;
    }

    section.record2 ul.other_photo figcaption{
        font-size: calc(2.8rem * 0.375);
        font-size: clamp(calc((2.8rem * 0.375)), 2.91vw, 2.8rem);
        line-height: 1.4;
        margin-bottom: 0.6em;
    }


	section.track_record3 div.list_block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	section.track_record3 div.list_block div.list{
		width: 100%;
		font-size: 1.6rem;
        font-size: clamp(calc((1.6rem * 0.739)), 1.23vw, 1.6rem);
		background: #e8ebef;
		padding: 1em 1em 1.5em;
	}

	section.track_record3 div.list_block div.list + div.list{
		margin-top: 6vw;
	}

	section.track_record3 div.list_block div.list.narrow{
		width: 48%;
	}

	section.track_record3 div.list_block div.list.ng{
		width: 100%;
		background: #efeee0;
	}

	section.track_record3 div.list_block div.list h4{
		font-size: calc(3.6rem * 0.375);
		font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
		background: #FFF;
		padding: 0.75em 0;
		margin-bottom: 1em;
	}

	section.track_record3 div.list_block div.list.ng h6{
		font-size: calc(3.8rem * 0.375);
		font-size: clamp(calc((3.8rem * 0.375)), 3.95vw, 3.8rem);
		font-weight: 400;
		line-height: 1.3;
		text-align: center;
		color: #2a71b7;
		margin-bottom: 0.4em;
	}

	section.track_record3 div.list_block div.list ul{
		width: 90%;
		margin: 0 auto;
	}

	section.track_record3 div.list_block div.list.narrow ul{
		width: 80%;
		display: block;
		margin: 0 auto;
	}

	section.track_record3 div.list_block div.list.ng ul{
		width: 90%;
		margin: 0 auto;
	}

	section.track_record3 div.list_block div.list ul li{
		width: 28%;
		display: inline-block;
		font-size: calc(2.2rem * 0.375);
		font-size: clamp(calc((2.2rem * 0.375)), 2.29vw, 2.2rem);
		line-height: 1.7;
		padding-left: 0.75em;
		position: relative;
	}

	section.track_record3 div.list_block div.list.food ul li:nth-child(3n+2){
		width: 38%;
	}

	section.track_record3 div.list_block div.list.ng ul li{
		width: 33%;
	}

	section.track_record3 div.list_block div.list.ng ul li:nth-child(3n+2){
		width: 24%;
	}

	section.track_record3 div.list_block div.list.narrow ul li{
		width: 100%;
	}

	section.track_record3 div.list_block div.list ul li::before{
		content: "● ";
        font-size: 43%;
		color: #80a1c9;
		display: inline-block;
		position: absolute;
		top: 1em;
		left: 0;
	}

	section.track_record3 div.list_block div.list.ng ul li::before{
		color: #b3b3b3;
	}

	section.track_record3 ul.photo{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: calc(3.2rem * 0.375);
        font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
		margin-top: 1.5em;
	}

	section.track_record3 ul.photo li{
		width: 48%;
	}

	section.track_record3 ul.photo li:nth-child(n + 3){
		margin-top: 1.5em;
	}

	section.track_record3 ul.photo li figcaption{
		text-indent: -1.25em;
		padding-left: 1.25em;
	}

	section.features {
		position: relative;
	}

	section.features figure {
		width: 60%;
		margin: 8vw auto 0;
		z-index: 5;
	}

	section.features figure figcaption{
		font-size: calc(3.2rem * 0.375);
        font-size: clamp(calc((3.2rem * 0.375)), 3.33vw, 3.2rem);
        font-weight: 400;
        line-height: 1.3;
	}

	section.features ul.num_type{
		display: block;
	}

	section.features ul.num_type li{
		min-height: 4em;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        font-size: calc(3.4rem * 0.375);
        font-size: clamp(calc((3.4rem * 0.375)), 3.54vw, 3.4rem);
        line-height: 1.7;
        letter-spacing: 0.04em;
        position: relative;
        padding-left: 3em;
        padding-bottom: 0.75em;
        border-bottom: 1px solid #e5e5e5;
	}

	section.features li + li {
		margin-top: 0.75em;
	}

	section.features li span.num{
		display: inline-block;
        font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0;
        color: #FFF;
        background: #333;
        padding: 0.2em 0.5em 0.3em;
        border-radius: 0.6vw;
        position: absolute;
        top: 0.25em;
        left: 0;
	}

	section.features li span.text{
		display: block;
	}

	section.features li span.text h6{
		font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		font-weight: 700;
		line-height: 1.7;
		margin-bottom: 0.5em;
	}

	section.features li span.text p{
		font-size: calc(3.4rem * 0.375);
        font-size: clamp(calc((3.4rem * 0.375)), 3.54vw, 3.4rem);
        line-height: 1.7;
	}

	section.verification div.fl_block{
		display: block;
	}

	section.verification div.fl_block p{
		font-size: calc(3.6rem * 0.375);
        font-size: clamp(calc((3.6rem * 0.375)), 3.75vw, 3.6rem);
		line-height: 1.8;
		letter-spacing: 0.06em;
	}

	section.verification div.fl_block div.photo_block{
		width: 100%;
		display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
		margin-top: 6vw;
	}

	section.verification div.fl_block div.photo_block figure{
		width: 47.8%;
		font-size: calc(3.4rem * 0.375);
        font-size: clamp(calc((3.4rem * 0.375)), 3.54vw, 3.4rem);
	}


}
