@charset "UTF-8";

@media print, screen and (min-width: 961px) {
    header .slide_nav li.parent:nth-child(2) {
        border-bottom: 2px solid #6faf69;
    }

    div#page_title div.title_box {
        min-width: 33.5%;
    }

    section.about-intro {
        padding: clamp(calc(62px * 0.672), 4.34vw, 62px) 0 clamp(calc(54px * 0.672), 3.78vw, 54px);
    }

    section.about-intro .section_inner {
        min-height: clamp(calc(164px * 0.672), 11.47vw, 164px);
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    section.about-intro .about-intro__chara {
        width: 9.37%;
        position: absolute;
        top: -97%;
        left: 1.5%;
        z-index: 5;
    }

    section.about-intro p {
        width: calc(100% - clamp(calc(190px * 0.672), 13.29vw, 190px));
        font-size: clamp(calc(1.4rem * 0.672), 0.98vw, 1.4rem);
        line-height: 1.9;
        letter-spacing: 0.03em;
        margin-left: auto;
    }

    section.about-intro .about-intro__nav {
        width: 100%;
        margin-top: clamp(calc(54px * 0.672), 3.78vw, 54px);
    }

    section.about-intro .about-intro__nav ul {
        display: flex;
        justify-content: space-between;
    }

    section.about-intro .about-intro__nav li {
        width: 23.7%;
    }

    section.about-intro .about-intro__nav a {
        min-height: clamp(calc(62px * 0.672), 4.34vw, 62px);
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: clamp(calc(1.8rem * 0.672), 1.26vw, 1.8rem);
        color: #fff;
        background: #759d45;
        border-radius: 0 clamp(calc(14px * 0.672), 0.98vw, 14px) 0 clamp(calc(14px * 0.672), 0.98vw, 14px);
        padding: 0.7em 5% 0.7em 1.25em;
    }

    section.about-intro .about-intro__nav a img {
        width: clamp(calc(20px * 0.672), 1.4vw, 20px);
        flex: 0 0 auto;
    }
    section.philosophy {
        padding: 0 0 clamp(calc(76px * 0.672), 5.31vw, 76px);
        position: relative;
    }

    section.philosophy .philosophy__lead {
        font-size: clamp(calc(2.4rem * 0.672), 1.68vw, 2.4rem);
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0.08em;
        color: #5b9843;
        margin-bottom: clamp(calc(30px * 0.672), 2.1vw, 30px);
    }

    section.philosophy .philosophy__list {
        width: 92%;
        position: relative;
        z-index: 2;
    }

    section.philosophy .philosophy__list li {
        display: flex;
    }

    section.philosophy .philosophy__list li + li {
        margin-top: clamp(calc(5px * 0.672), 0.35vw, 5px);
    }

    section.philosophy .philosophy__list h4 {
        width: 31%;
        min-height: clamp(calc(56px * 0.672), 3.92vw, 56px);
        display: flex;
        align-items: center;
        font-size: clamp(calc(1.8rem * 0.672), 1.26vw, 1.8rem);
        font-weight: 400;
        color: #fff;
        background: #5b9843;
        border-radius: clamp(calc(8px * 0.672), 0.56vw, 8px);
        padding: 0.5em 1em;
    }

    section.philosophy .philosophy__list h4 span {
        font-family: "Bebas Neue", sans-serif;
        font-size: 190%;
        line-height: 1;
        border-right: 1px solid #fff;
        margin-right: 0.6em;
        padding-right: 0.6em;
    }

    section.philosophy .philosophy__list li > p {
        width: 69%;
        display: flex;
        align-items: center;
        font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
        line-height: 1.65;
        background: #f7f3f0;
        border-radius: clamp(calc(8px * 0.672), 0.56vw, 8px);
        padding: 0.8em 1.4em;
    }

    section.philosophy .philosophy__cloud {
        width: 26%;
		max-width: 310px;
        position: absolute;
        top: 7%;
        right: -18%;
        z-index: 0;
    }

    section.philosophy .philosophy__chara {
        width: 9%;
        position: absolute;
        right: 5%;
        bottom: -8%;
        z-index: 3;
    }

    section.difference {
        background: #f7f3f0;
        padding: clamp(calc(45px * 0.672), 3.15vw, 45px) 0 clamp(calc(55px * 0.672), 3.85vw, 55px);
        position: relative;
    }

    section.difference h3 {
        display: flex;
        align-items: center;
        font-size: clamp(calc(2.8rem * 0.672), 1.96vw, 2.8rem);
        font-weight: 700;
        line-height: 1.4;
        letter-spacing: 0.04em;
        color: #5b9843;
        margin-bottom: clamp(calc(24px * 0.672), 1.68vw, 24px);
    }

    section.difference h3 img {
        width: clamp(calc(58px * 0.672), 4.06vw, 58px);
        margin-left: 0.8em;
    }

    section.difference .difference__chart {
        width: 92%;
        line-height: 0;
        overflow: hidden !important;
        position: relative;
        z-index: 2;
    }

    section.difference .scroll-hint-icon-wrap,
    section.features .scroll-hint-icon-wrap {
        display: none !important;
    }

    section.difference .difference__chart img {
        width: 100%;
    }

    section.difference .difference__cloud {
        width: 25%;
        position: absolute;
        right: -2%;
        bottom: 9%;
        z-index: 5;
    }

    section.features {
        padding: clamp(calc(62px * 0.672), 4.34vw, 62px) 0 0;
    }

    section.features .features__item {
        padding: clamp(34px, 3.5vw, 50px) 0;
        border-bottom: 1px solid #000;
        position: relative;
    }

    section.features .features__item:first-of-type {
        padding-top: 0;
    }
	
	section.features .features__item:last-of-type {
        border-bottom: none;
    }

    section.features .features__item--mutual {
        display: grid;
        grid-template-columns: 18% 1fr .75fr;
        gap: 3%;
        align-items: stretch;
        padding-bottom: clamp(34px, 3.5vw, 50px);
		padding-right: 6.4%;
    }

    section.features .features__item--mutual .features__heading {
        align-self: start;
        margin-bottom: 0;
		align-items: center;
    }

    section.features .features__heading {
        display: flex;
        align-items: baseline;
        gap: .7em;
        position: relative;
        padding-top: 25px;
        margin-bottom: 0.5em;
        color: #5b9843;
    }

    section.features .features__heading > img {
		width: 2.51vw;
		width: 2.51cqw;
        max-width: 37px;
        position: absolute;
        top: 0;
        left: 0;
    }

    section.features .features__heading strong {
        color: #111;
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(calc(3.8rem * 0.672), 2.65vw, 3.8rem);
		font-weight: 400;
        line-height: 1;
    }

    section.features .features__heading h4 {
        font-size: clamp(calc(2.4rem * 0.672), 1.67vw, 2.4rem);
        line-height: 1;
    }

    section.features .features__item > p {
        font-size: clamp(calc(1.4rem * 0.672), 0.97vw, 1.4rem);
        line-height: 1.9;
		margin-bottom: 1em;
    }

    section.features .features__mutual-body {
        display: contents;
    }

    section.features .features__chara {
        width: 12%;
        max-height: none;
        position: absolute;
        left: 4.5%;
        bottom: -7%;
        z-index: 2;
    }

    section.features .features__card {
        position: relative;
        padding: 1em 2em 1.25em;
        border: 4px solid #f2d83f;
        border-radius: 14px;
    }

    section.features .features__card-chara {
        position: absolute;
        left: 40%;
        transform: translateX(-50%);
    }

    section.features .features__card-chara--mutual {
        width: 22%;
        top: -36%;
    }

    section.features .features__card-chara--nonprofit {
        width: 44%;
        top: -32%;
        left: 56%;
    }

    section.features .features__card h5 {
        margin-bottom: .6em;
        color: #5b9843;
        font-size: clamp(calc(2rem * 0.672), 1.39vw, 2rem);
    }

    section.features .features__card p {
        font-size: clamp(calc(1.4rem * 0.672), 0.97vw, 1.4rem);
        line-height: 1.8;
    }

    section.features .features__points {
        margin: 1em 0 2em;
        list-style: none;
        font-size: clamp(calc(1.5rem * 0.672), 1.04vw, 1.5rem);
        line-height: 2;
    }

    section.features .features__points li {
		font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
        display: flex;
        align-items: center;
        gap: .6em;
    }

    section.features .features__points img {
        width: 22px;
        flex: 0 0 auto;
    }

    section.features .features__figure {
        width: 100%;
        overflow: hidden !important;
		padding-right: 6.4%;
    }

    section.features .features__figure figure {
        line-height: 0;
    }

    section.features .features__figure img {
        width: 100%;
    }

    section.features .features__small-medium-cloud {
        width: 19.4%;
        position: absolute;
        top: 5%;
        right: -11%;
        z-index: -1;
    }

    section.features .features__conclusion {
        position: relative;
        margin: 5.5em 6.4% 1em 0;
        padding: 1.7em 12%;
        background: #f7f3f0;
        font-size: clamp(calc(2rem * 0.672), 1.39vw, 2rem);
        font-weight: 700;
        line-height: 1.8;
        text-align: center;
		border-radius: 12px;
    }

    section.features .features__conclusion-arrow {
        width: 24%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -72%);
    }

    section.features .features__conclusion p {
        position: relative;
        z-index: 2;
    }

    section.features .features__conclusion-chara {
        width: 16%;
        position: absolute;
        right: 5%;
        bottom: -12%;
        z-index: 3;
    }

    section.business {
        padding-top: 0;
    }

    section.business .business__body {
        margin-top: 0;
        position: relative;
        /*
         * The figure intentionally extends below this element. Safari clips
         * both axes when `overflow-x: clip` is paired with
         * `overflow-y: visible`, so leave the body visible on both axes.
         * Horizontal painting is already contained by `main`.
         */
        overflow: visible;
    }

    section.business .business__body::after {
        content: "";
        width: 100%;
        height: 100%;
        display: inline-block;
        background: url("../images/common/bg_dot.png") repeat;
        background-size: clamp(calc(3px * 0.672), .83vw, 3px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    section.business .business__body .section_inner {
		height: 46vw;
		height: 46cqw;
		max-height: 658px;
        position: relative;
    }

    section.business .business__cloud {
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    section.business .business__cloud--left {
        width: 19.5%;
        max-width: 280px;
        left: 2%;
        bottom: 47%;
    }

    section.business .business__cloud--right {
        width: 21.3%;
		max-width: 308px;
        top: 8%;
        right: -7%;
    }

    section.business h4 {
        position: absolute;
        top: 2.5em;
        left: 0;
        z-index: 3;
        width: 11.5%;
        line-height: 0;
    }

    section.business h4 img {
        width: 100%;
    }

    section.business .business__figure {
        width: 78%;
        height: 127.1%;
        position: absolute;
        top: -22%;
        left: 11%;
    }

    section.business .business__figure img {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        object-fit: contain;
    }

    section.business .business__figure-bg {
        z-index: 2;
        mix-blend-mode: multiply;
    }

    section.business .business__figure-main {
        z-index: 3;
    }

    section.other-business {
        padding: clamp(calc(50px * 0.672), 3.5vw, 50px) 0 clamp(calc(70px * 0.672), 4.9vw, 70px);
    }

    section.other-business .section_inner {
        position: relative;
    }

    section.other-business .other-business__chara {
        width: 11%;
        position: absolute;
        top: 28%;
        left: 13%;
        transform: translateY(-92%);
        z-index: 4;
    }

    section.other-business h3 {
        width: 12%;
        margin-bottom: .7em;
        line-height: 0;
    }

    section.other-business h3 img {
        width: 100%;
    }

    section.other-business p {
        font-size: clamp(calc(1.8rem * 0.672), 1.25vw, 1.8rem);
        line-height: 1.8;
    }

    section.community {
        padding-bottom: clamp(calc(90px * 0.672), 6.3vw, 90px);
    }

    section.community .community__list {
        display: flex;
        flex-wrap: wrap;
        gap: clamp(calc(55px * 0.672), 3.85vw, 55px) 3.5%;
        margin-top: clamp(calc(42px * 0.672), 2.94vw, 42px);
    }

    section.community .community__item {
        width: 31%;
    }

    section.community .community__item > img {
        width: 100%;
        aspect-ratio: 1.47 / 1;
        object-fit: cover;
        border-radius: clamp(calc(14px * 0.672), .98vw, 14px);
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    section.community .community__item h4 {
        margin-top: .75em;
        color: #5b9843;
        font-size: clamp(calc(2.0rem * 0.672), 1.39vw, 2.0rem);
        line-height: 1.5;
    }

    section.community .community__item p {
        margin-top: .5em;
        font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
        line-height: 1.9;
    }
	
	#survey .section_inner h3{
		margin-bottom: 0;
	}
	
	#survey .dot_bg {
		position: relative;
		padding: clamp(calc(34px * 0.672), 2.37vw, 34px) 0 clamp(calc(100px * 0.672), 6.99vw, 100px);
	}
	
	#survey .dot_bg::after {
        content: "";
        width: 100%;
        height: 100%;
        display: inline-block;
        background: url("../images/common/bg_dot.png") repeat;
        background-size: clamp(calc(3px * 0.672), .83vw, 3px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
	
	#survey .dot_bg div.inner{
		width: 81.8%;
		max-width: 1170px;
		margin: 0 auto;
		position: relative;
		z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 3.24%;
		position: relative;
	}
	
	#survey .dot_bg div.inner div.fl_block + div.fl_block{
		margin-top: 58px;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block{
		width: 31.1%;
		position: relative;
	} 
	
	#survey .dot_bg div.inner div.fl_block div.block div.box{
		min-height: 125px;
		font-size: clamp(calc(1.6rem * 0.672), 1.11vw, 1.6rem);
		line-height: 1.75;
		padding: 1.25em 1.75em;
		background: #FFF;
		border-radius: 8px;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q{
		border: 3px solid #5b9843;
		justify-content: flex-start;
		align-items: center;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q div {
		width: 100%;
		position: relative;
		padding-left: 2.75em;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.yellow{
		background: #ffe656;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide1{
		width: 211.2%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide2{
		width: 182.9%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.big p{
		font-size: clamp(calc(2.4rem * 0.672), 1.67vw, 2.4rem);
		line-height: 1.66;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box::after{
		content: "";
		width: 9.06%;
		height: 2.02vw;
		height: 2.02cqw;
		max-height: 29px;
		display: inline-block;
		background: url("../images/about_narashin/speech_white.svg") no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -29px;
		left: 23%;
		z-index: -1;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide1::after{
		left: 11.37%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide2::after{
		left: 12.37%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q::after{
		background: url("../images/about_narashin/speech_green.svg") no-repeat;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.yellow::after{
		background: url("../images/about_narashin/speech_yellow.svg") no-repeat;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.thick p{
		padding: 1.725em 0;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q span.icon{
		width: 11%;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q h6{
		font-size: clamp(calc(2.4rem * 0.672), 1.67vw, 2.4rem);
		line-height: 1.33;
		color: #5b9843;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box + div.box{
		margin-top: 3em;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara07 {
		width: 35.4%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: 48%;
        right: 0;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara08 {
		width: 91.2%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: 58%;
        left: 4.6%;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara09 {
		width: 36.82%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: 38%;
        right: -2.3%;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block span.cloud_l {
		width: 26.4%;
        position: absolute;
        top: 50%;
        left: -16%;
        z-index: -1;
	}
	
	#survey .dot_bg div.inner div.fl_block span.cloud_r {
		width: 23.9%;
        position: absolute;
        top: -48%;
        right: -12%;
        z-index: 2;
	}
}


@media screen and (min-width:961px) and (max-width: 1430px){
	section.features .features__heading {
        padding-top: 1.74vw;
		padding-top: 1.74cqw;
    }
	
	#survey .dot_bg div.inner div.fl_block + div.fl_block{
		margin-top: 5.88vw;
		margin-top: 5.88cqw;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box{
		min-height: 8.74vw;
		min-height: 8.74cqw;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box::after{
		bottom: -2.02vw;
		bottom: -2.02cqw;
	}
}


@media screen and (max-width: 960px) {
    section.philosophy {
        padding: 0 0 clamp(calc(120px * 0.375), 12.5vw, 120px);
        position: relative;
    }

    section.philosophy .philosophy__lead {
        font-size: clamp(calc(4.6rem * 0.375), 4.79vw, 4.6rem);
        font-weight: 700;
        line-height: 1.8;
        color: #5b9843;
        margin-bottom: clamp(calc(54px * 0.375), 5.63vw, 54px);
    }

    section.philosophy .philosophy__list {
		list-style: none;
        position: relative;
        z-index: 2;
    }

    section.philosophy .philosophy__list li + li {
        margin-top: clamp(calc(30px * 0.375), 3.13vw, 30px);
    }

    section.philosophy .philosophy__list h4 {
        min-height: clamp(calc(92px * 0.375), 9.58vw, 92px);
        display: flex;
        align-items: center;
        font-size: clamp(calc(3.8rem * 0.375), 3.96vw, 3.8rem);
        font-weight: 400;
        color: #fff;
        background: #5b9843;
        border-radius: clamp(calc(14px * 0.375), 1.46vw, 14px);
        padding: 0.55em 1em;
    }

    section.philosophy .philosophy__list h4 span {
        font-family: "Bebas Neue", sans-serif;
        font-size: 190%;
        line-height: 1;
        border-right: 1px solid #fff;
        margin-right: 0.6em;
        padding-right: 0.6em;
    }

    section.philosophy .philosophy__list li > p {
        font-size: clamp(calc(3.6rem * 0.375), 3.75vw, 3.6rem);
        line-height: 1.9;
        background: #f7f3f0;
        border-radius: clamp(calc(14px * 0.375), 1.46vw, 14px);
        padding: 1em 1.2em;
    }

    section.philosophy .philosophy__cloud {
        width: 60%;
        position: absolute;
        top: -4%;
        right: -20%;
        z-index: 0;
    }

    section.philosophy .philosophy__chara {
        width: 17%;
        position: absolute;
        right: 2%;
        bottom: -8%;
        z-index: 3;
        pointer-events: none;
    }

    div#page_title div.title_box {
        min-width: 74%;
    }

    section.about-intro {
        padding: 24vw 0 24vw;
    }

    section.about-intro .section_inner {
        position: relative;
    }

    section.about-intro .about-intro__chara {
        width: 22%;
        position: absolute;
        top: -46%;
        left: 0;
        z-index: 5;
        pointer-events: none;
    }

    section.about-intro p {
        width: 100%;
        font-size: clamp(calc(3.6rem * 0.375), 3.75vw, 3.6rem);
        line-height: 1.9;
        letter-spacing: 0.04em;
    }

    section.about-intro .about-intro__nav {
        margin-top: clamp(calc(76px * 0.375), 7.92vw, 76px);
    }

    section.about-intro .about-intro__nav li + li {
        margin-top: clamp(calc(24px * 0.375), 2.5vw, 24px);
    }

    section.about-intro .about-intro__nav a {
        min-height: clamp(calc(92px * 0.375), 9.58vw, 92px);
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: clamp(calc(3.8rem * 0.375), 3.96vw, 3.8rem);
        color: #fff;
        background: #759d45;
        border-radius: 0 clamp(calc(18px * 0.375), 1.88vw, 18px) 0 clamp(calc(18px * 0.375), 1.88vw, 18px);
        padding: 0.75em 5% 0.75em 1.25em;
    }

    section.about-intro .about-intro__nav a img {
        width: clamp(calc(36px * 0.375), 3.75vw, 36px);
        flex: 0 0 auto;
    }

    section.difference {
        background: #f7f3f0;
        padding: clamp(calc(72px * 0.375), 7.5vw, 72px) 0 clamp(calc(82px * 0.375), 8.54vw, 82px);
        position: relative;
    }

    section.difference h3 {
        display: flex;
        align-items: center;
        font-size: clamp(calc(5rem * 0.375), 5.21vw, 5rem);
        font-weight: 700;
        line-height: 1.4;
        color: #5b9843;
        margin-bottom: clamp(calc(42px * 0.375), 4.38vw, 42px);
    }

    section.difference h3 img {
        width: clamp(calc(86px * 0.375), 8.96vw, 86px);
        margin-left: 0.6em;
    }

    section.difference .difference__chart {
        width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        position: relative;
        z-index: 2;
		padding-bottom: 3vw;
    }

    section.difference .difference__chart figure {
        width: 200%;
        line-height: 0;
    }

    section.difference .difference__chart img {
        width: 100%;
    }

    section.difference .scroll-hint-icon-wrap {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 20;
        pointer-events: none;
    }

    section.difference .scroll-hint-icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: clamp(calc(150px * 0.375), 15.62vw, 150px);
        min-height: clamp(calc(118px * 0.375), 12.29vw, 118px);
        padding: clamp(calc(18px * 0.375), 1.87vw, 18px);
        background: rgba(128, 128, 128, 0.82);
        border-radius: clamp(calc(10px * 0.375), 1.04vw, 10px);
        color: #FFF;
        font-size: clamp(calc(2.4rem * 0.375), 2.5vw, 2.4rem);
        line-height: 1.4;
        text-align: center;
        opacity: 0;
        transition: opacity .25s ease;
    }

    section.difference .scroll-hint-icon::before {
        content: "☝";
        font-size: clamp(calc(6rem * 0.375), 6.25vw, 6rem);
        line-height: 1;
    }

    section.difference .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
        opacity: 1;
    }

    section.difference .difference__cloud {
        width: 45%;
        position: absolute;
        right: -10%;
        bottom: -12%;
        z-index: 5;
    }

    section.features {
        padding: clamp(calc(90px * 0.375), 9.38vw, 90px) 0 0;
    }

    section.features .features__item {
        padding: 9vw 0;
        border-bottom: 1px solid #000;
        position: relative;
    }

    section.features .features__item:first-of-type {
        padding-top: 0;
    }
	
	section.features .features__item:last-of-type {
        border-bottom: none;
    }

    section.features .features__item--mutual {
        padding-bottom: 12vw;
    }

    section.features .features__heading {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 2vw;
        position: relative;
        padding-top: 5.8vw;
        margin-bottom: 5vw;
        color: #5b9843;
    }

    section.features .features__heading > img {
        width: 7.7vw;
        max-width: none;
        position: absolute;
        top: 0;
        left: 0;
    }

    section.features .features__heading strong {
        color: #111;
        font-family: "Bebas Neue", sans-serif;
        font-size: clamp(calc(6rem * 0.375), 6.25vw, 6rem);
        font-weight: 400;
        line-height: 1;
    }

    section.features .features__heading h4 {
        font-size: clamp(calc(4.2rem * 0.375), 4.375vw, 4.2rem);
        line-height: 1;
    }

    section.features .features__item > p {
        margin-bottom: 1em;
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
        line-height: 1.9;
    }

    section.features .features__points {
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
    }

    section.features .features__mutual-body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14vw;
    }

    section.features .features__chara {
        width: 27%;
        max-height: none;
        position: absolute;
        left: 5%;
        bottom: -4%;
        z-index: 2;
    }

    section.features .features__card {
        min-height: 34vw;
        position: relative;
        padding: 6vw 5vw 5vw;
        border: 4px solid #f2d83f;
        border-radius: 2.8vw;
    }

    section.features .features__card-chara {
        position: absolute;
        left: 57%;
        transform: translateX(-50%);
    }

    section.features .features__card-chara--mutual {
        width: 26%;
        top: -11vw;
    }

    section.features .features__card-chara--nonprofit {
        width: 44%;
        top: -12vw;
		top: -12cqw;
        left: 56%;
    }

    section.features .features__card h5 {
        margin-bottom: .6em;
        color: #5b9843;
        font-size: clamp(calc(3.8rem * 0.375), 3.958vw, 3.8rem);
    }

    section.features .features__card p {
        font-size: clamp(calc(2.8rem * 0.375), 2.916vw, 2.8rem);
        line-height: 1.8;
    }

    section.features .features__points {
        margin: 3vw 0 6vw;
        list-style: none;
        line-height: 1.8;
    }

    section.features .features__points li {
        display: flex;
        align-items: flex-start;
        gap: 2vw;
        margin-bottom: 1.5vw;
    }

    section.features .features__points img {
        width: 4.5vw;
        flex: 0 0 auto;
        margin-top: .35em;
    }

    section.features .features__figure {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        position: relative;
        width: 100%;
        padding-bottom: 3vw;
        padding-right: 0;
    }

    section.features .features__figure figure {
        width: 200%;
        line-height: 0;
    }

    section.features .features__figure img {
        width: 100%;
    }

    section.features .features__small-medium-cloud {
        width: 42%;
        position: absolute;
        top: 4%;
        right: -8%;
        z-index: -1;
    }

    section.features .scroll-hint-icon-wrap {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 20;
        pointer-events: none;
    }

    section.features .scroll-hint-icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 15.62vw;
        min-height: 12.29vw;
        padding: 1.87vw;
        background: rgba(128, 128, 128, .82);
        border-radius: 1.04vw;
        color: #fff;
        font-size: clamp(calc(2.4rem * 0.375), 2.5vw, 2.4rem);
        line-height: 1.4;
        text-align: center;
        opacity: 0;
        transition: opacity .25s ease;
    }

    section.features .scroll-hint-icon::before {
        content: "☝";
        font-size: clamp(calc(6rem * 0.375), 6.25vw, 6rem);
        line-height: 1;
    }

    section.features .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
        opacity: 1;
    }

    section.features .features__conclusion {
        position: relative;
        margin: 15vw 0 5vw;
        padding: 7vw 15vw 7vw 5vw;
        background: #f7f3f0;
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
        font-weight: 700;
        line-height: 1.8;
        text-align: center;
		border-radius: 2.4vw;
    }

    section.features .features__conclusion-arrow {
        width: 42%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -72%);
    }

    section.features .features__conclusion p {
        position: relative;
        z-index: 2;
    }

    section.features .features__conclusion-chara {
        width: 25%;
        position: absolute;
        right: -4%;
        bottom: -32%;
        z-index: 3;
    }

    section.business {
        padding-top: 0;
    }

    section.business .business__body {
        position: relative;
        /* Keep the oversized figure visible in Safari. */
        overflow: visible;
    }

    section.business .business__body::after {
        content: "";
        width: 100%;
        height: 100%;
        display: inline-block;
        background: url("../images/common/bg_dot.png") repeat;
        background-size: clamp(calc(8px * 0.375), .83vw, 8px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    section.business .business__body .section_inner {
        height: 60vw;
		height: 60cqw;
        position: relative;
    }

    section.business .business__cloud {
        position: absolute;
        z-index: 1;
        pointer-events: none;
    }

    section.business .business__cloud--left {
        width: 42%;
        left: -12%;
        bottom: 30%;
    }

    section.business .business__cloud--right {
        width: 40%;
        top: 7%;
        right: -12%;
    }

    section.business h4 {
        position: absolute;
        top: 5vw;
        left: 0;
        z-index: 3;
        width: 22%;
        line-height: 0;
    }

    section.business h4 img {
        width: 100%;
    }

    section.business .business__figure {
        width: 100%;
        height: 133.1%;
        position: absolute;
        top: -20%;
        left: 0;
    }

    section.business .business__figure img {
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
        object-fit: contain;
    }

    section.business .business__figure-bg {
        z-index: 2;
        mix-blend-mode: multiply;
    }

    section.business .business__figure-main {
        z-index: 3;
    }

    section.other-business {
        padding: 14vw 0 16vw;
    }

    section.other-business .section_inner {
        position: relative;
    }

    section.other-business .other-business__chara {
        width: 20%;
        position: absolute;
        top: -15%;
        left: -3%;
        transform: translateY(-92%);
        z-index: 4;
    }

    section.other-business h3 {
        width: 29%;
        margin-bottom: 3vw;
        line-height: 0;
    }

    section.other-business h3 img {
        width: 100%;
    }

    section.other-business p {
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
        line-height: 1.8;
    }

    section.community {
        padding-bottom: 16vw;
    }

    section.community .community__list {
        display: flex;
        flex-direction: column;
        gap: 10vw;
        margin-top: 8vw;
    }

    section.community .community__item {
        width: 100%;
    }

    section.community .community__item > img {
        width: 100%;
        aspect-ratio: 1.47 / 1;
        object-fit: cover;
        border-radius: 3vw;
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
    }

    section.community .community__item h4 {
        margin-top: .75em;
        color: #5b9843;
        font-size: clamp(calc(3.8rem * 0.375), 3.958vw, 3.8rem);
        line-height: 1.5;
    }

    section.community .community__item p {
        margin-top: .5em;
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
        line-height: 1.9;
    }

    #survey .section_inner h3 {
        margin-bottom: 0;
    }

    #survey .dot_bg {
        position: relative;
        padding: 8vw 0 16vw;
    }

    #survey .dot_bg::after {
        content: "";
        width: 100%;
        height: 100%;
        display: inline-block;
        background: url("../images/common/bg_dot.png") repeat;
        background-size: clamp(calc(8px * 0.375), .83vw, 8px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }

    #survey .dot_bg div.inner {
        width: 90%;
        max-width: none;
        margin: 0 auto;
        position: relative;
        z-index: 5;
    }

    #survey .dot_bg div.inner div.fl_block {
        display: flex;
        flex-direction: column;
        gap: 7vw;
    }

    #survey .dot_bg div.inner div.fl_block + div.fl_block {
        margin-top: 14vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block {
        width: 100%;
        position: relative;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box {
        width: 100%;
        min-height: 24vw;
        padding: 6vw 7vw;
        border-radius: 2vw;
        font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
        line-height: 1.8;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.q {
        border-width: 2px;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.q div {
        padding-left: 13vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.q span.icon {
        width: 9vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.q h6 {
        font-size: clamp(calc(4rem * 0.375), 4.167vw, 4rem);
        line-height: 1.4;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.big p {
        font-size: clamp(calc(3.6rem * 0.375), 3.75vw, 3.6rem);
        line-height: 1.7;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.thick p {
        padding: 0;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.wide1,
    #survey .dot_bg div.inner div.fl_block div.block div.box.wide2 {
        width: 100%;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box::after {
        width: 10vw;
        height: 8.8vw;
        max-height: none;
        bottom: -7.5vw;
        left: 14vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box.wide1::after,
    #survey .dot_bg div.inner div.fl_block div.block div.box.wide2::after {
        left: 14vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block div.box + div.box {
        margin-top: 9vw;
    }

    #survey .dot_bg div.inner div.fl_block div.block span.chara07,
    #survey .dot_bg div.inner div.fl_block div.block span.chara09 {
        width: 24%;
        display: block;
        position: relative;
        inset: auto;
        margin: 5vw auto 0;
    }

    #survey .dot_bg div.inner div.fl_block div.block span.chara08 {
        width: 70%;
        display: block;
        position: relative;
        inset: auto;
        margin: 5vw auto 0;
    }

    #survey .dot_bg div.inner div.fl_block div.block span.chara07 img,
    #survey .dot_bg div.inner div.fl_block div.block span.chara08 img,
    #survey .dot_bg div.inner div.fl_block div.block span.chara09 img {
        width: 100%;
    }
	
	#survey .section_inner h3{
		margin-bottom: 0;
	}
	
	#survey .dot_bg {
		position: relative;
		padding: 10vw 0;
	}
	
	#survey .dot_bg::after {
        content: "";
        width: 100%;
        height: 100%;
        display: inline-block;
        background: url("../images/common/bg_dot.png") repeat;
        background-size: clamp(calc(8px * 0.375), .83vw, 8px);
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
	
	#survey .dot_bg div.inner{
		width: 90%;
		margin: 0 auto;
		position: relative;
		z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 2%;
		position: relative;
	}
	
	#survey .dot_bg div.inner div.fl_block + div.fl_block{
		margin-top: 10vw;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block{
		width: 100%;
		position: relative;
	} 
	
	#survey .dot_bg div.inner div.fl_block div.block div.box{
		font-size: clamp(calc(3.2rem * 0.375), 3.333vw, 3.2rem);
		line-height: 1.75;
		padding: 1.25em 1.75em;
		background: #FFF;
		border-radius: 8px;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block + div.block,
	#survey .dot_bg div.inner div.fl_block div.block div.box + div.box{
		margin-top: 8vw;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q{
		border: 3px solid #5b9843;
		justify-content: flex-start;
		align-items: center;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q div {
		width: 100%;
		position: relative;
		padding-left: 2.75em;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.yellow{
		background: #ffe656;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide1{
		width: 100%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide2{
		width: 80%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.big p{
		font-size: clamp(calc(4.8rem * 0.375), 5vw, 4.8rem);
		line-height: 1.66;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box::after{
		content: "";
		width: 18.12%;
		height: 4.04vw;
		height: 4.04cqw;
		max-height: 58px;
		display: inline-block;
		background: url("../images/about_narashin/speech_white.svg") no-repeat;
		background-size: contain;
		position: absolute;
		bottom: -4vw;
		left: 23%;
		z-index: -1;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide1::after{
		left: 11.37%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.wide2::after{
		left: 12.37%;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q::after{
		background: url("../images/about_narashin/speech_green.svg") no-repeat;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.yellow::after{
		background: url("../images/about_narashin/speech_yellow.svg") no-repeat;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.thick p{
		padding: 1.725em 0;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q span.icon{
		width: 10%;
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box.q h6{
		font-size: clamp(calc(4.8rem * 0.375), 5vw, 4.8rem);
		line-height: 1.33;
		color: #5b9843;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block div.box + div.box{
		margin-top: 3em;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara07 {
		width: 21.4%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: 38%;
        right: 15%;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara08 {
		width: 45.2%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: 72%;
        right: 5.6%;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block div.block span.chara09 {
		width: 25%;
        line-height: 0;
        display: inline-block;
        position: absolute;
        top: -218%;
        right: -2.3%;
        z-index: 5;
	}
	
	#survey .dot_bg div.inner div.fl_block span.cloud_l {
		width: 60%;
        position: absolute;
        top: 53%;
        left: -22%;
        z-index: -1;
	}
	
	#survey .dot_bg div.inner div.fl_block span.cloud_r {
		width: 51.9%;
        position: absolute;
        top: 16%;
        right: -14%;
        z-index: -1;
	}
}
