
.mainvisual {
    /* background-image: url(../../image/home/mainvisual1.jpg);
    background-size: cover;
    background-position: center top; */
    background-color: var(--color-base);
    height: calc(100vh - calc(var(--layout-header-size) / 2.5));
    min-height: 400px;
    position: relative;
    color: var(--color-white);
    width: 100%;
    overflow: hidden;
}

.mainvisual .movie {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.mainvisual .movie video {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%,-50%);
}

#fvVideo {
    opacity:0;
}

.mainvisual::after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1;
}

.mainvisual-text {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    transform: translateY(-50%);
    z-index: 2;
}

.mainvisual-main-text {
    margin-bottom: calc(var(--layout-gap) / 2);
}

.mainvisual-main-text img {
    width: 80%;
}

.mainvisual-sub-text {
    font-size: clamp(1.6rem, calc(1.6rem + 0.5vw), 3.2rem);
    margin-bottom: calc(var(--layout-gap) * 1.5);
    font-weight: bold;
}

.mainvisual-logo img {
    width: 45%;
}

@media print,
screen and (min-width: 1200px) {
    .mainvisual {
        height: calc(100vh - var(--layout-header-size));
        min-height: 500px;
    }

    .mainvisual-main-text {
        margin-bottom: var(--layout-gap);
    }

    .mainvisual-main-text img {
        width: 50%;
        max-width: 850px;
    }

    .mainvisual-sub-text {
        margin-bottom: calc(var(--layout-gap) * 3);
    }

    .mainvisual-logo img {
        width: 35%;
        max-width: 360px;
    }
}

/*================================================
  concept
================================================*/

.concept {
    color: var(--color-white);
    background-color: var(--color-base);
    padding-block: calc(var(--layout-gap) * 4);
}

.concept-main-message {
    /* font-size: clamp(3rem, calc(3rem + 0.5vw), 6rem); */
    font-size: clamp(2.8rem, 2rem + 4vw, 6.0rem);
    font-weight: 900;
    line-height: 1.5;
    margin-block: calc(var(--layout-gap) / 1.2) var(--layout-gap);
}

.concept-text {
    font-weight: bold;
    text-align: left;
}

.concept-text p:first-child {
    margin-bottom: calc(var(--layout-gap) * 1.5);
}

@media print,
screen and (min-width: 960px) {
    .concept-text {
        text-align: center;
    }
}

@media print,
screen and (min-width: 1200px) {
    .concept {
        padding-block: calc(var(--layout-gap) * 4);
    }

    .concept-main-message {
        margin-block: var(--layout-gap) calc(var(--layout-gap) * 3.25);
    }

    .concept-text:first-child {
        margin-bottom: calc(var(--layout-gap) * 2.35);
    }
}

/*================================================
  section-common
================================================*/

.section-common {
    padding-block: var(--layout-gap);
    background-size: cover;
    background-position: center;
    position: relative;
    color: var(--color-white);
    z-index: 1;
}

.section-common::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            rgba(0, 0, 0, 0.7),
            rgba(255, 255, 255, 0));
    z-index: -1;
}

.production.section-common::after {
    background: linear-gradient(90deg,
            rgba(255, 255, 255, 0),
            rgba(0, 0, 0, 0.7));
}

.section-common .section-title {
    margin-bottom: calc(var(--layout-gap) / 2.5);
}

.section-title-border {
    border-bottom: 2px solid var(--color-white);
    margin-bottom: calc(var(--layout-gap) * 1.5);
}

.section-catchcopy {
    /* font-size: clamp(2.8rem, calc(2.8rem + 0.5vw), 6rem); */
    font-size: clamp(2.8rem, 2rem + 4vw, 6.0rem);
    font-weight: 900;
    margin-bottom: var(--layout-gap);
}

.section-text {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: var(--layout-gap);
}

.about {
    background-image: url(../../image/home/section-about-image.jpg);
}

.production {
    background-image: url(../../image/home/section-production-image.jpg);
}

.products {
    background-image: url(../../image/home/section-products-image.jpg);
}

@media print,
screen and (min-width: 1200px) {
    .section-common {
        padding-block: calc(var(--layout-gap) * 2);
    }

    .section-common .section-title {
        margin-bottom: calc(var(--layout-gap) / 1.5);
    }

    .section-title-border {
        margin-bottom: calc(var(--layout-gap) * 3);
    }

    .section-catchcopy {
        margin-bottom: calc(var(--layout-gap) * 2.5);
    }

    .section-text {
        font-size: 1.8rem;
        margin-bottom: calc(var(--layout-gap) * 2);
    }

}


/*================================================
  cta
================================================*/
.cta-item-text-ja {
    font-size: 1.6rem;
}
.cta-item-text-en {
    font-size: clamp(2rem, 1.44rem + 2.8vw, 4.8rem);
}
.cta-item {
    width: 70%;
}

@media print,
screen and (min-width: 500px) {
    .cta-item {
        width: 60%;
    }
}

@media print,
screen and (min-width: 769px) {
    .cta-item {
        width: 35%;
    }
}

@media print,
screen and (min-width: 1200px) {
    .cta-item {
        width: 40%;
        max-width: 384px;
    }

    .cta-item-text-ja {
        font-size: 2rem;
    }
}
