* {
    font-feature-settings: "palt";
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: min(1vw, 16px);
}

body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    width: 100%;
}

a {
    color: #fff;
	text-decoration: none;
}

ul li,
ol li {
    list-style: none;
}

header {
    background: transparent;
	width: 100%;
	position: fixed;
    left: 0;
    top: 0;
	z-index: 2;
    transition: background-color 0.3s ease;

	.nav-box {
        width: 100%;
        max-width: 2000px;
        margin: 0 auto;
		padding: min(1.875vw, 30px) min(3.125vw, 50px);
		display: flex;
		align-items: center;
		justify-content: space-between;

        h1 img {
            width: min(19vw, 304px);
        }

        .logo-not-found {
            display: none;
        }

        .btn-menu {
            display: none;
        }

        nav {
            display: block;

            ul {
                display: flex;
                align-items: center;
                gap: 0 min(2.5vw, 40px);
            }

            li a {
                font-size: min(1vw, 16px);
                color: #fff;
            }

            li:not(:last-child) a {
                padding-bottom: min(0.1875vw, 3px);
                background-image: linear-gradient(#fff, #fff);
                background-repeat: no-repeat;
                background-position: bottom right;
                background-size: 0 1px;
                transition: background-size 0.3s;
            }

            @media (width > 800px) {
                li:not(:last-child) a:hover {
                    background-position: bottom left;
                    background-size: 100% 1px;
                }
            }

            li:nth-child(6) {
                display: none;
            }

            li:last-child a {
                font-weight: bold;
                background: #c60e0e;
                width: min(12.5vw, 200px);
                border: #b1b0b0 1px solid;
                border-radius: min(0.625vw, 10px);
                text-align: center;
                line-height: 3.75;
                letter-spacing: 0.2em;
                display: block;
                transition: scale 0.3s;
            }

            li:last-child a:hover {
                scale: 1.05;
            }
        }
    }
}

header.scrolled {
    background-color: #000;
}

.breadcrumb {
    width: 100%;
    max-width: 1600px;
    margin: min(1.25vw, 20px) auto 0;
    padding: 0 min(3.125vw, 50px);
    display: flex;
    align-items: center;
    gap: 0 min(1.25vw, 20px);

    li {
        font-size: min(1vw, 16px);
        color: #000;
        
        a {
            color: #bbb;
        }
    }

    li:not(:last-child)::after {
        content: "/";
        color: #bbb;
        padding-left: min(0.625vw, 10px);
    }
}

.u-layer {
    header {
        width: 100%;
        height: min(31.25vw, 500px);
        position: relative;
        z-index: 3;

        #nav-wrap {
            background-color: transparent;
            width: 100%;
            position: fixed;
            left: 0;
            top: 0;
            z-index: 2;
            transition: background-color 0.3s ease;
        }

        #nav-wrap.scrolled {
            background-color: #000;
        }

        h2 {
            font-size: min(1vw, 16px);
            color: #fff;
            width: min(93.75vw, 1500px);
            height: fit-content;
            margin: auto;
            letter-spacing: 0.25em;
            position: absolute;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;

            span {
                font-family: 'Times New Roman', Times, serif;
                font-size: min(5vw, 80px);
                font-weight: normal;
                margin-right: min(1.25vw, 20px);
                letter-spacing: 0;
                vertical-align: baseline;
            }
        }
    }

    main h2 {
        font-size: min(1.875vw, 30px);
        font-weight: bold;
        color: #292929;
        text-align: center;
        line-height: 1.4;
        letter-spacing: 0.25em;

        span {
            font-size: min(1vw, 16px);
            font-weight: normal;
            color: #626263;
            letter-spacing: 0;
        }
    }
}

.btn a {
    font-size: min(1vw, 16px);
    font-weight: bold;
    color: #fff;
    background: url("/images/arrow_btn.png") #c60e0e no-repeat right min(1.563vw, 25px) center / min(1.813vw, 29px) min(0.563vw, 9px);
    border: #b1b0b0 1px solid;
    border-radius: min(0.625vw, 10px);
    line-height: 3.75;
    letter-spacing: 0.2em;
    display: block;
    transition: scale 0.3s;
}

@media (width > 800px) {
    .btn a:hover {
        scale: 1.05;
    }
}

.pagenation {
    margin-top: min(5vw, 80px);
    
    ul {
        display: flex;
        justify-content: center;
        gap: 0 min(0.625vw, 10px);

        li {
            font-size: min(1.125vw, 18px);
            width: min(3.125vw, 50px);
            height: min(3.125vw, 50px);
            border-radius: 0.313vw;

            a {
                font-size: min(1.125vw, 18px);
                color: #292929;
                background: #f4eee3;
                width: 100%;
                height: 100%;
                border-radius: 0.313vw;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: opacity 0.3s;
            }

            @media (width > 800px) {
                a:hover {
                    opacity: 0.5;
                }
            }
        }

        .active {
            color: #fff;
            background: #c60e0e;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .prev a,
        .next a {
            font-size: min(1vw, 16px);
            font-weight: bold;
            color: #c60e0e;
        }
    }
}

footer {
    background: #473018;
    margin-top: min(6.25vw, 100px);

    .box {
        width: 100%;
        max-width: 2000px;
        margin: 0 auto;
        padding: min(3vw, 60px) min(6vw, 120px) min(3.5vw, 70px);
        display: flex;
        align-items: center;

        .logo a img {
            width: min(15.9vw, 318px);
        }

        .data {
            font-size: min(0.8vw, 16px);
            color: #fff;
            margin-left: min(5vw, 80px);

            .address {
                line-height: 1.8;
            }

            .tel {
                font-family: 'Times New Roman', Times, serif;
                font-size: min(2.4vw, 48px);

                img {
                    width: min(1.2vw, 24px);
                }
            }
        }

        nav {
            width: min(24vw, 480px);
            margin-left: min(13vw, 260px);
            display: flex;
            gap: min(1vw, 20px) min(2vw, 40px);
            flex-wrap: wrap;

            div {
                width: calc(50% - min(1vw, 20px));
                padding: 0 0 min(0.5vw, 10px) min(1vw, 20px);
                border-bottom: #fff 1px solid;

                a {
                    font-size: min(0.8vw, 16px);
                    color: #fff;
                }
            }
        }

        .btn a {
            font-size: min(0.8vw, 16px);
            background: #c60e0e;
            width: min(10vw, 200px);
            margin-left: min(3vw, 60px);
            text-align: center;
            display: block;
        }
    }

    #go-top {
        display: block;
        position: fixed;
        right: min(3.125vw, 50px);
        bottom: min(3.125vw, 50px);
        z-index: 3;

        a {
            transition: opacity 0.3s;

            img {
                width: min(3.75vw, 60px);
            }
        }

        @media (width > 800px) {
            a:hover {
                opacity: 0.5;            
            }
        }
    }

    .follow-btn {
        display: none;
    }

    .copyright {
        font-size: min(0.8vw, 16px);
        color: #fff;
        background: #1e1002;
        text-align: center;
        line-height: 3.75;
    }
}

@media (width <= 800px) {
    header {
        .nav-box {
            height: 15vw;
            padding: 3.125vw 3.75vw;

            h1 {
                z-index: 5;

                img {
                    width: 43.75vw;
                }
            }

            .btn-menu {
                width: 5.25vw;
                height: 6.25vw;
                background: none;
                border: none;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 1vw;
                padding: 1.25vw;
                position: relative;
                z-index: 5;

                span {
                    width: 5.25vw;
                    height: 0.5vw;
                    background: #fff;
                    border-radius: 2px;
                    display: block;
                    transition: all 0.3s ease;
                    transform-origin: center;
                }
            }

            .btn-menu.active span:nth-child(1) {
                transform: translateY(1.5vw) rotate(45deg);
            }

            .btn-menu.active span:nth-child(2) {
                opacity: 0;
                transform: scale(0);
            }

            .btn-menu.active span:nth-child(3) {
                transform: translateY(-1.5vw) rotate(-45deg);
            }

            nav {
                background: rgba(30, 16, 2, 0.9);
                width: 100%;
                height: 100vh;
                display: none;
                position: fixed;
                left: 0;
                top: 0;
                z-index: 4;
                overflow: auto;

                ul {
                    margin-top: 20vw;
                    justify-content: center;
                    gap: 0;
                    flex-wrap: wrap;
                }

                li a {
                    font-size: 4.25vw;
                    display: block;
                }

                li:not(:last-child) a {
                    background: url("/images/arrow_menu_sp.png")no-repeat left 3.75vw center / 7.5vw;
                    width: 80vw;
                    padding: 7.5vw 0 7.5vw 18.75vw;
                    border-bottom: #fff 1px solid;
                }

                li:nth-child(6) {
                    display: block;
                }

                li:last-child a {
                    display: none;
                }
            }
        }
    }

    .breadcrumb {
        margin-top: 3.75vw;
        padding: 0 3.313vw;
        gap: 0 3.75vw;
        overflow: auto;
        white-space: nowrap;

        li {
            font-size: 4.25vw;
        }

        li:not(:last-child)::after {
            padding-left: 2.5vw;
        }
    }

    .u-layer {
        header {
            height: 58.75vw;

            h2 {
                font-size: 4.25vw;
                width: 100%;
                text-align: center;

                span {
                    font-size: 9.5vw;
                    margin-right: 0;
                    display: block;
                }
            }
        }

        main h2 {
            font-size: 8vw;

            span {
                font-size: 4.25vw;
            }
        }
    }

    .btn a {
        font-size: 4.25vw;
        background: url("/images/arrow_btn.png") #c60e0e no-repeat right 7.5vw center / 7.75vw 2.125vw;
        border-radius: 2.75vw;
        line-height: 3.765;
    }

    .pagenation {
        margin-top: 10vw;
        
        ul {
            gap: 0 2.5vw;

            li {
                font-size: 4.75vw;
                width: 13.375vw;
                height: 13.375vw;
                border-radius: 1.375vw;

                a {
                    font-size: 4.75vw;
                    border-radius: 1.375vw;
                }
            }

            .prev a,
            .next a {
                font-size: 3.75vw;
            }
        }
    }

    footer {
        margin-top: 18.75vw;
        padding-bottom: 16vw;

        .box {
            padding: 25vw 0 20vw;
            justify-content: center;
            flex-wrap: wrap;

            .logo {
                width: 100%;
                text-align: center;
            }

            .logo a img {
                width: 39.5vw;
            }

            .data {
                font-size: 4.25vw;
                margin: 10vw 0 0 0;
                text-align: center;

                .address {
                    line-height: 1.5;
                }

                .tel {
                    font-size: 9.6vw;
                    margin: 3.75vw 0;

                    img {
                        width: 5.375vw;
                    }
                }
            }

            nav {
                display: none;
            }

            .btn a {
                display: none;
            }
        }

        #go-top {
            display: none !important;
        }

        .follow-btn {
            width: 100%;
            display: flex;
            position: fixed;
            left: 0;
            bottom: 0;
            z-index: 3;

            li {
                font-size: 4.25vw;
                width: 50%;
                text-align: center;
                line-height: 3.765;

                a {
                    color: #fff;
                    width: 100%;
                    letter-spacing: 0.2em;
                    display: block;

                    img {
                        vertical-align: middle;
                    }
                }
            }

            li:first-child a {
                background: #1e1002;

                img {
                    width: 4.25vw;
                }
            }

            li:last-child a {
                background: #c60e0e;

                img {
                    width: 4.25vw;
                }
            }
        }

        .copyright {
            font-size: 3.25vw;
            line-height: 4.92;
        }
    }
}

/***************** top *****************/
#top {
    #main-visual {
		background: url("/images/main_visual.jpg") no-repeat center center / cover;
		width: 100%;
		height: min(67.5vw, 1080px);
        position: relative;

		h2 {
			font-size: min(2.25vw, 36px);
			font-weight: bold;
			color: #fff;
            width: fit-content;
            height: fit-content;
			margin: auto;
            text-align: center;
			line-height: 1.4;
            letter-spacing: 0.25em;
			position: absolute;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0;
		}

		.shop-data {
			font-size: min(1vw, 16px);
			color: #fff;
			text-align: center;
			position: absolute;
			left: min(3.125vw, 50px);
			bottom: min(1.875vw, 30px);

            img {
                width: min(1.5vw, 24px);
            }

			span {
				font-family: "Times New Roman", Times, serif;
				font-size: min(3vw, 48px);
			}
		}
	}

    #top-business {
        background: #f4eee3;
        width: min(93.75vw, 1500px);
        margin: min(6.25vw, 100px) auto 0;
        padding: min(3.75vw, 60px) min(6.875vw, 110px);
        border-radius: min(0.625vw, 10px);

        .upper {
            display: flex;
            align-items: center;
            gap: 0 min(5vw, 80px);

            .left img {
                width: min(40.625vw, 650px);
            }

            .right {
                h2 {
                    font-size: min(1.875vw, 30px);
                    font-weight: bold;
                    letter-spacing: 0.25em;
                    line-height: 1.2;

                    span {
                        font-size: min(1vw, 16px);
                        font-weight: normal;
                        color: #626263;
                        letter-spacing: 0;
                    }
                }

                p {
                    font-size: min(1vw, 16px);
                    color: #292929;
                    margin-top: min(1.875vw, 30px);
                    padding-right: min(3.125vw, 50px);
                    line-height: 1.5;
                    letter-spacing: 0.1em;

                    br {
                        display: none;
                    }
                }
            }

            .btn a {
                width: min(15.625vw, 250px);
                margin-top: min(5vw, 80px);
                padding-left: min(2.5vw, 40px);
            }
        }

        .lower {
            margin-top: min(1.25vw, 20px);

            ul {
                display: flex;
                justify-content: space-between;

                li img {
                    width: min(12.5vw, 200px);
                }
            }
        }
    }

    #top-news {
        margin-top: min(6.25vw, 100px);

        h2 {
            font-size: min(1.875vw, 30px);
            font-weight: bold;
            letter-spacing: 0.25em;
            text-align: center;
            line-height: 1.4;

            span {
                font-size: min(1vw, 16px);
                font-weight: normal;
                color: #626263;
                letter-spacing: 0;
            }
        }

        .box {
            width: min(62.5vw, 1000px);
            margin: min(1.875vw, 30px) auto 0;

            .one-box:nth-child(n+2) {
                margin-top: min(0.625vw, 10px);
            }

            .one-box a {
                font-size: min(1vw, 16px);
                color: #292929;
                background: #f4eee3;
                padding: 0 min(2.5vw, 40px);
                border-radius: min(0.625vw, 10px);
                line-height: 5;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0 min(2.5vw, 40px);
                transition: opacity 0.3s;

                .title {
                    width: min(37.5vw, 600px);
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap
                }

                .more img {
                    width: min(1.875vw, 30px);
                    vertical-align: middle;
                }
            }

            @media (width > 800px) {
                .one-box a:hover {
                    opacity: 0.5;
                }
            }
        }

        .btn a {
            width: min(37.5vw, 600px);
            margin: min(2.5vw, 40px) auto 0;
            text-align: center;
        }
    }

    #top-contact {
        background: url("/images/bg_top_contact.jpg") no-repeat center / cover;
        width: 100%;
        height: min(50vw, 800px);
        margin-top: min(9.375vw, 150px);

        .image {
            text-align: center;
            position: relative;
            top: max(-1.875vw, -30px);

            img {
                width: min(43.563vw, 697px);
            }
        }

        h2 {
            font-size: min(1vw, 16px);
            font-weight: normal;
            width: min(42.5vw, 680px);
            margin: min(1.25vw, 20px) auto 0;
            text-align: center;
            line-height: 1.5;

            .sp {
                display: none;
            }
        }

        .btn a {
            color: #960000;
            background: url("/images/arrow_btn_red.png") #fff no-repeat right min(1.563vw, 25px) center / min(1.813vw, 29px) min(0.563vw, 9px);
            width: min(15.625vw, 250px);
            margin: min(3.75vw, 60px) auto 0;
            padding-left: min(2.5vw, 40px);
            border: #960000 min(0.188vw, 3px) solid;
        }
    }

    #top-recruit {
        margin-top: min(6.25vw, 100px);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0 min(5vw, 80px);

        .left img {
            width: min(50vw, 800px);
            border-radius: min(0.625vw, 10px) 0 0 min(0.625vw, 10px);
            overflow: hidden;
        }

        .right {
            h2 {
                font-size: min(1.875vw, 30px);
                font-weight: bold;
                letter-spacing: 0.25em;
                line-height: 1.2;

                span {
                    font-size: min(1vw, 16px);
                    font-weight: normal;
                    color: #626263;
                    letter-spacing: 0;
                }
            }

            p {
                font-size: min(1vw, 16px);
                color: #292929;
                margin-top: min(1.875vw, 30px);
                padding-right: min(3.125vw, 50px);
                line-height: 1.5;
                letter-spacing: 0.1em;

                br {
                    display: inline-block;
                }
            }

            .btn a {
                width: min(15.625vw, 250px);
                margin-top: min(5vw, 80px);
                padding-left: min(2.5vw, 40px);
            }
        }
    }
}

@media (width <= 800px) {
    #top {
        #main-visual {
            background: url("/images/main_visual_sp.jpg") no-repeat center center / cover;
            height: 177.875vw;

            h2 {
                font-size: 4.75vw;
                letter-spacing: 0.15em;
            }

            .shop-data {
                display: none;
            }
        }

        #top-business {
            width: 100%;
            margin: 0;
            padding: 15vw 3.375vw 7.5vw;
            border-radius: 0;

            .upper {
                gap: 10vw 0;
                flex-wrap: wrap;

                .left {
                    width: 100%;
                    order: 2;
                }

                .left img {
                    width: 100%;
                }

                .right {
                    width: 100%;
                    order: 1;

                    h2 {
                        font-size: 6.5vw;
                        text-align: center;
                        line-height: 1.5;

                        span {
                            font-size: 3.25vw;
                        }
                    }

                    p {
                        font-size: 4.25vw;
                        margin-top: 5vw;
                        padding-right: 0;
                        text-align: center;

                        br {
                            display: inline-block;
                        }
                    }
                }

                .btn a {
                    width: 66.75vw;
                    margin: 8.75vw auto 0;
                    padding-left: 10vw;
                }
            }

            .lower {
                margin-top: 0.25vw;

                ul {
                    flex-wrap: wrap;

                    li img {
                        width: 30.875vw;
                    }
                }
            }
        }

        #top-news {
            margin-top: 15vw;

            h2 {
                font-size: 6.5vw;
                text-align: center;
                line-height: 1.5;

                span {
                    font-size: 3.25vw;
                }
            }

            .box {
                width: 93.25vw;
                margin: 10vw auto 0;

                .one-box:nth-child(n+2) {
                    margin-top: 3.75vw;
                }

                .one-box a {
                    font-size: 3.25vw;
                    padding: 2.5vw 3.75vw;
                    border-radius: 2.75vw;
                    line-height: 1;
                    justify-content: flex-start;
                    gap: 2.5vw 0;
                    flex-wrap: wrap;
                    position: relative;

                    .date {
                        width: 100%;
                    }

                    .title {
                        font-size: 4.25vw;
                        width: 75vw;
                    }

                    .more {
                        position: absolute;
                        right: 2.5vw;
                        top: calc(50% - 4vw);

                        img {
                            width: 8vw;
                        }
                    }
                }
            }

            .btn a {
                width: 66.75vw;
                margin: 7.5vw auto 0;
                padding-left: 10vw;
                text-align: left;
            }
        }

        #top-contact {
            background: url("/images/bg_top_contact_sp.jpg") no-repeat center / cover;
            height: 133.375vw;
            margin-top: 50vw;

            .image {
                top: -30vw;

                img {
                    width: 94vw;
                }
            }

            h2 {
                font-size: 4.25vw;
                width: 100%;
                margin: -20vw 0 0 0;
                padding: 0 7.5vw;

                .sp {
                    display: inline-block;
                }
            }

            .btn a {
                background: url("/images/arrow_btn_red.png") #fff no-repeat right 7.5vw center / 7.75vw 2.125vw;
                width: 66.75vw;
                margin: 10vw auto 0;
                padding-left: 10vw;
                border: #960000 0.75vw solid;
            }
        }

        #top-recruit {
            margin-top: 15vw;
            gap: 7.5vw 0;
            flex-wrap: wrap;

            .left img {
                width: 93.25vw;
                border-radius: 2.75vw 0 0 2.75vw;
            }

            .right {
                h2 {
                    font-size: 6.5vw;
                    text-align: center;
                    line-height: 1.5;

                    span {
                        font-size: 3.25vw;
                    }
                }

                p {
                    font-size: 4.25vw;
                    margin-top: 5vw;
                    padding: 0 3.375vw;
                    text-align: left;

                    br {
                        display: none;
                    }
                }

                .btn a {
                    width: 66.75vw;
                    margin: 12.5vw auto 0;
                    padding-left: 10vw;
                }
            }
        }
    }
}
/***************** top *****************/

/***************** 404 *****************/
#not-found {
    header {
        .nav-box {
            .logo {
                display: none;
            }

            .logo-not-found {
                display: block;
            }

            nav ul {
                li:not(:last-child) a {
                    color: #000;
                }

                li:not(:last-child) a {
                    background-image: linear-gradient(#000, #000);
                }
            }
        }
    }

    main {
        background: linear-gradient(to top, #fff, #f4eee3);
        height: min(61.25vw, 980px);
        padding-top: min(7.625vw, 122px);

        .breadcrumb {
            margin-top: 0;
            padding-top: min(1.25vw, 20px);
        }

        section {
            background: url("/images/bg_404.png") no-repeat center center / min(31.375vw, 502px) min(39.5vw, 632px);
            height: min(48.75vw, 780px);
            padding-top: min(12.5vw, 200px);

            h2 {
                font-size: min(1vw, 16px);
                font-weight: normal;
                color: #626263;
                text-align: center;
                line-height: 1;

                span {
                    font-family: 'Times New Roman', Times, serif;
                    font-size: min(5vw, 80px);
                    font-weight: normal;
                    color: #473018;
                }
            }

            h3 {
                font-size: min(1.875vw, 30px);
                color: #292929;
                margin-top: min(3.125vw, 50px);
                text-align: center;
            }

            p {
                font-size: min(1vw, 16px);
                color: #292929;
                margin-top: min(1.25vw, 20px);
                text-align: center;
            }

            .btn a {
                width: min(37.5vw, 600px);
                margin: min(3.125vw, 50px) auto 0;
                text-align: center;
            }
        }
    }
}

@media (width <= 800px) {
    #not-found {
        header {
            height: 12vw;
            position: fixed;
            left: 0;
            top: 0;

            .nav-box {
                .btn-menu span {
                    background: #000;
                }

                nav ul {
                    li:not(:last-child) a {
                        color: #fff;
                        background: url(/images/arrow_menu_sp.png) no-repeat left 3.75vw center / 7.5vw;
                        width: 80vw;
                        padding: 7.5vw 0 7.5vw 18.75vw;
                        border-bottom: #fff 1px solid;
                    }
                }
            }
        }

        main {
            height: 177.875vw;
            padding-top: 15vw;

            .breadcrumb {
                margin-top: 0;
                padding-top: 3.75vw;
            }

            section {
                background: url("/images/bg_404.png") no-repeat center center / 62.75vw 79vw;
                height: 150vw;
                padding-top: 50vw;

                h2 {
                    font-size: 3.25vw;

                    span {
                        font-size: 15vw;
                    }
                }

                h3 {
                    font-size: 4.25vw;
                    margin-top: 5vw;
                }

                p {
                    font-size: 3.25vw;
                    margin-top: 2.5vw;
                }

                .btn a {
                    width: 66.75vw;
                    margin: 5vw auto 0;
                    padding-left: 3.75vw;
                    text-align: left;
                }
            }
        }
    }
}
/***************** 404 *****************/

/***************** business *****************/
#business {
    header {
        background: url("/images/bg_business_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            ul {
                margin: min(6.25vw, 100px) auto 0;
                width: min(93.75vw, 1500px);
                display: flex;

                li {
                    background: #f7f5f5;
                    width: calc(100% / 3);
                    padding: min(1.563vw, 25px);
                    position: relative;

                    .thumb {
                        width: 100%;
                        height: min(23.438vw, 375px);
                        position: relative;

                        p {
                            font-size: min(1.125vw, 18px);
                            font-weight: bold;
                            color: #fff;
                            background: url("/images/bg_hotel_name.png") no-repeat left center / cover;
                            width: min(16.25vw, 260px);
                            height: min(2.875vw, 46px);
                            padding: min(0.313vw, 5px) 0 0 min(0.625vw, 10px);
                            letter-spacing: 0.2em;
                            position: absolute;
                            left: max(-0.313vw, -5px);
                            bottom: min(1.25vw, 20px);
                        }
                    }

                    .data {
                        margin-top: min(1.25vw, 20px);

                        p {
                            font-size: min(1.125vw, 18px);
                            font-weight: bold;
                            padding: 0 min(1.875vw, 30px);
                            line-height: 1.5;
                            letter-spacing: 0.2em;
                        }

                        .btn a {
                            width: min(15.625vw, 250px);
                            margin: min(1.875vw, 30px) auto 0;
                            padding-left: min(1.875vw, 30px);
                            letter-spacing: 0.1em;
                        }
                    }
                }

                li:nth-child(n+2)::before {
                    content: '';
                    background: #b3b3b3;
                    width: 1px;
                    height: min(31.25vw, 500px);
                    margin: auto;
                    position: absolute;
                    left: 0;
                    top: 0;
                    bottom: 0;
                }

                li:first-child .thumb {
                    background: url("/images/hotel_01.jpg") no-repeat center center / cover;
                }

                li:nth-child(2) .thumb {
                    background: url("/images/hotel_02.jpg") no-repeat center center / cover;
                }

                li:nth-child(3) .thumb {
                    background: url("/images/hotel_03.jpg") no-repeat center center / cover;
                }
            }
        }
    }
}

@media (width <= 800px) {
    #business {
        header {
            background: url("/images/bg_business_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 12.5vw;

                ul {
                    margin: 10vw auto 0;
                    width: 93.75vw;
                    flex-wrap: wrap;
                    gap: 5vw 0;

                    li {
                        width: 100%;
                        padding: 6.625vw;

                        .thumb {
                            height: 66.75vw;

                            p {
                                font-size: 4.25vw;
                                background: url("/images/bg_hotel_name.png") no-repeat left center / cover;
                                width: 69.375vw;
                                height: 9.625vw;
                                padding: 0.625vw 0 0 2.5vw;
                                left: -1.25vw;
                                bottom: 2.5vw;
                            }
                        }

                        .data {
                            margin-top: 2.5vw;

                            p {
                                font-size: 4.25vw;
                                padding: 0;
                            }

                            .btn a {
                                width: 66.75vw;
                                margin: 3.75vw auto 0;
                                padding-left: 6.25vw;
                            }
                        }
                    }

                    li:nth-child(n+2)::before {
                        width: 100%;
                        height: 0.375vw;
                        left: 0;
                        right: 0;
                        top: -2.5vw;
                        bottom: auto;
                    }
                }
            }
        }
    }
}
/***************** business *****************/

/***************** company *****************/
#company {
    header {
        background: url("/images/bg_company_header.jpg") no-repeat center center / cover;
    }

    main {
        #summary {
            margin-top: min(6.25vw, 100px);

            dl {
                font-size: min(1vw, 16px);
                font-weight: bold;
                width: min(62.5vw, 1000px);
                margin: min(5vw, 80px) auto 0;
                line-height: 1.5;
                display: flex;
                flex-wrap: wrap;

                dt {
                    width: 30%;
                    padding: 0 min(1.875vw, 30px) min(1.25vw, 20px);
                    border-bottom: #f4eee3 min(0.188vw, 3px) solid;
                }

                dd {
                    width: 70%;
                    padding-bottom: min(1.25vw, 20px);
                    border-bottom: #f4eee3 min(0.188vw, 3px) solid;

                    a {
                        color: #000;
                    }
                }

                dt:nth-of-type(n+2),
                dd:nth-of-type(n+2) {
                    padding-top: min(1.875vw, 30px);
                }
            }
        }

        #history {
            background: #f4eee3;
            margin-top: min(9.375vw, 150px);
            padding: min(3.75vw, 60px) 0 min(5vw, 80px);

            dl {
                width: min(56.25vw, 900px);
                margin: min(5vw, 80px) auto 0;
                display: flex;
                align-items: flex-start;
                gap: min(5vw, 80px) 0;
                flex-wrap: wrap;

                dt {
                    font-family: 'Times New Roman', Times, serif;
                    font-size: min(3vw, 48px);
                    width: 28%;
                    position: relative;
                }

                dt::before {
                    content: '';
                    background: #000;
                    width: 1px;
                    height: min(8.75vw, 140px);
                    position: absolute;
                    right: min(5.625vw, 90px);
                    top: 50%;
                }

                dt::after {
                    content: '';
                    background: #000;
                    width: min(0.875vw, 14px);
                    height: min(0.875vw, 14px);
                    border-radius: 50%;
                    position: absolute;
                    right: calc(min(5.625vw, 90px) - min(0.438vw, 7px));
                    top: calc(50% - min(0.438vw, 7px));
                }

                dt:nth-of-type(3)::before {
                    height: min(14.375vw, 230px);
                }

                dt:last-of-type::before {
                    display: none;
                }

                dd {
                    font-size: min(1.125vw, 18px);
                    width: 72%;
                    padding-top: min(0.313vw, 5px);
                    line-height: 1.4;
                }
            }
        }
    }

    footer {
        margin-top: 0;
    }
}

@media (width <= 800px) {
    #company {
        header {
            background: url("/images/bg_company_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            #summary {
                margin-top: 12.5vw;

                dl {
                    font-size: 4.25vw;
                    width: 93.75vw;
                    margin: 10vw auto 0;

                    dt {
                        width: 100%;
                        padding: 0 3.75vw 0.625vw;
                        border-bottom: none;
                    }

                    dd {
                        font-weight: normal;
                        width: 100%;
                        padding: 0 3.75vw 3.75vw;
                        border-bottom: #f4eee3 0.8vw solid;
                    }

                    dt:nth-of-type(n+2) {
                        padding-top: 2.5vw;
                    }

                    dd:nth-of-type(n+2) {
                        padding-top: 0;
                    }
                }
            }

            #history {
                margin-top: 20vw;
                padding: 10vw 0 20vw;

                dl {
                    width: 93.75vw;
                    margin: 12.5vw auto 0;
                    gap: 15vw 0;

                    dt {
                        font-size: 9.5vw;
                        background: #f4eee3;
                        width: 28%;
                        position: relative;
                        z-index: 2;
                    }

                    dt::before {
                        width: 0.27vw;
                        height: 30vw;
                        right: 16.5vw;
                        top: 12.5vw;
                    }

                    dt::after {
                        width: 3.75vw;
                        height: 3.75vw;
                        right: 15vw;
                        top: 12.5vw;
                    }

                    dt:nth-of-type(3)::before {
                        height: 60vw;
                    }

                    dd {
                        font-size: 4.25vw;
                        width: 72%;
                        padding-top: 2.5vw;
                        line-height: 1.6;
                    }
                }
            }
        }
    }
}
/***************** company *****************/

/***************** contact *****************/
#contact {
    header {
        background: url("/images/bg_contact_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            .attention {
                font-size: min(1vw, 16px);
                margin-top: min(1.875vw, 30px);
                text-align: center;
                line-height: 1.4;

                .pc {
                    display: inline-block;
                }

                .sp {
                    display: none;
                }
            }

            form {
                dl {
                    width: min(51.25vw, 820px);
                    margin: min(5vw, 80px) auto 0;
                    display: flex;
                    gap: min(1.25vw, 20px) 0;
                    flex-wrap: wrap;

                    dt {
                        font-size: min(1vw, 16px);
                        padding-top: min(0.625vw, 10px);
                        width: 30%;
                        text-align: right;

                        span {
                            font-size: min(0.75vw, 12px);
                            color: #fff;
                            background: #c92121;
                            width: min(2.5vw, 40px);
                            margin-left: min(1.25vw, 20px);
                            border-radius: 0.313vw;
                            text-align: center;
                            line-height: 1.667;
                            display: inline-block;
                            vertical-align: middle;
                        }
                    }

                    dt:nth-of-type(5) {
                        padding-right: min(3.75vw, 60px);
                    }

                    dd {
                        font-size: min(1.25vw, 20px);
                        padding-left: min(1.25vw, 20px);
                        width: 70%;

                        input[type="text"],
                        input[type="email"],
                        input[type="tel"] {
                            font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
                            font-size: clamp(16px, 1.25vw, 20px);
                            background: #f0f1f5;
                            width: 100%;
                            height: min(3.125vw, 50px);
                            padding: 0 min(1.875vw, 30px);
                            border: none;
                            border-radius: 0;
                            outline: none;
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;

                            ::placeholder {
                                color: #282828;
                            }
                        }

                        input[type="radio"] {
                            background: #f0f1f5;
                            width: min(1.875vw, 30px);
                            height: min(1.875vw, 30px);
                            vertical-align: middle;
                            position: relative;
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;
                            cursor: pointer;
                        }

                        input[type="radio"]:checked::before {
                            content: '';
                            background: url("/images/check.png") no-repeat center center / 100%;
                            width: min(1.75vw, 28px);
                            height: min(1.5vw, 24px);
                            position: absolute;
                            left: min(0.313vw, 5px);
                            top: max(-0.188vw, -3px);
                        }

                        input[type="radio"] + label {
                            cursor: pointer;
                            padding-left: min(0.5vw, 8px);
                            vertical-align: middle;
                        }

                        textarea {
                            font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
                            font-size: clamp(16px, 1.25vw, 20px);
                            background: #f0f1f5;
                            width: 100%;
                            height: min(12.5vw, 200px);
                            padding: min(0.625vw, 10px) min(1.875vw, 30px);
                            border: none;
                            border-radius: 0;
                            outline: none;
                            -webkit-appearance: none;
                            -moz-appearance: none;
                            appearance: none;
                        }

                        .error {
                            font-weight: bold;
                            color: #f00;
                            margin-top: min(0.625vw, 10px);
                        }
                    }

                    dd:nth-of-type(5) {
                        padding-top: min(0.5vw, 8px);

                        br {
                            display: none;
                        }
                    }
                }

                .consent {
                    font-size: min(1vw, 16px);
                    margin-top: min(1.875vw, 30px);
                    text-align: center;

                    a {
                        color: #000;
                        text-decoration: underline;
                        text-underline-offset: 3px;
                    }

                    @media (width > 800px) {
                        a:hover {
                            text-decoration: none;
                        }
                    }
                }

                .btn-box {
                    margin-top: min(2.5vw, 40px);
                    display: flex;
                    justify-content: center;
                    gap: 0 min(1.875vw, 30px);

                    .btn-next input {
                        font-size: min(1vw, 16px);
                        color: #fff;
                        background: url("/images/arrow_btn.png") #c60e0e no-repeat right min(1.25vw, 20px) center / min(1.813vw, 29px) min(0.563vw, 9px);
                        width: min(15.625vw, 250px);
                        padding-left: min(1.25vw, 20px);
                        border: none;
                        border-radius: min(0.625vw, 10px);
                        text-align: left;
                        line-height: 3.75;
                        letter-spacing: 0.2em;
                        outline: none;
                        -webkit-appearance: none;
                        -moz-appearance: none;
                        appearance: none;
                        cursor: pointer;
                        transition: opacity 0.3s;
                    }

                    @media (width > 800px) {
                        .btn-next input:hover {
                            opacity: 0.5;
                        }
                    }
                }
            }
        }
    }

    .confirm {
        section {
            .attention {
                br {
                    display: none;
                }
            }

            form {
                dl {
                    dt {
                        padding-bottom: min(0.938vw, 15px);
                        border-bottom: #f0f1f5 1px solid;
                    }

                    dd {
                        padding: min(0.5vw, 8px) min(3.75vw, 60px) min(0.938vw, 15px);
                        border-bottom: #f0f1f5 1px solid;
                    }
                }

                .btn-box {
                    margin-top: min(5vw, 80px);

                    .btn-back {
                        font-size: min(1vw, 16px);
                        color: #960000;
                        background: url("/images/arrow_btn_red.png") #fff no-repeat right min(1.25vw, 20px) center / min(1.813vw, 29px) min(0.563vw, 9px);
                        width: min(15.625vw, 250px);
                        border: #960000 min(0.188vw, 3px) solid;
                        border-radius: min(0.625vw, 10px);
                        text-align: center;
                        line-height: 3.75;
                        letter-spacing: 0.2em;
                        transform: scale(-1, 1);
                        outline: none;
                        -webkit-appearance: none;
                        -moz-appearance: none;
                        appearance: none;
                        cursor: pointer;
                        transition: opacity 0.3s;

                        span {
                            transform: scale(-1, 1);
                            display: block;
                        }
                    }

                    @media(width > 800px) {
                        .btn-back:hover {
                            opacity: 0.5;
                        }
                    }

                    .btn-next input {
                        padding-left: 0;
                        text-align: center;
                    }
                }
            }
        }
    }

    .complete {
        section {
            .attention {
                .sp {
                    display: none;
                }
            }

            .btn a {
                width: min(15.625vw, 250px);
                margin: min(6.25vw, 100px) auto 0;
                text-align: center;
            }
        }
    }
}

@media (width <= 800px) {
    #contact {
        header {
            background: url("/images/bg_contact_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 12.5vw;

                .attention {
                    font-size: 4.25vw;
                    margin-top: 10vw;

                    .pc {
                        display: none;
                    }

                    .sp {
                        display: inline-block;
                    }
                }

                form {
                    dl {
                        width: 93.75vw;
                        margin: 12.5vw auto 0;
                        gap: 0.625vw 0;

                        dt {
                            font-size: 4.25vw;
                            padding-top: 0;
                            width: 100%;
                            text-align: left;

                            span {
                                font-size: 3.2vw;
                                width: 10.75vw;
                                margin-left: 2.5vw;
                                border-radius: 1.25vw;
                            }
                        }

                        dt:nth-of-type(n+2) {
                            margin-top: 2.5vw;
                        }

                        dt:nth-of-type(5) {
                            padding-right: 0;
                        }

                        dd {
                            font-size: 4.25vw;
                            padding-left: 0;
                            width: 100%;

                            input[type="text"],
                            input[type="email"],
                            input[type="tel"] {
                                font-size: min(4.25vw, 16px);
                                height: 13.375vw;
                                padding: 0 2.5vw;
                            }

                            input[type="radio"] {
                                width: 8vw;
                                height: 8vw;
                                border-radius: 0;
                            }

                            input[type="radio"]:checked::before {
                                width: 7.5vw;
                                height: 6.375vw;
                                left: 0.625vw;
                                top: -0.375vw;
                            }

                            input[type="radio"] + label {
                                padding-left: 2.5vw;
                                display: inline-block;
                            }

                            input[type="radio"]:nth-of-type(3),
                            input[type="radio"]:nth-of-type(3) + label {
                                margin-top: 3.75vw;
                            }

                            textarea {
                                font-size: min(4.25vw, 16px);
                                height: 53.375vw;
                                padding: 2.5vw;
                            }

                            .error {
                                margin-top: 1.25vw;
                            }
                        }

                        dd:nth-of-type(5) {
                            padding-top: 0;

                            br {
                                display: inline-block;
                            }
                        }
                    }

                    .consent {
                        font-size: 3.25vw;
                        width: 93.75vw;
                        margin: 1.25vw auto 0;
                        text-align: left;
                    }

                    .btn-box {
                        margin-top: 7.5vw;

                        .btn-next input {
                            font-size: 4.25vw;
                            background: url("/images/arrow_btn.png") #c60e0e no-repeat right 5vw center / 7.75vw 2.125vw;
                            width: 66.75vw;
                            padding-left: 5vw;
                            border-radius: 2.75vw;
                            line-height: 3.765;
                        }
                    }
                }
            }
        }

        .confirm {
            section {
                .attention {
                    br {
                        display: inline-block;
                    }
                }

                form {
                    dl {
                        dt {
                            padding-bottom: 0;
                            border-bottom: none;
                        }

                        dd {
                            padding: 0 3.75vw;
                        }
                    }

                    .btn-box {
                        margin-top: min(5vw, 80px);
                        flex-wrap: wrap;

                        .btn-back {
                            font-size: 4.25vw;
                            background: url("/images/arrow_btn_red.png") #fff no-repeat right 5vw center / 7.75vw 2.125vw;
                            width: 66.75vw;
                            margin: 10vw auto 0;
                            border: #960000 0.75vw solid;
                            border-radius: 2.75vw;
                            line-height: 3.765;
                        }

                        .btn-next input {
                            margin-top: 5vw;
                        }
                    }
                }
            }
        }

        .complete {
            section {
                .attention {
                    .sp {
                        display: inline-block;
                    }
                }

                .btn a {
                    width: 66.75vw;
                    margin: 10vw auto 0;
                }
            }
        }
    }
}
/***************** contact *****************/

/***************** news *****************/
#news {
    header {
        background: url("/images/bg_news_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            .box {
                width: min(62.5vw, 1000px);
                margin: min(1.875vw, 30px) auto 0;

                .one-box:nth-child(n+2) {
                    margin-top: min(0.625vw, 10px);
                }

                .one-box a {
                    font-size: min(1vw, 16px);
                    color: #292929;
                    padding: 0 min(2.5vw, 40px);
                    border: #f4eee3 min(0.125vw, 2px) solid;
                    border-radius: min(0.625vw, 10px);
                    line-height: 5;
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    gap: 0 min(2.5vw, 40px);
                    transition: opacity 0.3s;

                    .title {
                        width: min(37.5vw, 600px);
                        overflow: hidden;
                        text-overflow: ellipsis;
                        white-space: nowrap
                    }

                    .more img {
                        width: min(1.875vw, 30px);
                        vertical-align: middle;
                    }
                }

                @media (width > 800px) {
                    .one-box a:hover {
                        opacity: 0.5;
                    }
                }
            }
        }
    }
}

@media (width <= 800px) {
    #news {
        header {
            background: url("/images/bg_news_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 12.5vw;

                .box {
                    width: 93.25vw;
                    margin: 10vw auto 0;

                    .one-box:nth-child(n+2) {
                        margin-top: 3.75vw;
                    }

                    .one-box a {
                        font-size: 3.25vw;
                        padding: 2.5vw 3.75vw;
                        border-radius: 2.75vw;
                        line-height: 1;
                        justify-content: flex-start;
                        gap: 2.5vw 0;
                        flex-wrap: wrap;
                        position: relative;

                        .date {
                            width: 100%;
                        }

                        .title {
                            font-size: 4.25vw;
                            width: 75vw;
                        }

                        .more {
                            position: absolute;
                            right: 2.5vw;
                            top: calc(50% - 4vw);

                            img {
                                width: 8vw;
                            }
                        }
                    }
                }
            }
        }
    }
}
/***************** news *****************/

/***************** news_detail *****************/
#news-detail {
    header {
        background: url("/images/bg_news_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            .box {
                width: min(93.75vw, 1500px);
                margin: 0 auto;
                padding: 0 min(15.625vw, 250px) min(5vw, 80px);
                border-bottom: #ced7df 1px solid;

                .date {
                    font-size: min(1vw, 16px);
                    color: #626263;
                }

                h2 {
                    font-size: min(1.875vw, 30px);
                    font-weight: bold;
                    text-align: left;
                    line-height: 1.5;
                }

                .text {
                    font-size: min(1vw, 16px);
                    margin-top: min(1.875vw, 30px);
                    line-height: 1.5;
                }
            }

            .pagenation .back {
                font-weight: bold;
                width: 9.375vw;
            }
        }
    }
}

@media (width <= 800px) {
    #news-detail {
        header {
            background: url("/images/bg_news_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 7.5vw;

                .box {
                    width: 93.75vw;
                    padding: 0;
                    border-bottom: none;

                    .date {
                        font-size: 4.25vw;
                    }

                    h2 {
                        font-size: 6.5vw;
                    }

                    .text {
                        font-size: 4.25vw;
                        margin-top: 5vw;
                    }
                }

                .pagenation .back {
                    width: 40vw;
                }
            }
        }
    }
}
/***************** news_detail *****************/

/***************** privacy_policy *****************/
#privacy-policy {
    header {
        background: url("/images/bg_policy_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            .box {
                width: min(62.5vw, 1000px);
                margin: min(5vw, 80px) auto 0;

                .one-box {
                    padding: 0 min(1.875vw, 30px) min(1.25vw, 20px);
                    border-bottom: #f4eee3 min(0.188vw, 3px) solid;

                    h3 {
                        font-size: min(1.5vw, 24px);
                        font-weight: bold;
                    }

                    p {
                        font-size: min(1vw, 16px);
                        margin-top: min(0.625vw, 10px);
                        padding: 0 min(0.625vw, 10px);
                        line-height: 1.5;
                    }
                }

                .one-box:nth-child(n+2) {
                    margin-top: min(1.25vw, 20px);
                }
            }
        }
    }
}

@media (width <= 800px) {
    #privacy-policy {
        header {
            background: url("/images/bg_policy_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 12.5vw;

                .box {
                    width: 93.75vw;
                    margin: 15vw auto 0;

                    .one-box {
                        padding: 0 0 5vw;
                        border-bottom: #f4eee3 0.8vw solid;

                        h3 {
                            font-size: 4.8vw;
                        }

                        p {
                            font-size: 4.375vw;
                            margin-top: 3.75vw;
                            padding: 0;
                        }
                    }

                    .one-box:nth-child(n+2) {
                        margin-top: 5vw;
                    }
                }
            }
        }
    }
}
/***************** privacy_policy *****************/

/***************** recruit *****************/
#recruit {
    header {
        background: url("/images/bg_recruit_header.jpg") no-repeat center center / cover;
    }

    main {
        section {
            margin-top: min(6.25vw, 100px);

            .box {
                background: #f4f4f4;
                width: min(93.75vw, 1500px);
                margin: min(6.25vw, 100px) auto 0;
                padding: min(3.75vw, 60px) 0 min(6.25vw, 100px);
                border-radius: min(0.625vw, 10px);

                h3 {
                    font-size: min(1.5vw, 24px);
                    font-weight: bold;
                    color: #c60e0e;
                    text-align: center;
                    letter-spacing: 0.2em;
                }

                dl {
                    width: min(62.5vw, 1000px);
                    margin: min(3.125vw, 50px) auto 0;
                    display: flex;
                    flex-wrap: wrap;

                    dt {
                        font-size: min(1vw, 16px);
                        font-weight: bold;
                        width: 20%;
                        padding: 0 min(1.875vw, 30px) min(1.875vw, 30px);
                        border-bottom: #fff min(0.188vw, 3px) solid;
                        line-height: 1.8;
                    }

                    dd {
                        font-size: min(1.125vw, 18px);
                        width: 80%;
                        padding: 0 min(1.875vw, 30px) min(1.875vw, 30px);
                        border-bottom: #fff min(0.188vw, 3px) solid;
                        line-height: 1.5;
                        letter-spacing: 0.2em;

                        span {
                            font-size: min(0.875vw, 14px);
                            margin-left: min(1.25vw, 20px);
                        }
                    }

                    dd:nth-of-type(3) span,
                    dd:nth-of-type(4) span {
                        margin-left: 0;
                    }

                    dd:nth-of-type(5) br {
                        display: inline-block;
                    }

                    dt:nth-of-type(n+2),
                    dd:nth-of-type(n+2) {
                        padding-top: min(1.875vw, 30px);
                    }
                }

                .entry a {
                    font-size: min(1vw, 16px);
                    font-weight: bold;
                    color: #fff;
                    background: url("/images/arrow_btn.png") no-repeat right min(1.875vw, 30px) center / min(1.813vw, 29px) min(0.563vw, 9px), linear-gradient(174deg, #f6d480, #c60e0e);
                    width: min(37.5vw, 600px);
                    border-radius: min(0.625vw, 10px);
                    margin: min(3.75vw, 60px) auto 0;
                    text-align: center;
                    line-height: 3.75;
                    letter-spacing: 0.2em;
                    display: block;
                    transition: opacity 0.3s;
                }

                @media (width > 800px) {
                    .entry a:hover {
                        opacity: 0.5;
                    }
                }
            }
        }
    }
}

@media (width <= 800px) {
    #recruit {
        header {
            background: url("/images/bg_recruit_header_sp.jpg") no-repeat center center / cover;
        }

        main {
            section {
                margin-top: 12.5vw;

                .box {
                    width: 100%;
                    margin: 12.5vw auto 0;
                    padding: 12.5vw 0;
                    border-radius: 2.75vw;

                    h3 {
                        font-size: 6.5vw;
                    }

                    dl {
                        width: 93.75vw;
                        margin: 10vw auto 0;
                        gap: 2.5vw 0;

                        dt {
                            font-size: 4.25vw;
                            width: 100%;
                            padding: 0 3.75vw;
                            border-bottom: 0;
                            line-height: 1;
                        }

                        dd {
                            font-size: 4.75vw;
                            width: 100%;
                            padding: 0 3.75vw 2.5vw;
                            border-bottom: #fff 0.8vw solid;
                            
                            span {
                                font-size: 3.75vw;
                                margin-left: 0;
                                display: block;
                            }
                        }

                        dd:nth-of-type(5) br {
                            display: none;
                        }

                        dt:nth-of-type(n+2) {
                            padding-top: 1.25vw;
                        }

                        dd:nth-of-type(n+2) {
                            padding-top: 0;
                        }
                    }

                    .entry a {
                        font-size: 4.25vw;
                        background: url("/images/arrow_btn.png") #c60e0e no-repeat right 7.5vw center / 7.75vw 2.125vw;
                        width: 93.75vw;
                        margin: 12.5vw auto 0;
                        border-radius: 2.75vw;
                        line-height: 3.765;
                    }
                }
            }
        }
    }
}
/***************** recruit *****************/