@charset "utf-8";

/***************************************************
  products.css
***************************************************/
.area-hakuraitei {
    font-size: 18px;
}

.bg-particular {
    background: url("../img/bg_particular_02.png") repeat-x;
    width: 100%;
}

.bg-particular2 {
  background: #f8f7f4;
}
.bg-particular3 {
  background: #FFFFFF;
}

.bg-particular02 {
    background: url("../img/bg_particular_03.jpg") no-repeat center center / cover;
    width: 100%;
}

.particular-inner {
    width: 100%;
    overflow: hidden;
    padding: 50px 40px;
    box-sizing: border-box;
}

.fukidashi {
  background: #fcff00;
  padding: 10px;
  -webkit-filter:drop-shadow(0px 0px 5px rgba(0,0,0,0.4));
  border-radius: 10px;
}

.photobox .fukidashi {
  position: relative;
  text-align: center;
  width: 90%;
  margin: 0 auto;
  font-size: 0.8rem;
}
.photobox .fukidashi:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 40%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-bottom: 20px solid #fcff00;
}

.instapoint {
  position: relative;
}
.instapoint .fukidashi {
  position: relative;
  left: 310px;
  top: 82px;
  font-weight: bold;
  font-size: 1.4rem;
  padding-top: 20px;
  padding-bottom: 20px;
  z-index: 2;
}
.instapoint .fukidashi:before {
  content: "";
  position: absolute;
  top: 55%;
  left: -30px;
  margin-top: -15px;
  border: 10px solid transparent;
  border-right: 20px solid #fcff00;
}

.instapoint .pointpic {
  position: relative;
}
.instapoint .pointpic .name {
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 100%;
  color: #FFFFFF;
  text-shadow: 
    #333 1px 1px 4px, #333 -1px 1px 4px,
    #333 1px -1px 4px, #333 -1px -1px 4px;

}

.hayashi .box-cont {
    margin-bottom: 60px;
}
.hayashi .ttl {
  text-align: left;
}
.hayashi .txtbox {
    padding-top: 30px;
}
@media only screen and (max-width: 640px){
.hayashi .txtbox {
    padding-top: 30px !important;
}
}

@media only screen and (max-width: 640px) {
    .particular-inner {
        padding: 0;
    }

    .bg-particular02 {
        background: none;
        width: 100%;
    }
}

.particular-list {
    width: 100%;
    padding: 40px 0;
    box-sizing: border-box;
}

@media only screen and (max-width: 640px) {
.particular-list {
    padding: 0;
}
.particular-list .contents-inner {
    padding: 0;
  }
}


.particular2-01 {
  background: url("../img/bg_particular2_01.jpg") no-repeat center center / cover;
}
.particular2-02 {
  background: url("../img/bg_particular2_02.jpg") no-repeat center center / cover;
}
.particular2-03 {
  background: url("../img/bg_particular2_03.jpg") no-repeat center center / cover;
}
.particular2-04 {
  background: url("../img/bg_particular2_04.jpg") no-repeat center center / cover;
}
.particular2-05 {
  background: url("../img/bg_particular2_05.jpg") no-repeat center center / cover;
}

.particular-list .ttl {
    margin-bottom: 0;
    text-align: left;
}

.particular-list .box-cont {
  background-color:rgba(255,255,255,0.8);
  width: 86%;
  padding: 40px 40px 10px 40px;
}

@media only screen and (max-width: 1100px) {
.particular-list .box-cont {
  width: 98%;
  padding: 20px 20px 0px 20px;
}
}

.particular-list.particular2-01 .box-cont ,
.particular-list.particular2-03 .box-cont ,
.particular-list.particular2-05 .box-cont{
  background: #eae3d8;
  background-color:rgba(234,227,216,0.8);
  float: right;
}

.particular-list .box-cont {
  position: relative;
}
.particular-list .box-cont .picbox {
  position: absolute;
  right: 0;
  top: 0;
}



.particular-list.particular2-02 .box-cont .picbox  ,
.particular-list.particular2-04 .box-cont .picbox {
  left: 0;
}

.particular-list .box-cont .txtarea {
  float: left;
  width: 60%;
}

.particular-list.particular2-02 .box-cont .txtarea ,
.particular-list.particular2-04 .box-cont .txtarea{
  float: right;
}

.particular-list .box-cont .txtarea .txtbox {
  width: 94%;
}

.particular-list .box-cont .txtarea .ttl {
  margin-bottom: 1.4rem;
}
.particular-list .box-cont .txtarea .txtbox p {
    margin-bottom: 2rem;
}

@media only screen and (max-width: 640px) {
  .particular-list .box-cont .picbox {
  position: relative;
}
  .particular-list .box-cont .txtarea {
  float: none;
  width: 100%;
}
  .particular-list .box-cont .txtarea .ttl {
    margin-bottom: -0.4rem;
    padding-top: 1rem;
    text-align: center;
}
  .particular-list .box-cont .txtarea .txtbox {
    width: 100%;
}
  .particular-list .box-cont .txtarea .txtbox .pbtn {
    text-align: center;
}
  .particular-list .box-cont .txtarea .txtbox .pbtn img {
    text-align: center;
    height: 50px;
    width: auto;
}
  
}



.particular-first {
  padding: 60px 0;
}
.particular-first .ttl {
  margin-bottom: 20px;
}
.particular-first p {
  width: 65%;
  margin: 0 auto;
}


.box-cont:first-child {
    margin-bottom: 0;
}

.txtbox {
    width: 50%;
    display: block;
    float: left;
}
.txtbox p {
  margin-bottom: 1.8rem;
  line-height: 1.6rem;
}

.txtbox2 {
    display: block;
  overflow: hidden;
}

.txtbox2 p {
  margin-bottom: 1.8rem;
  line-height: 1.6rem;
}


.picbox {
    float: right;
    text-align: center;
    width: 45%;
    font-size: 16px;
}

.picbox img {
    width: auto;
    margin-bottom: 10px;
}

@media only screen and (max-width: 1100px) {
.picbox {
    width: 40%;
}  
}
@media only screen and (max-width: 900px) {

.picbox img {
  width: 300px;
}
}


.picbox2 {
    float: right;
    text-align: center;
    width: 45%;
    font-size: 16px;
  background: #FFFFFF;
  padding: 20px 0 10px 0;
  box-shadow: 0 0 12px #bbb;
  border-radius: 10px;
  margin-bottom: 40px;
}

.picbox2 p {
  margin-bottom: 0.8rem;
}

.picbox2 table {
  width: 460px;
  margin: 0 auto 10px;
  text-align: left;
}
.picbox2 table tr th , .picbox2 table tr td {
  background: #f7f4ef;
  padding: 5px;
  vertical-align: top;
}
.picbox2 table tr:nth-child(even) th , .picbox2 table tr:nth-child(even) td {
  background: #fff;
}
.picbox2 table tr th.year {
  width: 5rem;
}
.picbox2 .sns {
  width: 460px;
  margin: 0 auto;
  text-align: right;
}
.picbox2 .sns img {
  margin-left: 10px;
}

.picbox2 img {
    width: auto;
    margin-bottom: 10px;
}


@media only screen and (max-width: 1250px) {

.picbox2 {
  padding-left: 15px;
  padding-right: 15px;
}
  .picbox2 table {
    width: 100%;
}
  
  .picbox2 .sns {
    width: 100%;
}
  
}

.photobox {
    float: right;
    text-align: center;
    width: 34%;
    font-size: 16px;
  display: block;
  margin-bottom: 20px;
}

.photobox.gotoimg2 {
    width: 50%;
  margin-bottom: 20px;
}
.photobox.gotoimg3 {
    width: 50%;
  float: left;
}



.photobox.gotoimg2 {
}
.photobox.gotoimg3 {
}



.photobox img {
    width: auto;
    margin-bottom: 13px;
}


@media only screen and (max-width: 900px) {
  
  .txtbox {
    width: 100%;
    float: none;
}
  .picbox2 {
    float: none;
    width: 100%;
}
  
.picbox2 table {
  width: 100%;
}
.picbox2 .sns {
  width: 100%;
}
.photobox {
    float: none;
    width: 100%;
  margin-bottom: 40px;
  padding-top: 10px;
}
.photobox.gotoimg2 {
    width: 100%;
  float: none;
}
.photobox.gotoimg3 {
    width: 100%;
  float: none;
}
}

@media only screen and (max-width: 640px) {
.photobox .fukidashi {
    width: 100%;
}
}





.txtbox-right {
    width: 100%;
    padding-top: 30px;
    display: block;
    padding-left: 48%;
}


.instabox .box1 {
  float: left;
  width: 49%;
  text-align: center;
}
.instabox .box2 {
  float: right;
  width: 48%;
  text-align: center;
}

@media only screen and (max-width: 900px) {
.instabox .box1 {
  float: none;
  width: 100%;
}
.instabox .box2 {
  float: none;
  width: 100%;
}
.instabox iframe {
  margin-left: auto !important;
  margin-right: auto !important;
}
  
.instabox h3 {
  margin-top: 2rem !important;
}
  
}




.instabox .insta.left {
  float: left;
  width: 49%;
  text-align: center;
}
.instabox .insta.right {
  float: right;
  width: 49%;
  text-align: center;
}
.instabox .insta.center {
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 49%;
  text-align: center;
}

@media only screen and (max-width: 900px) {
.instabox .insta.left {
  float: none;
  width: 100%;
}
.instabox .insta.right {
  float: none;
  width: 100%;
}
.instabox iframe {
  margin-left: auto !important;
  margin-right: auto !important;
}
  
.instabox h3 {
  margin-top: 2rem !important;
}
  
  .instabox .insta.center {
  width: 100%;
}
  
  .instabox .contents-inner {
  width: 100%;
}
  
}





.instabox .insta p {
  font-size: 0.8rem;
  margin-bottom: 1rem;
  margin-top: 0.6rem;
}

.instapoint {
  background: #f6f6f6;
  margin-top: 50px;
  padding: 50px 30px 30px 30px;
  margin-bottom: 40px;
}
.instapoint .pointpic {
  float: left;
  text-align: center;
  margin-top: -160px;
  margin-right: 60px;
  font-size: 0.9rem;
  margin-bottom: 10px;
}
.instapoint .pointpic img {
  margin-bottom: 10px;
}
.instapoint .txtarea {
  overflow: hidden;
}
.instapoint .matome {
  clear: both;
  background: #e8e8e8;
  padding: 15px;
  font-size: 0.9rem;
  margin-top: 30px;
}
.instapoint h4 {
  font-size: 1.1rem;
  font-weight: bold;
  color: #3c2419;
  margin-top: 1.6rem;
  margin-bottom: 0.8rem;
  line-height: 1.6rem;
}
.instapoint p {
  font-size: 0.95rem;
  line-height: 1.4rem;
}

.instapoint .matome p {
  font-size: 0.8rem;
  letter-spacing: -0.05rem;
}

@media only screen and (max-width: 640px) {
.instapoint .matome p {
  font-size: 0.67rem;
  letter-spacing: -0.05rem;
}
}
  
@media only screen and (max-width: 900px) {
.instapoint .pointpic {
  float: none;
  margin-left: 0;
}
.instapoint .pointpic img {
  width: 240px;
}
.instapoint .fukidashi {
    left: 74%;
    top: 100px;
  width: 120px;
}
.instapoint .pointpic {
  margin-right: 0;
  margin-bottom: 0;
}
}

.paging span {
  display: block;
  font-size: 13px;
  line-height: 1rem;
}
.paging span.arr {
  font-size: 16px;
  font-weight: bold;
}
.paging .back {
  float: left;
  width: 50%;
}
.paging .back.cen {
  float: none;
  width: 100%;
}
.paging .next {
  float: right;
  width: 50%;
  text-align: right;
}
.paging .next.cen {
  float: none;
  text-align: right;
  width: 100%;
}

.paging .back a ,
.paging .next a {
  display: block;
  background: #FFFFFF;
  box-shadow: 0 0 12px #bbb;
  padding: 15px;
  width: 60%;
  position: relative;
}

.paging .back a:hover ,
.paging .next a:hover {
  text-decoration: none;
}
.paging .back a {
  padding-right: 100px;
  border-radius: 6px 45px 45px 6px;
}
.paging .next a {
  padding-left: 100px;
  float: right;
  border-radius: 45px 6px 6px 45px;
}


.paging .next.cen a ,
.paging .back.cen a{
  float: none;
  margin-left: auto;
  margin-right: auto;
  width: 30%;
}


.paging .thu {
  position: absolute;
  top: -5px;
}
.paging .back .thu {
  right: 0;
}
.paging .next .thu {
  left: 0;
}
.paging .back .thu img ,
.paging .next .thu img {
  width: 90px;
  border: 4px solid #FFFFFF;
  border-radius: 45px;
  box-sizing: border-box;
}

@media only screen and (max-width: 900px) {
.paging .back a ,
.paging .next a {
  width: 90%;
}
  .paging .next.cen a ,
  .paging .back.cen a{
  width: 40%;
}
}
@media only screen and (max-width: 640px) {

.paging .back a ,
.paging .next a {
  width: 85%;
}
.paging .back a {
  padding-right: 60px;
  border-radius: 6px;
}
.paging .next a {
  padding-left: 60px;
  border-radius: 6px;
}
.paging .thu {
  top: -20px;
}
  .paging .back .thu {
  right: -20px;
  -webkit-filter: drop-shadow(4px -4px 3px rgba(0,0,0,0.2));
}
.paging .next .thu {
  left: -20px;
  -webkit-filter: drop-shadow(-4px -4px 3px rgba(0,0,0,0.2));
}
.paging .back .thu img ,
.paging .next .thu img {
  width: 75px;
}
}

.ttl.cen {
  margin-bottom: 2.4rem;
}

@media only screen and (max-width: 640px) {
.ttl.cen {
  margin-bottom: 0;
}
}


@media only screen and (max-width: 640px) {
    .bg-particular .contents-inner {
        margin: 0 auto 0;
        width: 100%;
        padding: 0;
    }

    .box-cont {
        padding: 20px 30px 0;
        margin-bottom: 0;
    }
  .bg-particular2 .box-cont {
    padding: 20px 10px 0;
  }
  .bg-particular3 .box-cont {
    padding: 20px 0 0;
  }
  .bg-particular3 .box-cont p {
    font-size: 16px;
  }
    .txtbox {
        width: 100%;
        padding-top: 30px;
        display: block;
        float: none;
        margin-bottom: 20px;
        font-size: 16px;
    }
  .txtbox2 {
        font-size: 16px;
    }
  .bg-particular .txtbox {
    padding-top: 0;
  }

    .picbox {
        float: none;
        text-align: center;
        width: 100%;
        max-width: 350px;
        font-size: 16px;
        margin: 0 auto;
    }
  
    .picbox2 {
      float: none;
      width: 100%;
      margin-bottom: 40px;
      padding-left: 15px;
      padding-right: 15px;
}
.picbox2.only-sp2 {
  margin-top: 20px;
  margin-bottom: 20px;
}

    .txtbox-right {
        width: 100%;
        padding-top: 30px;
        display: block;
        padding-left: 0;
    }
}

/* 大見出し */
.contents-inner h1 {
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #514532;
    display: inline-block;
    font-size: 48px;
    font-weight: bold;
    background: -webkit-linear-gradient(top, #514532 30%, #76624f 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 auto;
    line-height: 1.2em;
}
.contents-inner h1.ttle-page-name {
  background: initial;
}
.contents-inner .ttle-page-name span {
    font-family: "Noto Sans Japanese";
    color: #231815;
    font-weight: 400 !important;
    background: transparent;
    -webkit-text-fill-color:initial;
}
.contents-inner h2 {
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #514532;
    display: inline-block;
    font-size: 42px;
    font-weight: bold;
    background: -webkit-linear-gradient(top, #514532 30%, #76624f 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 auto;
    line-height: 1.2em;
}
.contents-inner h3 {
    font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #514532;
    display: inline-block;
    font-size: 28px;
    font-weight: bold;
    background: -webkit-linear-gradient(top, #514532 30%, #76624f 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 auto;
    line-height: 1.2em;
}

@media only screen and (max-width: 900px) {
    .contents-inner h1 {
        font-size: 36px;
        line-height: 1.2em;
    }
  .contents-inner h2 {
        font-size: 30px;
        line-height: 1.2em;
    }
}

@media only screen and (max-width: 640px) {
    .contents-inner h1 {
        font-size: 24px;
        line-height: 1.2em;
    }

    .contents-inner h2 {
        font-size: 24px;
        line-height: 1.2em;
      text-align: left;
    }

    .contents-inner h3 {
        font-size: 20px;
        line-height: 1.2em;
    }
  .ptop {
    padding-top: 15px;
  }
}




.cl {
  clear: both !important;
}

.img-r {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
@media only screen and (max-width: 860px) {
.img-r {
  width: 240px;
}
}
@media only screen and (max-width: 640px) {
.img-r {
  width: 180px;
}
}


.gallery-wrap {
  margin-bottom: 2rem;
}
.gallery-wrap .gallery {
  position: relative;
}
.gallery-wrap .gallery p {
  position: absolute;
  width: 100%;
  bottom: 10px;
  left: 0;
  font-size: 0.9rem;
  padding-left: 5px;
  padding-right: 5px;
  text-align: center;
  line-height: 1.2rem !important;
  margin-bottom: 0 !important;
  color: #FFFFFF;
  text-shadow: 
    #333 1px 1px 2px, #333 -1px 1px 2px,
    #333 1px -1px 2px, #333 -1px -1px 2px;
}
.gallery-wrap .gallery.left {
  float: left;
  width: 49%;
}
.gallery-wrap .gallery.roka {
  float: left;
  width: auto;
  margin-right: 30px;
}
.gallery-wrap .gallery.right {
  float: right;
  text-align: right;
  width: 49%;
}

@media only screen and (max-width: 640px) {
.gallery-wrap .gallery p {
  font-size: 0.6rem;
  bottom: 5px;
  line-height: 1rem;
}
  
  .gallery-wrap .gallery.left {
  float: none;
  width: 100%;
}
.gallery-wrap .gallery.right {
  float: none;
  width: 100%;
}
  
.gallery-wrap {
  margin-bottom: 0.6rem;
}
  
  
  .bg-particular3 .ttl {
    margin-bottom: 20px;
  }
  
}


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

.gallery-wrap .gallery.roka {
  float: none;
  margin-right: 0;
  text-align: center;
}
  
}



.bg-particular3 .box-cont p {
  margin-bottom: 1.8rem;
    line-height: 1.6rem;
}



.txtbox2 h3 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}


.txtbox2 h4 {
    color: #514532;
    font-weight: bold;
  font-size: 1.1rem;
    background: -webkit-linear-gradient(top, #514532 30%, #76624f 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0 auto;
    line-height: 1.2em;
  margin-bottom: 0.6rem;
}




@media only screen and (max-width: 640px) {
.txtbox p {
  margin-bottom: 1.2rem;
  line-height: 1.8rem;
}
.txtbox2 p {
  margin-bottom: 1.2rem;
  line-height: 1.8rem;
}
  
.bg-particular3 .box-cont p {
  margin-bottom: 1.2rem;
    line-height: 1.8rem;
}
  
  
  .bg-particular2 .contents-inner {
    padding-bottom: 10px;
  }
  
  
}



@media only screen and (max-width: 640px) {
.banner {
  margin-bottom: 40px;
}
}






@media only screen and (max-width: 640px){
.instapoint .fukidashi {
  font-size: 0.8rem;
  width: 98px;
}
  .instapoint .pointpic img {
    padding-right: 30px;
}
 .instapoint .pointpic .name {
   font-size: 0.8rem;
   padding-right: 30px;
   line-height: 1.2rem;
} 
}


.imgc {
  text-align: center;
  width: 100%;
}
.imgc img {
  margin-left: auto;
  margin-right: auto;
}