.ttl {
    padding-bottom: 15px;
    border-bottom: 1px solid #fff;
    margin-bottom: 70px;
}
.subttl {
    font-size: 1.125em;
    line-height: 2.5;
}
.txt {
    font-size: .75em;
    line-height: 2.5;
}
.btn img {
    width: 153px;
}

/* ========= HEADER ========== */
.header {
    padding: 20px 40px;
    font-size: .8em;
    position: fixed;
    width: 100%;
    z-index: 1000;
}
.header__inner {
    justify-content: space-between;
}
.header__logo img {
    width: 80px;
}
.header__nav--list {
    gap: 20px;
    margin-right: 20px;
}
.header__nav--list a {
    color: #fff;
    transition: unset;
}
.header__icon--list {
    gap: 20px;
}
.header__icon--list li:first-child {
    border-right: solid 1px #fff;
    padding-right: 20px;
}
.header__icon--list a {
    display: flex;
}
.header__icon--list img {
    height: 14px;
}
.hd_logo_scroll {
    display: none;
}
.header.scrolled {
    border-bottom: solid 1px #E4E4E4;
    background: rgb(255 255 255 / 60%);
}
.header.scrolled .hd_logo_white {
    display: none;
}
.header.scrolled .hd_logo_scroll {
    display: block;
    width: 135px;
}
.header.scrolled .header__nav--list a {
    color: #294057;
    transition: unset;
}
.header__icon--list_scroll {
    display: none;
}
.header.scrolled .header__icon--list {
    display: none;
}
.header.scrolled .header__icon--list_scroll {
    display: flex;
}
.header.scrolled .header__icon--list li:first-child {
    border-right: solid 1px #294057;
}

/* ========= MV ========== */
.mv__img:before {
    padding-top: 100vh;
}
.mv__inner {
	position: relative;
	overflow: hidden;
}

.mv__inner .mv__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transition: opacity 2s ease; /* ← ここがふわっと感 */
}

.mv__inner .mv__img img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover; /* 現状の綺麗な表示を崩さない */
}

/* 表示される画像 */
.mv__inner .mv__img.active {
    opacity: 1;
    position: relative;
    z-index: 1;
}


/* ========= SUB MV ========== */
.sub_mv {
    background-image: url('../img/009.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.sub_mv__inner {
    padding: 100px 0;
}
.sub_mv__ttl {
    font-size: 1.5em;
    margin-bottom: 40px;
}
.sub_mv__subttl {
    font-size: .875em;
}

/* ========= CONCEPT ========== */
.concept {
    background-image: url('../img/010.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding: 100px 0;
}
.concept__subttl {
    font-size: 1.625em;
    font-family: "Sawarabi Mincho", serif;
}
.concept__subttl--en {
    font-size: 14px;
    font-family: "Lato", sans-serif;
}
.concept__txt {
    padding-right: 10%;
}

/* ========= ABOUT ========== */
.about {
    padding: 100px 0;
}
.about__ttl {
    border-bottom: 1px solid #E4E4E4;
}
.about__description--content--left {
    width: 32%;
    margin-right: 3%;
}
.about__txt {
    margin-bottom: 40px;
}
.about__linkttl {
    margin-bottom: 20px;
}

/* ========= ONLINE STORE ========== */
.onlinestore {
    padding: 100px 0;
    background-color: #FAFBFC;
}
.onlinestore__description {
    margin-bottom: 70px;
}
.onlinestore__ttl {
    border-bottom: 1px solid #E4E4E4;
}
.onlinestore__txt {
    margin-bottom: 40px;
}
.onlinestore__archive--img {
    margin-bottom: 25px;
}
.onlinestore__archive--ttl {
    margin-bottom: 15px;
}
.onlinestore__archive--price {
    font-size: .875em;
}

/* ========= RECIPE ========== */
.recipe {
    padding: 100px 0;
}
.recipe__description {
    margin-bottom: 70px;
}
.recipe__ttl {
    border-bottom: 1px solid #E4E4E4;
}
.recipe__txt {
    margin-bottom: 40px;
}
.recipe__archive--img {
    margin-bottom: 25px;
}
.recipe__archive--ttl {
    margin-bottom: 15px;
}
.recipe__archive--txt {
    font-size: .75em;
    height: 3.6em;
    overflow: hidden; 
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    margin-bottom: 20px;
}
.recipe__archive--btn {
    font-size: .75em;
    border-bottom: 1px solid #294057;
    width: 66px;
}

/* ========= COLUMN ========== */
.column {
    padding: 100px 0;
    background-color: #FAFBFC;
}
.column__description {
    margin-bottom: 70px;
}
.column__archive--img:before {
    padding-top: 120%;
}
.column__ttl {
    border-bottom: 1px solid #E4E4E4;
}
.column__txt {
    margin-bottom: 40px;
}
.column__archive--img {
    margin-bottom: 25px;
}
.column__archive--img img {
    width: 100%;
}
.column__archive--date {
    font-size: .875em;
    margin-bottom: 15px;
}
.column__archive--ttl {
    margin-bottom: 20px;
    height: 3.6em;
    overflow: hidden; 
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.column__archive--btn {
    font-size: .75em;
    border-bottom: 1px solid #294057;
    width: 66px;
}

/* ========= SLIDE ========== */
.slide__container {
    position: relative;
}
.slide__wrapper {
    margin: 0 -10px;
}
.slide__item {
    padding: 0 10px;
}
.slide__item img {
    width: 100%;
    object-fit: cover;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

/* スライダー */
.slide__container {
    overflow: hidden;
    width: 100%;
}
.slide__wrapper {
    display: flex;
    animation: marquee 25s linear infinite;
}
.slide__item {
    flex-shrink: 0;
    width: 25%;
    padding: 0 10px;
    box-sizing: border-box;
}
.slide__item img {
    width: 100%;
    height: auto;
    display: block;
}
@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-125%);
    }
}
@media (max-width: 1024px) {
    .slide__item {
        width: 33.333%;
    }
	/* 💡 Keyframeを再定義 */
    @keyframes marquee {
        0% {
            transform: translateX(0);
        }
        /* タブレット: 5アイテム * 33.333% = 166.665% 移動 */
        100% {
            transform: translateX(calc(-500% / 3)); /* 166.666...% */
        }
    }
}
@media (max-width: 768px) {
    .slide__item {
        width: 50%;
    }
	/* 💡 Keyframeを再定義 */
    @keyframes marquee {
        0% {
            transform: translateX(0);
        }
        /* スマホ: 5アイテム * 50% = 250% 移動 */
        100% {
            transform: translateX(-250%);
        }
    }
}

/* ========= NEWS ========== */
.news {
    padding: 100px 0;
}
.news__ttl {
    border-bottom: 1px solid #E4E4E4;
}
.news__archive {
    margin-bottom: 50px;
}
.news__archive--content {
    padding-bottom: 20px;
    margin: 0 3% 2%;
    border-bottom: 1px solid #E4E4E4;
}
.news__archive--date {
    font-size: .875em;
    width: 15%;
}
.news__archive--ttl {
    font-size: .75em;
    width: 70%;
}
.news__archive--btn {
    font-size: .75em;
    width: 6%;
    border-bottom: 1px solid #294057;
    margin-left: 9%;
}
.news__btn {
    text-align: end;
}

/* ========= SERVICE PROJECT ========== */
.service_project {
    padding-top: 100px;
}
.service_project__ttl {
    font-size: 1.25em;
    text-align: center;
    margin-bottom: 40px;
}
.service_project__background {
    margin-bottom: 100px;
}
.service_project__background--ttl {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.service_project__background--subttl {
    font-size: 1.125em;
    margin-bottom: 10px;
}
.service_project__background--txt {
    font-size: .75em;
    margin-bottom: 30px;
}
.service_project__background--img img {
    width: 100%;
}
.service_project__vision {
    padding: 100px 0;
    background-color: #FAFBFC;
}
.service_project__vision--ttl {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.service_project__vision--description {
    padding: 4% 0 0 100px;
}
.service_project__vision--description--txt {
    margin-bottom: 50px;
    position: relative;
    border-left: solid 1px #E4E4E4;
    padding-left: 40px;
}
.service_project__vision--description--txt:before {
    content: "01";
    position: absolute;
    font-size: 40px;
    font-family: 'Lato';
    left: -90px;
    font-weight: 400;
    top: 10px;
}
.service_project__vision--description--txt:nth-child(2):before {
    content: "02";
}
.service_project__vision--description--txt:nth-child(3):before {
    content: "03";
}
.service_project__vision--subttl {
    font-size: 1.125em;
    margin-bottom: 10px;
}
.service_project__vision--txt {
    font-size: .75em;
}
.service_project__vision--img img {
    width: 100%;
}

/* ========= SERVICE ACTIVITIES ========== */
.service_activities {
    padding: 100px 0;
}
.service_activities__ttl {
    font-size: 1.25em;
    text-align: center;
    margin-bottom: 40px;
}
.service_activities__content {
    margin-bottom: 70px;
}
.service_activities__content--ttl {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.service_activities__content--txt {
    font-size: .75em;
    margin-bottom: 20px;
}
.service_activities__content--img img {
    width: 100%;
}
.service_activities__content--list ul {
    border: 1px solid #E4E4E4;
    padding: 30px 100px;
    text-align: center;
    margin: 20px 0;
}
.service_activities__content--list li {
    padding: 20px 0 10px;
    border-bottom: .5px solid #294057;
}
.service_activities__content--list li:first-child {
    padding-top: 0;
}
.service_activities__content--subttl {
    font-size: 1.125em;
    margin-bottom: 10px;
}

/* ========= CONTACT ========== */
.contact {
    padding: 100px 0;
    background-image: url('../img/018.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    text-align: center;
}
.contact__ttl {
    border-bottom: none;
    margin-bottom: 15px;
}
.contact__txt {
    margin-bottom: 50px;
}

/* ========= FOOTER ========== */
.footer__main {
    padding: 100px 0;
    background-color: #294057;
    color: #fff;
}
.footer__description {
    width: 38%;
}
.footer__description--logo {
    width: 18%;
}
.footer__description--logo img {
    width: 80px;
}
.footer__description--info {
    width: 78%;
    font-size: .875em;
}
.footer__nav {
    width: 58%;
}
.footer__nav--list ul {
    gap: 0 60px;
}
.footer__nav--list a {
    color: #fff;
    font-size: .75em;
    display: flex;
    line-height: 3.5;
}
.footer__nav--list a img {
    width: 14px;
    margin-right: 7px;
}
.footer__copyright {
    padding: 25px;
    background-color: #294057;
    color: #fff;
    font-size: .75em;
    text-align: center;
    border-top: .5px solid #fff;
}
.low_post__slider {
	margin-bottom: 2em;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
}
.low_post__slider--sub .slick-track {
	margin: 0;
}
.low_post__slider--sub .slick-slide {
	padding: 8px 8px 0em 0em;
	cursor: pointer;
}
.sidebar {
	width: 30%;
	height: fit-content;
	padding: 1.5em 1.5em;
	background: #fff;
}
.slick-slider div {
	transition: none;
	vertical-align: middle;
}
.slider-works_arrow {
	position: absolute;
	background: #2c4359;
	display: flex!important;
	width: fit-content;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	cursor: pointer;
	transform: rotate(180deg);
	z-index: 1;
	top: calc(50% - 20px);
	left: -1.2em;
}
.slider-works_arrow:before {
	content: "";
	opacity: 1;
	width: 8px;
	height: 8px;
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: no-repeat center/contain;
	background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2213px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M9.488%2C6.130%20C9.925%2C6.440%2010.31%2C7.51%209.725%2C7.494%20C9.660%2C7.587%209.580%2C7.668%209.488%2C7.734%20L2.481%2C12.709%20C2.44%2C13.19%201.442%2C12.911%201.137%2C12.468%20C1.23%2C12.303%200.962%2C12.106%200.963%2C11.905%20L0.963%2C1.958%20C0.962%2C1.418%201.394%2C0.979%201.927%2C0.978%20C2.125%2C0.978%202.319%2C1.39%202.481%2C1.154%20L9.488%2C6.130%20Z%22%2F%3E%3C%2Fsvg%3E);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.slider-works_next {
	position: absolute;
	background: #2c4359;
	display: flex!important;
	width: fit-content;
	width: 40px;
	height: 40px;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	cursor: pointer;
	top: calc(50% - 20px);
	right: 25%;
}
.slider-works_next:before {
	content: "";
	opacity: 1;
	width: 8px;
	height: 8px;
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: no-repeat center/contain;
	background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210px%22%20height%3D%2213px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22%23fff%22%20d%3D%22M9.488%2C6.130%20C9.925%2C6.440%2010.31%2C7.51%209.725%2C7.494%20C9.660%2C7.587%209.580%2C7.668%209.488%2C7.734%20L2.481%2C12.709%20C2.44%2C13.19%201.442%2C12.911%201.137%2C12.468%20C1.23%2C12.303%200.962%2C12.106%200.963%2C11.905%20L0.963%2C1.958%20C0.962%2C1.418%201.394%2C0.979%201.927%2C0.978%20C2.125%2C0.978%202.319%2C1.39%202.481%2C1.154%20L9.488%2C6.130%20Z%22%2F%3E%3C%2Fsvg%3E);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.low_post__slider .slider-works_next {
    right: -1.2em;
}
.low_post__slider--sub .slick-track {
	margin: 0;
}
.low_post__slider--sub .slick-slide {
	padding: 8px 8px 0em 0em;
	cursor: pointer;
}
.sidebar__work_archive {
	margin-top: 1.5em;
}
@media (max-width: 850px) {
	.slider-works_arrow {
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
		left: -1em;
	}
	.slider-works_next {
		width: 40px;
		height: 40px;
		top: calc(50% - 20px);
		right: -1em;
	}
	.low_post__slider .slider-works_next {
		right: -1em;
	}
}
.slick-slider div {
    transition: none;
    vertical-align: middle;
}

/* LOW PAGE */
.low_hd {
    margin: 175px auto 0;
    border-top: solid 1px #E4E4E4;
    width: calc(100% - 40px);
    padding-top: 30px;
    max-width: 1200px;
}
.low_hd__inner--ttl {
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 8px;
    line-height: 1.6;
}
.low_hd__inner--ttl h1 {
    display: block;
    font-size: 12px;
    letter-spacing: 4px;
}
.low_hd__inner--content {
    display: flex;
    align-items: baseline;
    gap: 40px;
}
.breadcrumbs {
    font-size: 12px;
    color: #8D8D8D;
    font-weight: 400;
}
.breadcrumbs a {
    color: #8D8D8D;
}
.company_about {
    margin: 150px 0;
}
.company_about__content--item {
    border-top: solid 1px #E4E4E4;
    padding: 30px 0;
    font-size: 14px;
}
.company_about__content--item:last-child {
    border-bottom: solid 1px #E4E4E4;
}
.company_about__content {
    margin-top: 10px;
}
.company_about__item--ttl {
    width: 20%;
}
.company_about__item--txt {
    width: 80%;
}
.company_about__ttl {
    margin-bottom: 0;
}
.contact_page {
    margin: 150px auto;
}
.contact_page .contact__ttl {
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 40px;
}
.contact_page__description {
    margin: 0px 0 130px;
}
.contact__form {
    margin: 50px 0 100px;
}
.contact__form h3 {
    text-align: center;
    font-size: 25px;
}
.form-description {
    text-align: left;
    margin: 30px auto 50px;
    font-size: 16px;
    line-height: 2;
    width: fit-content;
}
.contact_page__description--info .contact__time {
    margin-bottom: 0;
    font-size: 12px;
}
.contact_page__description--info a {
    color: #294057;
    font-size: 40px;
}
.contact_page__description--info a span {
    font-size: 20px;
    margin-right: 0.6em;
}
.contact_page__description--text {
    width: 45%;
    margin-left: 5%;
    font-size: 12px;
	line-height: 2.3;
}
.form-description {
    font-size: 14px;
    text-align: center;
}
.form-label {
    font-weight: 500;
}
.form-buttons input.btn-primary {
    background: #294057;
}
.contact_page__description--info {
    width: 50%;
}
.privacy-policy {
    margin: 150px auto;
}
.page_content {
    margin: 150px auto;
}
.post_content {
    margin: 150px auto;
}
.service_activities__content--description {
    margin-top: 35px;
}
.service_activities__content--txt.flex_2col {
    margin-bottom: 0;
    line-height: 2.1;
}
.service_activities__content--txt.flex_3col {
    margin-bottom: 0;
    line-height: 2.1;
}
.service_activities__content--img span {
    font-size: 12px;
}
.service_activities__content--txt.flex_3col {
    margin-top: 20px;
}
.strong {
    font-weight: bold;
}
.service_activities__qa--content {
    margin-bottom: 30px;
}
.service_activities__qa--q {
    font-size: 14px;
    gap: 30px;
    align-items: anchor-center;
    flex-wrap: unset;
}
.service_activities__qa--q span {
    font-size: 20px;
}
.service_activities__qa--a {
    font-size: 12px;
    gap: 30px;
    align-items: anchor-center;
    flex-wrap: unset;
}
.service_activities__qa--a span {
    font-size: 20px;
}
.other {
    padding: 100px 0;
    background-color: #FAFBFC;
}
.recipe_detail__main h1 {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.recipe_detail__description {
    font-size: 12px;
}
.recipe_detail__material {
    font-size: 12px;
}
.recipe_detail__material h2 {
    font-size: 14px;
	font-weight: 600;
}
.recipe_detail__meta {
    margin-bottom: 80px;
}
.recipe_detail__make h2 {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}
.recipe__make {
    margin-bottom: 70px;
}
.recipe__make--txt {
    font-size: 12px;
    margin-top: 20px;
}
.recipe_detail__content--btn {
    text-align: center;
}
.other__inner--ttl {
    margin-bottom: 30px;
    border-bottom: solid 1px #E4E4E4;
}
.other__archive {
    margin-bottom: 50px;
}
.column_detail__content--btn {
    text-align: center;
    margin-top: 80px;
}
.column_detail__main {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.store_detail__content--btn {
    text-align: center;
    margin-top: 70px;
}
.column_detail__main--date {
    font-size: 12px;
    margin-bottom: 10px;
}
.store_detail__main--detail h1 {
    font-size: 1.25em;
    padding-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    margin-bottom: 35px;
}
.store_detail__main--price {
    font-size: 16px;
    margin-bottom: 20px;
}
.store_detail__main--description {
    font-size: 12px;
}
.store_detail__main--description {
    font-size: 12px;
    margin-bottom: 50px;
}
.store_detail__main--cart > div {
    width: 100%!important;
}
.store_detail__main--cart table {
    width: 100%!important;
    margin: 2em auto 15px!important;
}
.store_detail__main--cart input[type="submit"] {
    padding: 0.8em 5em;
    font-size: 13px;
    display: inline-block;
    margin-top: 1em;
    background: #222;
    border: solid 1px #222;
    color: #fff;
    cursor: pointer;
    margin-top: 20px;
}
.store_detail {
    margin-bottom: 0;
}