/*
Theme Name: Osechi
*/
@charset "utf-8";

/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

RESET CSS

html5doctor.com Reset Stylesheet

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}/ change colours to suit your needs /
ins{background-color:#ff9;color:#000;text-decoration:none}/ change colours to suit your needs /
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}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 #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}


/* //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

common

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
body{ font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; margin: 0; padding: 0; box-sizing:border-box; color: #582d18; line-height: 150%; background: #FFF;}

*, *:before, *:after { box-sizing:border-box; }

a,a:link, a:visited { color:inherit; text-decoration: none; }
a:active, a:hover { text-decoration: none; }

h1, h2, h3, h4, h5 {font-weight: normal;}
li { list-style-type: none; }
dl,dt,dd { margin: 0; padding: 0; }
p { margin: 0 ; padding: 0; }
img {border: 0; line-height: 0; vertical-align: bottom;}
hr { display: none; }
table { margin: 0; padding: 0; }
th { text-align: left; font-weight: bold; margin: 0; }
td { margin: 0; }
em {font-weight: bold; font-style: normal;}
form { margin: 0; padding: 0; }
label { margin: 0; padding: 0;}
input.btn { margin: 0 0.5em; padding: 0 1em; }


@media screen and (max-width: 900px) {
}

/*clearfix*/
.clearfix { zoom:1;/*for IE 5.5-7*/ }
.clearfix:after{/*for modern browser*/ content:"."; display: block; height:0; clear: both; visibility: hidden; }


/*レイアウト*/
.wrapper { width: 100% ; margin: 0;  }
.contents_wrap { width: 90%; max-width: 1032px; margin: 0 auto; }
.base_contents { position: relative;  }
img { max-width: 100%; height: auto; vertical-align: bottom; }
.contsL { float: left; }
.contsR { float: right; }
a:hover { opacity: .7; }


.column,
.column2,
.column-max2,
.column3,
.column4,
.column5,
.column6  { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; }

.box-section { padding: 8rem 0; }
.column-max2 > * { width: 47%; }
.column2 > * { width: 47%; }
.column3 > * { width: 32%; }

.main-column { width: 75%; }
.sub-column { width: 20%; }

@media screen and (max-width: 900px) {
  .column-max2 > * { width: 100%; margin-bottom: 2rem; }
  .box-section { padding: 5rem 0; }
  
  .main-column { width: 90%; margin: 0 auto 2rem; }
  .sub-column { width: 90%; margin: 0 auto; }
  
}
@media screen and (max-width: 600px) {
.box-section { padding: 3rem 0; }

  .column_lr > *:nth-child(odd) { width: 100%; }
  .column_lr > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }

  .column_lr2 > *:nth-child(odd) { width: 100%; }
  .column_lr2 > *:nth-child(even) { width: 100%; margin-left: 0; margin-top: 1rem; }
}


/*contents*/
.serif { font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

/*ヘッダー*/
.header { background: #FFF; }
.page-header { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; padding: 1rem 0; background: #FFF; }
.header-logo { width: 25rem; height: 5rem; display: inline-block; background: url(../img/head-logo.png) no-repeat left center/ 100% auto; overflow: hidden; white-space:  nowrap; float: left; }
.header-tel { display: inline-block; }
.header-tel .tel {font-weight: bold; display: block;}
.header-tel .tel span { font-size: 3rem; color: #8f6706; line-height: 100%; margin-left: 1rem; }

@media screen and (max-width: 900px) {
  .page-header { display: block; text-align: center; }
  .header-logo { float: none; width: 15rem;  }
  .header-tel { display: none; }
  
  
}


/*フッター*/
.footer { color: #FFF; background: #333; padding: 5rem 0 2rem; }

.link-office { display: block; text-align: center; }
.link-office a {text-decoration: underline; }
.link-office a:before { content: ''; width: 0; height: 0; border-style: solid; border-width: .4em .5em; border-color: transparent transparent transparent #FFF; display: inline-block; vertical-align: middle; }

.foot-shops { margin: 3rem auto 5rem; width: 90%; }
.foot-shops h4 { font-size: 1.3rem; }
.copyright { font-size: .8rem; text-align: center; margin-top: 1em; }
@media screen and ( max-width: 900px ) {
  .footer {padding: 2rem 0; }
  .footer .column2 > * { width: 100%; margin-bottom: 2rem; text-align: center; }
  .foot-logo { width: 80%; margin: 0 auto; }
  .foot-shops { font-size: .8rem; margin-top: 0; }
}

.header-info {  text-align: center; font-size: 1.5rem; line-height: 150%; padding: .5em 0; background: #a97f1a; color: #FFF; }
.page-main {  }
.mainvisual { background: #000; text-align: center; margin-bottom: 4rem; }
.mainvisual img { max-width: 90%; height: auto; }
@media screen and ( max-width: 900px ) {
  .header-info { font-size: 1rem; }
  .mainvisual {margin-bottom: 2rem;}
}
.page-home { background: #f4f1df; padding-bottom: 4rem;}
.page-home .list-products { margin: 4rem 0;  }
.page-home .list-products > li + li { margin-top: 4rem; }
.page-home .list-products .text { margin: 2rem auto; width: 90%; font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between; align-items: center; }
.page-home .list-products .text .product-name { width: 35%; display: inline-block; margin-right: 3%;}
.page-home .list-products .text .product-name img { max-width: 100%; height: auto; }

.page-home .list-products .text .detail { width: 62%; margin-bottom: 1em; display: inline-block; }
.page-home .list-products .text .detail p {display: inline-block; font-size: 2.3rem; vertical-align: middle; margin-right: 1em; }
.page-home .list-products .text .detail .info {display: inline-block; vertical-align: middle;}
.page-home .list-products .text .detail .info > li { color: #FFF; display: inline-block; padding: .2em; font-size: 1.1em; }
.page-home .list-products .text .detail .info > li:first-child { background: #5c7a00; }
.page-home .list-products .text .detail .info > li:nth-child(2) { background: #996c00; }
.page-home .list-products .text .detail .info > li:nth-child(3) { background: #b92700; }
.page-home .list-products .text .price { margin-top: 1rem;}
.page-home .list-products .text .price dt { display: inline-block; vertical-align: middle; }
.page-home .list-products .text .price dd { display: inline-block; vertical-align: middle; font-size: 3.5rem; color: #b92700; position: relative; line-height: 100%;  }
.page-home .list-products .text .price dd .yen { font-size: .6em; vertical-align: baseline; display: inline-block; line-height: 100%;}
.page-home .list-products .text .price dd .tax { font-size: .2em; position: absolute; top: 0; right: 0; margin: auto; line-height: 100%; }

@media screen and (max-width: 1200px) {
  .page-home .list-products .text .detail p { font-size: 2rem; }
  .page-home .list-products .text .product-name { width: 32%; }
  .page-home .list-products .text .detail { width: 65%; }
  .page-home .list-products .text .price dd { font-size: 5vw;}
}

@media screen and ( max-width: 900px ) {
  .page-home .list-products{margin-top: 2rem;}
  .page-home .list-products .text { width: 100%; font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; display: block; margin: 1rem 0; }
  .page-home .list-products .text .product-name { width: 100%; display: block; margin-left: 0%; margin-right: 0;}
  .page-home .list-products .text .product-name img { max-width: 50%; }
  .page-home .list-products .text .detail { width: 100%; display: block; margin-top : 1rem; ;}
  .page-home .list-products .text .detail p { font-size: 1rem; font-weight: bold; }
  .page-home .list-products .text .detail .info > li {font-weight: bold; }
  .page-home .list-products .text .detail .info > li:first-child { color: #5c7a00; background:  none;}
  .page-home .list-products .text .detail .info > li:nth-child(2) { color: #996c00; background:  none; }
  .page-home .list-products .text .detail .info > li:nth-child(3) { color: #b92700; background:  none; }
  .page-home .list-products .text .price dd { display: inline; font-size: 1.3em; margin-left: 2rem; }
  .page-home .list-products .text .price dd .yen { font-size: inherit;}
  .page-home .list-products .text .price dd .tax { font-size: inehrit; position: relative; top: auto; right: auto; margin: auto; }
  .page-home .list-products .text .price dd:after { content: '\A'; white-space: pre; }
}


.list-dia > li:before { content:'◆';}
.list-dia > li { margin-bottom: 1.5rem; }

.list-dot > li { padding-left: 1em;  }
.list-dot > li:before { content:'・'; width: 1em; margin-left: -1em; display: inline-block; }

.page-home .osechi-contents { color: #422500; width: 90%; margin: 0 auto; }
.page-home .osechi-contents dt { font-size: 1.2rem; display: inline-block; color: #FFF; background: #422500; margin-bottom: 1em; padding: .2em; }



.page-home .list-products .btn-reserve { font-size: 1.7rem; color: #FFF;  display: block; width: 11em; text-align: center;padding: .6em 0; margin: 0 5% 0 auto; border-radius: 5px;
  background-image:-webkit-gradient( linear, left top, left bottom, from(#df0119), to(#a11213)); }

@media screen and (max-width: 900px) {
  .page-home .osechi-contents { width: 100%; margin-bottom: 2rem;}
  .page-home .list-products .btn-reserve { width: 100%;  }
  
}
.page-home .reservation-info { background: #FFF; border: 2px solid #a97f1a; padding: 50px 5%;}
.page-home .reservation-info > div + div { margin-top: 80px; }



.page-home .reservation-info .order .conts-order {  width: 90%; margin: 1rem auto; }
.page-home .reservation-info .order .conts-order ol { font-weight: bold; counter-reset: listnum; margin-bottom: 1rem; font-size: 1.3rem; }
.page-home .reservation-info .order .conts-order ol > li { counter-increment: listnum; padding-left: 1.5em;}
.page-home .reservation-info .order .conts-order ol > li:before { content: counter(listnum); width: 1em; height: 1em; background: #582d18; color: #FFF; border-radius: .5em;line-height: 100%;  display: inline-block; text-align: center; vertical-align: middle; margin-right: .5em;margin-left: -1.5em;  }

.page-home .reservation-info .order .conts-order .order-tel { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;  }
.page-home .reservation-info .order .conts-order .order-tel > dt { width: 5rem; text-align: center; color: #FFF; border-radius: 5px;  }
.page-home .reservation-info .order .conts-order .order-tel > dd { width: calc(100% - 6rem ); }

.page-home .reservation-info .order .conts-order .order-tel > dt:first-of-type { background: #b90b13; line-height: 4rem; font-size: 1.2rem; }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; justify-content: space-between;  }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum {  color: #b90b13; font-size: 4rem;width: 7em;line-height: 100%; font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;  }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum  + span {  width: auto; line-height: 120%; display: inline-block; margin: 0 auto 0 0; text-align: center; font-size: 1rem; margin-bottom: 1rem; position: relative;padding: 0 2rem; line-height: 150%; }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span:before,
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span:after { content: ''; width: .5rem; height: 100%;  solid; border-top: 1px solid; border-bottom: 1px solid; display: block; position: absolute;  top: 0; margin: auto; }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span:before { border-left: 1px solid; left: 0; }
.page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span:after { border-right: 1px solid; right: 0; }
  
.page-home .reservation-info .order .conts-order .order-tel > dd:first-of-type span { font-size: .8rem;  }
.page-home .reservation-info .order .conts-order .order-tel > dt:nth-of-type(2) { background: #422500; margin-top: 1rem; line-height: 3rem; }
.page-home .reservation-info .order .conts-order .order-tel > dd.fax { margin-top: 1em; }
.page-home .reservation-info .order .conts-order .order-tel > dd.fax span { font-size: 2.5rem; font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; margin: 0 .2em; display: inline-block;vertical-align: middle; }

.page-home .reservation-info .btn-fax { color: #FFF; font-size: 1.4rem; text-align: center; width: 60%; display:block; padding: .6em; margin: 0 auto 4rem; background: #422500;  }

@media screen and (max-width: 1000px) {
  .page-home .reservation-info .order .conts-order { width: 100%; }
  .page-home .reservation-info .order .conts-order .order-tel > dt { width: 4rem; }
  .page-home .reservation-info .order .conts-order .order-tel > dd { width: calc(100% - 5rem); }
  
  .page-home .reservation-info .order .conts-order .order-tel > dd.tel { display: block; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum { font-size: 2.5rem;}
  .page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span { display: inline-block; text-align: left;padding: 0 .5em; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum + span br { display: none; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.fax span { font-size: 1.5rem; line-height: 150%; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.fax span:first-of-type { display: inline; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.fax span:first-of-type:after { content: '\A'; white-space: pre; }
}
@media screen and (max-width: 600px) {
  .page-home .reservation-info {padding: 2rem 5%;}
  .page-home .reservation-info > div + div { margin-top: 50px; }
  .page-home .reservation-info .order .conts-order .order-tel > dd.tel .telnum { font-size: 9vw;}
  .page-home .reservation-info .order .conts-order .order-tel > dd.fax span,
  .page-home .reservation-info .order .conts-order .order-tel > dd.fax span:first-of-type {display: block; }
}
.page-home .reservation-info .schedule .column2 { width: 90%; margin: 0 auto; }
.page-home .reservation-info .schedule .title { font-size: .8rem; min-height: 2.5em; line-height: 120%; padding-left: 9rem; border-bottom: 1px solid; padding-bottom: .5em; margin-bottom: 1em; }
.page-home .reservation-info .schedule .title span { font-size: 1.3rem; display: inline-block; margin-left: -8rem; width: 9rem;  line-height: 150%; vertical-align: bottom; position: absolute; font-weight: bold;}
.page-home .reservation-info .schedule .list-date > dt { float: left;font-size: .9rem; width: 8em; padding: .2em 0; text-align: center; float: left; color: #FFF; display: inline-block; }
.page-home .reservation-info .schedule .list-date > dt:first-of-type { background: #68690c; }
.page-home .reservation-info .schedule .list-date > dt:nth-of-type(2) { background: #b90b13; }
.page-home .reservation-info .schedule .list-date > dd { padding-left: 8rem; margin-bottom: 1rem; font-size: 1.5rem;font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: bold; letter-spacing: .1em; }
.page-home .reservation-info .schedule .list-date > dd span { font-size: 2.2rem; }

.page-home .reservation-info .attention .title { font-size: 1.3rem; margin: 1em 0 .5em; font-weight: bold; }
.page-home .reservation-info .attention .title:nth-of-type(n+2) {margin-top: 2em;}

@media screen and (max-width: 900px) {
  .page-home .reservation-info .btn-fax { font-size: 1.2rem; width: 100%; margin-top: 1em; }
  .page-home .reservation-info .schedule .column2 {width: 100%;}
  .page-home .reservation-info .schedule .column2 > div { width: 100%; display: block; margin-bottom: 2rem; }
  .page-home .reservation-info .schedule .list-date > dt { width: 6em;}
  .page-home .reservation-info .schedule .list-date > dd { padding-left: 7rem;}
}
@media screen and (max-width: 600px) {
  .page-home .reservation-info .schedule .list-date > dd { font-size: 5.5vw; padding-left: 6.5rem;}
.page-home .reservation-info .schedule .list-date > dd span { font-size: 1.2em; }
}
.title-ribbon { color: #FFF; background: #a97f1a; font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-size: 2rem; line-height: 150%; padding: .3em; text-align: center; margin-top: 1em; position: relative; margin-bottom: 1rem; }
.title-ribbon:before { content: ''; width: 100%; height: 1em; display: block; background: url(./img/ribbon.png) no-repeat top center/ auto 100%; position: absolute; top: -1em; left: 0; right: 0; margin: auto; } 

@media screen and (max-width: 900px) {
  .title-ribbon { font-size: 1.5rem; }
  
}
@media screen and (max-width: 600px) {
  .title-ribbon { font-size: 1.2rem; }
}

/*注文フォーム*/
.page-order { background: #FFF; color: #333; }
.conts-order-form { width: 80%; margin: 4rem auto 0; font-size: 1.1rem; }
.conts-order-form h2 { font-size: 2rem; margin-bottom: 2rem;  }
.conts-order-form .must { color: #FFF; font-size: .9em; background: #ca0813; border-radius: 3px; padding: 0 5px; line-height: 130%; height: 1.2rem; }
.form_phase { padding-left: .5rem; line-height: 150%; border-left: 4px solid #a67c52; border-bottom: 2px solid #a67c52; margin-bottom: .5em;  }
.list-form { width: 90%; margin: 3rem auto;  }
.list-form > dt { width: 30%; float: left; position: relative; padding-right: 5rem; text-align: right; padding-top: .5em; }
.list-form .must {position: absolute; right: 0; top:0; bottom: 0; margin: auto;}
.list-form > dd { padding-left: 40%; margin-bottom: 1em; }

@media screen and (max-width: 900px) {
  .conts-order-form {width: 100%;}
  .list-form > dt { width: 100%; float: none;  text-align: left; }
  .list-form > dd { padding-left: 0%; margin-bottom: 1em;}
  .list-form .must { position: relative; margin-left: 1em; right: auto; top: auto; }
}

.conts-order-form input[type="text"],
.conts-order-form input[type="tel"],
.conts-order-form input[type="email"],
.conts-order-form select { font-size: 1.1rem; padding: .5em; border-width: 2px; border-style: solid; border-color: #757575 #bababa #bababa; background : #FFF; }
@media screen and (max-width: 900px) {
  .conts-order-form input[type="text"],
.conts-order-form input[type="tel"],
.conts-order-form input[type="email"],
  .conts-order-form select { width: 100%; }
}

.list-form-order { width: 80%; margin: 3rem auto; font-size: 1.1rem; }
.list-form-order p {  font-weight: bold; }
.list-form-order table {margin: 1rem 0 3rem; width: 100%; middle; }
.list-form-order table th,
.list-form-order table td { vertical-align: middle; }
.list-form-order table th { width: 100px; }
.list-form-order table td {padding-left: 2rem;  }
.list-form-order table .price { color: #F33; display: inline-block; margin-left: 2em; }
.list-form-order table td select  { width: 6rem;  }
.conts-order-form .order-total {  text-align:right; margin: 0 0 4rem; border-top: 1px dotted #8e8e8e; padding: 1rem 5%; }
.conts-order-form .order-total #total-price { font-size: 1.5em; font-weight: bold; margin-left: 3em; }

@media screen and (max-width: 900px) {
  .list-form-order { width: 100%; margin: 1rem auto;  }
  .list-form-order table th,
    .list-form-order table td { display: block; width: 100%;}
  .list-form-order table td { padding-left: 0; padding-top: 1rem; }
}
.conts-order-form .recieve { width: 80%; margin: 3rem auto 4rem; }
.wpcf7-form-control-wrap.recieve {  }
.wpcf7-form-control-wrap.recieve .wpcf7-list-item { display: block; margin-left: 0; }
.conts-order-form .recieve .textarea-note { font-size: .9rem; font-weight: bold; margin-top: 2rem;}
.conts-order-form .recieve textarea { width: 100%; padding: .5em; font-size: 1rem;  }

.conts-order-form .attention { text-align: center; color: #F33; margin-bottom: 1em; }
.conts-order-form input[type="submit"]  { width: 100%; display: block; background: #ca0813; font-size: 1.3rem; color: #FFF; padding: 1em; text-align: center; -moz-appearance: none; -webkit-appearance: none; }
.conts-order-form input[type="submit"]:disabled { background: #AAA; }
.conts-order-form .order-bottom { padding: 5rem 0 10rem; text-align: center; font-weight: bold; line-height: 180%;  }

@media screen and (max-width: 900px) {
  .conts-order-form .attention { font-size: .8rem;}
  .conts-order-form .recieve { width: 100%; margin: 1rem auto 3rem; }
  .conts-order-form .order-bottom { text-align: left; padding: 3rem 0 6rem;}
}