/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
.header {
    .header-inner {
        .header-logo {
            width: calc((304 / 1920) * 100vw);
        }

        .header-nav {
            ul {
                gap: calc((4 / 192) * 100vw);

                li {
                    margin: 0;

                    a {
                        .en {
                            font-family: "Noto Sans JP", sans-serif;
                            font-size: max(calc((18 / 1920) * 100vw), 15px);
                        }
                    }
                }
            }
        }
    }
}

/* SNS */
.sns-icon-list {
	& li {
	  & a[href*="line.me"],
	  & a[href*="lin.ee"] {
		background: #06C755;
	  }
   
	  & a[href*="twitter.com"],
	  & a[href*="x.com"],
	  & a[href*="t.co"] {
		background: #000;
	  }
   
	  & a[href*="facebook.com"],
	  & a[href*="fb.com"] {
		background: #1877f2;
	  }
   
	  & a[href*="instagram.com"],
	  & a[href*="instagr.am"] {
		background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
	  }
   
	  & a[href*="youtube.com"],
	  & a[href*="youtu.be"] {
		background: #FF0000;
	  }
	}
  }
.mainvisual2 {
    background: #e8f2f9;
}

.swiper-pagination-bullet {
    background: #4089d2 !important;
}

.title-type01 {
    padding: 0 0 20px;

    h2 {
        span {
            display: inline-block !important;

            &.ja {
                color: #336;
                font-size: 4.2rem;
                font-weight: 900;
            }

            &.en {
                color: #fee300;
                font-size: 2.2rem;
                font-weight: 500;
                margin-left: 1.0em;
                opacity: 1;
            }
        }
    }

    &::before {
        top: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: #3ba5ef;
    }
}

.title-type02 {
    margin-bottom: 20px;
    padding-bottom: 0;

    h2 {
        span {
            &.ja {
                color: #336;
                font-size: 6.2rem;
                font-weight: 900;
                opacity: 1;
                display: block;
            }

            &.en {
                display: inline-block;
                color: #0887e0;
                font-size: 1.8rem;
                font-weight: 500;
                margin-left: 1.0em;
                height: 30px;
                left: 30px;
                text-align: center;
                padding: 0 5.0em;
                opacity: 1;
                border: #0887e0 2px solid;
            }
        }
    }

    &::before {
        display: none;
    }
}

.box {
    .btn {
        a {
            font-size: 1.6rem;
            font-weight: 500;
            padding: 13px 60px 12px 35px;
        }
    }
}

.main-banner01,
.main-banner03 {
    ul {
        li {
            a {
                padding: 0;
            }
        }
    }
}

.main-blog {
    .blog-type01 {
        ul {
			grid-template-columns: repeat(4, 1fr);
			gap: 28px;
            li {
                .text {
                    .category {
                        background: #0887e0;
                    }
                }
            }
        }
    }
}

.main-board {
    margin-bottom: 0;
    padding-bottom: 124px !important;

    .image-bg-type02 {
        .text {
            padding: 75px 0 165px;

            h3 {
                display: inline-block;
                font-size: 2.2rem;
                font-weight: 500;
                padding-bottom: .5em;
                margin-bottom: 1.5em;
                border-bottom: #3ba5ef 4px solid;
            }

            .copy {
                color: #fee300;
                font-size: 2.4rem;
                font-weight: 600;
                margin-bottom: 2.0em;
            }

            p {
                font-size: 1.6rem;
                line-height: 2;

                &:not(:last-child) {
                    margin-bottom: 2.0em;
                }
            }
        }
    }

    &::before {
        background: #f0f2f3 !important;
    }
}

.main-trouble {
    position: relative;
    padding-bottom: 185px !important;
    margin-bottom: 0;

    .title-type02 {
        margin-bottom: 20px;
        padding-bottom: 0;

        h2 {
            span {
                &.ja {
                    color: #336;
                    font-size: 6.3rem;
                    font-weight: 600;
                    opacity: 1;
                    display: block;

                    strong {
                        color: #2388c7;
                        font-size: 12.2rem;
                        font-weight: 900;
                        position: relative;
                        display: inline-block;

                        &::before,
                        &::after {
                            content: '';
                            position: absolute;
                        }

                        &::before {
                            top: -10px;
                            left: 50%;
                            transform: translateX(-50%);
                            width: 185px;
                            height: 14px;
                            background: url(/mwp/wp-content/themes/mwp-theme/assets/images/dots.png) no-repeat center center / cover;
                        }

                        &::after {
                            bottom: 0;
                            right: 0;
                            left: 0;
                            border-bottom: #2388c7 4px solid;
                        }
                    }
                }
            }
        }

        &::before {
            display: none;
        }
    }

    .list-check-type01 {
        margin: 0 auto;
        padding: 40px 0;
        max-width: 660px;
        background: rgba(255, 255, 255, .8);

        ul {
            li {
                line-height: 2.0;
                font-size: 2.2rem;
                font-weight: 600;
                margin: 0;

                p {
                    margin: 0;

                    strong {
                        color: #e5450c;
                        font-size: 2.6rem;
                    }
                }

                &::before {
                    content: "";
                    top: 50%;
                    transform: translateY(-50%);
                    width: 19px;
                    height: 18px;
                    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/check.png) no-repeat center center / cover;
                }
            }
        }
    }

    &::before {
        background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-trouble-bg.png) no-repeat center center / cover !important;
    }

    &::after {
        content: '';
        position: absolute;
        bottom: 60px;
        left: 50%;
        transform: translateX(-50%);
        width: 84px;
        height: 99px;
        background: url(/mwp/wp-content/themes/mwp-theme/assets/images/arrow.png) no-repeat center center / cover;
    }
}

.main-solution {
    .text {
        max-width: unset;

        h3 {
            margin-bottom: .8em;
            font-size: 4.2rem;
            font-weight: 900;

            span {
                font-size: 5.2rem;
            }

            strong {
                color: #fee300;
                font-size: 7rem;
            }
        }

        .copy {
            height: 64px;
            line-height: 64px;
            font-size: 2.4rem;
            font-weight: 900;

            strong {
                display: inline-block;
                padding: 0 .5em;
                background: #fff;
                font-size: 3.1rem;
                font-weight: 600;
                color: #002364;
            }
        }
    }
}

.main-reason {
    .title-type02 {
        margin-bottom: 64px;

        h2 {
            span {
                &.en {
                    display: inline-block;
                    color: #0887e0;
                    font-size: 2rem;
                    font-weight: 500;
                    height: 40px;
                    text-align: center;
                    padding: 0 3em;
                    opacity: 1;
                    border: #0887e0 2px solid;
                    font-family: "Noto Sans JP", sans-serif;

                    strong {
                        font-size: 2.5rem;
                    }
                }

                &.ja {
                    line-height: 1;
                    color: #336;
                    font-size: 4.2rem;
                    font-weight: 900;
                    opacity: 1;
                    display: block;

                    span.big-letter {
                        position: relative;
                        padding-bottom: .2em;
                        margin: 0;
                        display: inline-block;
                        font-size: 6.2rem;
                        opacity: 1;

                        strong {
                            font-size: 8.2rem;
                        }

                        span {
                            display: inline;
                            font-size: 5.2rem;
                            opacity: 1;
                        }

                        &::before {
                            content: '';
                            position: absolute;
                            bottom: 0;
                            right: 0;
                            left: 0;
                            border-bottom: #0887e0 5px solid;
                        }
                    }
                }
            }
        }

        &::before {
            display: none;
        }
    }

    .image-text-type03 {
        .text {
            padding: 120px calc((13 / 192) * 100vw) 180px calc((8 / 192) * 100vw);

            h3 {
                position: absolute;
                bottom: 60px;
                left: -60px;
                max-width: unset;
                margin: 0;

                img {
                    width: auto !important;
                    height: calc((184 / 1920) * 100vw);
                }
            }

            .copy {
                color: #fee300;
                font-weight: 900;
                font-size: calc((35 / 1920) * 100vw);
            }

            p {
                position: relative;
                z-index: 10;
                color: #fff;
                font-size: calc((16 / 1920) * 100vw);

                strong {
                    color: #fee300;
                    font-weight: 400;
                }
            }

            &::before {
                background: #0887e0;
            }
        }

        &.right {
            .text {
                padding: 120px calc((8 / 192) * 100vw) 180px calc((13 / 192) * 100vw);

                h3 {
                    left: 0;
                }
            }
        }
    }
}

.main-commitment {
    padding: 54px 0 100px;

    .title-type02 {
        margin-bottom: 50px;
    }

    .image-bg-type01 {
        .text {
            padding-top: 40px;
            background: #e8f2f9;

            h3 {
                text-align: center;
            }

            .copy {
                color: #336;
                font-size: 2.2rem;
                font-weight: 600;
            }
        }
    }

    &::before {
        background: #e8f2f9 !important;
    }
}

.main-works {
    h3 {
        margin: 1.0em 0 !important;
        font-size: 2.2rem !important;
        font-weight: 600;

        &::after {
            display: none;
        }
    }
}

.main-campaign {
    .image-bg-type02 {
        padding: 20px 0 36px;

        .text {
            padding: 100px 0 0;
            margin: 0 auto;
            width: 640px;
            height: 420px;
            background-color: #f7c723;
            clip-path: polygon(0% 100%, 0% 30%, 50% 0%, 100% 30%, 100% 100%);

            h3 {
                display: inline-block;
                color: #fff;
                font-size: 2.4rem;
                font-weight: 500;
                height: 47px;
                line-height: 43px;
                text-align: center;
                padding: 0 1.2em;
                border: #fff 2px solid;
                margin-bottom: 15px;
            }

            .copy {
                margin-bottom: 20px;
            }

            p {
                margin: 1.0em 0;
                font-size: 1.6rem;
            }

            .btn {
                margin-top: 0;

                a {
                    background: #fff;
                    color: #f7c723;
                }
            }
        }
    }
}

.main-menu {
    h3 {
        margin: 1.0em 0 1.5em !important;
        font-size: 2.2rem !important;
        font-weight: 600;

        &::after {
            display: none;
        }
    }

    .banner-type02 {
        ul {
            li {
                background: #3ba5ef;

                .text {
                    padding: 35px;

                    h3 {
                        font-size: 4.2rem !important;
                        font-weight: 900;
                        margin: 0 !important;
                    }

                    .copy {
                        color: #fee300;
                        font-size: 2.2rem;
                        font-weight: 500;
                    }

                    .btn {
                        a {
                            color: #fff;
                            background: #20509a;
                            border: #fff 2px solid;
                        }
                    }
                }
            }
        }
    }
}

.main-voice {
    .image-bg-type01 {
		.image{
			height: auto !important;
		}
        .text {
            padding-top: 40px;
            background: #e8f2f9 !important;

            .copy {
                color: #336;
                font-size: 6rem;
                font-weight: 600;
                text-shadow: 1px 0px #fff, 1px 1px #fff, 0px 1px #fff, -1px 1px #fff, -1px 0px #fff, -1px -1px #fff, 0px -1px #fff, 1px -1px #fff, 2px 0px #fff, 2px 2px #fff, 0px 2px #fff, -2px 2px #fff, -2px 0px #fff, -2px -2px #fff, 0px -2px #fff, 2px -2px #fff;

                span {
                    color: #fee300;
                    font-size: 7rem;
                }
            }

            .btn {
                &:last-child {
                    margin-top: 10px;
                }
            }
        }
    }

    &::before {
        background: #e8f2f9 !important;
    }
}

.main-instagram {
    .title-type02 {
        span {
            font-weight: 700 !important;
        }
    }
	h3{
		&::after{
			display: none;
		}
	}
}

.footer-contact {
    .contact-type01 {
        .title {
            line-height: 1.2;
            margin-bottom: 0;

            .ja {
                font-size: 4.5rem;
                font-weight: 900;
            }

            .en {
                font-size: 1.8rem;
                font-weight: 600;
            }
        }

        .text {
            max-width: unset;

            .tel {
                line-height: 1.2;
                font-size: 8.61rem;
                font-weight: 900;

                &::before {
                    color: #f7941d;
                }
            }

            .datetime {
                font-size: 1.6rem;
                font-weight: 400;
                margin: .5em 0 1.0em;
            }

            .btn {
                a {
                    background: #f7941d;
                    padding: 15px 40px 14px 70px;
                    font-size: 2.2rem;

                    &::after {
                        left: 40px;
                        font-size: 2.4rem;
                    }

                    &:last-child {
                        &::after {
                            content: "\e873";
                        }
                    }
                }
            }
        }
    }
}

.footer-banner {
    ul {
        li {
            a {
                padding: 0;
            }
        }
    }
}

.footer {
    background: #f0f0f0;
}

.fixed-footer {
    background: #20509a;
    color: #fff;

    .tel {
        a {
            &::before {
                color: #f7941d;
            }
        }
    }

    .contact {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 6px;

        a {
            background: #f7941d;

            &:last-child {
                &::before {
                    content: "\e873";
                }
            }
        }
    }
}

.gallery-content-ba{
	gap: 115px;
	.image{
		width: calc(50% - 60px);
		.label{
			margin-bottom: 10px;
		}
		&:first-child{
			&::after{
				transform: translateY(0);
				right: -90px;
				content: '';
				width: 68px;
				height: 37px;
				background: url(/mwp/wp-content/themes/mwp-theme/assets/images/ba-detail-arrow.png) no-repeat center center / cover;
			}
			&.only{
				&::after{
					display: none;
				}
			}
		}
	}
}

.gallery-list{
	.gallery-list-h2{
		position: relative;
		margin-bottom: 30px;
		font-size: 4.2rem;
		color: #336;
		font-weight: 900;
		border-bottom: #138bd8 3px solid;
		a{
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			right: 0;
			color: #20509a;
			font-size: 1.6rem;
			font-weight: 500;
			padding-right: 1.5em;
			&::before{
				position: absolute;
				top: 50%;
				transform: translateY(-40%);
				right: 0;
				content: "\e5cc";
				font-size: 1.5rem;
				font-family: "Material Symbols Outlined";
				font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
			}
		}
		&::after{
			display: none;
		}
	}
}
	.child-cat{
		margin-bottom: 30px;
		ul{
			display: flex;
			justify-content: flex-start;
			align-items: center;
			gap: .5em 1.5em;
			flex-wrap: wrap;
			li{
				a{
					padding-left: 1.2em;
					font-size: 1.5rem;
					position: relative;
					&::before{
						position: absolute;
						top: 50%;
						transform: translateY(-50%);
						left: 0;
						content: "\eaaa";
						font-size: 1.5rem;
						font-family: "Material Symbols Outlined";
						font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
					}
				}
			}
		}
	}
	
	.gallery-list-list{
		margin-top: 0;
		grid-template-columns: repeat(4, 1fr);
		gap: 28px;
		.gallery-list-item{
			.image{
				margin-bottom: 15px;
			}
			.text{
				.date{
					margin-top: .5em;
					color: #999;
					font-size: 1.2rem;
				}
			}
		}
	}

.gallery-category{
	margin-bottom: 30px;
	>ul{
		padding-top: 25px;
		>li{
			display: block;
			padding: 0;
			margin-bottom: 0;
			border: none;
			font-size: 1.5rem;
			&::before{
				padding-right: .5em;
				content: "\e5cc";
				font-family: "Material Symbols Outlined";
				font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
				line-height: 1;
			}
			ul{
				margin: .5em 0 1em;
				padding-left: 2.0em;
				li{
					display: inline-block;
					margin-right: 1.5em;
					font-size: 1.4rem;
					&::before{
						font-size: 1rem;
						width: 10px;
						height: 10px;
						line-height: 10px;
					}
				}
			}
		}
	}
}

.gallery-slide-thumbnail{
	grid-template-columns: repeat(4, 1fr);
}

table.works-table{
	margin: 0 0 .8rem 0;
    border-collapse: collapse;
    border-spacing: 0;
    padding: 0;
    width: 100%;
	tr{
		th,td{
			background: #ecf6fd;
			border: 1px solid rgba(185, 185, 185, .5);
			padding: .75rem;
			vertical-align: top;
			font-size: 14px;
		}
		th{
			width: 25%;
		}
		td{
			background: none;
		}
	}
}

/* 20250727 added by Fabo */
.mt-0 {
    margin-top: 0 !important;
}

.mt-ss {
    margin-top: 2vh !important;
}

.mt-s {
    margin-top: 4vh !important;
}

.mt-m {
    margin-top: 7vh !important;
}

.mt-l {
    margin-top: 10vh !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mb-ss {
    margin-bottom: 2vh !important;
}

.mb-s {
    margin-bottom: 4vh !important;
}

.mb-m {
    margin-bottom: 7vh !important;
}

.mb-l {
    margin-bottom: 10vh !important;
}

.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
    margin-bottom: 3vh;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
}

.box-color {
    margin: 0 0 6vh;
    padding: 3vh;
    background: var(--sub-color);
}

.box-color :first-child {
    margin-top: 0 !important;
}

.box-color :last-child {
    margin-bottom: 0 !important;
}

.box-color h4 {
    margin-bottom: 1.5vh !important;
}

.page-content .image-text-type01 .text {
    overflow: hidden;
}

.page-content .image-text-type01 .text :first-child {
    margin-top: 0;
}

body:not(.home) .page-content .list-check-type01 {
    display: flex;
    justify-content: flex-start;
}

.align-center {
    text-align: center;
}

body:not(.home) .image-bg-type01 .box-h3 {
    color: #333366;
}

body:not(.home) .image-text-type03 .text {
    color: #fff;
}

body:not(.home) .image-text-type03 .text .box-h3 {
    color: #fee300;
}

body:not(.home) .image-text-type03 .text:before {
    background: #0887e0;
}

body:not(.home) .title-type01,
body:not(.home) .title-type02 {
    margin-bottom: 4rem;
}

body:not(.home) .title-type02 .ja {
    font-size: 4.8rem;
}

.table-fixed {
    width: calc(100% + 10px);
    margin: 0 -5px 25px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 5px;
}

.table-fixed th,
.table-fixed td {
    padding: 15px;
    text-align: center;
    vertical-align: middle;
}

.table-fixed th {
    background: var(--main-color);
    color: #fff;
    font-weight: bold;
}

.table-fixed td {
    background: var(--sub-color);
}

.table_qa {
    width: 100%;
    margin-bottom: 30px;
    padding: 0;
    border-collapse: collapse;
    border-spacing: 0;
}

.table_qa th {
    width: 5%;
    padding: 20px 10px;
}

.table_qa td {
    padding: 20px 10px;
    vertical-align: middle;
}

.table_qa tr:nth-child(2n-1) td {
    font-size: 18px;
    font-weight: bold;
}

.table_qa tr:nth-child(2n) {
    background: var(--sub-color);
}

.table_qa tr:nth-child(2n) th {
    vertical-align: top;
}

.q_icon {
    display: inline-block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--main-color);
    line-height: 44px;
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.a_icon {
    display: inline-block;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #f7941d;
    line-height: 44px;
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

body:not(.home) .-voice .copy {
    font-size: 6rem;
}

body:not(.home) .-voice .copy span {
    margin-right: 10px;
    color: #fee302;
}

/*2025.08.05 add by fujita*/
#color-simulation {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    margin: 0 auto var(--box-margin) auto;
    padding: 20px 0;
    box-sizing: border-box;

    .color-buttons {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 20px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .color-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        box-sizing: border-box;

        .color-btn {
            width: 16vw;
            max-width: 80px;
            aspect-ratio: 1 / 1;
            border: 2px solid transparent;
            border-radius: 0;
            cursor: pointer;
            padding: 0;
            outline: none;
            box-shadow: 0 0 0 1px #ccc;
            transition: transform 0.2s ease;

            &:hover {
                transform: scale(1.05);
            }

            &.is-active {
                border-color: #0a87e1;
            }

            &[style*="#fff"],
            &[style*="#ffffff"] {
                box-shadow: 0 0 0 1px #999;
            }
        }

        .color-label {
            color: #333;
            margin-top: 4px;
            white-space: nowrap;
            text-align: center;
        }
    }

    .simulation-image-wrap {
        position: relative;
        width: 100%;
        padding: 0;
        box-sizing: border-box;

        img {
            width: 100%;
            height: auto;
            display: block;
            border: 1px solid #eee;
            transition: opacity 0.4s ease;
        }

        #simulated-image-back {
            position: relative;
            z-index: 1;
        }

        #simulated-image-front {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 2;
            opacity: 0;
            pointer-events: none;
        }
    }


    @media (max-width: 768px) {
        .color-buttons {
            gap: 10px;
        }
    }
}



/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
    .table-wrap {
        overflow-x: auto;

        table {
            min-width: 800px;
        }
    }
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
    .header {
        .header-inner {
            .header-logo {
                width: 50vw;
            }
        }
    }

    .title-type01 {
        padding: 0 0 3vw;

        h2 {
            span {
                &.ja {
                    font-size: 8vw;
                }

                &.en {
                    font-size: 4vw
                }
            }
        }

        &::before {
            height: 2px;
        }
    }

    .title-type02 {
        margin-bottom: 4vw;
        padding-bottom: 0;

        h2 {
            span {
                &.ja {
                    font-size: 7vw;
                }

                &.en {
                    font-size: 4vw;
                    height: 8vw;
                    padding: 0 2.0em;
                }
            }
        }

        &::before {
            display: none;
        }
    }

    .main-banner01 {
        ul {
            li {
                width: 46%;
            }
        }
    }

    .main-trouble {
        position: relative;
        padding-bottom: 40vw !important;

        .title-type02 {
            margin-bottom: 4vw;

            h2 {
                span {
                    &.ja {
                        font-size: 7vw;

                        strong {
                            font-size: 10vw;

                            &::before {
                                background: url(/mwp/wp-content/themes/mwp-theme/assets/images/dots.png) no-repeat center center;
                                -webkit-background-size: 25vw auto;
                                background-size: 25vw auto;
                            }
                        }
                    }
                }
            }
        }

        .list-check-type01 {
            margin: 0 auto;
            padding: 4vw;

            ul {
                li {
                    p {
                        margin: 0;

                        span {
                            font-size: 4vw !important;
                        }

                        strong {
                            color: #e5450c;
                            font-size: 4.5vw;
                        }
                    }
                }
            }
        }

        &::before {
            background: url(/mwp/wp-content/themes/mwp-theme/assets/images/main-trouble-bg.png) no-repeat center center / cover !important;
        }

        &::after {
            width: 16.8vw;
            height: 19.8vw;
        }
    }

    .main-solution {
        .text {
            h3 {
                margin-bottom: .8em;
                font-size: 7vw;
                font-weight: 900;

                span {
                    font-size: 7.5vw;
                }

                strong {
                    font-size: 9vw;
                }
            }

            .copy {
                height: 8vw;
                line-height: 8vw;
                font-size: 3vw;

                strong {
                    font-size: 3.5vw;
                }
            }
        }
    }

    .main-reason {
        .title-type02 {
            margin-bottom: 5vw;

            h2 {
                span {
                    &.en {
                        font-size: 4vw;
                        height: 8vw;
                        line-height: calc(8vw - 4px);

                        strong {
                            font-size: 4.2vw;
                        }
                    }

                    &.ja {
                        font-size: 5vw;

                        span.big-letter {
                            font-size: 7vw;

                            strong {
                                font-size: 7vw;
                            }

                            span {
                                font-size: 5vw;
                            }

                            &::before {
                                border-width: 3px;
                            }
                        }
                    }
                }
            }
        }

        .image-text-type03 {
            .text {
                padding: 4vw 4vw 20vw;
                background: #0887e0;

                h3 {
                    bottom: 0;
                    left: 0;

                    img {
                        height: 10vw;
                    }
                }

                .copy {
                    font-size: 4.5vw;
                }

                p {
                    font-size: 4vw;
                }
            }

            &.right {
                .text {
                    padding: 4vw 4vw 20vw;
                }
            }
        }
    }

    .main-campaign {
        .image-bg-type02 {
            padding: 4vw;

            .text {
                padding: 13vw 0 0;
                margin: 0 auto;
                width: 90vw;
                height: 60vw;

                h3 {
                    font-size: 4vw;
                    height: 6vw;
                    line-height: calc(6vw - 4px);
                    margin-bottom: 3vw;
                    padding: 0 .2em;
                }

                .copy {
                    margin-bottom: 3vw;

                    img {
                        width: 40vw;
                    }
                }

                p {
                    font-size: 3vw;
                }

                .btn {
                    margin-top: 0;

                    a {
                        background: #fff;
                        color: #f7c723;
                        padding: 8px 30px 7px 20px;

                        &::after {
                            right: 5px;
                        }
                    }
                }
            }
        }
    }

    .main-menu {
        >h3 {
            font-size: 5vw !important;
        }

        .banner-type02 {
            ul {
                li {
                    .text {
                        padding: 4vw;

                        h3 {
                            font-size: 7vw !important;
                        }

                        .copy {
                            font-size: 4.5vw;
                        }
                    }
                }
            }
        }
    }


    .main-voice {
        .image-bg-type01 {
            .text {
                padding-top: 4vw;

                .copy {
                    font-size: 9vw;

                    span {
                        font-size: 10vw;
                    }
                }

                .btn {
                    &:last-child {
                        margin-top: 10px;
                    }
                }
            }
        }

        &::before {
            background: #e8f2f9 !important;
        }
    }

    .footer-contact {
        .contact-type01 {
            .title {
                .ja {
                    font-size: 8vw;
                }

                .en {
                    font-size: 4vw;
                }
            }

            .text {
                .tel {
                    font-size: 9vw;
                }

                .datetime {
                    font-size: 3.5vw;
                }

                .btn {
                    display: block;

                    a {
                        background: #f7941d;
                        padding: 10px 40px 11px 70px;
                        font-size: 1.7rem;

                        &::after {
                            left: 40px;
                            font-size: 2.4rem;
                        }

                        &:last-child {
                            margin-top: 2vw;
                        }
                    }
                }
            }
        }
    }

    body:not(.home) .image-text-type03 .text {
        background: #0887e0;
    }

    body:not(.home) .-voice .copy {
        font-size: 4rem;
    }
	
	
.main-blog {
    .blog-type01 {
        ul {
			grid-template-columns: repeat(2, 1fr);
			gap: 3vw;
        }
    }
}
.gallery-list {
	h2.gallery-list-h2{
		padding-bottom: 7vw;
		a{
			top: auto;
			bottom: 1vw;
			transform: translateY(0);
		}
	}
	.gallery-list-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 3vw;
	}
}
}