@charset "utf-8";

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin: 0;
  padding:0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: var(--fullHeight);
  text-rendering: optimizeSpeed;
  line-height: 1.8;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-optical-sizing: auto; 
  font-style: normal;
  font-size: clamp(14px, 1.6vw, 16px);
  color:var(--textColor); 
  word-break: break-word;
  letter-spacing:0.02em;
  background-color: var(--bgColor);
  overflow-x: hidden;
    overflow-x: clip;

  &:not(header){text-transform: lowercase;}/*英小文字*/ 
}
a:active,
a:focus{
  background: transparent ;
  box-shadow: none ;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
a{
  text-decoration:none;
  -webkit-tap-highlight-color:var(--textColor);
  cursor:pointer;
}

/* Make images easier to work with */
img,
picture {
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/*animation*/
.trigger {
  opacity: 0;
}
.trigger.is-show {
  opacity: 1;
}
/* フェードのみ */
.fadeIn.is-show {
  transition: opacity 1.1s;
  opacity: 1;
}

.fadeUp.is-show {
  animation: fadeUpAnime 1.2s forwards;
  animation-delay: var(--delay);
  animation-fill-mode: backwards;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


h1,
.uptext{text-transform: uppercase;}/*大文字*/

h3{
  font-weight: 600;
  font-size: 32px;
  line-height: 38px;
}
h4{
    font-weight: 600;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 1px;
}
.span-en{
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 17px;
letter-spacing: 2px;
text-transform: lowercase;
}
.textBox{
  color: var(--textBoxColor);
  font-size: 15px;
  line-height: 32px;
  letter-spacing: 1px;
  font-weight: 400;
}
.caption{
  font-size: 18px;
  font-weight: normal;
  line-height: 30px;
  letter-spacing: 2px;
}

.fadeScale, 
.fadeUp, 
.bf-item, 
.ttxBlur, 
.slideIn {
  will-change: opacity, transform, filter;
}

.ttxBlur {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.08);
}

.ttxBlur.is-active {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
  transition:
    opacity 1s ease,
    filter 1s ease,
    transform 1s ease;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.kaigyou::after{
  content: "";
}

.d-flex{
  display: flex;
}
.d-flex_center{
  display: flex;
  justify-content: center;
  align-items: center;
}
.d-flex_yc{
  display: flex;
  align-items: center;
}

.img-radius img{
    border-radius: 10px;
}

#container__wrap{
  width: 91%;
  margin: 0 auto;
}
.newblog-content .date, .ranking-inner .ranking-list p{
  color:var(--bgColor) !important;}
 header, .drawer, h1, dt, h2.page-title, .mailmagazine, #question{
  text-transform: uppercase !important;}/*英大文字*/

  .newblog-inner,
  .item-list-wrap{
  will-change: transform;
  border-radius: 10px;
  overflow: hidden;

    img{
    transition: all 0.3s ease;
    border-radius: 10px; 
    width: 100%;
    height: auto;
    display: block;
    
      &:hover{
        opacity: 0.8;
        transform: scale(1.04);
        border-radius: 20px;  
      }
    }
  }

/*-- loop slider --*/
.infinite-slider {
  width: 100%;
  overflow: hidden;
  transform: translateY(20px) !important;
  position: relative;
  z-index: 10;
}

.infinite-slider__track {
  display: flex;
  width: max-content;
  gap: 10px;
  animation: infinite-slide 80s linear infinite;
}

.infinite-slider__item {
  flex-shrink: 0;
  width: 400px;
  height: 280px;
}

.infinite-slider__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

@keyframes infinite-slide {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(-1 * (400px * 6 + 10px * 6)));
  }
}


/*concept main-ttl*/
#everyday {
  margin-bottom:var(--sectionSpace);

.sec-title{ 
position:relative;
width:50%;
margin-top:var(--boxSpace); 

.tomato_illust img{
    position:absolute;
    right:15%;
    top:0;
    width: 28%;
    height:auto;
  }
}  
} 
/*-- #taste-chart --*/
#taste-chart{
  width: 100%;
  position: relative;
  background-color:var(--beige) ;
  padding: 160px 0  clamp(100px, 8vw, 160px) 0;

#noteBox-wrap{ 
  width: 100%;
  min-height: 780px ;
  background-image: url("https://basefile.akamaized.net/magoyuskawa-base-shop/6ac702cc079cb/note.png");
  background-repeat: no-repeat;
  background-size: cover;
    
}
.taste-box{
  width:46% ;
  padding:110px 60px;
}
#message{
  font-weight: bold;
  font-size: 15px;
}
.taste-features{
  padding: var(--boxSpace) 0;
}
.taste-features img{
  width: 30%;
  margin-right: 20px;
}
.tomato-type{
  padding-top: 40px;
  font-weight: bold;
  gap: 10px;
  font-size: 14px;
}
.pattern,
.size{
  align-items: center;
  color:#333;
  
  .clear-red{
    border-radius: 5px;
    color: #f5f5f5;
  background-color: var(--subRed);
  margin-right:10px;
  padding:0 10px;
  white-space: nowrap;
  font-size:15px;
  font-weight:500;
}
}
.pattern .clear-red{
  padding:0 15px;
}
#tomatoCutSerif{
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  justify-content: end;
}
#tomatoCutSerif #illustCut{
width: 45%;
}
#tomatoCutSerif #serifImg{
  width: 30%;
}
}

/*--#radar-chart--*/
#radar-chart{
  position: relative;
width: 38%;
margin-top: 120px;
}
#radar-chart::after{
  content: "";
  width: 175px;
  height: 76px;
  background-image: url("https://basefile.akamaized.net/magoyuskawa-base-shop/6ac702fae8fcf/chart.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
}

/*-- #instagram 要サイズ注意--*/
#instagram {
  .instagram-wrap{
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;

  & > a{
  width: calc((100% - 100px) / 5);
  }
  & > a:last-child {
  display: none;
  }
  .sns-line{
  background-image:url("https://basefile.akamaized.net/magoyuskawa-base-shop/6ac70fd47e041/sns-line.png");
  width:188px;
  height:1px;
  align-items:center;
  margin-top:10px;
  }
  .linkBox{
  will-change: transform;
  border-radius: 10px;
  overflow: hidden;

    img{
    transition: all 0.3s ease;
    border-radius: 10px; 
    width: 100%;
    height: auto;
    display: block;
    
      &:hover{
        opacity: 0.8;
        transform: scale(1.04);
        border-radius: 20px;  
      }
    }
  }
  }
}

/*-- #about --*/
#about{
  position: relative;
  
  p{
    color: var(--footerTextColor);
  }
 .about-textBox:not(.fourth-message){
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 38px;
  color: var(--footerTextColor) ;
}

 h3{
  font-size: 22px;
   font-weight: 600;
  letter-spacing: 3px;
  line-height: 31px; 
}
.about-main{
  max-width: none !important;
  .aboutMainImage{
    width: max-content;

    img{
      border-radius: 10px;
    }
    
  }

  img:nth-child(1){
    border-radius: 10px;
  }
} 
.first-message,
 .second-message,
 .fourth-message{
   margin-bottom: 160px;
   width: 100%;
  display: flex;
 }
 
 .first-message{
    width: 57%;
    margin: 160px auto 180px auto;
    margin-bottom: 200px;

  h3{
    writing-mode: vertical-rl;
    margin-right: 60px;
  }
 }

 .second-message{
  justify-content: center;

  .message{
    width: 35%;

      p{margin-top: var(--boxSpace); }
    }
  }
#about-img02{
  width: 352px;
  height: 397px;
  margin: -50px -40px 0 60px;
}
#about-img03{
  width: 260px;
  height: 300px; 
  margin-top: 200px; 
}

.third-message{
  gap: 40px;
  display: flex;
  position: relative;
  z-index: 99;
  width: 100%;

  .message{
    width: 100%;

    p{width: 100%;}
  }
  img{
    width: 100%;
    min-width: 538px;
  }
}
.bg-red{  
  background-color: var(--textColor);
  width: var(--fullWidth);
  transform: translateY(-100px); 
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important; 
  background-size: contain;
  position: relative;
  z-index: 0;
}
.fourth-message{
  padding: 260px 0 160px 0;
  justify-content: center !important;

  .message{width: 50%;}
  h3{color: var(--bgColor);}
  p{
    margin-top: var(--boxSpace);
    width: 80%;
    color: var(--bgColor) !important;
  }

  #about-img05{
  width: 480px;
  height: 257px;
  transform: translateX(-40px);    
}
#about-img06{
  width: 480px;
  height: 257px; 
  margin-top: 40px;
  margin-left:80px;    
}
& div:nth-child(2){
    width: 40%;
  
}
}
}

/*-- #profile --*/
#profile{
  position: relative;
  height: 100%;
}
#profile .uptext{
  color: #f5f5f5;
  font-size: 230px;
  text-align: left;
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: 21px;
  position: absolute;
  left: -20;
  top: -100px;
  z-index: -10 !important;
  width: var(--fullWidth);
  white-space: nowrap;
}
#profile #farmManager{
  position: relative;
  width: 80%;
  margin: 0 auto;
  padding: 40px;
  margin-bottom: 160px;
  
  /*破線*/
  background-color: var(--bgColor);
  background-image: repeating-linear-gradient(90deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(180deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(90deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(180deg, #009951, #009951 11px, transparent 11px, transparent 19px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
}
#profile #farmManager h4{
  background-color: var(--textColor);
  color: var(--bgColor);
  border-radius: 10px 10px 0 0;
  padding: 4px 24px;
  position: absolute;
  top: -35px;
  left: 0;
  font-size:19px;
  letter-spacing: 1px;
}
#profile #farmManager .profile-img{
  min-width: 148px;
  min-height:189px;
  width: 100%;
  height: auto;
}
#profile #farmManager .name{
  font-size: 25px;
  font-weight: bold;
  justify-content: space-between;
  white-space: nowrap;

  img{ /*四六時中*/
    width: 40%;
    flex-wrap: wrap;
  }
}
.profileBox{
  margin-left: 34px;
}
.profileBox .textBox{
    color: var(--accentColor);
    padding-top:20px;
  }

  .img-track {
  width: max-content;
  height: auto;
  display: flex;
}
.img-track > div {
  animation: slide 80s linear infinite;
}
.img-track img{
  width: max-content;
  height: auto;
    margin-right:5px;
}
@keyframes slide {
  from {
    transform: translateX(-20%);
  }
  to {
    transform: translateX(-100%);
  }
}


/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
.review-message-ttl{
width: 100%;
gap:72px;
text-align: right;
line-height: 1.5;

img{
  width: 60%;
}
}

.reviewBoxWrap{
  margin-bottom: var(--sectionSpace);
  margin-top: var(--ttlBoxSpace);
  gap:26px;
  width: 100%;
  flex-wrap: wrap;
  justify-content:center;
}
.reviewBox{
  color: var(--bgColor);
  padding: 40px;
  flex: 0 0 450px; 
  width: calc((50% - 26px) /2) ;
  height: auto;
  position: relative;
  background-color: var(--subRed);
  border-radius: 10px;
  margin-top:20px;

  &::after{ /*triangle*/
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 42px;
    height: 42px;
    background: var(--subRed);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    z-index: 999;
  }

  img{
    width: 100%;
    max-width: 30px;
    max-height: 30px;
    margin-right: 25px;
  }
  .d-flex_yc{
    width: 100%;
  }
  .caption{
    font-size: 14px;
    margin-top: 28px;
    width: 100%;
  }
} 
}


/*-- #contact-page --*/
   
  .contactBox{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .contact_btn{
  color: var(--bgColor);
  text-align: center;
  text-decoration: none;
  color: var(--bgColor);
  width: 100%;
  height: 100%;
  border-radius: 50px;
  border: solid 2px var(--bgColor);
  text-align: center;
  overflow: hidden;
  font-size: 14px;
  font-weight: bold;
  transition: .4s;
  padding: 16px 30px;
}

.contact_btn:hover,
.contact_btn:focus-visible {
  background: rgb(250 250 250 /.2);
}

@media screen and (min-width:1440px) { /* big 4列にする*/
/*-- #review --*/
 #review {
  /* 列 */
  .reviewBoxWrap{
  flex-wrap: nowrap;
}
  .reviewBox {
    box-sizing: border-box;
    flex: 0 0 calc((65% - 10px) /4);
    min-width: 280px;
    width: 100%;
    gap: 0;
   height: 360px;
   margin: 40px 0 140px 0;
    padding: 30px;
  img{
    max-width: 55px;
    max-height: 55px;
    margin-right: 20px;
  }
  }
}

#about{
  position: relative;
  
 .first-message{
        max-width: 1280px;
    width: 57%;
    margin: 160px auto 180px auto;
    margin-bottom: 260px;
 }

 .second-message{
      max-width: 1280px;
      margin: 0 auto;
      margin-bottom: 160px;
  justify-content: center;

  .message{
    width: 35%;
   }
  }

.third-message{
    max-width: 1280px;
    margin: 0 auto;
  gap: 40px;
  display: flex;
  position: relative;
  z-index: 99;
  width: 100%;

  .message{
    width: 100%;

    p{width:100%;}
  }
  img{
    width: 100%;
    min-width: 438px ;
  }
}
.bg-red{  
  transform: translateY(-60px); 
}

.fourth-message{
    padding:110px auto 160px auto;
  max-width: 1280px;
  margin: 0 auto;

  .message{width: 100%;}
  h3{color: var(--bgColor);}
  p{
    margin-top: var(--boxSpace);
    width: 70% !important;
    color: var(--bgColor) !important;
  }
#about-img05{
    width: 100%;
aspect-ratio: 480 / 257;
object-fit: cover;
    transform: translateX(-140px);    

}
#about-img06{
    width: 100%;
aspect-ratio: 480 / 257;
object-fit: cover;
  margin-top: 40px;
  margin-left:0;    
}
}
}

#profile{
  .uptext{
  font-size: 280px;
  line-height: 0.8;
  letter-spacing: 18px;
  top: -120px;
  left:-80px;
}
  #farmManager{
  width: 65%;
  padding: 50px;
  margin:50px auto 160px auto;

  .name{
  img{ /*四六時中*/
    width: 50%;
  }
}
.profileBox{
  margin-left: 50px;
}
}
}
}/*end*/


@media screen and (max-width:1280px){
  /*concept main-ttl*/
#everyday {
.sec-title{ 
.tomato_illust img{ right:0; top:0; width: 30%;}
}  
} 

#taste-chart{
  width: 100%;
  position: relative;
  background-color:var(--beige) ;
  padding: 160px 0  clamp(100px, 8vw, 160px) 0;

#noteBox-wrap{ 
  width: 100%;
  min-height: 780px ;
  background-image: url("https://basefile.akamaized.net/magoyuskawa-base-shop/6ac702cc079cb/note.png");
  background-repeat: no-repeat;
  background-size: contain;
    
}
.taste-box{
  width:46% ;
  padding:60px 60px;
}
#message{
  font-weight: bold;
  font-size: 15px;
}
.taste-features{
  padding: var(--boxSpace) 0;
}
.taste-features img{
  width: 30%;
  margin-right: 20px;
}
.pattern,
.size{
  align-items: center;
  color:#333;
  
  .clear-red{
    border-radius: 5px;
    color: #f5f5f5;
  background-color: var(--subRed);
  margin-right:10px;
  padding:0 10px;
  white-space: nowrap;
  font-size:15px;
}
}
.pattern .clear-red{
  padding:0 15px;
  letter-spacing:2px;
}

#tomatoCutSerif{
  bottom:12% ;
}
#tomatoCutSerif #illustCut{
width: 40%;
}
#tomatoCutSerif #serifImg{
  width: 30%;
}

}

/*--#radar-chart--*/
#radar-chart{
margin-top: 80px;
}
#radar-chart::after{
  top: -20px;
  right: -20px;
}

/*-- #about--*/
#about{
   .first-message{
    width: 70%;
    margin: 160px auto 180px auto;
    margin-bottom: 200px;

  h3{
    writing-mode: vertical-rl;
    margin-right: 60px;
  }
 }

  .third-message{
    gap: 40px ;
    
    .message{
      p{width: 100%;} 
      transform: translateY(-50px);     
    }
  }
  .fourth-message{
  padding: 230px 0 160px 0;
  display:flex ;
  justify-content:center;
  margin:0  auto;

#about-img05{
    width: 100%;
aspect-ratio: 480 / 257;
object-fit: cover;
}
#about-img06{
    width: 100%;
aspect-ratio: 480 / 257;
object-fit: cover;
}
}
}


/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
.review-message-ttl{
width: 100%;
gap: 10;
text-align: right;
line-height: 1.5;
div:nth-child(2){
  width: 20%;
img{
  width: 80%;
}
}
}

.reviewBox{
  padding: 40px;
  flex: 0 0 450px ; 
  width: calc((100% - 26px) /2) ;
  min-width: 450px;

  &::after{ /*triangle*/
    content: "";
    position: absolute;
    bottom: -26px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    width: 42px;
    height: 42px;
    background: var(--subRed);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    z-index: 999;
  }

  img{
    max-width: 55px;
    max-height: 55px;
    margin-right: 20px;
  }
  .d-flex_yc{
    width: 100%;
  }
  .caption{
    font-size: 14px;
    margin-top: 28px;
    width: 100%;
  }
} 
}

#profile{
  .uptext{
  font-size: 280px;
  line-height: 0.8;
  letter-spacing: 18px;
  top: -120px;
  left:-80px;
}
}

} /*end*/

@media screen and (max-width:1150px) { /*tab*/
  #container__wrap{
  width: 91%; /*全体幅*/
  margin: 0 auto;
}

.newblog-inner,
.item-list-wrap{
    img{
    border-radius: 10px !important; 
    width: 100%;
    height: auto;
    display: block;
    
      &:hover{
        opacity: 1;
        transform: none;
        border-radius: 10px;
      }
    }
  }

.textBox{
  font-size: 16px;
  line-height: 26px;
  letter-spacing: 0;
}
.kaigyou::after{
  content: "";
}

/*concept main-ttl*/
#everyday {
.sec-title{ 
.tomato_illust img{ right:-20px ; top:0; width: 30%;}
}  
} 

/*-- loop slider --*/

.infinite-slider__item {
  width: 300px;
  height: 280px;
}
.ranking_listbox{
  margin-bottom: var(--ttlBoxSpace);
}

/*-- #taste-chart --*/
#taste-chart{
  width: 100%;
  position: relative;
  background-color:var(--beige) ;
  padding: 140px 0  clamp(100px, 8vw, 100px) 0;

#noteBox-wrap{ 
  width: 100%;
  min-height: 580px ;
  background-image: url("https://basefile.akamaized.net/magoyuskawa-base-shop/6ac702cc079cb/note.png");
  background-repeat: no-repeat;
  background-size: contain;
    
}
.taste-box{
  padding: 60px 40px;

  .textBox:nth-child(1){
    padding-top:20px ;
  }
}
#message{
  font-size: 13px;
}
.taste-features{
   padding: 20px 0 !important;
  justify-content: center;
}
.taste-features img{
  width: 32%;
  margin-right: 14px;
}

.tomato-type{
    padding-top:0px;
    white-space:nowrap;
    font-size: 12px;
    flex-wrap: wrap;
}
#tomatoCutSerif{
 bottom: 10%;
  right: 5%;
}
#tomatoCutSerif #illustCut{
width: 30% ;
}
#tomatoCutSerif #serifImg{
  width: 20%;
}
}

/*--#radar-chart--*/
#radar-chart{
width: 36%;
margin-top:100px !important;
}

#radar-chart::after{
top: -40px;
  right: -30px;
  width:100;
}


/*-- #instagram 要サイズ注意--*/
#instagram {
  .instagram-wrap{
  justify-content: center;

  & > a{
  width: calc((100% - 20px) / 3);
  }

  & > a:last-child {
  display: block;
  }

  .linkBox{

    img{
    border-radius: 10px !important; 
    width: 100%;
    height: auto;
    display: block;
    
      &:hover{
        opacity: 1;
        transform: none;
        border-radius: 10px;
      }
    }
  }
  }
}

/*-- #about --*/
#about{

 h3{
  font-size: 22px;
   font-weight: 700;
  letter-spacing: 4px;
  line-height: 38px; 
}

.first-message,
 .second-message,
 .fourth-message{
   width: 100%;
  display: flex;
 }
 
 .first-message{
    width: 70%;
    margin: 160px auto 180px auto;

  h3{
    writing-mode: vertical-rl;
    margin-right: 46px;
  }
 }

 .second-message{
  flex-direction: column-reverse;
  margin-bottom: var(--sectionSpaceSp);

  .message{
    width: 72% !important;
    margin-top: -10px;
    margin-left: 10px;
    }
    
  .d-flex{
    margin:0 autp;
  }
  }
#about-img02{
  width: 352px;
  height: 397px;
  margin: -50px -40px 0 60px;
}
#about-img03{
  width: 260px;
  height: 300px; 
  margin-top: 200px; 
}

.third-message{
  gap: 0;
  flex-direction: column;
  margin-bottom: 400px;
  
  .message{
    position: relative;
    p{width: 70%; margin-top: 80px; position: absolute; top: 0; right: 0; height: 100%; }
  }
  img{
    width: 100%;
    min-width: 0;
    min-width: none;
  }
}
.bg-red{  
  transform: translateY(0); 
}
.fourth-message{
  padding: 160px 0;

#about-img05{
  transform: translateX(0); 
}
#about-img06{
  margin-left:0 ;
}
}

}
#review{
  margin: var(--sectionSpace) 0;

.review-message-ttl{
width: 100%;
gap:30px;
text-align: center;
}
}

/*-- #profile --*/
#profile{
  position: relative;
  height: 100%;
}
#profile .uptext{
  font-size: 230px;
  position: absolute;
  top: -150px;
  left:450px ;
  z-index: -10;
}
#profile #farmManager{
  padding: 34px;
  margin: 160px auto;
  
  /*破線*/
  background-color: var(--bgColor);
  background-image: repeating-linear-gradient(90deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(180deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(90deg, #009951, #009951 11px, transparent 11px, transparent 19px), repeating-linear-gradient(180deg, #009951, #009951 11px, transparent 11px, transparent 19px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 3px, 3px 100%, 100% 3px, 3px 100%;
}
#profile #farmManager h4{
  background-color: var(--textColor);
  color: var(--bgColor);
  border-radius: 10px 10px 0 0;
  padding: 4px 24px;
  position: absolute;
  top: -35px;
  left: 0;
  font-size:19px;
  letter-spacing: 1px;
}
#profile #farmManager .profile-img{
  min-width: 148px;
  min-height:189px;
  width: 100%;
  height: auto;
}
#profile #farmManager .name{
  font-size: 25px;
  font-weight: bold;
  justify-content: space-between;
  white-space: nowrap;

  img{ /*四六時中*/
    width: 40%;
    flex-wrap: wrap;
  }
}
.profileBox{
  margin-left: 34px;
}
.profileBox .textBox{
    color: var(--accentColor);
    padding-top:20px;
  }

  .img-track {
  width: max-content;
  height: auto;
  display: flex;
}
.img-track > div {
  animation: slide 80s linear infinite;
}
.img-track img{
  width: max-content;
  height: auto;
    margin-right:5px;
}
@keyframes slide {
  from {
    transform: translateX(-20%);
  }
  to {
    transform: translateX(-100%);
  }
}
/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
.review-message-ttl{
width: 100%;
gap: 10;
text-align: center;
margin: 0 auto;
line-height: 1.5;
div:nth-child(2){
  width: 30%;
img{
  width: 100%;
}
}
}

.reviewBox{
  padding: 40px;
  flex: 0 0 450px ; 
  width: calc((100% - 26px) /2) ;
  height:320px;
  min-width: 450px;

  img{
    max-width: 55px;
    max-height: 55px;
    margin-right: 20px;
  }
  .d-flex_yc{
    width: 100%;
  }
  .caption{
    font-size: 14px;
    margin-top: 28px;
    width: 100%;
  }
} 
}

/*-- #contact-page --*/
#contact-page{
  background-position: 40%;

  .contactBox{
    padding-top: 70px;
  }
}

 } /* tab_end*/

 
@media screen and (max-width:835px) { /*tab*/
  .kaigyou::after{
  content: "\A";
  white-space: pre;
}

/*-- #taste-chart --*/
#taste-chart{
  padding: 140px 0  clamp(120px, 10vw, 160px) 0;

#noteBox-wrap{ 
  flex-direction: column;
  min-height: 0;
  margin:0;
  background-image:none;
  background-color: var(--bgColor);
  padding: 100px 0;
  z-index:10;
  border-radius: 50px 50px 0 0;

  &::before{
    content: "";
    width: max-content;
    height: 317px;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    z-index:0;
  }

  .taste-box{
  padding: 0;
  width:87%;
  margin:0 auto;
}
}

.taste-features img{
  width: 28%;
}
#tomatoCutSerif{
 top: -70%;
right: -7%;
}
#tomatoCutSerif #illustCut{
width: 40% ;
}

#tomatoCutSerif #serifImg{
  width: 30% !important;
}
.tomato-type{
    flex-direction:column;
    align-items:flex-start;
  padding-top: 30px;
  gap: 10px;
  font-size: 14px;
}

}
.taste-features img{
  width: 28%;
}
#tomatoCutSerif{
 top:0% ;
}
#tomatoCutSerif #illustCut{
width: 40%;
}

#tomatoCutSerif #serifImg{
  width: 30%;
}

/*--#radar-chart--*/
#radar-chart{
width: 78%;
margin:0 auto;
}

#radar-chart::after{
top: 10%;
  right: -30px;
width: 100%;
height: 100%;
max-width: 183px;
max-height: 80px;
aspect-ratio: 263 / 114;}

#profile .uptext{
  font-size: 250px ;
  line-height: 0.9;
  left: -50px ;
  transform: translateX(0);
  line-height:0.8;
  z-index:0;
}

/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
.review-message-ttl{
width: 100%;
gap: 10;
text-align: center;
margin: 0 auto;
line-height: 1.5;
div:nth-child(2){
  width: 30%;
img{
  width: 100%;
}
}
}

.reviewBox{
  padding: 30px;
  flex: 0 0 300px ;
  box-sizing: border-box; 
  width: calc((100% - 26px) /2) ;
  min-width: 0;
  min-height: 0;


  img{
    max-width: 55px;
    max-height: 55px;
    margin-right: 20px;
  }
  .d-flex_yc{
    width: 100%;
  }
  .caption{
    font-size: 14px;
    margin-top: 28px;
    width: 100%;
  }
} 
}


}/*end*/

@media screen and (max-width:768px) { /* sp */
  #container__wrap{
  width: 88%; /*全体幅*/
  margin: 0 auto;
}
h3{
  font-size: 20px;
  line-height: 32px;
  font-weight: bold;
}
.textBox{
  width: fit-content;
  font-weight: 400;
  letter-spacing: 1.2px;
}



/*-- loop slider --*/
.infinite-slider {
  transform: translateY(50px);;
}

.infinite-slider__item {
  width: 230px;
  height: 180px;
}

/*concept main-ttl*/
.sec-title{ 
position:relative;
width:100% !important;
text-align:left !important;
margin-top:var(--boxSpace); 

.tomato_illust img{
    position:absolute;
    right:10%;
    top:0;
    width: 30%;
    height:auto;
transform: translateX(-20px);

  }
}  

/*-- #taste-chart --*/
#taste-chart{
  padding: 80px 0  clamp(100px, 10vw, 140px) 0;

.taste-box{
  margin:0 auto;

  .textBox{
    font-size: 14px;
    line-height:1.7;
  }
}
#message{
  font-size: 15px;
  width:100%;
}
.taste-features{
  padding: 20px;
  width: 100%;
}
.taste-features img{
width: calc((100% - 10px) / 3);
margin:0 auto;
height: auto;
}
.size{
    margin-left:0;
}
  #tomatoCutSerif{
    top: -70% ;
    right:-20px;
  }
  #tomatoCutSerif #illustCut{
width: 40%;
}
}

/*--#radar-chart--*/
#radar-chart{
  position: relative;
width: 90%;
margin:0 auto;
}
#radar-chart::after{
  width: 30%;
  background-size: contain;
  top: -2%;
  right: 0;
}

/*-- #instagram 要サイズ注意--*/
#instagram {
  .instagram-wrap{

  & > a{
  width: calc(50% - 5px) ;
  }

  .linkBox img:hover{
    opacity: 1;
    transform: none;
      }
    }
  }

    /*-- #about --*/
#about{
 h3{
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 1.4px;
  line-height: 32px; 
}
 .about-textBox{
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1.2px;
  line-height: 32px;
}
.first-message,
.third-message,
.fourth-message{
  margin-bottom: var(--sectionSpaceSp);
}
 .first-message{
    width: 100%;
    display: block;
    margin: var(--sectionSpaceSp) auto 180px auto;
  h3{
    writing-mode: horizontal-tb !important;
    margin-right: 0;
    margin-bottom: var(--boxSpaceSp);
  }
 }

 .second-message{
  & div:nth-child(2){
    justify-content: center;
    width: 100%;
  }
  .message{
    width: 100% !important;
    margin-top: 20px;
    margin-left: 0;
    }
  }
#about-img02{
  width: 232px;
  height: 277px;
  margin: -50px -40px 0 10px;
}
#about-img03{
  width: 140px;
  height: 180px; 
  margin-top: 120px; 
}
.third-message{
  gap: 0;
  flex-direction: column;
  margin-bottom: 100px;
  
  .message{
    position: static;
    p{width: 100%; margin-top: 80px; position:static; }
  }
  img{
    width: 100vw;
    min-width: none;
    margin: none;
    aspect-ratio: 16/9;
  }
}
.bg-red{  
      width: 100vw;
    overflow: hidden;
  transform: translateY(0); 
  position: relative;
  z-index: -1;
}
.fourth-message{
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    margin: 0;
    padding: 0;

    .message{    width: 100%;
    box-sizing: border-box;
    padding: 60px 30px;}
  p{
    margin-top: var(--boxSpace);
    width: 100%;
  }
    div:nth-child(2){
       width: 100%;
    margin: 0;
    padding: 0;

    img{
      border-radius:0;
         display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 480 / 257;
    object-fit: cover;
    border-radius: 0;
    }
  }
#about-img05{
    transform: translateX(0);    
}
#about-img06{
  margin-top: 0;
  margin-left:0;    
}
}
}
/*-- #profile --*/
#profile .uptext{
  font-size: 350px ;
  line-height: 1;
  left: -50px ;
  transform: translateX(0);
  line-height:0.8;
  z-index:0;
}
#profile #farmManager{
  width: 80%;
  margin-top: var(--sectionSpaceSp);
  padding: 40px 26px;
}
#profile .profileWrap{
  flex-direction: column;
  align-items: center;
}
#profile #farmManager .profile-img{
  width: 40%;
  height: auto;
  margin: 0 auto;
  margin-top: var(--boxSpace);
}

#profile #farmManager h4{
  font-size:13px;
  letter-spacing: 1px;
  transform: translateX(2px);
}
#profile #farmManager .d-flex_yc{
justify-content:normal;
}
#profile #farmManager .name{
  font-size:18px;
  white-space: nowrap;
  margin-top: 20px;
  width: 100%;
  justify-content: center;

p {
  width: 100%;
  text-align: center;
}

  img{ /*四六時中*/
    width: 70% !important;
    position: absolute;
    top:20px;
    right: 20px;
  }
}
.profileBox{
      align-items: center;
    margin:0 !important;
  width: 100%;
}
.profileBox .textBox{
      align-items: center;
    padding-top:20px;
    width: 100%;
    font-size: 14px;
  }


/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
 .review-message-ttl {
    width:100%;
    gap: 40px;
    text-align: center !important;
    flex-direction: column-reverse;

    img { /*トマト*/
      width: 100% !important;
      margin: 0 auto;
    }
  }

.reviewBox{ /*カード*/
  padding: 30px;
  flex: 0 0 290px ;
  box-sizing: border-box; 
  width: calc((100% - 26px) /2) ;
  height: auto;
  min-width: 0;
  min-height: 0;


  img{
    max-width: 55px;
    max-height: 55px;
    margin-right: 20px;
  }
  .d-flex_yc{
    width: 100%;
  }
  .caption{
    font-size: 14px;
    margin-top: 28px;
    width: 100%;
  }
} 
}


}/* sp_end*/

@media screen and (max-width:430px) {
#everyday{
  margin: var(--boxSpaceSp) 0 !important;
}

/*-- #taste-chart --*/
#taste-chart{

#message{
  font-size: 14px;
}
.taste-features{
  padding: 20px 0 30px 0;
 gap:10px;
}
.pattern .clear-red{
  padding:0 17px;
}
  #tomatoCutSerif{
    top: -70% ;
  }
}

  .fourth-message{
  margin: 0 auto;
  padding: 0;

  div:nth-child(2){
    img{
      border-radius:0;
    }
  }
    .message{width: 100%; padding:140px 20px;}
  p{
    margin-top: var(--boxSpace);
    width: 100%;
  }
#about-img05{
    width: 100vw;
    transform: translateX(0);    
}
#about-img06{
    width: 100vw;
  margin-top: 0;
  margin-left:0;    
}
}


}

@media screen and (max-width:391px) {
/*-- #taste-chart --*/
#taste-chart{
  padding-top: 140px;

.taste-box{
  width: 92%;
  padding: 80px 0;
}
.taste-features{
  padding: 20px;
  width: 100%;
}
.taste-features img{
width: calc((100% - 10px) / 3);
margin:0 auto;
height: auto;
}

  #tomatoCutSerif{
 top: -67% !important;
}
#tomatoCutSerif #serifImg{
  width: 60% ;
}
}
  .fourth-message{
  margin: 0 auto;
  padding: 0;

  div:nth-child(2){
    img{
      border-radius:0;
    }
  }
    .message{width: 100%; padding:140px 20px;}
  p{
    margin-top: var(--boxSpace);
    width: 100%;
  }
#about-img05{
    width: 100vw;
    transform: translateX(0);    
}
#about-img06{
    width: 100vw;
  margin-top: 0;
  margin-left:0;    
}
}

  }


@media screen and (max-width:360px) { /* small */
  body{
  font-size: clamp(12px, 1.2vw, 14px);  }

  #container__wrap{
  width: 91.25%; /*全体幅*/
  margin: 0 auto;
}
h3{
  font-size: 14px;
  line-height: 32px;
  font-weight: bold;
}
.kaigyou::after{
  content: "\A";
  white-space: pre;
}
/*concept main-ttl*/
.sec-title{ 
.tomato_illust img{
    position:absolute;
    right:10%;
    top:0;
    width: 30%;
    height:auto;
    transform: translateX(-20px);
  }
}  

/*-- loop slider --*/
.infinite-slider__item {
  width: 230px;
  height: 180px;
}

/*-- #taste-chart --*/
#taste-chart{
  padding-top: 164px;
}
#noteBox-wrap{ 
  min-height: 0;
    margin-top: -50px;
  background-image:none;
  background-color: var(--bgColor);
  padding: 90px 0 var(--sectionSpaceSp) 0;
  border-radius: 20px 20px 0 0 ;


  &::before{
    content: "";
    width: 100%;
    height: 250px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 84px;
  }
}
#taste-chart .taste-box{
  width: 100%;
  padding: 0;

}
.taste-features{
  padding: var(--boxSpaceSp) 0;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
}
.taste-features img{
  width: 25%;
  margin-right: 5px;
}
  .tomato-type.d-flex_yc {
    flex-direction: column;
    align-items: flex-start;
  }
  #tomatoCutSerif{
 top: -70%;
}
#tomatoCutSerif #serifImg{
  width: 30%;
}


/*-- #instagram 要サイズ注意--*/
#instagram {
  .instagram-wrap{

  & > a{
  width: calc(50% - 5px) ;
  }

  .linkBox{
  border-radius: 10px;

    img{
    
      &:hover{
    opacity: 1;
    transform: none;
      }
    }
  }
  }
}


#review{
.review-message-ttl{
width: 100%;
gap: 10;
text-align: center;
margin: 0 auto;
line-height: 1.5;
div:nth-child(2){
  width: 38%;
img{
  width: 100%;
}
}
}
/*-- #review --*/
#review{
  margin: var(--sectionSpace) 0;

  h3{
  font-size: 25px;
  }
 .review-message-ttl {
    width:100%;
    gap: 40px;
    text-align: center !important;
    flex-direction: column-reverse;

    img { /*トマト*/
      width: 100% !important;
      margin: 0 auto;
    }
  }

.reviewBox{ /*カード*/
  padding: 30px;
  flex: 0 0 260px ;
  box-sizing: border-box; 
  width: calc((100% - 26px) /2) ;
  height: auto;
  min-width: 0;
  min-height: 0;

  &::after{
    display: none;
  }

}


#profile #farmManager{
  width: 92%;
  padding: 34px;
  margin: 100px auto;
}

  .fourth-message{
  margin: 0 auto;
  padding: 0;

  div:nth-child(2){
    img{
      border-radius:0;
    }
  }
    .message{width: 100%; padding:140px 20px;}
  p{
    margin-top: var(--boxSpace);
    width: 100%;
  }
#about-img05{
    width: 100vw;
    transform: translateX(0);    
}
#about-img06{
    width: 100vw;
  margin-top: 0;
  margin-left:0;    
}
}


}/* small_end */

@media screen and (min-width:440px) and (max-width:768px){

#tomatoCutSerif #serifImg{
  width: 25%;
}

/*-- #about --*/
  .fourth-message{
  margin: 0 auto;
  padding: 0;

  div:nth-child(2){
    img{
      border-radius:0;
    }
  }
    .message{width: 100%; padding:140px 20px;}
  p{
    margin-top: var(--boxSpace);
    width: 100%;
  }
#about-img05{
    width: 100vw;
    transform: translateX(0);    
}
#about-img06{
    width: 100vw;
  margin-top: 0;
  margin-left:0;    
}
}
#profile .uptext{
  font-size: 350px;
  line-height: 0.9;
  left: -50px ;
  transform: translateX(0);
  line-height:0.8;
  z-index:0;
}

}
}
}