/* スマートフォン対応 (768px以下) */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
    main {
        margin-top: 49.59px;
    }
    /* ========= UTILITY CLASSES ========== */
    .ttl {
        font-size: 2.143em;
    }
    .ttl__small {
        margin-bottom: 50px;
    }
    .txt {
        line-height: 2.2;
    }
    .btn img {
        width: auto;
        height: 50px;
    }
    .background {
        padding: 100px 0 150px;
        margin-top: -50px;
        border-radius: 3em 3em 0 0;
    }
    /* ========= HEADER ========== */
    .header {
        padding: 10px 15px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
    }
    
    .header__logo--icon img {
        width: 210px;
    }
    
    .header__nav {
        background: none;
        padding: 0;
        border-radius: 0;
    }
    .hamburger {
		top: 16px;
	}
	.header__nav--list {
		padding: 50px 1em;
	}
    
    /* ========= MV ========== */
    .mv__img::before {
        padding-top: 120%;
    }
    
    /* ========= ABOUT ========== */
    .about {
        padding: 60px 0 120px;
    }

    .about__ttl {
        margin-bottom: 0.8em;
        font-size: 2em;
        line-height: 1.7;
    }

    .about__txt {
        line-height: 2.2;
        margin-bottom: 3em;
        font-size: 1em;
    }
    
    /* ========= PRODUCTS ========== */
    .products {
        padding: 100px 0 150px;
    }

    .products__description {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 0px;
    }

    .products__description--txt {
        width: 100%;
        margin-bottom: 30px;
    }

    .products__description--btn {
        width: 100%;
    }

    .products__btn {
        text-align: center;
    }

    .products__ttl {
        margin-bottom: 0.8em;
    }

    .products__txt {
        line-height: 2.2;
    }
    
    /* ========= スライダー ========== */
    .products__slider {
        margin: 0 0 30px;
    }

    .products__slider--item {
        width: calc(50% - 10px);
        margin-right: 20px;
    }

    .products__slider--track {
        animation-duration: 30s;
    }
    
    /* ========= NEWS ========== */
    .news {
        padding: 100px 0 0;
    }

    .news__description {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 3em;
    }

    .news__ttl {
        margin-bottom: 0;
    }

    .news__archive--content {
        padding: 25px 0;
        text-align: left;
        align-items: center;
        position: relative;
    }

    .news__archive--date {
        width: 100%;
        margin-bottom: 10px;
    }

    .news__archive--ttl {
        width: 100%;
        line-height: 1.6;
        padding-right: 3em;
    }

    .news__archive--btn {
        width: 100%;
        text-align: right;
        position: absolute;
    }

    .news__archive--btn img {
        width: 30px;
    }
	.news__btn {
		text-align: center;
		margin-top: 50px;
	}
	.news__btn.btn.pc_only {
		display: none;
	}
    
    /* ========= RECIPE ========== */
    .recipe {
        padding: 100px 0 150px;
    }

    .recipe__description {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px;
    }

    .recipe__description--txt {
        width: 100%;
        margin-bottom: 30px;
    }

    .recipe__description--btn {
        width: 100%;
    }

    .recipe__btn {
        text-align: center;
        margin-top: 30px;
    }

    .recipe__ttl {
        margin-bottom: 0.8em;
    }

    .recipe__txt {
        line-height: 2.2;
    }

    .recipe__archive--scroll .recipe__archive {
        width: 200%;
    }

    .recipe__archive--scroll {
        overflow-x: scroll;
    }

    .recipe__archive--item {
        width: 100%;
        margin-bottom: 30px;
    }

    .recipe__archive--scroll .recipe__archive--item {
        width: 32%;
        margin-right: 2%;
    }

    .recipe__archive--scroll .recipe__archive--item:nth-child(3n) {
        margin-right: 0;
    }

    .recipe__archive--ttl {
        height: auto;
        margin-top: 15px;
    }
    
    /* ========= RECRUIT ========== */
    .recruit {
        padding: 100px 0 150px;
    }

    .recruit__inner {
        flex-direction: column;
        text-align: center;
    }

    .recruit__img--left, .recruit__img--right {
        width: 100%;
        margin: 0 auto 30px;
    }

    .recruit__img--right {
        margin: 0 auto 30px;
    }

    .recruit__description {
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }

    .recruit__ttl {
        margin-bottom: 0.8em;
    }

    .recruit__subttl {
        margin-bottom: 0.8em;
        font-size: 1.8em;
        text-align: left;
    }

    .recruit__txt {
        line-height: 2.2;
        text-align: left;
        margin-bottom: 3em;
    }
    
    /* ========= COMPANY_PRINCIPLE ========== */
    .company_principle {
        padding: 100px 0 150px;
    }
    
    .company_principle__ttl {
        margin-bottom: 50px;
    }
    
    .company_principle__txt {
        line-height: 2;
        text-align: left;
        font-size: 1em;
    }
    .company_principle__txt--content {
        margin-bottom: 1em;
    }
    
    /* ========= COMPANY_ABOUT ========== */
    .company_about {
		padding: 100px 0 0px;
	}
	.company_about__map {
		padding-top: 40px;
	}
	.company_about.company_history {
		padding-bottom: 100px;
	}
    
    .company_about__ttl {
        margin-bottom: 50px;
    }
    
    .company_about__content--item {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px 30px;
    }
    
    .company_about__item--ttl {
        width: 100%;
        margin: 0 0 10px 0;
        font-weight: 600;
    }
    
    .company_about__item--txt {
        width: 100%;
    }
    
    /* ========= PRODUCTS_ARCHIVE ========== */
    .products_archive {
        padding: 0px 0;
    }

    .products_archive__description {
        margin-bottom: 60px;
        line-height: 2.2;
    }

    .products_archive__tabs {
        flex-wrap: wrap;
        gap: 5px;
    }

    .products_archive__tab {
        width: calc(50% - 2.5px);
        padding: 10px 3px;
        margin-right: 0;
        border-radius: 1em 1em 0 0;
    }

    .products_archive__content {
        padding: 60px 0 0;
    }

    .products_archive__item {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 30px;
    }

    .products_archive__item:nth-child(3n) {
        margin-right: 2%;
    }

    .products_archive__item:nth-child(2n) {
        margin-right: 0%;
    }

    .products_archive__item--ttl {
        height: auto;
        margin-top: 10px;
        font-size: 0.92em;
    }
    .products_archive__item--label {
        padding: 5px 15px;
        border-radius: 1em 0;
        font-size: .8em;
    }
    
    /* ========= RECRUIT系セクション ========== */
    .recruit_about,
    .recruit_introduction,
    .recruit_interview,
    .recruit_requirements {
        padding: 100px 0 100px;
    }

    .recruit_about__inner {
        flex-direction: column;
    }

    .recruit_about__description {
        width: 100%;
        margin-right: 0;
        margin-bottom: 40px;
    }

    .recruit_about__ttl {
        text-align: center;
    }

    .recruit_about__txt {
        line-height: 2.2;
    }

    .recruit_about__img {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 30px;
    }

    .recruit_introduction__ttl {
        margin-bottom: 50px;
    }

    .recruit_introduction__item {
        padding: 40px 0;
    }

    .recruit_introduction__item--description {
        width: 100%;
        margin: 0 0 0 0;
        padding: 0 20px 0 40px;
    }

    .recruit_introduction__item--img {
        width: calc(100% - 20px);
        border-radius: 3em 0 0 3em;
        order: -1;
        margin-bottom: 25px;
        margin-left: 20px;
    }
    .recruit_introduction__item--img:before {
        padding-top: 70%;
    }

    .recruit_introduction__item--subttl {
        font-size: 1.3em;
    }

    .recruit_introduction__item--ttl::before {
        width: 15px;
        height: 15px;
        left: 10px;
        top: 3em;
    }
    .recruit_introduction__item--ttl::after {
        width: 3px;
        height: calc(100% + 0px);
        left: 16px;
        top: 3.2em;
    }

    .recruit_introduction__item--txt {
        line-height: 2.2;
        margin-bottom: 3em;
    }
    .recruit_introduction__item--point span {
        padding: 4px 15px;
        margin-right: 0.5em;
    }

    .recruit_introduction__item--btn {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        max-width: none;
    }

    .recruit_interview__item--img {
        max-width: 200px;
        border-radius: 1.5em;
        margin: 0 auto 0px;
    }

    .recruit_interview__item--img:before {
        padding-top: 130%;
    }

    .recruit_interview__item--ttl {
        font-size: 1.2em;
        text-align: left;
    }

    .recruit_interview__ttl {
        margin-bottom: 50px;
    }

    .recruit_interview__item {
        margin-bottom: 50px;
    }

    .recruit_interview__item--profile {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .recruit_interview__item--content {
        margin-left: 0;
    }

    .recruit_interview__item--txt {
        line-height: 2.2;
        text-align: left;
    }

    .recruit_requirements__ttl {
        margin-bottom: 50px;
    }

    .recruit_requirements__tabs {
        flex-wrap: wrap;
        gap: 5px;
    }

    .recruit_requirements__tab {
        width: calc(50% - 2.5px);
        padding: 10px 5px;
        margin-right: 0;
        border-radius: 1em 1em 0 0;
    }

    .recruit_requirements__content {
        padding: 50px 0;
    }

    .recruit_requirements__content--ttl {
        margin-bottom: 40px;
    }

    .recruit_requirements__content--details {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 20px 30px;
	}
	.recruit_requirements__content--details_wrap {
		width: 100%;
		padding: 0;
	}

	.recruit_requirements__details--ttl {
		margin-left: 0;
		font-weight: 600;
		width: 100%;
		margin-bottom: 0.5em;
	}
    .recruit_requirements__details--txt {
        font-size: 0.9em;
    }
    .recruit_requirements__content--btn {
        margin-top: 50px;
    }
    
    /* ========= RECIPE_CONTENT ========== */
    .recipe_content {
        padding: 0;
    }
    
    .recipe_content__description {
        margin-bottom: 4em;
        line-height: 2.2;
    }
    
    /* ========= CONTACT ========== */
    .contact {
        padding: 80px 0;
    }

    .contact__ttl {
        margin-bottom: 0.3em;
        text-align: left;
        font-size: 2em;
    }

    .contact__inner {
        flex-direction: column;
        text-align: center;
    }

    .contact__description {
        width: 100%;
        margin-bottom: 40px;
    }

    .contact__ttl {
        margin-bottom: 0.8em;
    }

	.contact__txt {
		line-height: 2.2;
		text-align: left;
	}

    .contact__info {
        width: 100%;
    }

    .contact__tel {
        margin-bottom: 10px;
        font-size: 2.7em;
    }

    .contact__time {
        margin-bottom: 4em;
        font-size: 0.8em;
    }
    
    /* ========= FOOTER ========== */
    .footer {
        padding: 60px 0;
    }

    .footer__description--address {
        font-size: 1em;
    }

    .footer__description {
        width: 100%;
        margin-bottom: 40px;
        text-align: left;
    }

    .footer__description--logo img {
        width: 280px;
    }

    .footer__nav {
        width: 100%;
        order: -1;
        margin-bottom: 40px;
        text-align: left;
    }

    .footer__nav--list {
        width: 100%;
    }

    .footer__nav--list ul li {
        margin-bottom: 0.8em;
    }

    .footer__privacy a {
        display: block;
        margin-bottom: 0.5em;
        font-size: 0.9em;
    }

	.footer__copyright {
		text-align: left;
	}
	.low_hd__inner--content {
		margin-top: 0px;
	}
	.low_hd__inner--ttl {
		font-size: 2em;
	}
	.low_hd__inner--bk:before {
		height: 200px;
	}
	.low_news {
		padding: 0px 0;
	}
	.contact_page__description {
		margin: 60px 0;
	}
	.contact_page__description--text {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.form-description {
		margin: 20px auto 40px;
		font-size: 14px;
		line-height: 1.8;
	}
	.news_detail__meta {
		flex-wrap: wrap;
	}
	.news_detail__ttl {
		width: 100%;
		padding-right: 0;
		line-height: 1.7;
	}
	.news_detail__date {
		margin-bottom: 0.5em;
	}
	.news_detail__meta {
		padding-bottom: 25px;
		margin-bottom: 35px;
	}
	.news_detail__content {
		margin-bottom: 50px;
	}
	.post_content {
		padding: 60px 20px;
	}
	.bilder_main_text p {
		font-size: 14px;
	}
	.tsukemono_detail__img {
		width: 100%;
		margin-bottom: 20px;
	}
	.tsukemono_detail__content {
		width: 100%;
	}
	.tsukemono_detail__content--ttl {
		font-size: 1.6em;
		margin-bottom: 0.7em;
	}
	.tsukemono_detail__content--text {
		font-size: 1em;
	}
	.tsukemono_detail__table--content {
		padding: 0.5em 1em;
		font-size: 0.9em;
	}
	.tsukemono_detail__content--bilder {
		margin: 30px 0;
	}
	.stringing {
		margin: 60px 0 0;
		border: solid 1px #00A45B;
		border-radius: 20px;
		padding: 30px;
	}
	.stringing h2 {
		font-size: 1.3em;
	}
	.other {
		margin: 0px 0 100px;
	}
	.other__inner--ttl {
		font-size: 1.6em;
	}
	.other__inner {
		margin-bottom: 40px;
	}
	.recipe_detail__main h1 {
		font-size: 1.6em;
	}
	.recipe_detail__thumnail {
		margin: 0 auto 40px;
		border-radius: 20px;
	}
	.recipe_detail__point {
		border-radius: 20px;
		padding: 25px;
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
	.recipe_detail__point h2 {
		font-size: 1.6em;
	}
	.recipe_detail__point--text {
		line-height: unset;
	}
	.recipe_detail__material {
		width: 100%;
	}
	.recipe_detail__material h2 {
		font-size: 1.6em;
		text-align: center;
		padding-left: 0;
	}
	.recipe__material--content {
		border-top: dashed 1px #C1E1C1;
		padding: 0.6em 1em;
	}
	.recipe_detail__make {
		margin: 60px 0;
	}
	.recipe_detail__make h2 {
		font-size: 1.6em;
	}
	.recipe__make--content {
		padding: 1em 1em;
	}
	.stringing__archive.recipe__archive .products_archive__item {
		width: 100%;
		margin-right: 0;
	}
}
