@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
:root {
  --primary-color: #C12420;
  --secondary-color: #65563E;
  --bg-color-01: #F5F2EB;
  --bg-color-02: #Fefefe;
  --accent-color: #5D9C6E;
  --text-color: #332B2B;
}

body {
  font-family: "Zen Kaku Gothic Antique", "Work Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-size: auto;
  font-size: 1rem;
  font-size: 16px;

}


/* common style */

#main{
  background-color: var(--bg-color-01);
}

.main{
  padding-top: 0;
}

p{
	font-weight: 500;
}

a{
  color: var(--text-color);

  &:hover{
    color: var(--primary-color);
  }
}

.text-primary{
  color: var(--primary-color)!important;
}

.rounded{
  border-radius: 0.8rem;
}

img.rounded{
  aspect-ratio: 16/9;
  object-fit: cover;
}


.d-none{
  display: none!important;
}

.mt-2{
  margin-top: 2rem;
}

.pt-0{
  padding-top: 0!important;
}

.pl-2{
  padding-left: 2rem;
}

.content{
  margin-top: 0;
  overflow: hidden;
}

.no-sidebar .wrap:has(.woocommerce){
	max-width: 960px;

  .entry-content{
    background: none;
  }
}

.f-container{

  max-width: 1320px;
  margin: 0 auto;
  padding: 5rem 0;

  &:first-child{
    padding-top: 7rem;
  }
}

.fs-container{
  max-width: 960px;
  margin: 0 auto;
  padding: 4rem 0;

  &:first-child{
    padding-top: 7rem;
  }
}

.blogtext{
  padding: 4.8rem 8.4%;
  line-height: 1.9;

  &:last-child{
    padding-bottom: 0;
  }

}

.flex-inner{
  display: flex;
  flex-wrap: wrap;

  img{
    flex-shrink: 0;
    width: 100%;;
  }

  .col{
    flex: 1 0 0%;
  }

  img{
   border-radius: 0.8rem;
  }
}

.justify-content-between{
  justify-content: space-between;
}

.align-items-center{
  align-items: center;
}

.order-0{
  order: 0;
}

.order-1{
  order: 1;
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: ease-in-out 1s;
    transform: translate(0,20px);

    &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

.flex-inner .col{

  position: relative;
  z-index: 1;

  &::after{
    content: "";
    display: inline-block;
    position: absolute;
    z-index: 3;
    width: 180px;
    height: 180px;
    background-size: contain;
    background-repeat: no-repeat;
  }

    &.il-left::after{
      top: -4rem;
      left: -4rem;
      background-image: url(img/illust-rice-01.png);
  }

  &.il-right::after{
      bottom: -4rem;
      right: -4rem;
      background-image: url(img/illust-rice-01.png);
  }
}

.text-center{
  text-align: center;
}

.date-tags{
  display: none;
}

/* 見出し */
h1,
h2,
h3{
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
}

.article h2{
  background-color: transparent;
  padding: 0;
}

.article h3{
  border: 0;
  padding-left: 0;
  margin-bottom: 0.5em;
}

.article h6{
  padding: 0 1.2rem;
  position: relative;
  border: 0;

  &::before{
    content: "";
    width: 3px;
    height: 22px;
    display: block;
    background-color: var(--primary-color);
    position: absolute;
    left: 0;
    top: 3px;
  }
}

.ttl-01{
  font-size: 2rem;
  text-align: center;
  line-height: 1;
  margin-bottom: 2rem;

  small{
    font-size: 1rem;
    color: var(--primary-color);
  }
}

.ttl-02{
  font-size: 1.4rem;
  color: var(--secondary-color);
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  padding-bottom: 1rem;
  position: relative;

  &::before{
    content: "";
    background-image: url(img/icon-ttl-rice.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 1rem;
    height: 1.3rem;
    display: inline-block;
    margin-right: 0.8rem;
  }
}

.ttl-03{
  text-align: center;
  position: relative;
  background-color: transparent!important;
  margin-bottom: 1.8rem;
  font-size: 2.1rem!important;

  &::after{
    content: "";
    width: 40px;
    height: 3px;
    display: block;
    background-color: var(--primary-color);
    margin: 1.6rem auto 0;
  }
}


.ttl-04{

  text-align: center;

  span{
  background-color: var(--accent-color);
  padding: 0.5rem 1.5rem;
  color: #fff;
  font-size: 1.9rem;
  }
}

/* ボタン */

a.btn{
  text-align: center;
  display: inline-block;
  position: relative;
  padding: 0.75rem 0.5rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}

a.btn-primary{
  width: 220px;
  background-color: var(--primary-color);
  color: #fff;

  .fas{
    position: absolute;
    right: 0.5rem;
    top: 1rem;
    text-align: right;
    transition: .2s ease;
  }

  &:hover .fas{
    right: 0.4rem;
  }
}

/* TABLE */

table:not(.has-border-color) :where(th, td) {
   border: 0;
}

table{

  th,td{
    background-color: rgba(255, 255, 255, 0.5)!important;
    border-top: 1px solid #9b896d!important;

  }

  th{
    white-space: nowrap;
    padding: 1.5em;
    border-right: 0;
  }

  td{
    padding: 1.5em 2em;
  }
}

table tr:nth-of-type(2n+1) {
  background-color:inherit;
}

.wp-block-table td, .wp-block-table th {
    padding: 1.2em;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: inherit;
}

/* ヘッダーメニュー*/

#header-container{
  position: fixed!important;
  top: 0;
  height: 100px;
  width: 100%!important;
  z-index: 999;
  background-color: transparent;
}

.navi-in > ul li{
 height: 100px;
}

#header-container.fixed-header{
  background-color: var(--bg-color-02);
  height: 60px;

 .navi{
  background-color: var(--bg-color-02);
 }

 .logo-header img{
  max-height: 60px;
 }

 .navi-in > ul li{
height: 60px;
 }

}

.header-container-in.hlt-top-menu .logo-header img {
max-height: 240px;
}

.navi{
  background-color: transparent;
}

.navi .item-label{
  font-size: 14px;

  i{
    color: var(--primary-color);
  }
}

/* toppage*/
#metaslider_container_113{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  z-index: 1;
}

.front-slide-main{
  position: relative;
}

.front-message-wrapper{
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.front-about{
  background: url(img/img-front-about.jpg) no-repeat;
  background-size: cover;
  background-blend-mode: lighten;
  background-position: center;
  padding: 4rem 3rem 3rem;
  position: relative;

  &::after{

    content: '';
    display: block;
    background:linear-gradient(transparent, transparent,#272727);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    border-radius: 0.8rem;
  }

  .ttl-01{
    writing-mode: vertical-rl;
    color: #fff;
    font-size: 2.4rem;
    text-align: left;
    position: relative;
    z-index: 100;
    margin-bottom: 4rem;
  }

  p{
    color: #fff;
  }

  .d-flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index: 100
  }
}

.front-webshop{
  position: relative;

  &::after{
    content: "";
    width: 200vw;
    height: 30%;
    background-color: var(--accent-color);
    display: block;
    position: absolute;
    z-index: -11;
    bottom: 0;
    left: -50%;
    right: 0;
  }
}

.ttl-webshop{
  position: relative;

  span{
    position: absolute;
    right: 0;
    bottom: 20px;
    font-size: 1.4rem;
  }

  a{
    text-decoration: none;
  }
}

.front-product-slide{
  margin-top: 2.5rem;
  margin-bottom: 2rem;

  .caption-wrap{
    height: 100%;
    opacity: 0!important;
    transition: .4s ease;
    background-color: rgba(0, 0, 0, 0.6)!important;

    &:hover{
      opacity: 1!important;
    }
  }

  .caption{
    width: 100%;
    height: 100%;
    display: flex!important;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
  }

  .caption a{
    color: #fff;
    text-decoration: none;
  }
}


/*下層ページ共通*/

header.article-header{
  display: flex;
  height: 400px;
  justify-content: space-between;
  align-items: center;
  margin-top: 100px;

  .entry-title{
    flex-grow: 1;
    text-align: center;
    font-size: 2rem;

    small{
      font-size: 50%;
      color: var(--primary-color);
      text-transform: uppercase;
      letter-spacing: .1em;
    }
  }

  .eye-catch-wrap{
    width: 60%;
    align-self: flex-end;
  }

  .eye-catch{
    width: 100%;
    margin-bottom: 0;
  }

  img{
    width: 100%;
    height: 400px;
    aspect-ratio: 2/1;
    object-fit: cover;
    object-position: center;

  }

   &:has(.display-none){
      height: 280px;

    }
}

.page .entry-content{

  background-image: url(img/illust-rice-02.png), url(img/illust-rice-03.png);
  background-repeat: no-repeat, no-repeat;
  background-size: 280px 182px, 200px 297px;
  background-position: top 3%  right 12%, bottom 18% left 5%;

}

.privacy-policy {

  h6{
    margin-bottom: 0.8em;
  }

  p{
    margin-bottom: 2.8em;
  }
}


/* 仲間募集 */
.description{
  position: relative;

  &::after{
    content: '';
    background-color: var(--accent-color);
    opacity: 0.1;
    width: 150vw;
    height: 96%;
    display: block;
    position: absolute;
    bottom: 0;
    left: -50%;
    right: 0;
    z-index: -1;
  }

  .ttl-04{
    position: relative;
    top: -60px;
  }
}

.contact{
  font-size: 1.2rem;

  a:hover{
    text-decoration: none;
  }
}

/* お米買取プロジェクト */

.project-ttl{
  text-align: center;
  margin-bottom: 4rem;

  h2{
  font-size: 3.1rem;
  /* border-left: 9px solid var(--primary-color); */
  text-align: center;
  margin-bottom: 1em;

  span{
    font-size: 140%;
    padding: 0 0.8rem;
    color: var(--primary-color);
  }

  small{
    display: block;
    font-size: 65%;
    padding-top: 1rem;
  }
}
  p{
      font-size: 1.4rem;

      span{
        background: linear-gradient(transparent 70%, #e29897 30%);
        font-weight: 600;
    }
  }
}

.appeal{
  background-image: url(img/illust-project.png);
  background-repeat: no-repeat;
  background-size: auto;
  background-position: bottom right;
  position: relative;

  &::after{
    content: "";
    display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 40px solid #f5f2eb;
  border-bottom: 0;
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
  }
}

.tick-text{
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 3.5rem;
  margin-bottom: 0!important;

  span{
    font-weight: 600;
    font-size: 1.3rem;
    padding-left: 1.5rem;
  }
}

.merit{
  position: relative;

  &::after{
    content: "";
    /* background-image: url(img/wave.svg); */
    background-color: #f3e7e6;
    display: block;
    background-repeat: no-repeat;
    width: 200%;
    height: 100%;
    position: absolute;
    left: -50%;
    top: -0;
    z-index: -1;
  }
}

.merit h3{
  font-size: 2.7rem;
  text-align: center;

  span{
    color: var(--primary-color);
  }
}

.merit .flex-inner{
  gap: 20px 40px;
  h4{
    border: 0;
    font-size: 1.9rem;
    margin-bottom: 0;
  }

  h4 img{
    width: auto;
    height: 85px;
    vertical-align: middle;
    margin-right: 20px;
  }

  .col.col:nth-of-type(2){
    margin-top: 90px;
  }

  .card-img{
    aspect-ratio: 16/9;
    object-fit: cover;
  }

  p{
    margin: 0.8rem 0.5em 0.5rem;
    border-left: 4px solid var(--primary-color);
    padding-left: 1rem;
    font-size: 1.05rem;
  }
}

.profile .flex-inner{

  flex-wrap: nowrap;
  gap: 0 50px;
  align-items: flex-end;

  img{
    width: auto;
    height: 330px;
  };

  h5{
    border: 0;
    margin-bottom: 1rem;
    padding: 0;
  }
}

.cta{

  position: relative;
  z-index: 100;
  padding:3rem 0;

  .fs-container{
    background-color: #Fefefe;
    text-align: center;
    padding: 4rem 3rem;
    position: relative;
    z-index: 1000;
  }

  h4{
    border: 0;
    font-size: 2.2rem;
    margin-bottom: 1.5rem;

    small{
      font-size: 70%;
    }
  }

  .tel{
    font-weight: 600;
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 0;
  }

  &::after{
    content: "";
    background-color:#e97e7c;
    width: 100%;
    height: 50%;
    display: block;
    position: absolute;
    z-index: 10;
    bottom: 0;
  }
}

.profile .border{
  border-top: 1px solid var(--secondary-color);
  border-bottom: 1px solid var(--secondary-color);
  padding: 0.8rem;
  margin-bottom: 0;
}

/* woocommerce SHOP */

.product header.article-header{

  height: 240px;

  .eye-catch-wrap{
    display: none;
  }
}

.woocommerce-Tabs-panel{
  h2{
    display: none;
  }
}

.woocommerce table.shop_attributes td{
  font-style: normal;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: var(--text-color);
    font-weight: 500;
    font-size: 1em;
}

:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button{
  border-radius: 0;
  /* background-color: var(--primary-color)!important; */
  transition: .2s ease-in;

  &:hover{
    opacity: 0.8;
  }
}

.related.products{
  > h2{
    background-color: var(--primary-color);
    color: #fff;
    padding: 0.5em;
    font-weight: 500;
  }
}

/* フォーム */
.wpforms-container .wpforms-submit-container{
  text-align: center;
}

.woocommerce-MyAccount-navigation ul{
  list-style-type: none;
  padding-left: 0;
}

/* footer */
.footer{
  padding: 2rem 0 0 0;
  border-top: 1px solid #cccccc;
}

.footer-bottom{
 background-color: var(--primary-color);
 padding: 12px 20px;

 .footer-bottom-content{
  flex-flow: row-reverse;

  a{
    color: #fff!important;
    font-size: 13px;
  }
 }
}

.widget_nav_menu ul li a{

  font-size: 0.9rem;
  padding-top: 6px;
  padding-bottom: 6px;

  &:hover{
  color: var(--primary-color)!important;
  background-color: inherit;
  }
}

.copyright{
  color: #fff;
  margin: 0;
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/


  .fs-container{
    padding-left: 4%;
    padding-right: 4%;
  }

  img.front-message{
    max-width: 300px;
  }

  #header-container{
    position: relative!important;
    height: auto;
  }

  .header-site-logo-image{
    display: none;
  }

  .site-fixed-logo-image{
    display: block;
  }

  header.article-header{

    flex-direction: column;
    flex-flow: column-reverse;
    height: auto!important;
    margin-top: 30px;

    .entry-title{
      margin-top: 2.5rem;
    }

    .eye-catch-wrap{
      width: 100%;
    }

    img{
      height: 300px;
    }
  }

  h2.ttl-03{
    font-size: 1.7rem!important;
  }
  .product header.article-header{
    height: 90px;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/


  .ttl-webshop{
    margin-bottom: 1rem;
    text-align: center;

    span{
      position: relative;
      font-size: 1.1rem;
    }
  }


  main.main{
    padding-top: 0;
  }

 header.article-header {
  margin-top: 0;
}

.header-container-in.hlt-top-menu .logo-header img {

  max-height: 60px;
}

.front-about{

  .ttl-01{
    writing-mode: horizontal-tb;
    font-size: 2rem;
  }

  .d-flex{
    flex-direction: column;
  }
}

.ttl-01{
  font-size: 1.7rem;
}

table th{
  white-space: wrap;
}

.merit .col:nth-of-type(2){
  margin-top: 0!important;
}

.merit{

    h3{
      font-size: 2.1rem;
    }

    .flex-inner{
        h4{
        text-align: center;
      }

    h4 img{
      height: 68px;
    }
    }
  }

  .flex-inner{
    flex-direction: column;

    .col:nth-of-type(2){
      padding-top: 2.6rem;
      padding-bottom: 4rem;
    }
  }

  .profile .flex-inner{
    flex-direction: row;
    gap: 0 25px;

    img{
      height: 280px;
    }
  }

  .order-0{
    order: 1;
  }

  .order-1{
    order: 0;
  }

.project-ttl h2{
  font-size: 2.5rem;
}

.cta h4{
  font-size: 1.5rem;
}

}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/

.front-message-wrapper{
  justify-content: center;
}

.metaslider.front-slide .slides img{
  height: 70vh!important;
  object-fit: cover;
}

  h2.ttl-03{
    font-size: 1.4rem!important;
  }
  .f-container,
  .fs-container{
    padding-top: 3rem!important;
    padding-bottom: 3rem;
  }

  .front-webshop .pl-2{
    padding-left: 0;
  }

  header.article-header .entry-title{
    font-size: 1.6rem;
  }

  .blogtext{
    padding: 3.6rem 5%;
  }

  .profile .flex-inner{
    flex-direction: column;
  }

  .tick-text img{
    width: 48px!important;
  }
  .tick-text span{
    font-size: 1.1rem;
  }

  .merit .flex-inner h4{
    font-size: 1.5rem;
    img{
    display: block;
    margin: 0 auto;
    }

  }
}
