section.panel {
	> div {
		margin-inline: auto;
		max-width: 1920px;
		> figure {
			> img {
				max-width: 100%;
			}
		}
	}
}
#breadcrumbswrapper {
	background-color: #eee;
}
section.debut {
	> div {
        margin-inline: auto;
		max-width: 1920px;
		> figure {
			> img {
				max-width: 100%;
			}
		}
	}
}
section.top {
	> div {
        display: grid;
        > div {
            grid-area: 1/1/2/2;
        }
		> div.bg_parts {
            background-color: #3f4a58;
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 80%);
            @media (width < 900px) {
                clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
            }
        }
        > div.content {
            padding: 50px 5% 130px 5%;
            background: url(./image/bg_parts.svg) #1d2a3a;
            background-repeat: no-repeat;
            background-position: 0% 0%;
            background-size: min(400px,40vw) auto;
            clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 100%);
            @media (width < 900px) {
                 padding: 50px 5% 80px 5%;
                 clip-path: polygon(0 0, 100% 0, 100% 90%, 0% 100%);
            }
            > div {
                margin-inline: auto;
		        max-width: 1000px;
                > figure {
                    text-align: center;
                    > img {
                        max-width: 100%;
                    }
                }
                > h2 {
                    font-size: min(2.3rem, 8.0vw);
                    line-height: 1.3;
                    color: #fff;
                    font-weight: 600;
                    letter-spacing: 2px;
                    text-align: center;
                    font-family: var(--font-serif);
                    padding-top: 30px;
                }
                > p {
                    font-size: min(1.1rem, 5.0vw);
                    line-height: 2.4;
                    color: #fff;
                    font-weight: 600;
                    text-align: center;
                    letter-spacing: 1px;
                    &:nth-of-type(1) {
                        padding-top: 30px;
                    }
                    &:nth-of-type(2) {
                        padding-top: 20px;
                    }
                    @media (width < 900px) {
                        text-align: justify;
                    }
                    > br {
                        &:nth-of-type(odd) {
                            @media (width < 900px) {
                                display: none;
                            }
                        }
                    }
                }
            }
        }
	}
}
section.toplink {
    padding: 40px 5% 40px 5%;
	> div {
        margin-inline: auto;
		max-width: 1000px;
		> p {
            padding-bottom: 40px;
            font-size: min(1.1rem, 5.0vw);
            line-height: 2.0;
            color: #323333;
            font-weight: 500;
            text-align: justify;
        }
        > a {
            text-decoration: none;
            &:hover {
                opacity: 0.8;
            }
            > div {
                margin-inline: auto;
                max-width: 800px;
                padding: 30px;
                background-color: #019541;
                border-radius: 30px;
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 20px;
                @media (width < 470px) {
                    border-radius: 20px;
                    padding: 20px;
                }
                > h3 {
                    font-size: min(2.3rem, 6.0vw);
                    line-height: 1.3;
                    color: #fff;
                    font-weight: 600;
                    letter-spacing: 3px;
                    text-align: center;
                }
                > img {
                    width: min(60px,12vw);
                }
            }
        }
	}
}
section.abw {
    background-color: #e6f4ec;
    padding: 40px 5% 0px 5%;
	> div {
        margin-inline: auto;
		max-width: 1000px;
        > h2 {
            font-size: min(6rem, 8.0vw);
            line-height: 1.3;
            color: #000;
            letter-spacing: 3px;
            text-align: center;
            font-family: var(--font-roboto);
            font-weight: 800;
        }
		> p {
            font-size: min(1.1rem, 5.0vw);
            line-height: 2.0;
            color: #000;
            font-weight: 500;
            text-align: center;
        }
        > div.about {
            margin-top: 60px;
            display: grid;
            grid-template-columns: 2fr 1fr;
            column-gap: 20px;
            @media (width < 830px) {
               grid-template-columns: 1fr;
               row-gap: 40px;
               justify-items: center;
            }
            > div {
                @media (width < 830px) {
                    order: 2;
                    > h3 {
                        text-align: center;
                    }
                    > p {
                        text-align: justify;
                        > br {
                            display: none;
                        }
                    }
                }
                > h3 {
                    font-size: min(1.9rem, 6.0vw);
                    line-height: 1.3;
                    color: #000;
                    font-family: var(--font-roboto);
                    font-weight: 800;
                }
                > p {
                    padding-top: 30px;
                    font-size: min(1rem, 5.0vw);
                    line-height: 2.4;
                    color: #000;
                    font-weight: 500;
                }
            }
            > figure {
                align-self: center;
                @media (width < 830px) {
                    order: 1;
                }
                > img {
                    max-width: 100%;
                }
            }
        }
        > div.map {
            border-radius: 15px;
            margin-top: 40px;
            background-color: #fff;
            padding: 10px 20px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            @media (width < 920px) {
                grid-template-columns: repeat(1, 1fr);
                row-gap: 10px;
            }
            > figure {
                > img {
                    max-width: 100%;
                }
            }
        }
        > div.design {
            border-radius: 15px;
            margin-top: 20px;
            background-color: #fff;
            padding: 10px 20px;
            > h3 {
                padding-block: 30px;
                font-size: min(1.7rem, 6.0vw);
                line-height: 1.3;
                color: #323333;
                text-align: center;
                font-weight: 600;
                letter-spacing: 2px;
            }
            > figure {
                text-align: center;
                margin-right: 8%;
                @media (width < 800px) {
                    margin-right: 9%;
                }
                > img {
                    max-width: 80%;
                    @media (width < 800px) {
                        max-width: 100%;
                    }
                }
            }
        }
	}
}
section.abwblock {
    background-color: #e6f4ec;
    padding: 20px 5% 60px 5%;
	> div {
        margin-inline: auto;
		max-width: 1000px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
        row-gap: 20px;
        @media (width < 800px) {
            grid-template-columns: repeat(1, 1fr);
        }
        > article {
            border-radius: 15px;
            background-color: #fff;
            padding: 20px;
            > div {
                display: flex;
                align-items: center;
                > h3 {
                    font-size: min(1.4rem, 5.5vw);
                    line-height: 1.3;
                    color: #323333;
                    text-align: center;
                    font-weight: 600;
                    letter-spacing: 2px;
                }
                > img {
                    width: 50px;
                }
            }
            > p {
                padding-top: 10px;
                font-size: min(1.1rem, 5.0vw);
                line-height: 1.8;
                color: #323333;
                font-weight: 500;
                text-align: justify;
            }
        }
        > div {
            grid-column: 1/3;
            border-radius: 15px;
            background-color: #fff;
            padding: 20px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            column-gap: 40px;
            justify-items: center;
            @media (width < 800px) {
                grid-column: 1/2;
            }
            @media (width < 570px) {
                grid-template-columns: repeat(1, 1fr);
                justify-items: start;
            }
            > p {
                font-size: min(1rem, 5.0vw);
                line-height: 1.8;
                color: #323333;
                font-weight: 500;
                &:nth-of-type(2) {
                    justify-self: start;
                    @media (width < 800px) {
                        justify-self: unset;
                    }
                }
            }
        }
	}
}
section.abwlink {
    padding: 40px 5% 40px 5%;
	> div {
        margin-inline: auto;
		max-width: 1000px;
        > h3 {
            font-size: min(1.6rem, 5.5vw);
            line-height: 2.0;
            color: #323333;
            font-weight: 600;
            text-align: center;
            font-family: var(--font-serif);
            padding-bottom: 40px;
        }
		> p {
            padding-bottom: 40px;
            font-size: min(1.1rem, 5.0vw);
            line-height: 2.0;
            color: #323333;
            font-weight: 500;
            text-align: center;
            @media (width < 770px) {
                text-align: justify;
            }
        }
        > a {
            text-decoration: none;
            &:hover {
                opacity: 0.8;
            }
            > div {
                margin-inline: auto;
                max-width: 800px;
                padding: 30px;
                background-color: #019541;
                border-radius: 30px;
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 20px;
                @media (width < 470px) {
                    border-radius: 20px;
                    padding: 20px;
                }
                > h3 {
                    font-size: min(2.3rem, 6.0vw);
                    line-height: 1.3;
                    color: #fff;
                    font-weight: 600;
                    letter-spacing: 3px;
                    text-align: center;
                }
                > img {
                    width: min(60px,12vw);
                }
            }
        }
	}
}
section.slide {
    padding: 40px 0% 100px 0%;
	> div {
        margin-inline: auto;
		max-width: 1000px;
        position: relative;
        > div {
            overflow: hidden;
            height: 100%;
            div.slide {
                width: 400%;
                height: 100%;
                display: grid;
                grid-template-columns: repeat(4,1fr);
                transition: all 0.3s;
                > div {
                    width: 100%;
                    height: 100%;
                    font-size: 16px;
                    display: grid;
                    grid-template-columns: 1fr 1.2fr;
                    @media (width < 840px) {
                        display: grid;
                        grid-template-columns: 1fr;
                        grid-template-rows: subgrid;
                        grid-row: span 3;
                        row-gap: 0;
                    }
                    > figure {
                        > img {
                            max-width: 100%;
                            height: 100%;
                        }
                    }
                    > div {
                        background-color: #eeeeee;
                        padding: 40px 50px;
                        @media (width < 960px) {
                            padding: 20px 30px;
                        }
                        @media (width < 840px) {
                            padding: 40px 5%;
                        }
                        > figure {
                            text-align: center;
                            @media (width < 840px) {
                                padding-bottom: 20px;
                            }
                            > img {
                                max-width: 100%;
                                padding-bottom: 10px;
                                border-bottom: 5px solid #019541;
                            }
                        }
                        > h2 {
                            padding-block: 20px;
                            font-size: min(2.3rem, 7.0vw);
                            line-height: 1.1;
                            color: #323333;
                            font-weight: 600;
                            letter-spacing: 3px;
                            text-align: center;
                            @media (width < 880px) {
                                padding-block: 10px;
                            }
                            @media (width < 840px) {
                                padding-block: 0 20px;
                            }
                        }
                        > p {
                            align-self: end;
                            font-size: min(1.1rem, 5.0vw);
                            line-height: 1.6;
                            color: #323333;
                            font-weight: 500;
                            text-align: justify;
                        }
                    }
                }
                &.slide1 {
                    transform: translateX(0);
                }
                &.slide2 {
                    transform: translateX(-25%);
                }
                &.slide3 {
                    transform: translateX(-50%);
                }
                &.slide4 {
                    transform: translateX(-75%);
                }
            }
        }
        > span {
            &.next {
                position: absolute;
                right: calc(-2vw - 70px);
                bottom: calc(50% - 35px);
                z-index: 3;
                cursor: pointer;
                @media (width < 1250px) {
                    right: 10px;
                    bottom: -50px;
                }
                @media (width < 850px) {
                    right: 2%;
                    bottom: -50px;
                }
                > img {
                    width: 70px;
                    @media (width < 1250px) {
                        width: 40px;
                    }
                }
            }
            &.prev {
                position: absolute;
                left: calc(-2vw - 70px);
                bottom: calc(50% - 35px);
                z-index: 3;
                cursor: pointer;
                @media (width < 1250px) {
                    left: 10px;
                    bottom: -50px;
                }
                @media (width < 850px) {
                    left: 2%;
                    bottom: -50px;
                }
                > img {
                    width: 70px;
                    @media (width < 1250px) {
                        width: 40px;
                    }
                }
            }
        }
        > ul {
            position: absolute;
            bottom: -50px;
            left: 50%;
            transform: translate(-50%, 0%);
            display: flex;
            column-gap: 18px;
            z-index: 10;
            justify-content: center;
            align-items: center;
            @media (width < 850px) {
                bottom: -37.5px;
            }
            > li {
                width: 14px;
                height: 14px;
                border-radius: 50%;
                list-style: none;
                background-color: #cccccc;
                cursor: pointer;
                &:first-of-type {
                    background-color: #019541;
                }
            }
        }
	}
}
section.contact {
	padding: 60px 5% 0px 5%;
	> div {
		max-width: 1000px;
		margin-inline: auto;
		> h2 {
			text-align: center;
			font-size: 1.9rem;
            line-height: 1.3;
            color: #000;
            font-weight: 600;
		}
	}
}
section.mailform {
	padding: 50px 2% 100px 2%;
	> div {
		max-width: 900px;
		margin-inline: auto;
		> form {}
		> #submitResult {
			background-color: var(--color-accent);
			font-size: 1rem;
			line-height: 1.6;
			color: #fff;
			padding: 10px 20px;
			border-radius: 3px;
			&:empty {
				display: none;
			}
		}
	}
}
