@charset "UTF-8";
/*
Theme Name: boston_2022
Theme URI: 
Author: Lastism
Description: boston_2022
*/

/* ================= もくじ ====================
  - reset css
  - 共通パーツ
  - header
  - menu
  - フロントページ
  - 一覧
  - single
  - contact
  - privacy policy
  - fotter
============================================= */

/* reset css
--------------------------------------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

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

a {
  color: inherit;
}

/* 共通
--------------------------------------------------------------------------------*/
html{
    scroll-behavior: smooth;
}
body {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', sans-serif;
    color: #000;
    background: #fff;
    line-height: 1.5;
    letter-spacing: 1px;
}
*:focus {
    outline: none;
}
h2, h3 {
    font-weight: 700;
}
h4, h5 {
    font-weight: 500;
}

a {
  color: #000;
}
a:link, a:visited, a:hover, a:active {
    text-decoration: none;
}
:root {
    --black: #000;
    --white: #FFF;
    --gray: #595959;
    --red: #A00000;
}
/* アニメーション */
.fade {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 700ms;
}
.fadeIn {
	opacity : 1;
	transform : translate(0, 0);
}
.fade-up {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition:all 1s 1s ease-out;
}
.fadeUp {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}
/* 幅 */
.content-inner {
    width: calc(100% - 10vw);
    max-width: 1200px;
}
.w30, .w30s { width: 30%; }
.w33, .w33s { width: 33%; }
.w40, .w40s { width: 40%; }
.w45, .w45s { width: 45%; }
.w50, .w50s { width: 50%; }
.w55, .w55s { width: 55%; }
.w60, .w60s { width: 60%; }
.w65, .w65s { width: 65%; }
.w70, .w70s { width: 70%; }
.w100 { width: 100%; }

@media screen and (min-width: 768px) {
    .pc { display: block; }
    .sp { display: none; }
}
@media screen and (max-width: 767px) {
    .pc { display: none; }
    .sp { display: block; }
    .w30s, .w33s, .w40s, .w45s, .w50s, .w55s, .w60s, .w65s, .w70s, .w80s { width: 100%; }
}

/* header
--------------------------------------------------------------------------------*/
header {
    width: 100%;
    position: absolute;
    z-index: 999;
}
.top_header {
    position: fixed;
    width: 100%;
    font-family: 'Lora', serif;
    font-weight: 400;
    background: #fff;
}
.top_header_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.site_title {
    width: 150px;
    margin-left: 30px;
}
.site_title img {
    width: 100%;
}
@media screen and (max-width: 1023px) {
    .site_title { width: 120px; }
    .top_header_inner {
        padding: 7px 0 2px;
    }
}
@media screen and (max-width: 767px) {
    .site_title { margin-left: 13px; }
}
@media screen and (min-width: 1024px) {
    .site_title img { padding-top: 5px; }
}
/* menu
--------------------------------------------------------------------------------*/
#pc-menu, #pc-global {
    display: flex;
    align-items: center;
    position: relative;
}
#pc-global li {
    margin: 0 35px;
    padding: 21px 0;
    text-align: center;
    line-height: 1.3;
}
.menu-en { font-size: 0.7rem; }
#pc-global li a {
  position: relative;
  display: inline-block;
}
#pc-global li a:hover {
    color: #b0b0b0;
}
#pc-global .child-menu {
  width: 135.5%;
  position: absolute;
  top: 90%;
  left: -19px;
  padding: 20px 10px;
  color: #333;
  background: rgba(255,255,255,0.6);
  visibility: hidden;
  display: flex;
  font-size: 0.7rem;
  opacity: 0;
  transition: 0.5s top, 0.5s opacity;
}
#pc-global .menu:hover .child-menu {
  top: 103%;
  opacity: 1;
  visibility: visible;
}
#pc-global .child-menu li {
    margin: 0 8px;
    padding: 0;
    width: 20%;
}
#pc-global .child-menu li a:hover {
    color: #000;
}
#pc-global .child-menu li a dl dt {
    overflow: hidden;
    height: 94px;
}
#pc-global .child-menu li a dl dd {
    margin-top: 5px;
}
#pc-global .child-menu li a img {
    width: 100%;
    transition: all  0.3s ease;
}
#pc-global .child-menu li a:hover img {
    transform: scale(1.2);
}
.menu-link {
    text-align: center;
    width: 210px;
}
.menu-link a {
    display: block;
    color: #fff;
    background: url(./img/top/bg-link.jpg);
    background-size: cover;
    padding: 23px 45px;
    transition: all  0.3s ease;
}
.menu-link a:hover {
    background: url(./img/top/bg-link-b.jpg);
    background-size: cover;
    display: block;
}
#sp-menu {
    -webkit-animation: fadeOutLeft .75s cubic-bezier(.19,1,.22,1) 0s 1 normal both;
    animation: fadeOutLeft .75s cubic-bezier(.19,1,.22,1) 0s 1 normal both;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    height: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    transform: translateZ(2px);
    transition: height 0s linear .75s;
    width: 100%;
    z-index: 100;
}
@-webkit-keyframes fadeOutLeft {
    0% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }

    to {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
}

@keyframes fadeOutLeft {
    0% {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }

    to {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
}
#sp-menu.open {
    -webkit-animation: fadeInLeft .75s cubic-bezier(.19,1,.22,1) 0s 1 normal both;
    animation: fadeInLeft .75s cubic-bezier(.19,1,.22,1) 0s 1 normal both;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transition: height 0s linear 0s;
}
@-webkit-keyframes fadeInLeft {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }

    to {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
}
@keyframes fadeInLeft {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }

    to {
        -webkit-clip-path: inset(0 0 0 0);
        clip-path: inset(0 0 0 0)
    }
}
.sp-menu-container {
    background: #f9f4ed;
    height: 100vh;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    max-width: 500px;
    transition: visibility 0s linear .75s;
    visibility: hidden;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
}
#sp-menu.open .sp-menu-container {
    transition: visibility 0s linear 0s;
    visibility: visible;
}
#sp-global {
    padding-top: 60px;
    padding-bottom: 25px;
    position: relative;
    width: 100%;
    z-index: 2;
    height: auto;
    width: auto;
    margin: 0 20px;
}
#sp-global li { 
    padding: 6px 10px;
    border-bottom: 1px solid #eedfc8;
}
#sp-global li a {
    display: block;
}
#sp-global li ul {
    display: flex;
    flex-wrap: wrap;
}
#sp-global li ul li {
    border-bottom: none;
    width: 40%;
}
#sp-global li ul li img { width: 100%; }
.sp-banner {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    width: 90%;
}
.sp-banner a { width: 48%; }
.sp-banner img { width: 100%; }
.policy {
    margin: 0 30px;
    font-size: 0.8rem;
}
.policy p { margin-bottom: 5px; } 
.navBtn {
    cursor: pointer;
    height: 50px;
    position: fixed;
    right: 13px;
    top: 8px;
    width: 40px;
    z-index: 101;
    transform: translateZ(3px);
}
.navBtn-toggle {
    background: #000;
    display: block;
    height: 2px;
    width: 100%;
    position: relative;
    top: 50%;
    transition: all 0.5s;
}
.navBtn-toggle::after, .navBtn-toggle::before {
    content: '';
    background: #000;
    display: block;
    height: 2px;
    width: 100%;
    position: absolute;
    transition: all 0.5s;
}

.navBtn-toggle::before{
  transform: translateY(-12px);
}
.navBtn-toggle::after{
  transform: translateY(12px);
}
.navBtn.open .navBtn-toggle { 
    background: transparent;
}
.navBtn.open .navBtn-toggle::after, .navBtn.open .navBtn-toggle::before {
    top: 50%;
}
.navBtn.open .navBtn-toggle::before {
    transform: rotate(45deg);
}
.navBtn.open .navBtn-toggle::after {
    transform: rotate(-45deg);
}

@media screen and (min-width: 1024px) {
    #sp-menu, .navBtn { display: none; }
}
@media screen and (max-width: 1023px) {
    #pc-menu { display: none; }
}

/* フロントページ
--------------------------------------------------------------------------------*/
/*-----------------------------------
　　    　first-view
-----------------------------------*/
.top-section, .l-main-img { 
    position: relative;
}
.slider {
    position:relative;
    z-index: 1;
    height: 940px;
}
.slider-item01 {
    background:url(img/top/slider-1.jpg);
}
.slider-item02 {
    background:url(img/top/slider-2.jpg);
}
.slider-item03 {
    background:url(img/top/slider-3.jpg);
}
.slider-item {
    width: 100%;
    height: 1000px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.l-main-img_inner {
    position: absolute;
    left: 8vw;
    z-index: 1;
    top: 60%;
    transform: translateY(-60%);
    -webkit-transform: translateY(-60%);
    -ms-transform: translateY(-60%);
}
.l-main-img_inner p {
    font-family: 'Noto Serif JP', serif;
    font-weight: 200;
    color: #fff;
    font-size: 1.8vw;
    line-height: 2;
}
@media screen and (max-width: 1023px) {
    .slider, .slider-item { height: 470px; }
}
@media screen and (max-width: 767px) {
    .l-main-img_inner p {
        font-size: 16px;
    }
}

/*-----------------------------------
　　    　   banner
-----------------------------------*/
.banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 55vw;
    position: absolute;
    left: 40vw;
    bottom: -17vw;
    z-index: 1;
}
.banner a {
    width: 30%;
    transition: all  0.3s ease;
}
.banner a:hover { transform: scale(1.1); }
.banner a img {
    width: 100%;
}
.banner a.banner-sp {
width: 97%;
}
@media screen and (max-width: 500px) {
    .banner {
        width: 72vw;
        left: 25vw;
        bottom: -71.5vw;
        justify-content: space-around;
    }
    .banner a {
        width: 47%;
    }
    .banner-pc {
        display: none;
    }
}
@media screen and (min-width: 501px) {
    .banner-sp {
        display: none;
    }
}
/*-----------------------------------
　　    　   brand
-----------------------------------*/
.top-ttl {
    width: 100%;
    height: 35.5vw;
    background:url(img/top/bg-ttl-pc.png) no-repeat;
    background-size: cover;
    text-align: center;
    color: #fff;
    letter-spacing: 2px;
    position: relative;
}
.top-ttl-inner {
    width: 100%;
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.sec-ttl { font-size: 30px; }
.sec-subttl {
    font-size: 13px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 200;
    line-height: 1;
}
.top-brand {
    margin: 50px auto;
}
.top-brand-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}
.top-napoli .top-brand-img {
    background-image: url(img/top/top-napoli.jpg);
}
.top-bono .top-brand-img {
    background-image: url(img/top/top-bono.jpg);
}
.top-bs .top-brand-img {
    background-image: url(img/top/top-bs.jpg);
}
.top-tori .top-brand-img {
    background-image: url(img/top/top-toribenkei.jpg);
}
.top-arden .top-brand-img {
    background-image: url(img/top/top-ardentino.jpg);
}
.top-brand-img {
    height: 450px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}
.top-brand-text h3 {
    max-width: 400px;
    text-align: center;
    font-family: 'Lora', serif;
    font-weight: 400;
    margin: 0 auto 40px;
}
.top-brand-text h3 img {
    width: 70%;
    margin-bottom: 5px;
}
.top-tori .top-brand-text h3 img, .top-arden .top-brand-text h3 img {
    width: 60%;
}
.brand-text-sub {
    font-size: 12px;
}
.top-brand-text-inner {
    line-height: 2;
    text-align: justify;
    text-justify: inter-ideograph;

}
.more-btn {
    font-family: 'Lora', serif;
    font-weight: 400;
    text-align: center;
    margin: 40px auto;
}
.more-btn a.btn-1 {
    padding: 20px 50px;
    border: 1px solid #000;
    position: relative;
    display: inline-block;
}
.more-btn a.btn-1::before {
    position: absolute;
    top: 50%;
    right: -17px;
    content: "";
    width: 34px;
    height: 1px;
    background: #000;
    transition: all  0.3s ease;
}
.top-napoli .more-btn a.btn-1::before {
    background: #008040;
    height: 2px;
}
.top-bono .more-btn a.btn-1::before {
    background: #fff000;
    height: 2px;
}
.top-bs .more-btn a.btn-1::before {
    background: #00a6e9;
    height: 2px;
}
.top-tori .more-btn a.btn-1::before {
    background: #d12e19;
    height: 2px;
}
.top-arden .more-btn a.btn-1::before {
    background: #e75b04;
    height: 2px;
}
.more-btn a.btn-1:hover::before {
    transform: translate(10px, 0);
}
/* .more-flex {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items: center;
} */
/* .more-btn a.btn-2 {
    display: none;
}
.more-btn a.btn-2 img {
    width: 80px;
}
.more-btn a.btn-2:hover {
    opacity: .6;
} */
@media screen and (min-width: 768px) {
    .sec-ttl { font-size: 4vw; }
    .sec-subttl { font-size: 1.8vw; }
}
@media screen and (min-width: 1024px) {
    .top-brand-inner { margin-top: 7vw; }
}
@media screen and (max-width: 767px) {
    .top-brand-img {
        height: 50vw;
    }
    .top-brand-text h3 { margin: -25px auto 20px; }
    .top-brand-text-inner { font-size: 14px; }
    .more-btn { margin: 20px auto 40px; }
    .order1 { order: 1; }
    .order2 { order: 2; }
}
@media screen and (max-width: 500px) {
    .top-ttl {
        height: 100vw;
        background:url(img/top/bg-ttl-sp.png) no-repeat;
        background-size: cover;
    }
    .top-ttl-inner { top: 84%; }
}
/*-----------------------------------
　　    　   topics
-----------------------------------*/
.home-topics-wrap {
    position: relative;
    margin: 0 auto;
}
.home-topics {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 50px;
}
.topics-ttl {
    text-align: center;
}
.top-news-list {
    position: relative;
}
.tab {
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px solid #000;
	font-family: 'Lora', serif;
	font-weight: 400;
}
.tab li a {
	display: block;
	padding:10px 25px;
}
.tab li.active a {
	background: #000;
	color: #fff;
}
.tabcontent {
	display: none;
	padding: 10px 0;
}
.tabcontent.is-active {
    display: block;
}
.tabcontent dl a {
    margin: 10px auto;
    padding: 0 5px 10px;
    border-bottom: solid 1px #e2e2e2;
    display: block;
}
.tabcontent dl a:hover { opacity: 0.6; }
.tabcontent dl dt {
    margin-bottom: 5px;
    font-size: 14px;
} 
.cat-list {
    background: #000;
    color: #fff;
    padding: 3px 5px;
    margin: 0 10px;
    width: 60px;
    font-size: 12px;
    display: inline-block;
    text-align: center;
    vertical-align: bottom;
}
@media screen and (min-width: 768px) {
    .home-topics { margin: 100px auto 200px; }
    .tabcontent dl a { padding: 5px 5px 15px; }
    .home-topics-wrap .more-btn {
        position: absolute;
        top: 7vw;
        left: 3.5vw;
    }
}
@media screen and (min-width: 1200px) {
    .tabcontent dl a {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .tabcontent dl dt { width: 27%; }
    .tabcontent dl dd { width: 73%; }
    .home-topics-wrap .more-btn { left: 4.5vw; }
}
@media screen and (max-width: 767px) { 
    .top-news-list { margin-top: 25px; }
    .tab li a {
        font-size: 13px;
        padding: 10px 10px;
    }
}

/*-----------------------------------
　　      movie-link
-----------------------------------*/
.recruitMovie-link {
    position: absolute;
    right: 30px;
    bottom: 30px;
    z-index: 2;
    overflow: hidden;
}
.recruitMovie-link a {
    display: block;
    position: relative;
}
.recruitMovie-link a::before {
    position: absolute;
    display: block;
    content: "";
    width: 55px;
    height: 55px;
    background: url(img/recruit/polygon.png) no-repeat center;
    background-size: contain;
    top: 48%;
    left: 54%;
    transform: translate(-50%, -50%);
}
.recruitMovie-link a:hover img {
    animation: 40s linear infinite rotation1;
}
.recruitMovie-link img {
    width: 140px;
    height: 140px;
    animation: 10s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
@media screen and (max-width: 500px) { 
    .recruitMovie-link {
        right: 10px;
        bottom: 6px;
    }
    .recruitMovie-link a::before {
        width: 35px;
        height: 35px;
    }
    .recruitMovie-link img {
        width: 100px;
        height: 100px;
    }
}
@media screen and (min-width: 1024px) {
    .recruitMovie-link {
        right: 80px;
        bottom: 90px;
    }
    .recruitMovie-link img {
        width: 160px;
        height: 160px;
    }
} 

/* 固定ページ
--------------------------------------------------------------------------------*/
body:not(.home) #main {
    padding-top: 83px;
    overflow: hidden;
}
.page-header {
    height: 250px;
    background: url(img/brand/bg-brand-napoli.jpg) no-repeat top;
    background-size: cover;
    position: relative;
    margin-bottom: 100px;
}
.pageHeader { margin-bottom: 130px; }
.page-header-inner {
    position: relative;
    top: 270px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    text-align: center;
    display: inline-block;
    overflow: hidden;
    width: 100%;
}
.revealContent {
    opacity: 0;
}
.revealActive .revealContent {
    -webkit-transition-delay: .6s;
         -o-transition-delay: .6s;
            transition-delay: .6s;
    opacity: 1;
}
.revealItem {
    display: inline-block;
    position: relative;
    overflow: hidden;
    margin: .025em 0;
}
.revealItem.revealActive::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black);
    z-index: 10;
}
 .revealItem.lr.revealActive::before {
     -webkit-animation: hideFromLeft .6s forwards, showFromLeft .6s forwards .6s;
     animation: hideFromLeft .6s forwards, showFromLeft .6s forwards .6s;
}
.revealItem.d-white.revealActive::before {background: var(--white);}
@-webkit-keyframes hideFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0%);
    }
}
@keyframes hideFromLeft {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0%);
    }
}
@-webkit-keyframes showFromLeft {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(102%);
                transform: translateX(102%);
    }
}
@keyframes showFromLeft {
    0% {
        -webkit-transform: translateX(0%);
                transform: translateX(0%);
    }
    100% {
        -webkit-transform: translateX(102%);
                transform: translateX(102%);
    }
}
.revealImg {
    width: 300px;
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
    vertical-align: bottom;
}
.page-title {
	font-family: 'Lora', serif;
	font-weight: 400;
}
.page-title p { 
    font-size: 27px;
    position: relative;
}
.page-title h2 { font-size: 14px; }
.brand-header-inner {
    position: relative;
    top: 200px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.page-id-48 .brand-logo {
    background: url(img/brand/brand-logo-napoli.jpg) no-repeat;
    background-size: contain;
    width: 300px;
    height: 100px;
    margin: 0 auto;
}
/* パンくず */
.bread-inner {
    margin: 20px auto 0;
    padding-top: 30px;
    padding-bottom: 10px;
}
.home-icon {
    content: "";
    display: inline-block;
    background: url(./img/top/home.png) no-repeat;
    background-size: contain;
    width: 20px;
    height: 17px;
}
.bread-inner nav ul {
    display: flex;
    flex-wrap: wrap;
    margin: 5px 0;
    font-size: 14px;
    line-height: 1.7;
    padding-left: 0;
}
.bread-inner nav ul li a {
    line-height: 1.6;
    text-decoration: none;
}
.bread-inner nav ul li a:hover {
	opacity: 0.6;
}
@media screen and (min-width: 768px) {
    .pageHeader { margin-bottom: 19vw; }
    .page-title p { font-size: 3.5vw; margin-bottom: 2rem; }
    .page-title p:after {
        content: '';
        width: 1px;
        height: 1.25rem;
        position: absolute;
        top: 100%;
        left: 50%;
        background: currentColor;
    }
    .page-title h2 { font-size: 1.5vw; }
}
@media screen and (min-width: 1024px) {
    .page-header-inner { top: 300px; }
}
@media screen and (max-width: 1023px) {
    body:not(.home) #main {
        padding-top: 65px;
    }
}
@media screen and (max-width: 767px) {
    .page-header { height: 120px; }
    .page-header-inner { top: 140px; }
    .brand-header-inner { top: 100px; }
    .page-id-48 .brand-logo { width: 270px; }
    .bread-inner nav ul { font-size: 12px; }
    .home-icon { width: 15px; height: 13px; }
}
/*-----------------------------------
　　   brand-page
-----------------------------------*/
.commit {
    background: url(./img/brand/bg-commit.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
.commit.napoli img, .commit.bono img, .commit.bs img, .commit.tori .commit-2 img, .commit.arden img {
    width: 100%;
}
.commit-1, .commit-2 {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 50px;
}
.brand-ttl {
    background: url(./img/brand/bg-napoli-ttl.svg) no-repeat center top;
    background-size: cover;
    position: relative;
    top: -20px;
}
.brand-ttl-inner {
    text-align: center;
    padding: 0.3vw 0 2.4vw;
    position: relative;
    z-index: 2;
}
.commit-list-txt {
    list-style: decimal;
    margin-left: 25px;
}
.commit-box-txt {
    text-align: justify;
    text-justify: inter-ideograph;
}
.parallax-window {
    min-height: 200px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
#parallax_nshop.parallax-window {
    background-image: url(./img/brand/bg-shop-napoli2.jpg);
}
.ec-shop { margin: 5vw auto; }
.ec-shop a:hover img { opacity: 0.6; }
.ec-shop img {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    max-width: 1700px;
}
.shop-ttl { 
    text-align: center;
    padding-bottom: 0.5rem;
}
.shop-ttl h2 {
    font-family: 'Lora', serif;
    font-weight: 400;
} 
.shop-list { margin: 0 auto; }
.shop-list-ttl {
    margin: 0 auto;
}
.shop-list-ttl h3 {
    font-family: 'Lora', serif;
    padding-left: 10px;
    padding-top: 30px;
}
.shop-list-ttl.napoli h3 { border-bottom: 1.5px solid #27a139; }
.shop-list-inner {
    padding: 20px;
    margin: 20px 0;
    box-shadow: 2px 2px 6px 0 rgba(130,130,130,0.6);
}
.shop-list-inner-top { margin-bottom: 10px; }
.shop-list-inner img { width: 100%; }
.shop-list-name {
    display: flex;
    align-items: center;
    align-items: end;
}
.shop-list-name img {
    width: 100px;
} 
.shop-list-name h3 { 
    padding-bottom: 10px;
    padding-left: 20px;
}
.shop-list-left p {
    padding: 10px 0;
}
.shop-list-left p:nth-of-type(2) {
    padding-top: 0;
}
.shop-list-left a img { max-width: 250px; } 
.shop-list-left a:hover { opacity: 0.6; }
.shop-list-box {
    display: flex;
    flex-wrap: wrap;
}
.shop-list-box li {
    width: 60px;
    height: 45px;
    border-radius: 10px;
    padding: 10px 4px;
    margin: 5px;
    text-align: center;
    font-size: 18px;
    letter-spacing: -1px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.shop-list-box li.ss-space { font-size: 14px; letter-spacing: -2px; line-height: 1.2; }
.shop-list-box li.s-space { font-size: 16px; letter-spacing: -4px; }
.shop-list-box li.m-space { font-size: 16px; }
.shop-list-box li.support { background: rgb(220,219,219); }
.shop-list-box li.unsupport { background: rgb(220,219,219); color: #c0c0c0; }
.shop-list-link { 
    margin-left: 10px;
    margin-top: 8px;
}
.shop-list-link a { display: inline-block; }
.shop-list-link a {
    padding: 8px 15px;
    border: 1px solid #008643;
    background: #008643;
    color: #fff;
    margin-right: 15px;
    margin-bottom: 10px;
    font-weight: 600;
    text-align: center;
    line-height: 1.2;
    font-family: 'Lora', serif;
}
.shop-list-link a span {
    letter-spacing: 0;
    font-size: 14px;
}
.shop-list-link a:hover {
    background: #fff;
    color: #008643;
}
.map-arrow {
    text-decoration: underline !important;
    margin-top: 10px;
    font-size: 13px;
}
.map-arrow:hover { text-decoration: none !important; }
.map-arrow img {
    width: 17px;
    height: 17px;
    display: inline-block;
    padding-bottom: 3px;
    vertical-align: middle;
}
.pizza-ttl { max-width: 150px; }
@media screen and (min-width: 600px) {
    .shop-list-inner-top { margin-bottom: 0; }
}
@media screen and (min-width: 768px) {
    .brand-ttl-inner .sec-ttl { font-size: 6vw; letter-spacing: 2px; }
    .napoli .commit-list-txt, .arden .commit-list-txt { margin-top: 0; }
    .napoli .commit-1-right img, .arden .commit-1-right img {
        width: 145%;
        position: relative;
        top: 0;
        left: -14.5vw;
    }
    .napoli .commit-2, .arden .commit-2 {
        position: relative;
        top: -4vw;
        padding-bottom: 0;
    }
    .napoli .commit-2-left img, .arden .commit-2-left img {
        width: 115%;
        position: relative;
        top: -6vw;
        left: -3vw;
    }
    .napoli .commit-box-txt, .arden .commit-box-txt { margin-left: 20px; }
    .parallax-window { height: 50vw; }
}
@media screen and (min-width: 1024px) {
    .commit-list-txt , .commit-box-txt {
        font-size: 20px;
        line-height: 2;
    }
}
@media screen and (min-width: 1367px) {
    .parallax-window {
        background-attachment: fixed;
        height: 35vw;
        margin-bottom: 30px;
    }
    #parallax_nshop.parallax-window { margin-top: -60px; }
}
@media screen and (max-width: 1230px) {
    .shop-list-box li {
        width: 55px;
        height: 40px;
        font-size: 16px;
    }
    .shop-list-box li.ss-space { font-size: 12px; letter-spacing: -1px; }
    .shop-list-box li.s-space { font-size: 14px; letter-spacing: -3px; }
    .shop-list-box li.m-space { font-size: 14px; }
}
@media screen and (max-width: 900px) {
    .pizza-time td {
        width: 100%;
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .brand-ttl-inner { padding: 10px 0 20px; }
}
/* ボストンズカフェ */
.page-id-52 .page-header, .page-id-1922 .page-header, .page-id-1940 .page-header {
    background: url(img/brand/bg-brand-bs.jpg) no-repeat center;
    background-size: cover;
}
.page-id-52 .brand-logo {
    background: url(img/top/bs.svg) no-repeat;
    background-size: contain;
    width: 230px;
    height: 120px;
    margin: 0 auto;
}
.bs .brand-ttl {
    background: url(./img/brand/bg-bs-ttl.svg) no-repeat center top;
    background-size: cover;
}
.page-id-52 #parallax_nshop.parallax-window {
    background-image: url(./img/brand/bg-shop-bs.jpg);
}
.shop-list-ttl.bs h3 { border-bottom: 1.5px solid #01349f; }
.commit-box-txt-s { font-size: 12px; text-align: right; }
.page-id-52 .shop-list-link a:first-child {
    border: 1px solid #00a4e7;
    background: #00a4e7;
} 
.page-id-52 .shop-list-link a:first-child:hover {
    background: #fff;
    color: #00a4e7;
}
@media screen and (min-width: 768px) {
    .grill {
        position: relative;
        left: -9vw;
        top: 50px;
        width: 120%;
    }
    .bs .commit-1 { overflow: hidden; }
    .bs .commit-1 .commit-box-txt {
        margin: 70px 20px 0;
    }
    .bs .commit-2 { padding: 50px 0 100px; }
    .bs .commit-2-left {
        position: relative;
        z-index: 1;
    }
    .bs .commit-2-left img {
        width: 125%;
    }
    .bs .commit-2-left .commit-box-txt { margin-left: 20px; }
}
@media screen and (max-width: 767px) {
    .bs .commit-1-right, .bs .commit-2-right { margin-top: 10px; }
}
/* ボーノボーノ */
.page-id-50 .page-header, .page-id-1918 .page-header, .page-id-1943 .page-header {
    background: url(img/brand/bg-brand-bono.jpg) no-repeat center;
    background-size: cover;
}
.page-id-50 .brand-logo {
    background: url(img/top/bono.svg) no-repeat;
    background-size: contain;
    width: 230px;
    height: 120px;
    margin: 0 auto;
}
.bono .brand-ttl {
    background: url(./img/brand/bg-bono-ttl.svg) no-repeat center top;
    background-size: cover;
}
.page-id-50 #parallax_nshop.parallax-window {
    background-image: url(./img/brand/bg-shop-bono.jpg);
}
.shop-list-ttl.bono h3 { border-bottom: 1.5px solid #4d4638; }
.page-id-50 #template-page { overflow: hidden; }
.pizza-img { text-align: center; margin: 0 auto; }
.toast-img {
    position: relative;
    width: 90%;
    margin: 50px auto 0;
}
.toast-img img { position: relative; z-index: 1; }
.toast-img::before {
    content: "";
    display: block;
    width: 150px;
    height: 170px;
    background: url(img/brand/toast-1.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -120px;
    left: -50px;
}
.toast {
    width: 80%;
    margin: 0 auto 100px;
    max-width: 600px;
}
.toast::after {
    content: "";
    display: block;
    width: 150px;
    height: 120px;
    background: url(img/brand/toast-2.png) no-repeat;
    background-size: contain;
    position: absolute;
    bottom: -90px;
    right: -50px;
    z-index: -1;
}
.page-id-50 .shop-list-link a:first-child {
    border: 1px solid #5e3c1a;
    background: #5e3c1a;
} 
.page-id-50 .shop-list-link a:first-child:hover {
    background: #fff;
    color: #5e3c1a;
}
@media screen and (min-width: 768px) {
    .pizza p {
        position: absolute;
        width: 58%;
        bottom: 4vw;
        left: 2vw;
    }
    .toast-img { margin: 0 auto 40px; }
    .toast-img img { margin-left: 9vw; }
    .toast-img::before {
        width: 250px;
        height: 300px;
        top: -90px;
    }
    .toast::after {
        width: 220px;
        height: 180px;
        right: -120px;
        bottom: 65px;
    }
}
@media screen and (min-width: 1024px) {
    .pizza p {
        font-size: 20px;
        width: 52%;
        left: 6vw;
    }
    .toast::after { right: -220px; }
}
@media screen and (max-width: 767px) {

}

/* とり弁鶏 */
.page-id-54 .page-header, .page-id-1927 .page-header, .page-id-1930 .page-header {
    background: url(img/brand/bg-brand-tori.jpg) no-repeat center;
    background-size: cover;
}
.page-id-54 .brand-logo {
    background: url(img/top/tori.svg) no-repeat;
    background-size: contain;
    width: 200px;
    height: 120px;
    margin: 0 auto;
}
.tori .brand-ttl {
    background: url(./img/brand/bg-tori-ttl.svg) no-repeat center top;
    background-size: cover;
}
.page-id-54 #parallax_nshop.parallax-window {
    background-image: url(./img/brand/bg-shop-tori.jpg);
}
.shop-list-ttl.tori h3 { border-bottom: 1.5px solid #dc3232; }
.quality {
    margin: 0 auto 100px;
}
.quality-1:before {
    content: "";
    display: block;
    width: 200px;
    height: 300px;
    background: url(img/brand/quality1-img.png) no-repeat;
    background-size: cover;
    position: absolute;
    top: -230px;
    z-index: -1;
}
.quality-img { width: auto; max-height: 95px; }
.quality-1-inner { margin: 200px 0 100px 30px; }
.quality-txt {
    text-align: justify;
    text-justify: inter-ideograph;
}
.quality-2-inner { margin: 200px 50px 100px 0; }
.quality-2:before {
    content: "";
    display: block;
    width: 270px;
    height: 300px;
    background: url(img/brand/quality2-img.png) no-repeat;
    background-size: cover;
    position: absolute;
    top: -130px;
    right: 0;
    z-index: -1;
}
.quality4-img { margin-bottom: 20px; max-width: 1000px; }
.tori .commit-list-txt li { margin-top: 10px; }
.page-id-54 .shop-list-link a {
    border: 1px solid #d41818;
    background: #d41818;
} 
.page-id-54 .shop-list-link a:hover {
    background: #fff;
    color: #d41818;
}
@media screen and (min-width: 768px) {
    .quality-1 { margin-left: 50px; }
    .quality-1-inner { margin: 90px 0 100px 150px; }
    .quality-1:before { top: -100px; }
    .quality-2-inner { margin: 170px 170px 120px 100px; }
    .quality-3 { margin-right: 140px; }
}
@media screen and (min-width: 1024px) {
    .quality-1-inner { margin: 150px 0 200px 310px; }
    .quality-1:before {
        width: 320px;
        height: 480px;
        top: -180px;
    }
    .quality-txt, .tori .commit-list-txt { font-size: 24px; }
    .quality-2-inner { margin: 200px 300px 160px 200px; }
    .quality-2:before {
        width: 350px;
        height: 390px;
        top: -120px;
    }
    .quality-3 { margin-right: 250px; }
    .tori .commit-2-left { padding-top: 10px; }
     .tori .commit-list-txt { margin-left: 75px; }
}
@media screen and (min-width: 1367px) {
    .tori .commit-2 { margin-bottom: 50px; }
}
@media screen and (max-width: 767px) {
    .quality-img { max-height: 45px; }
}
/* アルデンティーノ */
.page-id-56 .page-header, .page-id-1915 .page-header, .page-id-1937 .page-header {
    background: url(img/brand/bg-brand-arden.jpg) no-repeat center;
    background-size: cover;
}
.page-id-56 .brand-logo {
    background: url(img/top/arden.svg) no-repeat;
    background-size: contain;
    width: 200px;
    height: 120px;
    margin: 0 auto;
}
.arden .brand-ttl {
    background: url(./img/brand/bg-arden-ttl.svg) no-repeat center top;
    background-size: cover;
}
.page-id-56 #parallax_nshop.parallax-window {
    background-image: url(./img/brand/bg-shop-arden.jpg);
}
.shop-list-ttl.arden h3 { border-bottom: 1.5px solid #d95913; }
.page-id-56 .shop-list-link a:first-child {
    border: 1px solid #e55a04;
    background: #e55a04;
} 
.page-id-56 .shop-list-link a:first-child:hover {
    background: #fff;
    color: #e55a04;
}
@media screen and (max-width: 767px) {
    .page-id-52 .brand-logo { width: 170px; }
    .page-id-50 .brand-logo { width: 160px; }
    .page-id-54 .brand-logo, .page-id-56 .brand-logo { width: 140px; }
}
/* 一覧
--------------------------------------------------------------------------------*/
.blog .page-header, .archive .page-header, .single .page-header {
    background: url(img/common/bg-blog.jpg) no-repeat center;
    background-size: cover;
}
.side-cat { text-align: right; padding-bottom: 10px; margin-top: -30px; }
.side-cat select[name="cat"] {
    padding: 0 20px;
    border-radius: 0px;
    height: 40px;
    border: none;
    color: #000;
    background: #f3f4f5;
    box-sizing: border-box;
}
.side-cat-list {
	list-style-type:none;
}
.side-cat-list > li {
	display:inline-block;
	position:relative;
	padding: 15px 30px 15px 20px;
    background: #f3f4f5;
    cursor: pointer;
}
.side-cat-list .categories:before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    transform: rotate(225deg);
    position: absolute;
    right: 10px;
    top: 20px;
}
.side-cat-list > li > ul {
	display:none;
	background: #fff;
}
.side-cat-list > li:hover ul {
    display: block;
    position: absolute;
    padding: 10px 30px;
    margin: 0;
    top: -0.5em;
    left: -10px;
    list-style-type: none;
    border: 1px solid gray;
}
.side-cat-list .cat-item { display: flex; }
.side-cat-list a { display: block; }
.article-item {
    border-top: 1px solid #555;
    position: relative;
}
.article-item:last-of-type {
    border-bottom: 1px solid #555;
}
.article-item a { display: block; }
.article-item a:hover { opacity: 0.6; }
.list-topics-title {
    padding: 0 10px 10px;
}
.read-more {
    padding: 0 10px 10px;
    text-align: right;
    position: relative;
}
.read-more::before {
    content: "";
    width: 27px;
    height: 1px;
    display: block;
    background-color: #000;
    position: absolute;
    right: 105px;
    top: 11px;
}
/* ページ送り */
.nav-links {
    text-align: center;
    margin-top: 60px;
}
.page-numbers {
    border: 1px solid #000;
    padding: 9px 12px;
}
.page-numbers.prev, .page-numbers.next {
    border: none;
    padding-left: 0;
    padding-right: 0;
}
.page-numbers.current {
    background: #191811;
    color: #fff;
}
@media screen and (min-width: 768px) {
    .blog .page-wrap, .archive .page-wrap { margin-bottom: 100px; }
    .side-cat { padding-bottom: 30px; }
    .side-cat select[name="cat"] { height: 56px; }
}
@media screen and (min-width: 1024px) {
    .article-item { padding: 15px 10px; }
    .article-inner {
        display: flex;
        align-items: baseline;
        margin-right: 150px;
    }
    .list-topics-title { padding-top: 10px; }
    .read-more {
        position: absolute;
        right: 10px;
        bottom: 15px;
    }
}
@media screen and (max-width: 767px) { 
    .read-more { font-size: 13px; }
    .read-more::before {
        right: 90px;
        top: 9px;
    }
    .nav-links { font-size: 12px; }
    .page-numbers { padding: 5px 7px; }
    .page-numbers.prev, .page-numbers.next {
        padding-left: 0;
        padding-right: 0;
    }
}

/* single
--------------------------------------------------------------------------------*/
.entry-content { margin: 0 auto; }
.single-post-ttl {
    border-bottom: 1px solid #555;
}
.single-post-ttl h3 {
    font-weight: 400;
    padding: 10px;
}
.single-date {
    padding: 10px;
    font-size: 14px;
}
.content-wrap {
    padding: 20px 10px 50px;
}
.more-btn.arrow-left a::before {
    position: absolute;
    top: 50%;
    left: -17px;
    content: "";
    width: 34px;
    height: 1px;
    background: #000;
    transition: all 0.3s ease;
}
.more-btn.arrow-left a:hover::before {
    transform: translate(-10px, 0);
}
/* company
--------------------------------------------------------------------------------*/
.page-id-64 .page-header {
    background: url(img/common/bg-company.jpg) no-repeat center;
    background-size: cover;
}
.company {
    margin: 0 auto;
}
.company-top {
    
}
.company-Ttl { position: relative; }
.company-subTtl {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: 27px;
    color: #572222;
    text-align: center;
}
.company h2, .overview h3 {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: 18px;
    margin-bottom: 30px;
    color: #572222;
    text-align: center;
}
.company-Ttl::before {
    content: '';
    width: 30px;
    height: 30px;
    position: absolute;
    top: -10px;
    left: calc(50% - 120px);
    background: url(img/common/p-before.png) no-repeat;
    background-size: contain;
    z-index: -1;
}
.company-Ttl::after {
    content: '';
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: -10px;
    right: calc(50% - 120px);
    background: url(img/common/p-after.png) no-repeat;
    background-size: contain;
    z-index: -1;
}
.concept-txt {
    line-height: 2;
    margin-bottom: 60px;
}
.overview {
    position: relative;
}
.overview::after {
    content: '';
    width: 30px;
    height: 1px;
    position: absolute;
    top: 115%;
    left: 50%;
    margin-left: -15px;
    background: #572222;
}
.company-table {
    padding-top: 20px;
    max-width: 800px;
    margin: 0 auto;
}
.company-table td { padding: 10px; }
.company-table dl { line-height: 2; }
.company-table dl dt { float: left; }
.page-id-64 .map-arrow {
    margin-left: 0; 
    margin-top: 15px;
}
@media screen and (min-width: 768px) {
    .page-id-64 .page-wrap { margin-bottom: 100px; }
    .concept-txt { 
        text-align: center;
        line-height: 2.5;
        margin-bottom: 100px;
    }
    .company-table td { border-bottom: 1px solid #ccc; padding: 25px 10px 20px; }
    .company-table td:first-of-type {
        padding: 25px 0 20px 30px; 
    }
    .company-table dl dt { width: 150px; }
}
@media screen and (min-width: 1024px) {
    .page-id-64 .page-wrap { margin-bottom: 150px; }
    .company-top {
        display: flex;
        justify-content: space-around;
        -webkit-box-align: start;
	    -ms-flex-align: start;
        align-items: flex-start;
        margin-bottom: 50px;
    }
    .company-top .company-Ttl {
        margin-top: 130px;
        margin-left: 60px;
    }
    .company-top .company-Ttl::after { bottom: 10px; }
    .company-top .concept-txt { text-align: left; }
}
@media screen and (max-width: 1023px) {
    .company-subTtl { font-size: 20px; }
    .company h2 { font-size: 15px; }
    .company-Ttl::before { left: calc(50% - 100px); }
    .company-Ttl::after { right: calc(50% - 100px); }
}
@media screen and (max-width: 767px) {
    .company-table td { display: block; }
    .company-table td:first-of-type { background: #f5efef; }
    .company-table dl dt::after{ content: "："; }
}
/* contact
--------------------------------------------------------------------------------*/
.page-id-16 .page-header, .page-id-20 .page-header {
    background: url(img/common/bg-contact.jpg) no-repeat center;
    background-size: cover;
}
.contact {
    margin: 0 auto;
}
.contact-txt {
    margin-bottom: 50px;
    border: 1px solid #572222;
    padding: 20px;
    color: #572222;
}
/* コンタクトフォーム */
.contact-form {
	max-width: 100%;
	box-sizing: border-box;
}
.contact-form dd {
	margin: 0 0 20px 0;
	font-size: 16px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', sans-serif;
}
.contact-form dt {
	margin: 0 0 10px 0;
	font-weight: normal;
}
.contact-form .must {
	background: #572222;
}
.contact-form .optional {
	background: #999;
}
.contact-form .must, .contact-form .optional {
	color: #FFF;
	font-size: 12px;
	margin-left: 10px;
	padding: 4px 5px;
	letter-spacing: 2px;
    vertical-align: text-top;
}
.wpcf7 input[type="text" i], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select {
    width: 100%;
    height: 56px;
    font-size: 16px;
    box-sizing: border-box;
    background: #f3f4f5;
    border: none;
    padding: 0 5%;
}
.wpcf7 select {
    color: #000;
}
.wpcf7 input[type="date"] {
	font-size: 16px;
    color: #000;
    background: #f3f4f5;
    height: 45px;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', sans-serif;
    padding: 0 5%;
    border: none;
}
.wpcf7 textarea {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', YuGothic, 'Yu Gothic', sans-serif;
	font-size: 16px;
	font-weight: 400;
    width: 100%;
    box-sizing: border-box;
    background: #f3f4f5;
    border: none;
    padding: 5%;
}
.wpcf7-radio input[type=radio]{
 display: none;
 vertical-align: middle;
}
.wpcf7-radio > .wpcf7-list-item {
  margin-left: 0;
}
.wpcf7-radio input[type=radio] + span{
  padding-left: 25px;
  position:relative;
  margin-right: 25px;
	vertical-align: middle;
}
.wpcf7-radio input[type=radio] + span::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  border: 1px solid gray;
  border-radius: 50%;
}
.wpcf7-radio input[type=radio]:checked + span{
  color: #b32727
}
.wpcf7-radio input[type=radio]:checked + span::after{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 11px;
  height: 11px;
  background: #a04848;
  border-radius: 50%;
}
.contact-accept { margin-bottom: 20px; }
.contact-accept a {
    text-decoration: underline;
}
.contact-accept a:hover { text-decoration: none; }
.contact-btn {
	text-align: center;
}
.contact-btn input {
	width: 100%;
	background: #572222;
	color: #FFF;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: none;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
	padding: 10px 2px;
}
.contact-btn input:hover {
	background: #ccc;
	color: #572222; 
}
.wpcf7-spinner {
    display: block;
}
.no-reservations {
    text-align: center;
    margin: 0 auto;
}
.no-reservations-text {
    background: #ebdadb;
    padding: 30px;
    display: inline-block;
    border: 1px solid #572222;
    color: #572222;
    margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
    .no-reservations-text {
        text-align: left;
    }
}
@media screen and (min-width: 768px) {
    .no-reservations-text {
        font-size: 25px;
        padding: 50px;
        line-height: 1.8;
        margin-bottom: 100px;
    }
    .no-reservations-space {
        height: 100px !important;
    }
}
.factory-header {
    height: 250px;
    position: relative;
    margin-top: 100px;
    margin-bottom: 160px;
    background: url(img/common/bg-bishoku.jpg) center;
    background-size: cover;
    -webkit-animation: leftSlide 90s linear infinite;
}
@media screen and (max-width: 767px) {
    .factory-header { 
        height: 120px;
        margin-bottom: 80px;
    }
}

/* thanks */
.contact-thanks { margin: 0 auto; line-height: 2; }

@media screen and (min-width: 1024px) {
    .contact-form dt {
	    float: left;
	    clear: left;
	    width: 22%;
	    padding: 5px 10px 5px 0;
	    box-sizing: border-box;
	}
    .contact-form dd, .contact-accept {
	    margin-left: 22%;
	}
}
@media screen and (min-width: 1025px) {
    .contact-thanks { text-align: center; line-height: 2.6; }
}
@media screen and (max-width: 767px) {
    .wpcf7 input[type="submit"], .wpcf7 input[type="button"] {
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        appearance: button;
        border: none;
        box-sizing: border-box;
        cursor: pointer;
    }
    .wpcf7 input[type="submit"]::-webkit-search-decoration, .wpcf7 input[type="button"]::-webkit-search-decoration {
        display: none;
    }
    .wpcf7 input[type="submit"]::focus, .wpcf7 input[type="button"]::focus {
        outline-offset: -2px;
    }
    .wpcf7 input[type="date"] { padding: 0 10%; }
    .contact-accept { font-size: 14px; }
}
/* 工場
--------------------------------------------------------------------------------*/
.page-id-305 .page-header {
    background: url(img/common/bg-bishoku.jpg) center;
    background-size: cover;
    -webkit-animation: leftSlide 90s linear infinite;
}
@-webkit-keyframes leftSlide {
  0%    { background-position:0px 0px;  }
  100%  { background-position:-1450px 0px;  }
}
.bishoku { margin: 0 auto; }
.page-id-305 .page-title h2 {
    font-size: 28px;
}
.concept h3 {
    font-family: 'Lora', serif;
    font-weight: 400;
    font-size: 22px;
    font-weight: 400;
    margin-bottom: 40px;
    color: #572222;
    position: relative;
    text-align: center;
}
.concept h3::before {
    content: '';
    width: 80px;
    height: 15px;
    position: absolute;
    top: -20px;
    left: calc(50% - 40px);
    background: url(img/common/s-before.png) no-repeat;
    background-size: contain;
    z-index: -1;
}
.concept h3::after {
    content: '';
    width: 80px;
    height: 15px;
    position: absolute;
    bottom: -20px;
    right: calc(50% - 40px);
    background: url(img/common/s-before.png) no-repeat;
    background-size: contain;
    z-index: -1;
}
@media screen and (min-width: 768px) {
    .page-id-305 .page-wrap { margin-bottom: 100px; }
    .page-id-305 .pageHeader { margin-bottom: 170px; }
    .page-id-305 .page-header-inner {
        top: 300px;
    }
    .page-id-305 .page-title h2 {
        font-size: 28px;
    }
    .concept h3::before {
        top: 10px;
        left: calc(50% - 310px);
    }
    .concept h3::after {
        bottom: 10px;
        right: calc(50% - 310px);        
    }
}
@media screen and (max-width: 767px) {
    .page-id-305 .page-header-inner {
        top: 140px;
    }
    .concept p {
        text-align: justify;
        text-justify: inter-ideograph;
    }
}

/* メニューページテンプレート
--------------------------------------------------------------------------------*/
.menuPage {
    margin: 0 auto
}
.menuPage h1, .menuPage h2, .menuPage h3, .menuPage h4 {
    padding: 0.7em;
    color: #572222;
    background: transparent;
    border-top: solid 3px #572222;
    border-bottom: solid 1px #572222;
    margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
    .menuPage h1, .menuPage h2, .menuPage h3, .menuPage h4 {
            font-size: 20px;
    }
}
#grandM {
    margin-top: 30px;
}
@media screen and (min-width: 768px) {
    #grandM {
        margin-top: 50px;
    }
}
.setM-ttl {
    padding: 0.5em 0.5em 0.5em 1.3em;
    color: #572222;
    position:relative;
    font-weight: 700;
}
.setM-ttl::before{
    content: "";
    position: absolute;
    background: #572222;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
}

/* privacy policy
--------------------------------------------------------------------------------*/
.privacy-policy .page-header, .page-id-24 .page-header {
    height: 0;
}
.privacy-inner { margin: 0 auto; }
.privacy-policy .privacy-inner h2, .page-id-24 .privacy-inner h2 {
    background: #f6f6f6;
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 10px;
}
.privacy-policy .privacy-inner h3, .page-id-24 .privacy-inner h3 {
    padding: 10px;
    margin-top: 20px;
    margin-bottom: 10px;
}
.privacy-policy .privacy-inner p, .privacy-policy .privacy-inner ul, .page-id-24 .privacy-inner p, .page-id-24 .privacy-inner ul {
    margin-left: 10px;
    margin-right: 10px;
}
.privacy-policy .privacy-inner ul, .page-id-24 .privacy-inner ul {
    list-style: disc;
    line-height: 1.8;
    margin-top: 10px;
    margin-left: 30px;
}
@media screen and (min-width: 768px) {
    .privacy-policy .page-wrap, .page-id-24 .page-wrap { margin-bottom: 100px; }
    .privacy-policy .page-header-inner, .page-id-24 .page-header-inner {
        top: 40px;
    }
}
@media screen and (max-width: 767px) {
    .privacy-policy .page-header-inner, .page-id-24 .page-header-inner {
        top: 26px;
    }
}
/* 404
--------------------------------------------------------------------------------*/
.error404 #template-page p {
    text-align: center;
    padding: 50px 0;
}

/* recruit
--------------------------------------------------------------------------------*/
.recruit {
    padding-top: 50px;
}
.recruit-movie {
    margin: 0 auto;
    text-align: center;
}
.recruit-movie img {
    width: 100%;
}
.recruit-movie__napoliImg {
    max-width: 110px;
    margin: 0 auto;
}
.recruit-movie-list {
    margin-bottom: 45px;
}
.recruit-movie-list-link {
    position: relative;
    width: 100%;
    height: 60vw;
    margin: 20px auto 0;
    display: block;
    overflow: hidden;
	cursor: pointer;
}
.recruit-movie-list-link img {
    position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
    -webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}
.recruit-movie-list-link:hover img:nth-of-type(2) {
	opacity: 0;
}
.movie-link {
    width: 182px;
    margin: 25px auto;
}
.movie-link a {
    display: block;
    padding: 10px;
    border: 1px solid #000;
    border-radius: 27px;
    transition: .7s;
}
.movie-link a:hover {
    background: #000;
    color: #fff;
}
.recruit-movie__toriImg {
    max-width: 80px;
    margin: 0 auto;
}
.recruit-txt {
    margin: 70px auto;
}
.recruit-points {
    display: block;
    border-top: 7px solid #008000;
    border-bottom: 7px solid #008000;
    padding: 22px 20px 48px;
    box-shadow: 0 0 50px 5px rgba(0,0,0,.1);
    width: 80%;
    max-width: 400px;
    margin: 0 auto 80px;
    transition:1s all;
}
.recruit-points:hover {
    transform:scale(1.1,1.1);
}
.recruit-points-ttl {
    font-weight: 600;
    color: #008000;
    margin: 0 auto 30px;
}
.page-id-1248 #parallax_nshop.parallax-window {
    background-image: url(./img/recruit/recruit-image.jpg);
    min-height: 28vw;
    height: 28vw;
}
.recruit-list {
    margin: 50px auto;
}
.recruit-list a {
    display: block;
    position: relative;
    transition: .3s;
}
.recruit-list a::before {
    position: absolute;
    display: block;
    content: "";
    background: url("./img/recruit/arrow-gray.svg") center center / contain no-repeat;
    width: 20px;
    height: 20px;
    right: 10px;
    top: calc(50% - 10px);
}
.recruit-list a:hover {
    transform: translateY(2px);
}
.recruit-list a:hover::before {
    background: url("./img/recruit/arrow-black.svg") center center / contain no-repeat;
}
.recruit-list a:hover .shop-list-inner {
    box-shadow: 2px 2px 6px 0 rgb(0 0 0 / 60%);
}
img.recruit-list-link {
    width: 15px;
    height: 15px;
    margin-left: 6px;
    padding-bottom: 13px;
}

@media screen and (min-width: 768px) {
    .recruit {
        padding-top: 10vw;
    }
    .recruit-movie__napoliImg {
        max-width: 160px;
    }
    .recruit-movie-list {
        margin-bottom: 90px;
    }
    .recruit-movie-list-link {
        width: 600px;
        height: 389px;
    }
    .recruit-movie__toriImg {
        max-width: 130px;
    }
    .recruit-points {
        padding: 42px 20px 68px;
    }
    .recruit-points-ttl, .recruit-points-ttl p {
        font-size: 20px;
    }
    .recruit-list {
        margin: 100px auto;
    }
    .recruit-list a::before {
        right: 20px;
    }
}

/* 募集要項
--------------------------------------------------------------------------------*/
.page-id-1396 .page-header, .page-id-1521 .page-header, 
.page-id-1529 .page-header, .page-id-1532 .page-header, 
.page-id-1538 .page-header, .page-id-1472 .page-header, 
.page-id-1478 .page-header, .page-id-1457 .page-header, 
.page-id-1494 .page-header, .page-id-1502 .page-header, 
.page-id-1484 .page-header {
    background: url(img/recruit/bg-image.jpg) no-repeat center;
}
.guidelines-text {
    margin: 0 auto 50px;
    width: calc(100% - 10vw);
    max-width: 600px;
}
.guidelines-table {
    margin: 0 auto 50px;
    width: calc(100% - 10vw);
    max-width: 800px;
}
.guidelines-table table {
    border: 1px solid #ccc;
}
.guidelines-table table tr {
    border-bottom: 1px solid #ccc;
}
.guidelines-table table tr:last-child {
    border-bottom: none;
}
.guidelines-table table tr td {
    padding: 15px;
}
.guidelines-table table tr td:first-child {
    min-height: 100%;
    vertical-align: middle;
    border-right: 1px solid #ccc; 
}
.guidelines-table img.recruit-list-link {
    padding-bottom: 0;
    vertical-align: middle;
}
.guidelines-table a:hover img.recruit-list-link {
    transform: translate(2px, -2px);
}
.guidelines-shop {
    padding: 30px 0;
}
.guidelines-ttl {
    font-size: 25px;
    font-weight: 600;
}
.guidelines-tell {
    font-size: 25px;
}
.entry {
    padding: 0 20px;
    max-width: 1100px;
    margin: 0 auto 50px;
}
.entry-inner {
    background: #e1e1e1;
    padding: 100px 0;
}
.entry-ttl {
    text-align: center;
    margin: 0 auto 50px;
    font-family: 'Lora', serif;
    font-weight: 600;
    font-size: 30px;
}
@media screen and (min-width: 768px) {
    .guidelines-table table tr td:first-child {
        width: 110px;
    }
    .entry {
        margin: 0 auto 100px;
    }
    .entry-ttl {
        font-size: 3vw;
        margin-bottom: 8vw;
    }
}

/* footer
--------------------------------------------------------------------------------*/
footer {
    background: url(./img/top/bg-footer.jpg);
    position: relative;
}
.footer-logo {
    max-width: 200px;
    margin: 0 auto 10px;
}
.footer-logo img {
    width: 100%;
}
.footer-inner {
    padding: 20px 0 10px;
    margin: 0 auto;
}
.footer-inner-section {
    color: #fff;
    font-family: 'Lora', serif;
    font-weight: 400;
    padding: 40px 0 0;
}
.footer-inner-section a {
    color: #fff;
}
.footer-inner-section a:hover {
    color: #b0b0b0;
}
.footer-menu {
    display: flex;
    justify-content: space-between;
}
.footer-menu li {
    margin-bottom: 7px;
    font-size: 14px;
}
.footer-menu li:nth-child(2) {
    width: 200px;
}
.footer-menu li ul {
    margin-top: 10px;
    margin-left: 20px;
}
.footer-menu li ul li {
    font-size: 12px;
}
.footer-link {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.footer-link img {
    width: 200px;
}
.footer-link p {
    margin-bottom: 10px;
    margin-left: 60px;
    font-size: 14px;
}
.copyright {
    position: relative;
}
.copyright p {
    color: #b0b0b0;
    font-size: 12px;
    padding: 10px 0 0;
}
 #page-top a {
    position: absolute;
    right: 20px;
    top: 50px;
    width: 50px;
    height: 80px;
    z-index: 1;
    display: block;
    content: "";
    position: absolute;
    background:url(img/top/top-icon.png) no-repeat;
    background-size: contain;
    transition: all  0.3s ease;
}
#page-top a:hover {
    transform: translate(0, -20px);
}
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
    .copyright {
        text-align: right;
    }
}
@media screen and (min-width: 1024px) {
    .footer-inner { padding-bottom: 20px; }
    .footer-menu { margin-left: 260px; }
    .footer-link { justify-content: flex-start; }
    .copyright p {
        position: absolute;
        right: 0;
        bottom: 10px;
    } 
}
@media screen and (min-width: 1200px) {
    .footer-menu li { font-size: 16px; }
    .footer-menu li ul li { font-size: 14px; }
}
@media screen and (max-width: 1024px) {
    #page-top a { top: 190px; }
}
@media screen and (max-width: 767px) {
    .copyright {
        text-align: center;
    }
    .copyright p { font-size: 10px; } 
    #page-top a {
        right: 5px;
        top: 20px;
        width: 30px;
    }
}
