@charset "utf-8";

/*基本色*/

:root {
  /*  --main-color: #881011;*/
  --main-color: #881011;
  --accent-color: #d4c08c;
  --dark-color: #684D3E;
  --large-width: 1000px;
  --color: #333;
}

/*基本設定：ページ全体*/

body {
  font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
  color: var(--color);
}

.wrapper {
  margin: auto;
  padding: auto;
}

.bold {
  font-weight: bold;
}

/*ヘッダー*/

header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
}

/*ヘッダーA：サイト名*/

.headA {
  display: inline-block;
  line-height: 70px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: var(--main-color);
  color: #fff;
  font-size: 35px;
  text-decoration: none;
}

/*ナビゲーションメニュー*/

.global a {
  display: block;
  padding: 15px;
  color: inherit;
  font-size: 15px;
  text-decoration: none;
}

.global a:hover {
  background-color: rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
  main {
    max-width: 1200px;
    margin: 0 auto;
  }

  header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .global ul {
    display: flex;
  }
}

/*ヘッダー：ハンバーガーMENU*/

@media (max-width: 767px) {

  /*小さい画面用の設定*/
  header .container-small {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .headC {
    margin-right: 10px;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    font-size: 28px;
    opacity: 0.5;
    cursor: pointer;
  }

  .headC:hover {
    opacity: 0.3;
  }

  .global {
    display: none;
  }
}

@media (min-width: 768px) {

  /*大きい画面用の設定*/
  .headC {
    display: none;
  }

  .global {
    display: block !important;
  }
}

/*Top画*/

.conA {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110vh;
  min-height: 450px;
  background-image: linear-gradient(rgba (0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
  background-image: url(../image/Top.jpg);
  background-position: center;
  background-size: cover;
  color: inherit;
  text-align: center;
}

.conA h1 {
  display: none;
  margin-top: 0;
  margin-bottom: 10px;
}

.conA p {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: #fff;
}

.conA img {
  width: 60%;

}

@media (min-width: 768px) {
  .conA p {
    font-size: 25px;
    font-weight: 500;
  }
}

/*日本一美味しいりんご*/

.belowheader {
  align-items: center;
  justify-content: center;
  font-family: serif;
}

.belowheader h2 {
  margin: 15px auto;
  font-size: 7vw;
  letter-spacing: 0.1em;
}

.belowheader p {
  display: block;
  text-align: right;
  font-size: 18px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .belowheader .container {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .belowheader h2 {
    text-align: center;
    font-size: 38px;
  }

  .belowheader p {
    font-size: 24px;
  }
}

/*無袋りんご概要*/

.conB {
  background-image: url(../image/wallpaper.jpg);
}

.conB .text {
  padding: 20px;
  font-family: serif;
}

.conB h2 {
  margin-bottom: 10px;
  font-size: 24px;
  text-align: center;
}

.conB p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.8;
  font-weight: bold;
}

.btn {
  text-align: right;
}

.conB a {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 30px;
  border: solid 3px currentColor;
  border-radius: 6px;
  background-color: darkcyan;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  text-align: right;
}

.conB a:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
}

.conB img {
  width: 340px;
  height: auto;
}

.conB .photo {
  padding-top: 45px;
  text-align: center;
}

@media (min-width: 768px) {
  .conB .container {
    display: flex;
    max-width: 1000px;
    margin: 0 auto;

  }

  .conB img {
    width: 100%;
    height: auto;
  }

  .conB .photo {
    flex: 3;
  }

  .conB .text {
    flex: 2;
    padding: 50px;
  }

}

/*お早めにお召し上がり下さい*/

.middle {
  border-top: solid 2px var(--accent-color);
  border-bottom: solid 2px var(--accent-color);
}

.middle h3 {
  margin: 0 auto;
  font-size: 18px;
  padding: 10px;
  text-align: center;
}

@media (min-width: 768px) {
  .middle h3 {
    font-size: 22px;
    letter-spacing: 0.2em;
    text-align: center;
  }
}

/*先祖代々の技法*/

.spirit {
  margin-top: 30px;
  font-size: 18px;
  display: block;
  font-family: serif;
  color: #333;
}

.spirit1 {
  margin-left: 0.2em;
  text-align: left;
}

.spirit2 {
  margin-top: -10px;
  text-align: center;
}

.spirit3 {
  margin-top: -10px;
  text-align: right;
}

@media (min-width: 768px) {
  .spirit {
    font-size: 30px;
    max-width: 900px;
    margin: 30px auto;
  }
}

/*こだわり*/

.conC .text {
  padding: 20px;
  font-family: serif;
}

.conC h2 {
  margin-bottom: 10px;
  font-size: 24px;
  text-align: center;
}

.conC p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.8;
  font-weight: bold;
}

.conC a {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 30px;
  border: solid 3px currentColor;
  border-radius: 6px;
  background-color: darkcyan;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}

.conC a:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
}

.conC img {
  width: 340px;
  height: auto;
}

.conC .photo {
  padding-top: 30px;
  text-align: center;
}

@media (min-width: 768px) {
  .conC .container {
    display: flex;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }

  .conC img {
    width: 100%;
  }

  .conC .photo {
    flex: 3;
  }

  .conC .text {
    flex: 2;
    padding: 50px;
  }
}

/*根強い人気！*/

.bottomline {
  border-bottom: solid 2px var(--accent-color);
  margin-bottom: 30px;
}

.bottomline h3 {
  margin: 0 auto;
  font-size: 18px;
  padding: 10px;
  text-align: center;
}

@media (min-width: 768px) {
  .bottomline {
    margin-bottom: 70px;
  }

  .bottomline h3 {
    margin-top: 30px;
    font-size: 22px;
    letter-spacing: 0.2em;
  }
}
/*Facebook*/
.facebook {
  text-align: center;
  margin: 0 auto;
}

/*インフォメーション------------------*/
/*.information {
  width: 350px;
  margin: 0 auto;
}

.information dl {
  border: solid 1px #030;
  padding: 10px;
  height: 118px;
  overflow: auto;
}

.information dl dt {
  color: #666;
  font-weight: bold;
  border-bottom: dotted 2px #ccc;
  margin-bottom: 8px;
}

.information dl dd {
  font-size: 0.9rem;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .information {
    width: 800px;
    margin-bottom: 70px;
  }
}*/

/*関連記事メニュー*/

.related {
  padding: 30px 0;
}

.related ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
  list-style: none;
}

.related li {
  flex: 1 1 100%;
  display: flex;
}

.related a {
  flex: 1;
  margin: 10px;
  padding: 10px;
  display: block;
  background-color: rgba(255, 255, 255, 0.5);
  color: inherit;
  text-decoration: none;
}

.related a:hover {
  opacity: 0.8;
}

.related .photo {
  min-height: 150px;
  background-position: center;
  background-size: cover;
}

.related .text {
  padding: 15px;
  background-color: var(--accent-color);
  text-align: justify;
}

.related h3 {
  font-size: 18px;
}

.related p {
  font-size: 15px;
  opacity: 0.8;
}

@media (min-width:600px) and (max-width:899px) {
  .related li {
    flex: 1 1 50%
  }
}

@media (min-width:900px) {
  .related {
    margin-top: 50px;
  }

  .related li {
    flex: 1 1 25%;
  }
}

/*フッター*/

footer {
  color: #fff;
  background-color: var(--main-color);
  margin: 0 auto;
}

#gototop {
  display: block;
  margin: 40px auto 0 auto;
  width: 80px;
  padding-top: 10px;
  text-align: center;
  background: var(--main-color);
  border-radius: 15px 15px 0 0;
  text-decoration: none;
  font-size: 20px;
  color: #fff;
}

#gototop:hover {
  opacity: 0.8;
}

@media (min-width: 768px) {
  footer .container {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
  }
}

footer .container {
  padding: 20px;
}

footer img {
  width: 70%;
}

.footA {
  margin-bottom: 10px;
}

.footA h2 {
  width: 200px;
  height: auto;

}

.footA p {
  font-size: 14px;
}

.footA a {
  color: inherit;
  text-decoration: none;
}

.footB ul {
  list-style: none;
  width: 100%;
  margin-bottom: 10px;
}

.footB li {
  display: inline-block;
  text-align: left;
}

.footB a {
  padding: 5px;
  color: inherit;
  font-size: 12px;
  text-decoration: none;
}

.footB a span {
  padding: 0 1em;
}

.footB a:hover {
  background-color: rgba(0, 0, 0, 0.3);
}

@media (min-width: 768px) {
  .footB ul {
    display: flex;
  }

  .footB a {
    flex: 1;
    font-size: 14px;
  }
}

small {
  display: block;
  text-align: center;
  font-size: 12px;
  font-family: sans-serif;
  margin: auto;
}

/*商品案内ページ*/

.conE {
  margin: 100px auto 30px auto;
  text-align: center;
}

.conE .container {
  display: flex;
  flex-wrap: wrap;
  max-width: 1000px;
  margin: 30px auto;
}

.conE .itemlist {
  flex: 1;
  margin: 10px;
  display: block;
  color: inherit;
  border-right: 1px solid #ddd;
  text-decoration: none;
}

.itemlist img {
  background-position: center;
  background-size: cover;
  border-radius: 50%;
  padding: 5px;
}


.conE .text h1 {
  font-size: 36px;
  margin-top: 100px;
}

.conE .subtitle {
  font-size: 16px;
  opacity: 0.8;
}

.conE .text h2 {
  font-size: 18px;
}

.conE .text h2 span {
  font-size: 15px;
}

.conE .text {
  margin: 10px;
}

.conE p {
  font-size: 14px;
  opacity: 0.8;
}

/*@media (max-width: 599px) {
  :root {
    font-size: 14px;
  }
}

@media (min-width: 600px) and (max-width: 799px) {
  :root {
    font-size: 16px;
  }
}

@media (min-width: 800px) {
  :root {
    font-size: 18px;
  }
}*/

.conF .photo {
  background-image: url(../image/applewithbox.png);
  min-height: 300px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.conF .text {
  padding: 20px;
  line-height: 1.8;
}

.conF p {
  opacity: 0.8;
}

/*価格表*/
.conG .text {
  text-align: center;
}

.conG h2 {
  font-size: 16px;
  font-weight: normal
}

.conG h3 {
  font-size: 14px;
  font-weight: normal;
}

.pricetable {
  border: 5px solid #333;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  border-radius: 10px;
}

.pricetable th,
.pricetable td {
  border: 1px solid #333;
  text-align: center;
  padding: 10px;
}

.pricetable th {
  padding: 15px;
  background-color: #fff5e5;
  font-size: 16px;
}

.conG p {
  text-align: right;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .itemlist .text h2 {
    font-size: 22px;
  }

  .conF .container {
    display: flex;
    padding: 40px;
    width: 1000px;
    margin: 0 auto;
  }

  .conF .photo {
    flex: 3;
  }

  .conF .text h2 {
    font-size: 22.5px;
  }

  .conF .text {
    flex: 2;
  }

  .conE .itemlist:last-child,
  .conE .itemlist:nth-last-child(2) {
    border-right: none;
  }

  .conG {
    width: 800px;
    margin: 30px auto;
  }

  .conG h3 {
    font-size: 15px;
  }


  .pricetable {
    width: 700px;
    margin-top: 30px;
  }

  .pricetable th {
    font-size: 20px;
  }


  .pricetable td {
    font-size: 16px;
  }

}

/*お問い合わせフォーム*/

.contact .wrapper {
  background-color: var(--main-color);
}

.form .container {
  width: 350px;
  margin: 0 auto;
}

.form h1 {
  font-size: 50px;
  padding-top: 100px;
  margin-bottom: 35px;
  font-weight: lighter;
  line-height: 1.5;
  letter-spacing: 0.2em;
  vertical-align: baseline;
  color: #fff;
  text-align: center;
}

.form .subtitle {
  display: block;
  padding: 5px;
  text-align: center;
  font-size: 18px;
  color: #fff;
}

.form p {
  color: #fff;
  margin-top: 2em;
}

input[type="text"],
input[type="email"],
select {
  margin-top: 0.5em;
  width: 90%;
  font-size: inherit;
  padding: 14px;
  border: 1px solid #fff;
  border-radius: 8px;
  background-color: #fff;
}

input:required,
input[type="email"]:invalid {
  background: #ffb3b3;
}

input[type="text"]:valid,
input[type="email"]:valid {
  background: #fff;
}

input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
  background-color: #faf4e2;
}

textarea {
  margin-top: 0.5em;
  border: 1px solid #fff;
  border-radius: 8px;
  width: 80%;
  height: 160px;
  font-size: inherit;
  padding: 10px;
}

input[type="submit"] {
  width: 350px;
  line-height: 70px;
  height: 70px;
  letter-spacing: .1em;
  margin-top: 20px;
  padding: 0;
  border: 4px solid #666;
  border-radius: 35px;
  background-color: darkcyan;
  color: #fff;
  font-size: 18px;
  text-align: center;
}

input[type="submit"]:hover {
  background-image: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
}

@media (min-width: 768px) {

  form {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .form .container {
    width: 550px;
  }

  .form h1 {
    font-size: 70px;
  }


  .textfield {
    display: inline-block;
    width: 10em;
  }
}

/*無袋リンゴ詳細ページ*/
.appledetail {
  margin-bottom: 30px;
}

.relative {
  position: relative;
  width: 480px;
  height: 700px;
  margin-top: 70px;
}

.relative h2.absolute2 {
  position: absolute;
  right: 350px;
  top: 110px;
  font-size: 15px;
  color: #fff;
}

.relative p.absolute2 {
  position: absolute;
  font-size: 12px;
  right: 220px;
  top: 135px;
  width: 220px;
  color: #fff;
  line-height: 1.4;
}

.absolute1 {
  position: absolute;
  right: 0;
  top: 0;
}

.absolute2 {
  position: absolute;
  right: 170px;
  top: 100px;
}

.absolute3 {
  position: absolute;
  right: 185px;
  top: 340px;
}

.relative h2.absolute3 {
  position: absolute;
  right: 385px;
  top: 350px;
  font-size: 15px;
  color: #fff;
}

.relative p.absolute3 {
  position: absolute;
  font-size: 12px;
  right: 240px;
  top: 375px;
  width: 220px;
  color: #fff;
  line-height: 1.4;
}

.relative2 {
  display: none;
}

.yamagatamap {
  text-align: center;
}

.yamagatamapimg {
  display: none;
}

.miryoku {
  width: 100%;
  
}

.yamagatamap p {
  margin-bottom: 20px;
}

.carousel {
  margin-top: 50px;
  
}

@media (min-width: 768px) {

  .appledetail {
    margin-bottom: 90px;
  }

  .relative {
    display: none;
  }

  .relative2 {
    display: inline-block;
    width: 820px;
    height: 425px;
    display: grid;
    grid-template-columns: 210px 210px 210px;
    grid-auto-rows: 240px 240px 240px;
    margin: 130px auto 20px auto;
  }

  .relative2_1 {
    grid-column-start: 1;
    grid-column-end: 3;
    padding-right: 5px;
  }

  .relative2_1 h2,
  .relative2_4 h2 {
    font-size: 1.7rem;
  }

  .relative2_1 p,
  .relative2_4 p {
    font-size: 0.9rem;
    padding-right: 10px;
  }

  .relative2_2 {
    grid-column-start: 3;
    grid-column-end: 4;
  }

  .relative2_3 {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
  }

  .relative2_4 {
    grid-column-start: 3;
    grid-column-end: 5;
    height: 150px;
    background-color: var(--dark-color);
    padding: 15px;
    color: #fff;
  }

  .yamagatamap {
    margin: 0 auto;
    text-align: center;
    width: 95%;
  }
  
  .yamagatamapimg {
    display: block;
    margin: 0 auto;
    width: 97%;
  }
  .miryoku {
    display: none;
  }
}


/*ファーム紹介ページ*/
.farmpics {
  display: grid;
  grid-template-columns: 120px 120px 120px;
  grid-template-rows: 130px 130px 130px;
  margin: 100px auto 0 auto;
  width: 350px;
}

.pic1 {
  grid-column-start: 1;
  grid-column-end: 3;
}

.pic1 h1 {
  font-size: 1.5rem;

}

.pic1 p {
  font-size: 0.7rem;
  padding-right: 15px;
}

.pic2 {
  grid-column-start: 1;
  grid-row-start: 2;
  grid-column-end: 3;
  grid-row-end: 4;
}

.pic3 {
  grid-column-start: 3;
  grid-column-end: 4;
}

.pic4 {
  grid-column-start: 3;
  grid-column-end: 4;
}

.pic5 {
  grid-column-start: 3;
  grid-column-end: 4;
}

.pic6 {
  grid-column-start: 1;
  grid-column-end: 2;
}

.pic7 {
  grid-column-start: 2;
  grid-column-end: 3;
}

.pic8 {
  grid-column-start: 3;
  grid-column-end: 4;
}

.pic9 img {
  border-radius: 50%;
}

.farmdetail {
  margin-bottom: 30px;
}

.farmdetail .container {
  text-align: center;
  margin-top: 30px;
}

.pictext {
  padding: 20px;
}

.pictext h2 {
  font-size: 1.875rem;
  margin-bottom: 10px;
}

.pictext h3 {
  margin-top: -15px;
  margin-bottom: 15px;
}

.pictext p {
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.8;
}

.carousel h2 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
}

.carousel #comment {
  display: none;
}

@media (min-width: 768px) {
  .farm .background {
    background-image: url(../image/wallpaper.jpg);
    padding: 30px 30px 60px 30px;
  }

  .farmpics {
    display: grid;
    grid-template-columns: 120px 120px 140px;
    grid-template-rows: 120px 120px 125px;
    margin: 100px auto 0 auto;
    width: 830px;
    background-color: #fff;
  }

  .pic1 {
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 3;
    padding: 0 20px 10px 0;
  }

  .pic1 h1 {
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .pic1 p {
    font-size: 0.9rem;
  }

  .pic2 {
    grid-column-start: 4;
    grid-row-start: 1;
    grid-column-end: 6;
    grid-row-end: 5;
    /*      padding-top: 25px;*/
  }

  .pic2 img {
    width: 452px;
    height: 482px;
  }

  .pic3 {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 4;
    grid-row-end: 5;
  }

  .pic4 {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 3;
    grid-row-end: 4;
  }

  .pic5 {
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 3;
    grid-row-end: 4;
  }

  .pic6 {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 3;
    grid-row-end: 4;
  }

  .pic7 {
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 4;
    grid-row-end: 5;
  }

  .pic8 {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 4;
    grid-row-end: 5;
  }

  .farmdetail {
    max-width: 800px;
    margin: 50px auto;
  }

  .farmdetail .container {
    display: flex;
    margin: 0 auto;
  }


  .pic9 {
    flex: 2;
    padding-top: 50px;
  }

  .pictext {
    flex: 3;
    text-align: left;
  }

  .pictext p {
    font-size: 16px;
  }

  #pic9_1 {
    order: 2;
  }

  #pic9_2 {
    order: 1;
    margin-top: 30px;
  }

  .carousel {
    margin-bottom: 80px;
  }

  .carousel h2 {
    margin-bottom: 40px;
  }


  .carousel #comment {
    display: block;
    margin-left: 150px;
  }

  .carousel #comment02 {
    display: none;
  }
}

a.line-btn {
  width: 160px;
  display: block;
  margin: 12px 0;
}