@charset "UTF-8";

/* commom.css の上書き
---------------------------------------------------------------------------- */
@media screen and (min-width: 64em) {
    .l-header .header-navigation .navigation-list > .list-items > .item-02 > a::before {
        display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 2px;
		content: "";
		background-color: #A7AD94;
    }
}

.item-02 .l-navi-local .list-item:last-child a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 2px;
    content: "";
    background-color: #A7AD94;
}

#breadcrumbs.bg-line {
    background-color: rgba(255, 255, 255, 0.6);
}

a:hover, a:focus, a:active {
    text-decoration: none;
    opacity: 1;
}

/* l-content
---------------------------------------------------------------------------- */
.l-content {
    width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.l-content-ss {
	width: 90%;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}

.l-content-s {
	width: 90%;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

.l-content-l {
	width: 90%;
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
    .l-content,
    .l-content-ss,
	.l-content-s,
	.l-content-l {
		width: 100%;
		padding-left: calc(20 / 375 * 100vw);
		padding-right: calc(20 / 375 * 100vw);
	}
}

/* m-main
---------------------------------------------------------------------------- */
.m-main {
    font-family: 'Noto Sans JP', sans-serif;
    color: #202E30;
    margin-top: 40px;
}

@media screen and (max-width: 1023px) {
    .m-main {
        margin-top: 60px;
    }
}

/* m-color
---------------------------------------------------------------------------- */
.m-color01 {
    color: #80A81B;
}

.m-color02 {
    color: #F18800;
}

/* .nopc .nosp .ib
---------------------------------------------------------------------------- */
.nopc {
    display: none;
}

@media screen and (max-width: 767px)  {
    .nopc {
        display: block;
    }

    .nosp {
        display: none;
    }
}

.ib {
    display: inline-block;
}

/* m-btn01
---------------------------------------------------------------------------- */
.m-btn01 {
    display: block;
    font-size: min(calc(26 / 1280 * 100vw), 26px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
    color: #fff;
    width: 100%;
    padding: min(calc(18 / 1280 * 100vw), 18px) min(calc(20 / 1280 * 100vw), 20px);
    background-color: #80A81B;
    border-radius: 4px;
    position: relative;
    transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}
.m-btn01 span {
    font-size: min(calc(22 / 1280 * 100vw), 22px);
    padding: 0 min(calc(7 / 1280 * 100vw), 7px);
    margin-inline: min(calc(5 / 1280 * 100vw), 5px);
    background-color: #356A00;
    display: inline-flex;
}
.m-btn01::after {
    content: '';
    position: absolute;
    bottom: min(calc(8 / 1280 * 100vw), 8px);
    right: min(calc(7 / 1280 * 100vw), 7px);
    width: min(calc(11 / 1280 * 100vw), 11px);
    aspect-ratio: 11 / 11;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./../images/icon_blank_white.png);
}
.m-btn01:hover {
    background-color: #fff;
    color: #80A81B;
}
.m-btn01:hover::after {
    background-image: url(./../images/icon_blank_green.png);
}
.m-btn01.btn01--common::before {
    content: '効率的な業界分析の事例つき！';
    position: absolute;
    top: max(-22px, calc(-22 / 1280 * 100vw));
    left: 50%;
    transform: translateX(-50%);
    width: min(calc(264 / 1280 * 100vw), 264px);
    aspect-ratio: 264 / 33.37;
    padding: 0 min(calc(5 / 1280 * 100vw), 5px);
    background-color: #fff;
    border-radius: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    font-weight: 700;
    line-height: calc(24 / 16);
    letter-spacing: 0.04em;
    color: #202E30;
    transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}
.m-btn01.btn01--common:hover::before {
    color: #fff;
    background-color: #202E30;
}

@media screen and (max-width: 767px) {
    .m-btn01 {
        font-size: calc(20 / 375 * 100vw);
        padding: calc(20 / 375 * 100vw) calc(10 / 375 * 100vw);
        border-radius: calc(4 / 375 * 100vw);
    }
    .m-btn01 span {
        font-size: calc(15 / 375 * 100vw);
        padding: calc(2 / 375 * 100vw) calc(5 / 375 * 100vw);
        margin-inline: calc(5 / 375 * 100vw);
    }
    .m-btn01::after {
        bottom: calc(8 / 375 * 100vw);
        right: calc(8 / 375 * 100vw);
        width: calc(11 / 375 * 100vw);
    }
    .m-btn01.btn01--common::before {
        top: calc(-17 / 375 * 100vw);
        width: calc(232 / 375 * 100vw);
        aspect-ratio: 232 / 28;
        border-radius: calc(60 / 375 * 100vw);
        font-size: calc(14 / 375 * 100vw);
        line-height: calc(20 / 14);
    }
}

/* m-btn02
---------------------------------------------------------------------------- */
.m-btn02 {
    font-size: min(calc(15 / 1280 * 100vw), 15px);
    font-weight: 400;
    line-height: calc(30 / 15);
    letter-spacing: 0.04em;
    color: #fff;
    text-align: center;
    width: 100%;
    height: min(calc(36 / 1280 * 100vw), 36px);
    background-color: #646E6F;
    border: 1px solid #9A9A9A;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}
.m-btn02:hover {
    background-color: #fff;
    color: #646E6F;
}

@media screen and (max-width: 767px) {
    .m-btn02 {
        font-size: calc(15 / 375 * 100vw);
        height: calc(36 / 375 * 100vw);
        border-radius: calc(2 / 375 * 100vw);
    }
}

/* m-ttl
---------------------------------------------------------------------------- */
.m-ttl {
    font-size: min(calc(42 / 1280 * 100vw), 42px);
    font-weight: 700;
    line-height: calc(59 / 42);
    letter-spacing: 0.08em;
    text-align: center;
    color: #202E30;
}
.m-ttl .imgBox {
    display: inline-block;
    width: min(calc(110.63 / 1280 * 100vw), 110.63px);
    aspect-ratio: 110.63 / 41.96;
}
.m-ttl .imgBox img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
}
.m-ttl .fz {
    font-size: min(calc(28 / 1280 * 100vw), 28px);
    letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
    .m-ttl {
        font-size: calc(30 / 375 * 100vw);
        line-height: calc(43 / 30);
    }

    .m-ttl .imgBox {
        width: calc(91.82 / 375 * 100vw);
        aspect-ratio: 91.82 / 34.82;
    }

    .m-ttl .fz {
        font-size: calc(20 / 375 * 100vw);
    }
}

/* m-sec-cv
---------------------------------------------------------------------------- */
.m-sec-cv {
    padding-bottom: min(calc(54 / 1280 * 100vw), 54px);
    position: relative;
}
.m-sec-cv::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(./../images/bg_sec_cv_pc.png);
}

.m-sec-cv-head {
    width: 100%;
    height: min(calc(119 / 1280 * 100vw), 119px);
    background-color: rgba(0, 0, 0, .5);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.m-sec-cv-head::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: min(calc(50 / 1280 * 100vw), 50px);
    height: min(calc(25 / 1280 * 100vw), 25px);
    background-color: rgba(0, 0, 0, .5);
    -webkit-clip-path: polygon(50% min(calc(25 / 1280 * 100vw), 25px), 0% 0%, min(calc(50 / 1280 * 100vw), 50px) 0%);
            clip-path: polygon(50% min(calc(25 / 1280 * 100vw), 25px), 0% 0%, min(calc(50 / 1280 * 100vw), 50px) 0%);
}

.m-sec-cv-ttl {
    font-size: min(calc(42 / 1280 * 100vw), 42px);
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
    display: inline-flex;
    align-items: center;
}

.m-sec-cv-wrapper {
    display: flex;
    gap: 0 min(calc(50 / 1280 * 100vw), 50px);
    justify-content: center;
    align-items: flex-end;
    margin-top: min(calc(35 / 1280 * 100vw), 35px);
}

.m-sec-cv-lists {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.m-sec-cv-list {
    font-size: min(calc(20 / 1280 * 100vw), 20px);
    font-weight: 700;
    line-height: calc(41 / 20);
    letter-spacing: 0.08em;
    color: #fff;
    padding-left: min(calc(35 / 1280 * 100vw), 35px);
    position: relative;
}
.m-sec-cv-list::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: min(calc(24 / 1280 * 100vw), 24px);
    height: min(calc(24 / 1280 * 100vw), 24px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./../images/icn_check_orange.svg);
}
.m-sec-cv-list a {
    color: #fff;
    transition: opacity 0.3s ease 0s;
}
.m-sec-cv-list a:hover {
    opacity: .8;
}

.m-sec-cv-button {
    width: min(calc(496 / 1280 * 100vw), 496px);
    margin-bottom: min(calc(15 / 1280 * 100vw), 15px);
}

.m-sec-cv-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 min(calc(16 / 1280 * 100vw), 16px);
    margin-top: min(calc(25 / 1280 * 100vw), 25px);
    padding-top: min(calc(20 / 1280 * 100vw), 20px);
    border-top: 1px solid #646E6F;
}

.m-sec-cv-box-txt {
    font-size: min(calc(18 / 1280 * 100vw), 18px);
    font-weight: 700;
    line-height: calc(31 / 18);
    letter-spacing: 0.08em;
    color: #fff;
}

.m-sec-cv-box-button {
    width: min(calc(159 / 1280 * 100vw), 159px);
}

@media screen and (max-width: 767px) {
    .m-sec-cv {
        padding-bottom: calc(40 / 375 * 100vw);
    }
    .m-sec-cv::after {
        background-image: url(./../images/bg_sec_cv_sp.png);
    }

    .m-sec-cv-head {
        height: calc(86.38 / 375 * 100vw);
    }
    .m-sec-cv-head::after {
        width: calc(40 / 375 * 100vw);
        height: calc(15 / 375 * 100vw);
        -webkit-clip-path: polygon(50% calc(15 / 375 * 100vw), 0% 0%, calc(40 / 375 * 100vw) 0%);
                clip-path: polygon(50% calc(15 / 375 * 100vw), 0% 0%, calc(40 / 375 * 100vw) 0%);
    }

    .m-sec-cv-ttl {
        font-size: calc(30 / 375 * 100vw);
        line-height: calc(44 / 30);
    }

    .m-sec-cv-wrapper {
        flex-direction: column;
        align-items: center;
        gap: calc(32 / 375 * 100vw);
        margin-top: calc(16 / 375 * 100vw);
    }

    .m-sec-cv-lists {
        width: 100%;
    }

    .m-sec-cv-list {
        font-size: calc(18 / 375 * 100vw);
        line-height: calc(37 / 18);
        letter-spacing: 0.05em;
        padding-left: calc(33 / 375 * 100vw);
    }
    .m-sec-cv-list::before {
        width: calc(22.65 / 375 * 100vw);
        height: calc(22.65 / 375 * 100vw);
    }

    .m-sec-cv-button {
        width: 100%;
        margin-bottom: initial;
    }
    
    .m-sec-cv-box {
        flex-direction: column;
        gap: calc(9 / 375 * 100vw);
        margin-top: calc(20 / 375 * 100vw);
        padding-top: calc(18 / 375 * 100vw);
    }

    .m-sec-cv-box-txt {
        font-size: calc(16 / 375 * 100vw);
        line-height: calc(31 / 16);
    }

    .m-sec-cv-box-button {
        width: calc(159 / 375 * 100vw);
        margin-inline: auto;
    }
}

/* p-mv
---------------------------------------------------------------------------- */
.p-mv {
    padding-top: min(calc(85 / 1280 * 100vw), 85px);
    position: relative;
}

.p-mv-img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    bottom: 0;
    width: 100%;
    height: 100%;
}
.p-mv-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.p-mv-textBox {
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    color: #fff;
}

.p-mv-txt01 {
    font-size: min(calc(25 / 1280 * 100vw), 25px);
    letter-spacing: 0.1em;
}

.p-mv-txt02 {
    font-size: min(calc(30 / 1280 * 100vw), 30px);
    letter-spacing: 0.07em;
    margin-top: min(calc(12 / 1280 * 100vw), 12px);
}
.p-mv-txt02 .bgColor {
    display: inline-flex;
    vertical-align: text-bottom;
    padding-inline: min(calc(5 / 1280 * 100vw), 5px);
    margin-inline: min(calc(5 / 1280 * 100vw), 5px);
    background-color: #F18800;
}
.p-mv-txt02 .fzColor {
    display: inline-block;
    line-height: 1;
    vertical-align: text-bottom;
    background-color: #fff;
    padding: min(calc(8 / 1280 * 100vw), 8px) min(calc(7 / 1280 * 100vw), 7px) min(calc(7 / 1280 * 100vw), 7px);
    margin-inline: min(calc(7 / 1280 * 100vw), 7px);
}
.p-mv-txt02 .fzColor img {
    width: min(calc(66.94 / 1280 * 100vw), 66.94px);
}
.p-mv-txt02 .fzl {
    font-size: min(calc(34 / 1280 * 100vw), 34px);
}
.p-mv-txt02 .fzll {
    font-size: min(calc(40 / 1280 * 100vw), 40px);
}

.p-mv-ttl02 {
    font-size: min(calc(67 / 1280 * 100vw), 67px);
    font-weight: 900;
    letter-spacing: 0.04em;
    margin-top: min(calc(40 / 1280 * 100vw), 40px);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.p-mv-ttl02 .fzl {
    font-size: min(calc(80 / 1280 * 100vw), 80px);
}
.p-mv-ttl02 .ruby {
    display: inline-block;
	position: relative;
}
.p-mv-ttl02 .ruby::before {
    content: attr(data-ruby);
    position: absolute;
    top: -.8em;
    left: 0;
    right: 0;
	margin-left: 0.5em;
	letter-spacing: 1.05em;
    font-size: 0.5em;
}
.p-mv-ttl02 .imgBox {
    margin-inline: min(calc(20 / 1280 * 100vw), 20px);
}
.p-mv-ttl02 .imgBox img {
    width: min(calc(225.22 / 1280 * 100vw), 225.22px);
    aspect-ratio: 225.22 / 103.01;
    vertical-align: text-bottom;
}

.p-mv-button {
    width: 100%;
    max-width: min(calc(750 / 1280 * 100vw), 750px);
    margin-top: min(calc(65 / 1280 * 100vw), 65px);
    margin-inline: auto;
}

.p-mv-scrollDown {
    font-family: "Oswald", sans-serif;
    font-size: min(calc(13 / 1280 * 100vw), 13px);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.12em;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    width: 100%;
    padding-top: min(calc(10 / 1280 * 100vw), 10px);
    padding-bottom: min(calc(35 / 1280 * 100vw), 35px);
    background-color: rgba(127, 168, 27, .3);
    position: relative;
    margin-top: min(calc(87 / 1280 * 100vw), 87px);
}
.p-mv-scrollDown::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: min(calc(28 / 1280 * 100vw), 28px);
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .p-mv {
        padding-top: calc(30 / 375 * 100vw);
    }

    .p-mv-txt01 {
        font-size: calc(16 / 375 * 100vw);
    }

    .p-mv-txt02 {
        font-size: calc(19 / 375 * 100vw);
        margin-top: calc(6 / 375 * 100vw);
    }
    .p-mv-txt02 .bgColor {
        padding-inline: calc(5 / 375 * 100vw);
        margin-inline: initial;
    }
    .p-mv-txt02 .fzColor {
        padding: calc(4 / 375 * 100vw) calc(7 / 375 * 100vw) calc(2 / 375 * 100vw);
        margin-inline: calc(2 / 375 * 100vw);
        margin-top: calc(8 / 375 * 100vw);
    }
    .p-mv-txt02 .fzColor img {
        width: calc(43.43/ 375 * 100vw);
    }
    .p-mv-txt02 .fzl {
        font-size: calc(23 / 375 * 100vw);
    }
    .p-mv-txt02 .fzll {
        font-size: calc(26 / 375 * 100vw);
    }

    .p-mv-ttl02 {
        font-size: calc(36 / 375 * 100vw);
        margin-top: calc(22 / 375 * 100vw);
        display: block;
    }
    .p-mv-ttl02 .fzl {
        font-size: calc(43 / 375 * 100vw);
    }
    .p-mv-ttl02 .spfz {
        font-size: calc(34 / 375 * 100vw);
    }
    .p-mv-ttl02 .ruby::before {
        top: -.7em;
    }
    .p-mv-ttl02 .imgBox {
        margin-inline: 0 calc(13 / 375 * 100vw);
    }
    .p-mv-ttl02 .imgBox img {
        width: calc(125 / 375 * 100vw);
        aspect-ratio: 125 / 57;
    }

    .p-mv-button {
        max-width: initial;
        margin-top: calc(37 / 375 * 100vw);
    }

    .p-mv-scrollDown {
        font-size: calc(10 / 375 * 100vw);
        padding-top: calc(7 / 375 * 100vw);
        padding-bottom: calc(18 / 375 * 100vw);
        margin-top: calc(37 / 375 * 100vw);
    }
    .p-mv-scrollDown::after {
        height: calc(14 / 375 * 100vw);
    }
}

/* p-sec01
---------------------------------------------------------------------------- */
.p-sec01 {
    padding-top: min(calc(50 / 1280 * 100vw), 50px);
    padding-bottom: min(calc(50 / 1280 * 100vw), 50px);
}

.p-sec01-inner {
    width: 90%;
	max-width: 1548px;
	margin-inline: auto;
}

.p-sec01-img {
    width: 100%;
    aspect-ratio: 1548 / 51;
}
.p-sec01-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
}

@media screen and (max-width: 767px) {
    .p-sec01 {
        padding-top: calc(20 / 375 * 100vw);
        padding-bottom: calc(20 / 375 * 100vw);
    }

    .p-sec01-img {
        width: 100%;
        aspect-ratio: 335 / 69;
    }
}

/* p-logoSlide
---------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
	.p-logoSlide {
		width: 100%;
        height: calc(27 / 375 * 100vw);
		overflow-x: hidden;
	}

	@-webkit-keyframes bg-slider {
		from {
			transform: translateX(calc(-23 / 375 * 100vw));
		}

		to {
			transform: translateX(calc(-100% + 200vw));
		}
	}

	@keyframes bg-slider {
		from {
			transform: translateX(calc(-23 / 375 * 100vw));
		}

		to {
			transform: translateX(calc(-100% + 200vw));
		}
	}

	.p-logoSlide-lists {
		display: flex;
		width: calc(2493 / 375 * 100vw);
        height: inherit;
		-webkit-animation: bg-slider 60s linear infinite;
		        animation: bg-slider 60s linear infinite;
	}

	.p-logoSlide-list {
		padding-left: calc(23 / 375 * 100vw);
		width: calc(831 / 375 * 100vw);
	}

	.p-logoSlide-list img {
		width: 100%;
		height: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
		-o-object-position: center;
		   object-position: center;
	}
}

/* p-sec02
---------------------------------------------------------------------------- */
.p-sec02 {
    padding-top: min(calc(80 / 1280 * 100vw), 80px);
    padding-bottom: min(calc(25 / 1280 * 100vw), 25px);
    position: relative;
}
.p-sec02::before,
.p-sec02::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.p-sec02::before {
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(./../images/bg_sec02_pc.png);
}
.p-sec02::after {
    z-index: -2;
    background-image: linear-gradient(180deg, #EBEBEB 0, #fff 100%);
    background-repeat: no-repeat;
}

.p-sec02-ttl {
    font-size: min(calc(34 / 1280 * 100vw), 34px);
    font-weight: 700;
    line-height: calc(53 / 34);
    letter-spacing: 0.08em;
    color: #202E30;
    text-align: center;
}

.p-sec02-cards {
    display: flex;
    gap: 0 calc(30 / 1200 * 100%);
    margin-top: min(calc(48 / 1280 * 100vw), 48px);
}

.p-sec02-card {
    width: calc(33.3333% - (30 / 1200 * 100%) * 2 / 3);
    border: 1px solid #C2C2C2;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-sec02-card-img {
    width: 100%;
    aspect-ratio: 380 / 184;
}
.p-sec02-card-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.p-sec02-card-body {
    padding: min(calc(22.5 / 1280 * 100vw), 22.5px) min(calc(10 / 1280 * 100vw), 10px);
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-sec02-card-body-txt {
    font-size: min(calc(20 / 1280 * 100vw), 20px);
    font-weight: 700;
    line-height: calc(34 / 20);
    letter-spacing: 0.08em;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .p-sec02 {
        padding-top: calc(30 / 375 * 100vw);
        padding-bottom: calc(25 / 375 * 100vw);
    }
    .p-sec02::before {
        background-image: url(./../images/bg_sec02_sp.png);
    }

    .p-sec02-ttl {
        font-size: calc(26 / 375 * 100vw);
        line-height: calc(41 / 26);
    }

    .p-sec02-cards {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        margin-top: calc(28 / 375 * 100vw);
    }

    .p-sec02-card {
        width: 100%;
    }

    .p-sec02-card-img {
        aspect-ratio: 335 / 162;
    }

    .p-sec02-card-body {
        padding: calc(17.5 / 375 * 100vw) calc(10 / 375 * 100vw);
    }

    .p-sec02-card-body-txt {
        font-size: calc(18 / 375 * 100vw);
        line-height: calc(31 / 18);
    }
}

/* p-sec03
---------------------------------------------------------------------------- */
.p-sec03 {
    padding-top: min(calc(140 / 1280 * 100vw), 140px);
    padding-bottom: min(calc(82 / 1280 * 100vw), 82px);
    position: relative;
}
.p-sec03::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(./../images/bg_sec03_pc.png);
}

.p-sec03-wrapper {
    display: flex;
    justify-content: center;
    gap: 0 min(calc(25 / 1280 * 100vw), 25px);
    padding-left: min(calc(12 / 1280 * 100vw), 12px);
}

.p-sec03-textBox {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    margin-top: min(calc(25 / 1280 * 100vw), 25px);
}

.p-sec03-txt {
    font-size: min(calc(28 / 1280 * 100vw), 28px);
    font-weight: 700;
    line-height: calc(50 / 28);
    letter-spacing: 0.08em;
}
.p-sec03-txt .imgBox {
    margin-right: min(calc(13 / 1280 * 100vw), 13px);
    margin-left: min(calc(80 / 1280 * 100vw), 80px);
}
.p-sec03-txt .imgBox img {
    width: min(calc(134.36 / 1280 * 100vw), 134.36px);
    aspect-ratio: 134.36 / 50.96;
    vertical-align: text-bottom;
}
.p-sec03-txt .fz {
    font-size: min(calc(34 / 1280 * 100vw), 34px);
}
.p-sec03-txt .ruby {
    display: inline-block;
    position: relative;
}
.p-sec03-txt .ruby::before {
    content: attr(data-ruby);
    position: absolute;
    top: -.7em;
    left: 0;
    right: 0;
    margin-left: 0.4em;
    letter-spacing: 0.75em;
    font-size: 0.6em;
}

.p-sec03-img {
    width: min(calc(398 / 1280 * 100vw), 398px);
    aspect-ratio: 398 / 245
}
.p-sec03-img img {
    width: 105%;
    max-width: 105%;
    height: 108%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center top;
       object-position: center top;
}

.p-sec03-ttl {
    font-size: min(calc(28 / 1280 * 100vw), 28px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.08em;
    color: #fff;
    text-align: center;
    background-color: #202E30;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: min(calc(4 / 1280 * 100vw), 4px) min(calc(30 / 1280 * 100vw), 30px) min(calc(7 / 1280 * 100vw), 7px);
    margin-top: min(calc(30 / 1280 * 100vw), 30px);
    margin-inline: auto;
    position: relative;
}
.p-sec03-ttl::after {
    content: '';
    position: absolute;
    top: 99%;
    left: min(calc(170 / 1280 * 100vw), 170px);
    width: min(calc(32.31 / 1280 * 100vw), 32.31px);
    aspect-ratio: 32.31 / 26.15;
    background-color: #202E30;
    -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
            clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.p-sec03-ttl .fz {
    font-size: min(calc(42 / 1280 * 100vw), 42px);
    line-height: calc(59 / 42);
    letter-spacing: 0.08em;
    margin-left: min(calc(10 / 1280 * 100vw), 10px);
}

.p-sec03-cards {
    display: flex;
    gap: 0 calc(30 / 1200 * 100%);
    margin-top: min(calc(70 / 1280 * 100vw), 70px);
}

.p-sec03-card {
    width: calc(33.3333% - (30 / 1200 * 100%) * 2 / 3);
    border: 1px solid #80A81B;
    padding: min(calc(19 / 1280 * 100vw), 19px) min(calc(18 / 1280 * 100vw), 18px) min(calc(26.5 / 1280 * 100vw), 26.5px);
    background-color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(calc(26.5 / 1280 * 100vw), 26.5px);
}
.p-sec03-card::before {
    content: '';
    position: absolute;
    top: max(-17px, calc(-17 / 1280 * 100vw));
    left: min(calc(11 / 1280 * 100vw), 11px);
    width: min(calc(54 / 1280 * 100vw), 54px);
    aspect-ratio: 54 / 54;
    background-color: #80A81B;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
}
.p-sec03-card.card--01::before {
    background-size: min(calc(13.54 / 1280 * 100vw), 13.54px);
    background-image: url(./../images/icn_num01.svg);
}
.p-sec03-card.card--02::before {
    background-size: min(calc(20.02 / 1280 * 100vw), 20.02px);
    background-image: url(./../images/icn_num02.svg);
}
.p-sec03-card.card--03::before {
    background-size: min(calc(19.26 / 1280 * 100vw), 19.26px);
    background-image: url(./../images/icn_num03.svg);
}

.p-sec03-card-img {
    width: 100%;
    aspect-ratio: 340 / 171;
}
.p-sec03-card-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.p-sec03-card-body {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-sec03-card-body-txt {
    font-size: min(calc(24 / 1280 * 100vw), 24px);
    font-weight: 700;
    line-height: calc(41 / 24);
    letter-spacing: 0.08em;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .p-sec03 {
        padding-top: calc(80 / 375 * 100vw);
        padding-bottom: calc(50 / 375 * 100vw);
    }
    .p-sec03::after {
        background-image: url(./../images/bg_sec03_sp.png);
    }
    .p-sec03-wrapper {
        flex-direction: column;
        align-items: center;
        gap: calc(27 / 375 * 100vw);
        padding-left: initial;
    }
    .p-sec03-textBox {
        margin-top: initial;
    }

    .p-sec03-txt {
        font-size: calc(23 / 375 * 100vw);
        line-height: calc(40 / 23);
    }
    .p-sec03-txt .imgBox  {
        margin-right: calc(10 / 375 * 100vw);
        margin-left: initial;
    }
    .p-sec03-txt .imgBox img {
        width: calc(91.82 / 375 * 100vw);
        aspect-ratio: 91.82 / 34.82;
    }
    .p-sec03-txt .fz {
        font-size: calc(28 / 375 * 100vw);
    }
    .p-sec03-txt .ruby::before {
        top: -.5em;
    }

    .p-sec03-img {
        width: calc(301 / 375 * 100vw);
        aspect-ratio: 301 / 185;
    }
    .p-sec03-img img {
        width: 103%;
        max-width: 103%;
        height: 110%;
    }

    .p-sec03-ttl {
        font-size: calc(20 / 375 * 100vw);
        width: 100%;
        padding: calc(7 / 375 * 100vw) 0 calc(8 / 375 * 100vw);
        margin-top: calc(34 / 375 * 100vw);
    }
    .p-sec03-ttl::after {
        left: calc(112 / 375 * 100vw);
        width: calc(30 / 375 * 100vw);
    }
    .p-sec03-ttl .fz {
        font-size: calc(30 / 375 * 100vw);
        margin-left: calc(3 / 375 * 100vw);
    }

    .p-sec03-cards {
        flex-direction: column;
        gap: calc(35 / 375 * 100vw);
        margin-top: calc(57 / 375 * 100vw);
    }

    .p-sec03-card {
        width: 100%;
        padding: calc(19 / 375 * 100vw) calc(19 / 375 * 100vw) calc(16 / 375 * 100vw);
        gap: calc(18 / 375 * 100vw);
    }
    .p-sec03-card::before {
        top: calc(-15 / 375 * 100vw);
        left: calc(9 / 375 * 100vw);
        width: calc(47 / 375 * 100vw);
    }
    .p-sec03-card.card--01::before {
        background-size: calc(12.08 / 375 * 100vw);
    }
    .p-sec03-card.card--02::before {
        background-size: calc(17.85 / 375 * 100vw);
        background-position: center left calc(13 / 375 * 100vw);
    }
    .p-sec03-card.card--03::before {
        background-size: calc(17.18 / 375 * 100vw);
    }

    .p-sec03-card-img {
        aspect-ratio: 295 / 148;
    }

    .p-sec03-card-body-txt {
        font-size: calc(20 / 375 * 100vw);
        line-height: calc(34 / 20);
    }
}

/* p-sec04
---------------------------------------------------------------------------- */
.p-sec04 {
    padding-top: min(calc(80 / 1280 * 100vw), 80px);
    padding-bottom: min(calc(75 / 1280 * 100vw), 75px);
    background-color: #E9F7DD;
}

.p-sec04-items {
    margin-top: min(calc(90 / 1280 * 100vw), 90px);
}

.p-sec04-item {
    background-color: #fff;
    padding-bottom: min(calc(70 / 1280 * 100vw), 70px);
    border-top: 1px solid #80A81B;
    position: relative;
}
.p-sec04-item:nth-child(n + 2) {
    margin-top: min(calc(95 / 1280 * 100vw), 95px);
}

.p-sec04-item-box {
    position: absolute;
    top: max(-45px, calc(-45 / 1280 * 100vw));
    left: min(calc(100 / 1280 * 100vw), 100px);
    padding: min(calc(10 / 1280 * 100vw), 10px) min(calc(20 / 1280 * 100vw), 20px);
    background-color: #F18800;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 min(calc(38 / 1280 * 100vw), 38px);
    position: relative;
}
.p-sec04-item-box::after {
    content: '';
    position: absolute;
    top: 99%;
    left: min(calc(100 / 1280 * 100vw), 100px);
    width: min(calc(32 / 1280 * 100vw), 32px);
    height: min(calc(26 / 1280 * 100vw), 26px);
    background-color: #F18800;
    -webkit-clip-path: polygon(100% 0, 0 0, 100% 100%);
            clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.p-sec04-item-box-numImg.numImg--01 {
    width: min(calc(72.37 / 1280 * 100vw), 72.37px);
    aspect-ratio: 72.37 / 21.93;
}
.p-sec04-item-box-numImg.numImg--02 {
    width: min(calc(73.86 / 1280 * 100vw), 73.86px);
    aspect-ratio: 73.86 / 22.33;
}
.p-sec04-item-box-numImg.numImg--03 {
    width: min(calc(74.07 / 1280 * 100vw), 74.07px);
    aspect-ratio: 74.07 / 22.51;
}
.p-sec04-item-box-numImg img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
}

.p-sec04-item-box-ttl {
    font-size: min(calc(32 / 1280 * 100vw), 32px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.08em;
    color: #fff;
    position: relative;
}
.p-sec04-item-box-ttl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: max(-20px, calc(-20 / 1280 * 100vw));
    transform: translateY(-50%);
    width: 1px;
    height: min(calc(37 / 1280 * 100vw), 37px);
    background-color: #fff;
}

.p-sec04-item-inner {
    width: 95%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.p-sec04-item-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 calc(30 / 1200 * 100%);
}

.p-sec04-item-lists {
    width: min(calc(590 / 1280 * 100vw), 590px);
}

.p-sec04-item-list {
    font-size: min(calc(20 / 1280 * 100vw), 20px);
    font-weight: 700;
    line-height: calc(34 / 20);
    letter-spacing: 0.08em;
    color: #202E30;
    padding-left: min(calc(36 / 1280 * 100vw), 36px);
    padding-bottom: min(calc(12 / 1280 * 100vw), 12px);
    border-bottom: 1px dashed #C2C2C2;
    position: relative;
}
.p-sec04-item-list::before {
    content: '';
    position: absolute;
    top: min(calc(8 / 1280 * 100vw), 8px);
    left: 0;
    width: min(calc(24 / 1280 * 100vw), 24px);
    height: min(calc(24 / 1280 * 100vw), 24px);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./../images/icn_check_orange_bgGray.svg);
}
.p-sec04-item-list .fz {
    display: inline-block;
    font-size: min(calc(24 / 1280 * 100vw), 24px);
    line-height: calc(34 / 24);
    letter-spacing: 0.08em;
}
.p-sec04-item-list .fzSmall {
    display: inline-block;
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    font-weight: 400;
    line-height: calc(27 / 16);
    letter-spacing: 0.08em;
    margin-top: min(calc(5 / 1280 * 100vw), 5px);
}
.p-sec04-item-list:nth-child(n + 2) {
    margin-top: min(calc(13 / 1280 * 100vw), 13px);
}

.p-sec04-swiperContainer {
    width: calc(520 / 1200 * 100%);
    margin-top: max(-113px, calc(-113 / 1280 * 100vw));
    position: relative;
}

.p-sec04-swiper {
    box-shadow: 0 0 20px rgba(0, 0, 0, .12);
}

.p-sec04-swiper-img {
    width: 100%;
    aspect-ratio: 520 / 505;
    position: relative;
}
.p-sec04-swiper-img img {
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

@media screen and (max-width: 767px) {
    .p-sec04 {
        padding-top: calc(50 / 375 * 100vw);
        padding-bottom: calc(50 / 375 * 100vw);
    }

    .p-sec04-items {
        margin-top: calc(58 / 375 * 100vw);
    }

    .p-sec04-item {
        padding-bottom: calc(54 / 375 * 100vw);
    }
    .p-sec04-item:nth-child(n + 2) {
        margin-top: calc(53 / 375 * 100vw);
    }

    .p-sec04-item-box {
        top: calc(-25 / 375 * 100vw);
        left: calc(14 / 375 * 100vw);
        padding: calc(9 / 375 * 100vw) calc(12 / 375 * 100vw);
        gap: 0 calc(32 / 375 * 100vw);
    }
    .p-sec04-item-box::after {
        left: calc(73 / 375 * 100vw);
        width: calc(17 / 375 * 100vw);
        height: calc(13 / 375 * 100vw);
    }

    .p-sec04-item-box-numImg.numImg--01 {
        width: calc(47.65 / 375 * 100vw);
        aspect-ratio: 47.65 / 12.75;
    }
    .p-sec04-item-box-numImg.numImg--02 {
        width: calc(48.51 / 375 * 100vw);
        aspect-ratio: 48.51 / 12.99;
    }
    .p-sec04-item-box-numImg.numImg--03 {
        width: calc(48.64 / 375 * 100vw);
        aspect-ratio: 48.64 / 13.07;
    }

    .p-sec04-item-box-ttl {
        font-size: calc(20 / 375 * 100vw);
    }
    .p-sec04-item-box-ttl::before {
        left: calc(-17 / 375 * 100vw);
        height: calc(27 / 375 * 100vw);
    }

    .p-sec04-item-inner {
        width: 100%;
		padding-left: calc(20 / 375 * 100vw);
		padding-right: calc(20 / 375 * 100vw);
    }

    .p-sec04-item-wrapper {
        flex-direction: column;
        gap: calc(30 / 375 * 100vw);
    }

    .p-sec04-item-lists {
        width: 100%;
        margin-top: calc(-3 / 375 * 100vw);
    }

    .p-sec04-item-list {
        font-size: calc(16 / 375 * 100vw);
        line-height: calc(27 / 16);
        letter-spacing: normal;
        padding-left: calc(31 / 375 * 100vw);
        padding-bottom: calc(12 / 375 * 100vw);
    }
    .p-sec04-item-list::before {
        top: calc(6 / 375 * 100vw);
        width: calc(20 / 375 * 100vw);
        height: calc(20 / 375 * 100vw);
    }
    .p-sec04-item-list .fz {
        display: inline;
        font-size: calc(18 / 375 * 100vw);
        line-height: calc(27 / 18);
        letter-spacing: -0.01em;
    }
    .p-sec04-item-list .fzSmall {
        font-size: calc(14 / 375 * 100vw);
        line-height: calc(24 / 14);
        margin-top: initial;
    }
    .p-sec04-item-list .spfz {
        font-size: calc(16 / 375 * 100vw);
    }
    .p-sec04-item-list .splsminus {
        letter-spacing: -0.05em;
    }
    .p-sec04-item-list:nth-child(n + 2) {
        margin-top: calc(14 / 375 * 100vw);
    }

    .p-sec04-swiperContainer {
        width: 100%;
        margin-top: initial;
    }

    .p-sec04-swiper {
        box-shadow: 0 0 10px rgba(0, 0, 0, .12);
    }
}

/* swiper
---------------------------------------------------------------------------- */
/*------------- .swiper-button-prev01 .swiper-button-next01 .swiper-button-prev02 .swiper-button-next02 .swiper-button-prev03 .swiper-button-next03 -------------*/
.swiper-button-prev01,
.swiper-button-next01,
.swiper-button-prev02,
.swiper-button-next02,
.swiper-button-prev03,
.swiper-button-next03 {
	position: absolute;
	width: min(calc(38 / 1280 * 100vw), 40px);
	height: min(calc(38 / 1280 * 100vw), 40px);
	bottom: max(-13px, calc(-13 / 1280 * 100vw));
	z-index: 1;
    background-color: #80A81B;
    border-radius: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
    transition: background-color 0.3s ease 0s;
}
.swiper-button-prev01:hover,
.swiper-button-next01:hover,
.swiper-button-prev02:hover,
.swiper-button-next02:hover,
.swiper-button-prev03:hover,
.swiper-button-next03:hover {
    background-color: #C2C2C2;
}

.swiper-button-prev01::before,
.swiper-button-prev02::before,
.swiper-button-prev03::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translateY(-50%);
    width: min(calc(30 / 1280 * 100vw), 30px);
    aspect-ratio: 1 / 1;
    background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(./../images/img_navigation_arrow_left.svg);
}
.swiper-button-prev01,
.swiper-button-prev02 {
	left: calc(50% - min(calc(95 / 1280 * 100vw), 95px));
}
.swiper-button-prev03 {
    left: calc(50% - min(calc(73 / 1280 * 100vw), 73px));
}

.swiper-button-next01::after,
.swiper-button-next02::after,
.swiper-button-next03::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25%;
    transform: translateY(-50%);
    width: min(calc(30 / 1280 * 100vw), 30px);
    aspect-ratio: 1 / 1;
    background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(./../images/img_navigation_arrow_right.svg);
}
.swiper-button-next01,
.swiper-button-next02 {
	right: calc(50% - min(calc(95 / 1280 * 100vw), 95px));
}
.swiper-button-next03 {
	right: calc(50% - min(calc(73 / 1280 * 100vw), 73px));
}

/*------------- .swiper-pagination01 .swiper-pagination02 .swiper-pagination03 -------------*/
.swiper-pagination01.swiper-pagination-horizontal,
.swiper-pagination02.swiper-pagination-horizontal,
.swiper-pagination03.swiper-pagination-horizontal {
    margin-top: min(calc(27 / 1280 * 100vw), 27px);
    text-align: center;
}

.swiper-pagination01.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination02.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination03.swiper-pagination-bullets .swiper-pagination-bullet {
    width: min(calc(10 / 1280 * 100vw), 10px);
    height: min(calc(10 / 1280 * 100vw), 10px);
    margin: 0 min(calc(5 / 1280 * 100vw), 5px);
}

.swiper-pagination01 .swiper-pagination-bullet-active,
.swiper-pagination02 .swiper-pagination-bullet-active,
.swiper-pagination03 .swiper-pagination-bullet-active {
    background-color: #202E30;
}

@media screen and (max-width: 767px) {
    /*------------- .swiper-button-prev01 .swiper-button-next01 -------------*/
    .swiper-button-prev01,
    .swiper-button-next01,
    .swiper-button-prev02,
    .swiper-button-next02,
    .swiper-button-prev03,
    .swiper-button-next03 {
        width: calc(38 / 375 * 100vw);
        height: calc(38 / 375 * 100vw);
        bottom: calc(-13 / 375 * 100vw);
    }

    .swiper-button-prev01::before,
    .swiper-button-prev02::before,
    .swiper-button-prev03::before {
        width: calc(25 / 375 * 100vw);
    }

    .swiper-button-prev01,
    .swiper-button-prev02 {
        left: calc(50% - calc(92 / 375 * 100vw));
    }
    .swiper-button-prev03 {
        left: calc(50% - calc(70 / 375 * 100vw));
    }

    .swiper-button-next01::after,
    .swiper-button-next02::after,
    .swiper-button-next03::after {
        width: calc(25 / 375 * 100vw);
    }

    .swiper-button-next01,
    .swiper-button-next02 {
        right: calc(50% - calc(92 / 375 * 100vw));
    }
    .swiper-button-next03 {
        right: calc(50% - calc(70 / 375 * 100vw));
    }

    /*------------- .swiper-pagination01 .swiper-pagination02 .swiper-pagination03 -------------*/
    .swiper-pagination01.swiper-pagination-horizontal,
    .swiper-pagination02.swiper-pagination-horizontal,
    .swiper-pagination03.swiper-pagination-horizontal {
        margin-top: calc(28 / 375 * 100vw);
    }

    .swiper-pagination01.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-pagination02.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-pagination03.swiper-pagination-bullets .swiper-pagination-bullet {
        width: calc(10 / 375 * 100vw);
        height: calc(10 / 375 * 100vw);
        margin: 0 calc(5 / 375 * 100vw);
    }
}

/* p-sec05
---------------------------------------------------------------------------- */
.p-sec05 {
    padding-top: min(calc(63 / 1280 * 100vw), 63px);
    padding-bottom: min(calc(80 / 1280 * 100vw), 80px);
}

.p-sec05-cards {
    display: flex;
    justify-content: center;
    gap: 0 min(calc(44 / 1280 * 100vw), 44px);
    margin-top: min(calc(77 / 1280 * 100vw), 77px);
}

.p-sec05-card {
    width: min(calc(480 / 1280 * 100vw), 480px);
    padding: min(calc(20 / 1280 * 100vw), 20px) min(calc(19 / 1280 * 100vw), 19px) min(calc(28 / 1280 * 100vw), 28px);
    border: 1px solid #80A81B;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(calc(23 / 1280 * 100vw), 23px);
}
.p-sec05-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(calc(54 / 1280 * 100vw), 54px);
    aspect-ratio: 1 / 1;
    background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(./../images/icn_check_bgGreen.svg);
}

.p-sec05-card-img {
    width: 100%;
    aspect-ratio: 440 / 221;
}
.p-sec05-card-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.p-sec05-card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: min(calc(20 / 1280 * 100vw), 20px);
}

.p-sec05-card-ttl {
    font-size: min(calc(28 / 1280 * 100vw), 28px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    color: #80A81B;
    text-align: center;
}
.p-sec05-card-ttl .fzSmall {
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    line-height: calc(27 / 16);
    color: #9A9A9A;
}
.p-sec05-card-ttl.ttl--mt {
    margin-top: min(calc(15 / 1280 * 100vw), 15px);
}

.p-sec05-card-txt {
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    line-height: calc(27 / 16);
    letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
    .p-sec05 {
        padding-top: calc(37 / 375 * 100vw);
        padding-bottom: calc(50 / 375 * 100vw);
    }

    .p-sec05-cards {
        flex-direction: column;
        gap: calc(37 / 375 * 100vw);
        margin-top: calc(47 / 375 * 100vw);
    }

    .p-sec05-card {
        width: 100%;
        padding: calc(17 / 375 * 100vw) calc(19 / 375 * 100vw) calc(21 / 375 * 100vw);
        gap: calc(26 / 375 * 100vw);
    }
    .p-sec05-card::before {
        transform: translate(-50%, -40%);
        width: calc(44.3 / 375 * 100vw);
    }

    .p-sec05-card-img {
        aspect-ratio: 295 / 148;
    }

    .p-sec05-card-body {
        gap: calc(20 / 375 * 100vw);
    }

    .p-sec05-card-ttl {
        font-size: calc(23 / 375 * 100vw);
    }
    .p-sec05-card-ttl .fzSmall {
        font-size: calc(14 / 375 * 100vw);
        line-height: calc(24 / 14);
        letter-spacing: -0.05em;
    }
    .p-sec05-card-ttl .spls {
        letter-spacing: normal;
    }
    .p-sec05-card-ttl.ttl--mt {
        margin-top: calc(7 / 375 * 100vw);
    }

    .p-sec05-card-txt {
        font-size: calc(16 / 375 * 100vw);
        line-height: calc(27 / 16);
    }
}

/* p-sec06
---------------------------------------------------------------------------- */
.p-sec06 {
    padding-top: min(calc(75 / 1280 * 100vw), 75px);
    padding-bottom: min(calc(80 / 1280 * 100vw), 80px);
}

.p-sec06-cards {
    display: flex;
    justify-content: center;
    gap: 0 min(calc(30 / 1280 * 100vw), 30px);
    margin-top: min(calc(55 / 1280 * 100vw), 55px);
}

.p-sec06-card {
    width: min(calc(380 / 1280 * 100vw), 380px);
    padding: min(calc(28 / 1280 * 100vw), 28px) min(calc(20 / 1280 * 100vw), 20px) min(calc(28 / 1280 * 100vw), 28px);
    border-top: 1px solid #80A81B;
    background-color: #F5F5F5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(calc(18 / 1280 * 100vw), 18px);
}

.p-sec06-card-ttl {
    font-size: min(calc(20 / 1280 * 100vw), 20px);
    font-weight: 700;
    line-height: calc(34 / 20);
    letter-spacing: 0.08em;
    color: #80A81B;
    text-align: center;
}

.p-sec06-card-wrap {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: min(calc(20 / 1280 * 100vw), 20px);
}

.p-sec06-card-iframe {
    width: 100%;
    aspect-ratio: 340 / 191;
    cursor: pointer;
    position: relative;
}
/* .p-sec06-card-iframe.iframe--btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    width: 80px;
    aspect-ratio: 80 / 80;
    background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(./../images/icn_iframe_btn.png);
} */
.p-sec06-card-iframe iframe,
.p-sec06-card-iframe img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

.p-sec06-card-txt {
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    font-weight: 400;
    line-height: calc(27 / 16);
    letter-spacing: 0.08em;
    flex: 1;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 767px) {
    .p-sec06 {
        padding-top: calc(50 / 375 * 100vw);
        padding-bottom: calc(50 / 375 * 100vw);
    }

    .p-sec06-cards {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        margin-top: calc(21 / 375 * 100vw);
    }

    .p-sec06-card {
        width: 100%;
        padding: calc(18 / 375 * 100vw) calc(20 / 375 * 100vw) calc(17 / 375 * 100vw);
        gap: calc(20 / 375 * 100vw);
    }

    .p-sec06-card-ttl {
        font-size: calc(18 / 375 * 100vw);
        line-height: calc(30 / 18);
    }

    .p-sec06-card-wrap {
        gap: calc(18 / 375 * 100vw);
    }

    .p-sec06-card-iframe {
        aspect-ratio: 295 / 166;
    }

    .p-sec06-card-txt {
        font-size: calc(16 / 375 * 100vw);
        line-height: calc(27 / 16);
        text-align: center;
    }
}

/* p-sec07
---------------------------------------------------------------------------- */
.p-sec07 {
    padding-top: min(calc(63 / 1280 * 100vw), 63px);
    padding-bottom: min(calc(80 / 1280 * 100vw), 80px);
    background-color: #F5F5F5;
}

.p-sec07-cards {
    display: flex;
    gap: 0 calc(30 / 1200 * 100%);
    margin-top: min(calc(52 / 1280 * 100vw), 52px);
}

.p-sec07-cards + .m-ttl {
    padding-top: min(calc(63 / 1280 * 100vw), 63px);
}

.p-sec07-cards.p-sec07-cards-movie{
    justify-content: center;
}

.p-sec07-card {
    width: calc(33.3333% - (30 / 1200 * 100%) * 2 / 3);
    box-shadow: 0 0 20px rgba(0, 0, 0, .12);
}

.p-sec07-card-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    color: #1A1A1A;
    width: 100%;
    height: 100%;
}

.p-sec07-card-img {
    width: 100%;
    aspect-ratio: 380 / 232;
    position: relative;
}
.p-sec07-card-img img {
    position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}

.p-sec07-card-body {
    padding: min(calc(28 / 1280 * 100vw), 28px) min(calc(30 / 1280 * 100vw), 30px) min(calc(30 / 1280 * 100vw), 30px);
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: min(calc(18 / 1280 * 100vw), 18px);
}

.p-sec07-card-ttl {
    font-size: min(calc(20 / 1280 * 100vw), 20px);
    font-weight: 700;
    line-height: calc(34 / 20);
    letter-spacing: 0.04em;
    padding-left: min(calc(14 / 1280 * 100vw), 14px);
    position: relative;
}
.p-sec07-card-ttl::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: min(calc(4 / 1280 * 100vw), 4px);
    height: 100%;
    background-color: #80A81B;
}

.p-sec07-card-txt {
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    font-weight: 400;
    line-height: calc(27 / 16);
    letter-spacing: 0.08em;
    margin-top: min(calc(15 / 1280 * 100vw), 15px);
}

.p-sec07-card-btn {
    font-size: min(calc(16 / 1280 * 100vw), 16px);
    font-weight: 700;
    line-height: calc(27 / 16);
    letter-spacing: 0.08em;
    text-align: center;
    color: #fff;
    background-color: #646E6F;
    border: 1px solid #646E6F;
    width: 100%;
    padding: min(calc(3.5 / 1280 * 100vw), 3.5px) min(calc(20 / 1280 * 100vw), 20px);
    border-radius: 2px;
    position: relative;
    transition: background-color 0.3s ease 0s, color 0.3s ease 0s;
}

.p-sec07-card-btn::after {
    content: '';
    position: absolute;
    bottom: min(calc(7 / 1280 * 100vw), 7px);
    right: min(calc(6 / 1280 * 100vw), 6px);
    width: min(calc(11 / 1280 * 100vw), 11px);
    aspect-ratio: 1 / 1;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(./../images/icon_blank_white.png);
}
.p-sec07-card-link:hover .p-sec07-card-btn {
    background-color: #fff;
    color: #646E6F;
}
.p-sec07-card-link:hover .p-sec07-card-btn::after {
    background-image: url(./../images/icon_blank_gray.png);
}

@media screen and (max-width: 767px) {
    .p-sec07 {
        padding-top: calc(37 / 375 * 100vw);
        padding-bottom: calc(50 / 375 * 100vw);
    }

    .p-sec07-cards {
        flex-direction: column;
        gap: calc(20 / 375 * 100vw);
        margin-top: calc(30 / 375 * 100vw);
    }

    .p-sec07-cards + .m-ttl {
        padding-top: calc(50 / 375* 100vw);
    }

    .p-sec07-card {
        width: 100%;
        box-shadow: 0 0 16px rgba(0, 0, 0, .12);
    }

    .p-sec07-card-img {
        aspect-ratio: 335 / 205;
    }

    .p-sec07-card-body {
        padding: calc(22 / 375 * 100vw) calc(20 / 375 * 100vw) calc(20 / 375 * 100vw);
        gap: calc(16 / 375 * 100vw);
    }

    .p-sec07-card-ttl {
        font-size: calc(20 / 375 * 100vw);
        letter-spacing: 0.04em;
        padding-left: calc(14 / 375 * 100vw);
    }
    .p-sec07-card-ttl::before {
        width: calc(4 / 375 * 100vw);
    }

    .p-sec07-card-txt {
        font-size: calc(16 / 375 * 100vw);
        margin-top: calc(18 / 375 * 100vw);
    }

    .p-sec07-card-btn {
        font-size: calc(15 / 375 * 100vw);
        padding: calc(4.5 / 375 * 100vw) calc(20 / 375 * 100vw);
        border-radius: 2px;
    }
    .p-sec07-card-btn::after {
        bottom: calc(7 / 375 * 100vw);
        right: calc(6 / 375 * 100vw);
        width: calc(11 / 375 * 100vw);
    }
}
