@charset "UTF-8";
/* CSS Document */
html {
    font-size: 62.5%;
}
body {
    width: 100%;
    height: 100%;
    font-family: 'Shippori Mincho B1', serif;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    color: #604C3F;
    background-color: #EFEEE3;
}
a {
    color: #604C3F;
}
.wrap {
    overflow: hidden;
}

@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500;700&display=swap');


/* ------------------------------------- /
/   mainvisual
/* ------------------------------------- */
.swiper-container {
    width: 100%;
    height: 90vh;
}
.swiper-container .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 20px!important;
}
.swiper-pagination-bullet {
    width: 12px!important;
    height: 12px!important;
    background: #6F6E6F!important;
    opacity: 0.5!important;
}
.swiper-pagination-bullet-active {
    width: 12px!important;
    height: 12px!important;
    background: #fff!important;
    opacity: 1!important;
}

/* ------------------------------------- /
/   header
/* ------------------------------------- */
.header {
    width: 100%;
    height: 80px;
    /* background-color: rgba(255, 255, 255, .8); */
    z-index: 1000;
}
.header .nav_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    max-width: 1200px;
    height: 100%;
}
.header .nav_inner .header_logo {
    width: 180px;
}
.header ul.nav{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 200px);
    height: 100%;
}
.header ul.nav li a{
    position: relative;
    display: block;
    height: 100%;
    font-weight: 700;
    transition: 0.3s;
}
.header ul.nav li a:hover{
    color: #C30D23;
    transition: 0.3s;
}
.header ul.nav li.current a{
    border-bottom: 2px solid #604C3F;
}
.header .sns_btn {
    position: absolute;
    top: 23px;
    right: 20px;
}
.header .sns_btn ul{
    display: flex;
    justify-content: space-between;
    width: 80px;
}
@media (max-width: 1024px){
    .header .nav_inner {
        justify-content: center;
    }
    .header ul.nav{
        display: none;
    }
    .header .sns_btn ul{
        width: 70px;
    }
}
@media (max-width: 500px){
    .header .nav_inner .header_logo {
        width: 150px;
    }
}


/* ------------------------------------- /
/   mainvisual
/* ------------------------------------- */
.mainvisual {
    position: relative;
}
.mainvisual .mv_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 250px;
    z-index: 100;
}
@media (max-width: 500px){
    .top_mainvisual {
        margin-top: 80px;
    }
    .mainvisual .mv_logo {
        width: 200px;
    }
}


/* ------------------------------------- /
/   Content
/* ------------------------------------- */
.inner {
    max-width: 1080px;
    margin: 0 auto;
}
@media (max-width: 1024px){
    .inner {
        padding: 0 20px;
    }
}


/*  title
/* ------------------------------------- */
.title {
    margin-bottom: 40px;
}
.title h2{
    font-size: 4rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-align: center;
}
.title h2 span{
    font-size: 1.8rem;
}
@media (max-width: 500px){
    .title h2{
        font-size: 8vw;
    }
}


/*  button
/* ------------------------------------- */
.more_btn {
    max-width: 270px;
    margin: 50px auto 0;
}
.more_btn a{
    display: block;
    padding: 20px 0;
    font-size: 2rem;
    line-height: 1;
    text-align: center;
    color: #7A6A56;
    border: 1px solid #7A6A56;
    transition: 0.3s;
}
.more_btn a:hover{
    color: #fff;
    background-color: #7A6A56;
    transition: 0.3s;
}

.arrow_btn {
    max-width: 130px;
    margin: 50px 0 0 auto;
}
.arrow_btn a{
    display: block;
    padding: 0 0 8px;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    background-image: url(../img/arrow.svg);
    background-repeat: no-repeat;
    background-size: 130px;
    background-position: center bottom;
    transition: 0.3s;
}
.arrow_btn a:hover{
    color: #7A6A56;
    transition: 0.3s;
}


/*  パンくずリスト
/* ------------------------------------- */
.breadcrumbs_area {
    padding: 20px 0;
}
.breadcrumbs {
    max-width: 1080px;
    margin: 0 auto;
    font-size: 1.5rem;
}
.breadcrumbs span a{
    transition: 0.3s;
}
.breadcrumbs span a:hover{
    color: #bbb1a5;
    transition: 0.3s;
}
@media (max-width: 1024px){
    .breadcrumbs {
        padding: 10px 20px;
    }
}


/************************************
** レスポンシブページネーション
************************************/
.pagination{
    display: block;
}
.pagination_b{
    list-style-type: none;
    padding-left: 0;
    margin: 50px 0;
}
.pagination_b,
.pagination_b li a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.pagination_b a {
    font-weight: 300;
    padding-top: 1px;
    text-decoration:none;
    border-left-width: 1px;
    margin: 0 5px;
    min-width: 35px;
    min-height: 35px;
    color: #604C3F;
}
.pagination_b li:not([class*="current"]) a:hover {
    color: #bbb1a5;
}
.pagination_b li:first-of-type a {
    border-left-width: 1px;
}
.pagination_b li.first span,
.pagination_b li.last span,
.pagination_b li.previous span,
.pagination_b li.next span {
/* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}
.pagination_b li.first a::before,
.pagination_b li.last a::after,
.pagination_b li.previous a::before,
.pagination_b li.next a::after {
    display: inline-block;
    font-family: Fontawesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}
.pagination_b li.first a::before { content: "«"; }
.pagination_b li.last a::after { content: "»"; }
.pagination_b li.previous a::before { content: "‹"; }
.pagination_b li.next a::after { content: "›"; }
.pagination_b li.current a {
    font-size: 150%;
    color: #604C3F;
    cursor: default;
    pointer-events: none;
}

@media only screen and ( max-width: 768px ) {
.pagination_b li.first,
.pagination_b li.last {
/* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}
.pagination_b li.previous a {
    border-left-width: 1px;
}
}

@media only screen and ( max-width: 425px ) {
.pagination_b a {
    font-size: 14px;
}
.pagination_b li {
/* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}
.pagination_b li.current,
.pagination_b li.first,
.pagination_b li.last,
.pagination_b li.previous,
.pagination_b li.next{
    position: initial;
    top: initial;
    left: initial;
}
.pagination_b li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 375px ) {
.pagination_b li.first,
.pagination_b li.last {
/* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}
.pagination_b li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 240px ) { /* For watches? */
.pagination_b li { width: 50%;}
.pagination_b li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
}
}


/*  準備中表示
/* ------------------------------------- */
.preparation {
    padding: 100px 0;
    font-size: 14rem;
    font-weight: 700;
    text-align: center;
    color: #bbb1a5;
}
@media (max-width: 768px){
    .preparation {
        font-size: 10vw;
    }
}

/* ------------------------------------- /
/*  top_news_area
/* ------------------------------------- */
.top_news_area {
    padding: 100px 0;
}
.top_news_area .news_block dl{
    width: 100%;
    overflow: hidden;
}
.top_news_area .news_block dl dt{
    padding: 15px 0 10px;
    width: 15%;
    font-weight: 500;
    border-bottom: 1px dashed #604C3F;
    float: left;
    clear: left;
}
.top_news_area .news_block dl dd{
    padding: 15px 0 10px;
    width: 85%;
    border-bottom: 1px dashed #604C3F;
    float: left;
}
@media (max-width: 500px){
    .top_news_area .news_block dl dt{
        padding: 15px 0 0;
        width: 100%;
        border-bottom: none;
    }
    .top_news_area .news_block dl dd{
        padding: 5px 0 10px;
        width: 100%;
    }
}


/* ------------------------------------- /
/*  top_about_area
/* ------------------------------------- */
.top_about_area {
    padding: 100px 0;
}


/* ------------------------------------- /
/*  top_certification_area
/* ------------------------------------- */
.top_certification_area {
    padding: 100px 0;
    background-image: url(../img/certification_bk.png);
    background-repeat: repeat;
    background-size: 143px;
}


/* ------------------------------------- /
/*  top_products_area
/* ------------------------------------- */
.top_products_area {
    padding: 100px 0;
}


/* ------------------------------------- /
/*  news_area
/* ------------------------------------- */
.news_area {
    padding: 100px 0;
}
.news_area .news_block dl{
    width: 100%;
    overflow: hidden;
}
.news_area .news_block dl dt{
    padding: 15px 0 10px;
    width: 15%;
    font-weight: 500;
    border-bottom: 1px dashed #604C3F;
    float: left;
    clear: left;
}
.news_area .news_block dl dd{
    padding: 15px 0 10px;
    width: 85%;
    border-bottom: 1px dashed #604C3F;
    float: left;
}
@media (max-width: 500px){
    .news_area {
        padding: 50px 0;
    }
    .news_area .news_block dl dt{
        padding: 15px 0 0;
        width: 100%;
        border-bottom: none;
    }
    .news_area .news_block dl dd{
        padding: 5px 0 10px;
        width: 100%;
    }
}

/* ------------------------------------- /
/*  news_single_area
/* ------------------------------------- */
.news_single_area {
    padding: 100px 0;
}
.news_single_area .news_block .day {
    margin-bottom: 30px;
    text-align: right;
}
.news_single_area .news_block h1{
    margin-bottom: 30px;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
}
.news_single_area .news_block h2{
    margin-bottom: 30px;
    padding: 0 0 10px;
    font-size: 2rem;
    font-weight: 700;
    border-bottom: 1px solid #604C3F;
}
.news_single_area .news_block h3{
    margin-bottom: 30px;
    padding: 10px 0 10px 10px;
    font-size: 1.8rem;
    font-weight: 700;
    border-left: 5px solid #604C3F;
    border-bottom: 1px solid #604C3F;
}
.news_single_area .news_block h4{
    margin-bottom: 30px;
    padding: 10px 0 10px 10px;
    font-size: 1.6rem;
    font-weight: 700;
    border-left: 5px solid #604C3F;
}
.news_single_area .news_block p{
    margin-bottom: 30px;
    font-size: 1.5rem;
    line-height: 2;
}
.news_single_area .news_block p a{
    text-decoration: underline;
}
.news_single_area .news_block p a:hover{
    color: #7A6A56;
    transition: 0.3s;
}
.news_single_area .news_block img{
    margin-bottom: 30px;
}
.news_single_area .news_block .back_btn {
    margin-top: 50px;
    text-align: center;
}
.news_single_area .news_block .back_btn a:hover{
    color: #7A6A56;
    transition: 0.3s;
}
@media (max-width: 500px){
    .news_single_area {
        padding: 50px 0;
    }
}


/* ------------------------------------- /
/*  page-top
/* ------------------------------------- */
.page-top {
    padding: 50px 0;
}
.page-top a{
    display: block;
    padding-top: 30px;
    width: 150px;
    margin: 0 auto;
    font-weight: 700;
    text-align: center;
    color: #203d71;
    background-image: url(../img/to-top.svg);
    background-repeat: no-repeat;
    background-size: 25px;
    background-position: center top;
}


/* ------------------------------------- /
/   footer
/* ------------------------------------- */
.footer {
    padding: 0 0 20px;
    background-color: #1B294D;
}
.footer .inner {
    padding-top: 60px;
}
.footer .add_box {
    width: 50%;
}
.footer .add_box img{
    margin-bottom: 20px;
    max-width: 306px;
    width: 100%;
}
.footer .add_box p{
    font-size: 2rem;
    font-weight: 700;
    line-height: 2;
    color: #fff;
}
.footer .add_box p a{
    color: #fff;
}
.footer .menu_box {
    display: flex;
    justify-content: space-between;
    width: 300px;
}
.footer .footer_menu {
    width: 50%;
}
.footer .footer_menu ul{
    list-style-type: disc;
    color: #fff;
}
.footer .footer_menu li a{
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 2;
    color: #fff;
    transition: 0.3s;
}
.footer .footer_menu li a:hover{
    color: #72a14e;
    transition: 0.3s;
}
.footer .copy {
    margin-top: 30px;
}
.footer .copy p{
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
}
.footer .copy a{
    color: #fff;
    transition: 0.3s;
}
.footer .copy a:hover{
    color: #ccc;
    transition: 0.3s;
}
@media (max-width: 500px){
    .footer .add_box {
        margin-bottom: 30px;
        width: 100%;
    }
    .footer .add_box img{
        margin: 0 auto 20px;
    }
    .footer .add_box p{
        font-size: 4vw;
        text-align: center;
    }
    .footer .footer_menu {
        width: 100%;
    }
    .footer .menu_box {
        margin: 0 auto;
    }
}