html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    box-sizing: border-box;
}

body {
    line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
[id] {
  scroll-margin-top: 60px;
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    transition: all .3s;
}

a:hover {
    opacity: .7;
    transition: all .3s;
}

ins {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #fff;
    color: #000;
    font-style: italic;
    font-weight: bold;
}
img{
    max-width: 100%;
}
del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,
select {
    vertical-align: middle;
}

html {
    font-size: .6944vw;
}

body {
    font-family: "Roboto", 'Noto Sans JP', sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    color: #231815;
    background-color: #eee;
    overflow-x: hidden;
    font-size: clamp(10px, 1.6rem, 18px);
}

:root {
    --color-orange: #e18000;
    --color-navy: #1f2160;
    --color-black: #231815;
    --color-red: #c30d23;
    --color-green: #006934;
    --color-brown: #956134;
}

.js-fade {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.l-container {
    width: 76.388%;
    max-width: 2000px;
    margin: 0 auto;
}

.sp {
    display: none !important;
}

.pc {
    display: block !important;
}

/*-------------------------------------------------
Header
--------------------------------------------------*/

.hamburger {
    display: none;
}

.header__container {
    padding: 30px 6.5rem;
    margin: 0 auto;
    display: flex !important;
    justify-content: space-between;
}



.l-nav {
    display: flex!important;
    gap: 60px;
}

.nav__ul {
    list-style: none;
    display: flex;
    gap: 30px;
}

.nav__link {
    color: #231815;
    font-weight: bold;
    font-size: clamp(15px, 1.4rem, 16px);
}

.nav__subTxt {
    color: #717071;
    font-weight: 400;
}

.header__btn {
    background-color: var(--color-navy);
    color: #fff;
    padding: 2px 10px;
    display: flex;
    align-items: center;
    font-size: clamp(15px, 1.4rem, 16px);
}

.nav__subTxt-contact {
    color: #b6b7b7;
}

.catlog__btn {
    display: block;
    margin: 0 auto;
    background: #7a6a56;
    color: #fff;
    width: 540px;
    text-align: center;
    max-width: 90%;
    font-size: clamp(20px, 2.4rem, 26px);
    padding: 10px;
    font-weight: bold;
    position: relative;
}

.catlog__btn:before,
.catlog__btn:after {
    content: '';
    width: 5px;
    height: 30px;
    background-color: #fff;
    position: absolute;
    display: inline-block;
    top: 0;
    bottom: 0;
    margin: auto;
}

.catlog__btn:before {
    left: 11px;
}

.catlog__btn:after {
    right: 11px;
}

/*-------------------------------------------------
下層ページ共通
--------------------------------------------------*/
.l-page {
    font-size: clamp(16px, 2.0rem, 20px);
}

.page__ttl {
    font-size: clamp(28px, 3.2rem, 33px);
    margin: 0 6.5rem;
    border-bottom: 1px solid #40220f;
    margin-bottom: 40px;
    font-weight: 400;
}

.page__ttl-container {
    width: 76.388vw;
    max-width: 2000px;
    margin: 0 auto;
}

.page__ttl-sub {
    font-size: clamp(20px, 2.7rem, 28px);
    font-weight: 400;
    margin-left: 6.25vw;
}

.page__ttl-sub-red,
.page__secTtl-red {
    color: var(--color-red);
}
.page__ttl-sub-green,.page__secTtl-green{
    color: var(--color-green);
}
.page__ttl-sub-brown,.page__secTtl-brown{
    color: var(--color-brown);
}
.page__secTtl-navy{
    color: var(--color-navy);
}
.page__secTtl {
    font-size: clamp(20px, 2.5rem, 27px);
    margin-bottom: 16px;
    font-weight: 400;
}

/*-------------------------------------------------
製品ページ
--------------------------------------------------*/
.l-section {
    margin-bottom: 40px;
}

.product01__imgWrap {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 16px;
    margin-top: 10px;
    margin-bottom: 25px;
}
.product01__imgWrap-3{
  margin-bottom: 25px;
}

.product__imgBox:nth-child(1),
.product__imgBox:nth-child(2) {
    grid-column: span 3;
}

.product__imgBox:nth-child(n+3) {
    grid-column: span 2;
}

.product__imgBox img {
    width: 100%;
}

.product__listTtl-wrap {
    display: flex;
    gap: 16px;
    align-items: center;
    margin-bottom: 20px;
}

.product__listTtl {
       border: 1px solid;
    padding: 3px 10px;
    font-size: clamp(18px, 1.9rem, 20px);
    font-weight: 400;
    width: 22%;
    text-align: center;
}

.product__listWrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    gap: 6px;
}

.product__list {
    display: flex;
    align-items: baseline;
    gap: 4px;
    line-height: 1.3;
}

.product__list:before {
    content: '■';
    display: inline-block;
    font-size: 26px;
}
.catalog__wrap{
        text-align: center;
    font-size: clamp(10px, 1.6rem, 16px);
}
.note{
    margin-top: 10px;
}
.product__name{
    font-size: clamp(18px,2.2rem,24px);
    color: var(--color-orange);
    margin: 20px 0 10px;
    line-height: 1;
}
.product__name-blue{
    color: #036eb8;
}
.product02__lead{
    margin-bottom: 20px;
}
/*-------------------------------------------------
企業情報ページ
--------------------------------------------------*/
.l-table{
    width: 100%;
}
.aboutus__name{
    font-size: clamp(15px,2.2rem,23px);
    text-align: right;
    margin-top: 10px;
}
.aboutus__companyWrap{
    background-color: #fff;
    padding: 30px;
    margin-bottom: 27px;
}
.aboutus__companyTh,.aboutus__companyTd{
    border-top: 1px solid #231815;
    border-bottom: 1px solid #231815;
    
}
.aboutus__companyTh{
padding: 14px 30px ;
text-align: left;
background-color: #ef820036;
font-weight: 400;
}
.aboutus__companyTd{
    padding: 14px 40px ;
}
.aboutus__gallery{
    display: flex;
    gap: 20px;
}
.aboutus__gallery_item {
    width: 50%;
}
.aboutus__gallery_item img{
    width: 100%;
}
.aboutus__gallery_item iframe{
        height: 100%;
        width: 100%;
}
.aboutus__historyWrap{
    padding: 0 30px;
}
.aboutus__historyTh{
    text-align: left;
    width: 15%;
    font-weight: 400;
}
.company__groupTtl{
    font-size: clamp(15px,2rem,21px);
    color: var(--color-black);
    margin-left: 6rem;
}
.aboutus__groupItem{
    border-top: 1px solid #231815;
    padding: 15px 30px;
}
.aboutus__groupItem:last-of-type{
    border-bottom: 1px solid #231815;
    margin-bottom: 60px;
}
.aboutus__groupName{
    font-size: clamp(18px,2.3rem,24px);
    color: #1f528e;
}

/*-------------------------------------------------
パイのこと
--------------------------------------------------*/
.aboutpie__lead{
    color: var(--color-orange);
    text-align: center;
    margin-bottom: 40px;
}
.aboutpie__ttlWrap{
    text-align: center;
    margin-bottom: 18px;
}
.aboutpie__icon{
    margin-bottom: 40px;
}
.aboutpie__typeWrap{
    display: flex;
    gap: 16px;
    margin-bottom: 56px;
}
.aboutpie__typeItem{
    width: 32%;
        display: flex;
    flex-direction: column;
}
.aboutpie__typeTtl{
    background-color: var(--color-navy);
    text-align: center;
    padding: 10px 20px;
    color: #fff;
    line-height: 1.3;
    flex-grow: 1;
    height: stretch;
        display: flex;
    justify-content: center;
        align-items: center;
}
.aboutpie__typeTxtWrap{
    background-color: #fff;
    padding: 17px;
    flex-grow: 1;
}
.aboutpie__typeDesc{
    margin-top: 17px;
    font-size: clamp(14px,1.6rem,16px);
}
.aboutpie__type__imgWrap{
    text-align: center;
        height: 223px;
    display: flex;
}
.aboutpie__type__imgWrap img{
    width: 100%;
}
.aboutpie__featureWrap{
    display: flex;
    flex-direction: column;
    gap: 38px;
}
.aboutpie__featureItem{
        display: flex;
        gap: 23px;
        align-items: center;
}
.aboutpie__feature_ttl{
    color: var(--color-orange);
    font-size: clamp(18px,2.0rem,22px);
    font-weight: 400;
    margin-bottom: 10px;
}
.aboutpie__feature__txt{
    font-size: clamp(16px,1.9rem,20px);
    font-weight: 400;
}
.aboutpie__secTtl-brown{
    color: #6a3906;
    text-align: center;
}
.aboutpie__feature_ttl-navy{
    color: var(--color-navy);
}
.aboutpie__knowledge{
    margin-bottom: 84px;
    margin-top: 57px;
}
.aboutpie__feature_imgWrap{
    width: 20%;
}
.aboutpie__feature_imgWrap img{
    width: 100%;
}
.aboutpie__feature_txtWrap{
    width: 80%;
}
/*-------------------------------------------------
お知らせ
--------------------------------------------------*/
.news__section{
    margin-bottom: 100px;
}
.news__2colWrap{
        display: flex;
    gap: 4%;
}
.news__ttl{
    color: var(--color-navy);
    font-size: clamp(20px,2.5rem,26px);
    margin-bottom: 20px;
    font-weight: normal;
}
.news__date{
    margin-bottom: 24px;
}
.news__imgWrap{
    width: 45.27%;
}
.news__desc{
    width: 45%;
}
/*-------------------------------------------------
Footer
--------------------------------------------------*/
.footer {
    background-color: #d2ccbc;
    padding: 25px 0;
    margin-top: 47px;
}

.footer__container {
    width: 52.2%;
    margin: 0 auto;
}

.footer__nav {
    display: flex;
    gap: 35px;
    margin-bottom: 13px;
}


.footer__nav-linkWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    row-gap: 0;
    width: 80%;
}

.footer__nav-item {
    font-weight: bold;
    width: 20%;
}

.footer__nav-item-contact {
    width: 100%;
}

.footer__navLink {
    color: var(--color-black);
}

.footer__navLink-aboutpie {
    font-weight: bold;
}

.footer__nav-subTtl {
    color: #717071;
    font-weight: 400;
}



.footer__logo-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 16px;
}



.footer__logo {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer__address {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 13px;
    text-align: center;
}

.footer__copy {
    text-align: center;
    margin-top: 20px;

}
.footer__company-name{
    text-align: center;
}
.footer__company_subCopy{
        font-size: 14px;
    color: #172a84;
    margin-bottom: 10px;
    display: inline-block;
}

/*-------------------------------------------------
レスポンシブタブレット
--------------------------------------------------*/
@media (max-width:1440px) {
    .header__container {
        padding: 30px 0;
        max-width: 90.27%;
    }

    .l-nav {
        gap: 20px;
    }

    .nav__ul {
        gap: 16px;
    }

    .nav__subTxt {
        font-size: 14px;
    }
}

@media (max-width:1200px) {
    .nav__subTxt {
        display: none;
    }
}