@charset "UTF-8";
/*
Theme Name: Nishitest Theme
Theme URI:
Author: Joonas Samposalo
Author URI:
Description: Theme for Nishitetsu Noen
*/
/*
https://webdesign.tutsplus.com/articles/outside-in-ordering-css-properties-by-importance--cms-21685

プロパティの順番：
1　Layout Properties (position, float, clear, display)
2　Box Model Properties (width, height, margin, padding)
3　Visual Properties (color, background, border, box-shadow)
4　Typography Properties (font-size, font-family, text-align, text-transform)
5　Misc Properties (cursor, overflow, z-index)

*/
* {
  box-sizing: border-box;
}

ul {
  padding: 0;
}

html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
}

h2 {
  position: relative;
  margin-top: 45px;
  margin-bottom: 0;
  padding-left: 39px;
  font-size: 25px;
}
@media screen and (min-width: 768px) {
  h2 {
    margin-top: 80px;
    font-size: 32px;
  }
}
h2:before {
  content: "";
  display: block;
  position: absolute;
  left: 3px;
  top: 12px;
  width: 19px;
  height: 19px;
  background-color: #d53029;
  border-radius: 666px;
}
@media screen and (min-width: 768px) {
  h2:before {
    left: 0px;
    top: 12px;
    width: 25px;
    height: 25px;
  }
}

h3 {
  padding: 18px 25px;
  background-color: #f9f9f0;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  h3 {
    font-size: 24px;
    margin-top: 39px;
    margin-bottom: 30px;
  }
}

h4 {
  margin: 20px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
}

p {
  margin-top: 16px;
  margin-bottom: 0;
  color: #444;
  font-size: 14px;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  p {
    font-size: 16px;
  }
}

li {
  list-style: none;
  color: #444;
}

table {
  margin-top: 32px;
  max-width: 100%;
}
table tr {
  display: block;
}
@media screen and (min-width: 768px) {
  table tr {
    display: table-row;
  }
}
@media screen and (min-width: 768px) {
  table tr:first-child th, table tr:first-child td {
    border-top: 1px solid #f4f4f4;
  }
}
table th {
  width: 100px;
  border: 0;
}
@media screen and (min-width: 1024px) {
  table th {
    width: 150px;
    padding: 20px 6px;
  }
}
table th, table td {
  display: block;
  padding: 4px;
}
@media screen and (min-width: 768px) {
  table th, table td {
    display: table-cell;
    padding: 20px 10px;
    border-bottom: 1px solid #f4f4f4;
  }
}
@media screen and (min-width: 1024px) {
  table th, table td {
    padding: 20px 24px;
  }
}

img {
  border-radius: 4px;
}

.wrapper {
  display: block;
  margin: 0 auto;
}

/*************************/
/*
/* ３つの丸いリンクのメニュー
/*
/*************************/
.right-nav-container {
  display: none;
  position: absolute;
  top: 188px;
  right: 0;
  z-index: 500;
  will-change: top;
}
@media screen and (min-width: 1024px) {
  .right-nav-container {
    display: block;
  }
}
.right-nav-container .right-nav {
  position: sticky;
  top: 150px;
  right: 0;
}
.right-nav-container .right-nav > div {
  margin-top: 11px;
}
.right-nav-container .right-nav > div:first-child {
  margin-top: 0;
}
.right-nav-container a {
  cursor: pointer;
  transition-duration: 0.5s;
}
.right-nav-container a:hover {
  opacity: 0.7;
}

.header {
  width: 100%;
  padding: 0;
}
.header__inner {
  position: relative;
  margin: 0 auto;
  max-width: 1024px;
  height: 147px;
  height: 73px;
}
@media screen and (min-width: 768px) {
  .header__inner {
    height: 147px;
  }
}
.header__inner.sub #menu-main-navigation {
  top: 84px;
  padding-right: 22px;
}
.header__logo {
  left: 33vw;
  margin: 0 auto;
  padding: 18px 0 0;
  width: 129px;
  display: block;
}
@media screen and (min-width: 768px) {
  .header__logo {
    position: absolute;
    float: left;
    margin: 0;
    padding: 0;
    width: auto;
    left: 15px;
    top: 15px;
  }
}
@media screen and (min-width: 1024px) {
  .header__logo {
    top: 44px;
  }
}
.header__mainvisual {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: 100%;
  height: 90px;
  background-image: url("../img/bg_ttl.jpg");
  background-position: center center;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .header__mainvisual {
    height: 238px;
  }
}
.header__mainvisual h1 {
  margin: 0 auto;
  width: 100%;
  max-width: 80vw;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1.4;
  font-family: "Kosugi Maru", sans-serif;
}
@media screen and (min-width: 768px) {
  .header__mainvisual h1 {
    margin: 0 auto 0 64px;
    font-size: 32px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  }
}
@media screen and (min-width: 1200px) {
  .header__mainvisual h1 {
    max-width: 1024px;
    margin: 0 auto;
  }
}
.header #menu-main-navigation {
  display: none;
  position: relative;
  padding-right: 16px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .header #menu-main-navigation {
    display: block;
    top: 92px;
    margin: 0;
    float: right;
  }
}
@media screen and (min-width: 1024px) {
  .header #menu-main-navigation {
    top: 71px;
    text-align: right;
  }
}
.header #menu-main-navigation li {
  display: inline-block;
  padding-right: 25px;
  font-size: 15px;
  font-family: "Noto Sans JP";
  color: rgb(0, 0, 0);
}
.header #menu-main-navigation li:hover {
  opacity: 0.7;
}
.header #menu-main-navigation li:last-child {
  padding-right: 0;
}
.header #menu-main-navigation li a {
  color: rgb(0, 0, 0);
  text-decoration: none;
  letter-spacing: 0.05em;
}
.header #menu-main-navigation-tabs-container {
  position: relative;
}
.header #menu-main-navigation-tabs {
  position: absolute;
  top: -5px;
  right: 30px;
  padding: 12px 34px;
  margin: 0;
  background-color: #d53029;
}
@media screen and (min-width: 1024px) {
  .header #menu-main-navigation-tabs {
    right: 0;
  }
}
.header #menu-main-navigation-tabs li {
  display: inline-block;
  margin-right: 32px;
  font-size: 12px;
}
.header #menu-main-navigation-tabs li:hover {
  opacity: 0.7;
}
.header #menu-main-navigation-tabs li:last-child {
  margin-right: 0;
}
.header #menu-main-navigation-tabs li a {
  color: rgb(255, 255, 255);
  text-decoration: none;
  letter-spacing: 0.11em;
}

.breadcrumb {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    margin-top: 7px;
  }
}
.breadcrumb a {
  padding: 0 8px;
  color: #000;
  text-decoration: none;
  font-size: 12px;
}
.breadcrumb a:first-child {
  padding: 0 12px 0 0;
}
.breadcrumb a:last-child {
  padding: 0 0 0 8px;
}

.section {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 8vw;
}
@media screen and (min-width: 1024px) {
  .section {
    padding: 0 138px 0 16px;
  }
}
@media screen and (min-width: 1050px) {
  .section {
    padding: 0 144px 0 0;
    max-width: 1024px;
  }
}
@media screen and (min-width: 1300px) {
  .section {
    padding: 0;
  }
}
.section-fullwidth {
  width: 100%;
  max-width: 100%;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .section-fullwidth {
    width: 100%;
    max-width: 100%;
  }
}
.section-fullwidth h2 {
  color: #fff;
  text-align: center;
}
.section-fullwidth h2:before {
  content: none;
}
.section-fullwidth-tomato, .section-fullwidth-ichigo {
  display: table;
  margin-top: 49px;
  height: 18.7vw;
  width: 83vw;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .section-fullwidth-tomato, .section-fullwidth-ichigo {
    margin-top: 77px;
    height: 150px;
    width: 100%;
  }
}
.section-fullwidth-tomato h2, .section-fullwidth-ichigo h2 {
  display: table-cell;
  vertical-align: middle;
  padding: 0 0 0 6px;
  font-size: 23px;
  text-align: left;
  font-weight: normal;
  letter-spacing: 0.09em;
}
@media screen and (min-width: 768px) {
  .section-fullwidth-tomato h2, .section-fullwidth-ichigo h2 {
    padding: 0;
    font-size: 36px;
    text-align: center;
    font-weight: bold;
    letter-spacing: inherit;
  }
}
.section-fullwidth-tomato {
  background-image: url("../img/bg_tomato-sp.jpg");
}
@media screen and (min-width: 768px) {
  .section-fullwidth-tomato {
    background-image: url("../img/bg_tomato-wide.jpg");
  }
}
.section-fullwidth-ichigo {
  background-image: url("../img/bg_ichigo-sp.jpg");
}
@media screen and (min-width: 768px) {
  .section-fullwidth-ichigo {
    background-image: url("../img/bg_ichigo-wide.jpg");
  }
}

.contact {
  margin-top: 32px;
  padding: 60px 0 48px;
  text-align: center;
  background-color: #f9f9f0;
}
@media screen and (min-width: 768px) {
  .contact {
    margin-top: 80px;
  }
}

.footer {
  margin-top: 0px;
  padding: 8vw;
  color: #fff;
  background-color: #486a00;
  text-align: left;
  font-family: "Lato", sans-serif;
  font-size: 11px;
}
@media screen and (min-width: 768px) {
  .footer {
    margin-top: 0;
    padding: 0 0 32px 0;
    text-align: center;
  }
}
.footer .menu-footer-menu-container, .footer .menu-footer-menu-tabs-container {
  display: inline-block;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .footer .menu-footer-menu-container, .footer .menu-footer-menu-tabs-container {
    padding-top: 24px;
  }
}
.footer .menu-footer-menu-container ul, .footer .menu-footer-menu-tabs-container ul {
  margin: 0;
}
.footer .menu-footer-menu-container li, .footer .menu-footer-menu-tabs-container li {
  display: inline-block;
  margin-bottom: 24px;
  padding-right: 5vw;
  font-size: 12px;
}
.footer .menu-footer-menu-container li:hover, .footer .menu-footer-menu-tabs-container li:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .footer .menu-footer-menu-container li, .footer .menu-footer-menu-tabs-container li {
    margin: 0;
    padding-right: 40px;
    font-size: 14px;
  }
}
.footer .menu-footer-menu-container li:last-child, .footer .menu-footer-menu-tabs-container li:last-child {
  padding-right: 0;
}
.footer .menu-footer-menu-container li a, .footer .menu-footer-menu-tabs-container li a {
  color: #fff;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .footer .menu-footer-menu-container {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 24px 16px;
  }
}
.footer .menu-footer-menu-tabs-container {
  display: block;
}
.footer__logo {
  display: block;
  margin: 55px auto 0;
}
.footer__logo:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    margin: 70px auto 0;
  }
}
.footer__copyright {
  margin-top: 24px;
  opacity: 0.7;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  text-align: center;
}
.footer__copyright-japanese {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
}

/*
sns
███████ ███    ██ ███████
██      ████   ██ ██
███████ ██ ██  ██ ███████
     ██ ██  ██ ██      ██
███████ ██   ████ ███████
*/
.section-likebox {
  max-width: 676px;
  margin: 50px auto 75px;
}
@media screen and (min-width: 768px) {
  .section-likebox {
    display: block;
    padding: 0;
  }
}
@media screen and (min-width: 1300px) {
  .section-likebox {
    max-width: 700px;
    padding: 0;
  }
}
.section-likebox .link-box-container {
  padding: 0 0 24px 0;
}
@media screen and (min-width: 768px) {
  .section-likebox .link-box-container {
    padding: 0;
    float: left;
    width: 200px;
  }
}
.section-likebox .link-box-container a img {
  display: block;
  margin: 18px auto 0;
  width: 100%;
  height: auto;
  max-width: 320px;
}
@media screen and (min-width: 768px) {
  .section-likebox .link-box-container a img {
    max-width: auto;
  }
}
.section-likebox .link-box-container a img:hover {
  opacity: 0.7;
}
.section-likebox .link-box-container a:first-child img {
  margin-top: 0;
}
.section-likebox .fb_iframe_widget {
  display: block;
  text-align: center;
  margin: 0 auto 0;
}
@media screen and (min-width: 768px) {
  .section-likebox .fb_iframe_widget {
    float: right;
    margin-top: 0px;
  }
}

/*
██████  ██████  ███    ███ ███    ███  ██████  ███    ██
██      ██    ██ ████  ████ ████  ████ ██    ██ ████   ██
██      ██    ██ ██ ████ ██ ██ ████ ██ ██    ██ ██ ██  ██
██      ██    ██ ██  ██  ██ ██  ██  ██ ██    ██ ██  ██ ██
██████  ██████  ██      ██ ██      ██  ██████  ██   ████
*/
table.green {
  margin: 40px auto 0;
  width: 100%;
}
table.green th {
  width: 180px;
  border: none;
  color: #486a00;
  text-align: left;
}
@media screen and (min-width: 768px) {
  table.green th {
    border-bottom: 2px solid #486a00;
  }
}
table.green td {
  border: none;
}

.flex-2 {
  display: flex;
  justify-content: space-between;
}
.flex-2 > div {
  width: 48%;
}

.btn {
  border-radius: 666px !important;
  color: #fff !important;
  background-color: #486a00;
  font-size: 16px;
  text-align: center;
  text-decoration: none;
}
.btn a {
  color: #fff;
  text-decoration: none;
}

a i {
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .sp-visible {
    display: block;
  }
  .pc-visible {
    display: none !important;
  }
  .sp-visible-inline {
    display: inline;
  }
  .pc-visible {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .sp-visible {
    display: none !important;
  }
  .pc-visible {
    display: block;
  }
  .sp-visible-inline {
    display: none !important;
  }
  .pc-visible-inline {
    display: inline;
  }
}
/*
slick
███████ ██      ██  ██████ ██   ██
██      ██      ██ ██      ██  ██
███████ ██      ██ ██      █████
     ██ ██      ██ ██      ██  ██
███████ ███████ ██  ██████ ██   ██
*/
.slick-slide img {
  width: 100%;
  height: auto;
}

/*
█████  ██████   ██████  ██    ██ ████████
██   ██ ██   ██ ██    ██ ██    ██    ██
███████ ██████  ██    ██ ██    ██    ██
██   ██ ██   ██ ██    ██ ██    ██    ██
██   ██ ██████   ██████   ██████     ██
*/
.section-about .localnav {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  justify-content: center;
  align-items: center;
  align-content: center;
}
@media screen and (min-width: 768px) {
  .section-about .localnav {
    margin-top: 75px;
    flex-wrap: nowrap;
  }
}
.section-about .localnav div {
  display: table;
  margin: 9px auto 0;
  width: 97%;
  height: 48px;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .section-about .localnav div {
    margin: 0 8px 0;
    width: auto;
    height: 58px;
  }
}
@media screen and (min-width: 1024px) {
  .section-about .localnav div {
    margin: 0 16px;
  }
}
@media screen and (min-width: 1300px) {
  .section-about .localnav div {
    padding: 0 22px;
  }
}
.section-about .localnav div a {
  display: table-cell;
  align-self: center;
  vertical-align: middle;
}
.section-about #about {
  margin-top: 37px;
}
@media screen and (min-width: 768px) {
  .section-about #about {
    margin-top: 60px;
  }
}
.section-about p.words {
  font-size: 14px;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "Noto Sans", sans-serif;
  line-height: 2.143;
}
@media screen and (min-width: 768px) {
  .section-about p.words:nth-child(1) {
    padding-top: 33px;
  }
}
@media screen and (min-width: 768px) {
  .section-about p.words:nth-child(2) {
    padding-top: 0;
    margin-top: 10px;
  }
}
.section-about h3 {
  padding: 15px 25px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .section-about h3 {
    padding: 18px 25px;
    text-align: left;
  }
}
.section-about h3#cert {
  margin-top: 17px;
  margin-bottom: 26px;
  text-align: left;
}
.section-about h3#about-ichigo-message {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .section-about h3#about-ichigo-message {
    margin-top: 20px;
  }
}
.section-about .float-left,
.section-about .float-right {
  max-width: 100%;
}
.section-about .float-left p,
.section-about .float-right p {
  margin-top: 8px;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .section-about .float-left,
  .section-about .float-right {
    max-width: 40%;
  }
}
@media screen and (min-width: 1024px) {
  .section-about .float-left,
  .section-about .float-right {
    max-width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .section-about .float-left {
    padding: 0 24px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .section-about .float-right {
    padding: 0 0 0 32px;
  }
}
.section-about .float-cert {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
@media screen and (min-width: 768px) {
  .section-about .float-cert {
    float: right;
    flex-wrap: wrap;
    max-width: 32%;
    margin-left: 16px;
  }
}
.section-about .float-cert > * {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .section-about .float-cert > * {
    margin: 24px auto 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
}
.section-about .float-cert > *:first-child {
  margin-top: 0;
}
.section-about .float-cert > * img {
  display: block;
  height: auto;
}
.section-about ul {
  margin-top: 18px;
}
.section-about ul li {
  padding-bottom: 9px;
  letter-spacing: -0.05em;
}
.section-about table.cert {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .section-about table.cert {
    max-width: 650px;
  }
}
@media screen and (min-width: 1024px) {
  .section-about table.cert {
    max-width: 100%;
  }
}
.section-about table.cert td {
  padding: 14px 0 17px;
  line-height: 2.2;
}
@media screen and (min-width: 768px) {
  .section-about table.cert th {
    width: 142px;
    padding: 19px 0;
    vertical-align: top;
  }
}
@media screen and (min-width: 1024px) {
  .section-about table.cert th {
    text-align: left;
  }
}
.section-about img {
  border-radius: 6px;
  max-width: 84vw;
}
@media screen and (min-width: 768px) {
  .section-about img {
    max-width: 100%;
  }
}

/*
blog
██████  ██       ██████   ██████
██   ██ ██      ██    ██ ██
██████  ██      ██    ██ ██   ███
██   ██ ██      ██    ██ ██    ██
██████  ███████  ██████   ██████
*/
.section-blogfilter {
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .section-blogfilter {
    padding-bottom: 25px;
  }
}

.blogfilter {
  width: 90%;
  margin: 35px auto 0;
  padding-bottom: 40px;
  background-color: #f9f9f0;
}
@media screen and (min-width: 768px) {
  .blogfilter {
    width: 100%;
  }
}
.blogfilter table {
  margin: 0 auto;
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .blogfilter table {
    width: 640px;
  }
}
.blogfilter table thead th {
  padding: 20px 0 9px;
  font-size: 20px;
  text-align: center;
  width: auto;
}
@media screen and (min-width: 768px) {
  .blogfilter table tr {
    display: table-row;
  }
}
.blogfilter table tr:first-child td, .blogfilter table tr:first-child th {
  border: 0;
}
.blogfilter table th, .blogfilter table td {
  display: block;
  border: 0;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .blogfilter table th, .blogfilter table td {
    display: table-cell;
  }
}
.blogfilter table th {
  width: 80px;
  padding: 16px 0 0;
  color: #486a00;
}
.blogfilter table td {
  display: inline-block;
  width: auto;
  padding: 8px 0 0;
}
@media screen and (min-width: 768px) {
  .blogfilter table td {
    display: table-cell;
  }
}
.blogfilter table td input[type=checkbox] {
  border: 2px solid #000;
  border-radius: 0;
}
.blogfilter .btn-filter {
  display: block;
  margin: 25px auto 0;
  width: 159px;
  height: 48px;
}

.notfound {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  font-family: 24px;
  text-align: center;
}

.blog-preview {
  position: relative;
  margin-top: 32px;
  text-align: center;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .blog-preview {
    margin-top: 72px;
  }
}
.blog-preview:hover {
  opacity: 0.7;
}
.blog-preview a {
  color: #000;
  text-decoration: none;
}
.blog-preview span {
  display: block;
}
.blog-preview__badge {
  position: absolute;
  top: -7px;
  right: 0px;
  width: 52px;
  height: 55px;
  background-size: cover;
}
.blog-preview__badge.ichigo {
  background-image: url("../img/badge_ichigo.png");
}
.blog-preview__badge.tomato {
  background-image: url("../img/badge_tomato.png");
}
.blog-preview__picture {
  margin: 0 auto;
  width: 256px;
  height: 256px;
  border-radius: 50%;
  background-color: #ddd;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;"; /*IE対策*/
}
@media screen and (min-width: 768px) {
  .blog-preview__picture {
    width: 250px;
    height: 250px;
  }
}
.blog-preview__date {
  margin: 19px auto 0;
  font-size: 12px;
  font-family: "Lato";
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .blog-preview__date {
    margin: 16px auto 0;
  }
}
.blog-preview__category {
  margin: 0px auto 0;
  font-size: 14px;
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .blog-preview__category {
    margin: 2px auto 0;
  }
}
.blog-preview__title {
  margin: 16px auto 0;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .blog-preview__title {
    margin: 15px auto 0;
  }
}

/*
███████ ██      ███████ ███    ███ ███████ ███    ██ ████████ ███████
██      ██      ██      ████  ████ ██      ████   ██    ██    ██
█████   ██      █████   ██ ████ ██ █████   ██ ██  ██    ██    ███████
██      ██      ██      ██  ██  ██ ██      ██  ██ ██    ██         ██
███████ ███████ ███████ ██      ██ ███████ ██   ████    ██    ███████
*/
.notice {
  background-color: #f9f9f0;
  padding: 25px;
  text-align: center;
}
.notice a {
  color: #444;
  display: inline-block;
  border-bottom: 1px dotted #444;
  text-decoration: none;
  line-height: 20px;
}

.flex-3 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
}
.flex-3 > * {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .flex-3 > * {
    width: 33%;
  }
}
.flex-3 > img {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .flex-3 > img {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .flex-3.flex-fix::after {
    content: "";
    display: block;
    width: 250px;
  }
}
.flex-3 img {
  max-width: 100%;
  display: block;
  margin-top: 8px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .flex-3 img {
    max-width: auto;
  }
}

.btn-more {
  display: flex;
  align-items: center;
  margin: 50px auto 0;
  width: 256px;
  height: 48px;
}
@media screen and (min-width: 768px) {
  .btn-more {
    width: 322px;
  }
}
.btn-more span {
  width: 100%;
  text-align: center;
}
.btn-more:hover {
  opacity: 0.85;
}

/*
██   ██ ███████ ██      ██████  ███████ ██████  ███████
██   ██ ██      ██      ██   ██ ██      ██   ██ ██
███████ █████   ██      ██████  █████   ██████  ███████
██   ██ ██      ██      ██      ██      ██   ██      ██
██   ██ ███████ ███████ ██      ███████ ██   ██ ███████
*/
.float-left,
.float-right {
  display: block;
  float: none;
}
.float-left img,
.float-right img {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .float-left img,
  .float-right img {
    margin: 0;
  }
}

@media screen and (min-width: 768px) {
  .float-left {
    float: left;
  }
}

@media screen and (min-width: 768px) {
  .float-right {
    float: right;
  }
}

.caption {
  display: block;
  margin-top: 8px;
  text-align: center;
}

.clear-both {
  clear: both;
  margin: 0;
  padding: 0;
  height: 0;
}

.clear-left {
  clear: left;
  margin: 0;
  padding: 0;
  height: 0;
}

.clear-right {
  clear: right;
  margin: 0;
  padding: 0;
  height: 0;
}

.center-block {
  display: block;
  margin: 0 auto;
}

img.float-left {
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  img.float-left {
    margin-right: 32px;
    width: auto;
  }
}

img.float-right {
  margin: 0 auto;
  width: 100%;
}
@media screen and (min-width: 768px) {
  img.float-right {
    margin-left: 32px;
    width: auto;
  }
}

.pdf:after {
  content: "";
  background-image: url("../img/badge_pdf.png");
  background-size: contain;
  display: inline-block;
  position: relative;
  top: 2px;
  left: 8px;
  width: 12px;
  height: 16px;
}

.slash {
  position: relative;
  top: -2px;
  font-size: 12px;
  letter-spacing: 0.05em;
  opacity: 0.4;
}

/*
████████  ██████  ██████
██    ██    ██ ██   ██
██    ██    ██ ██████
██    ██    ██ ██
██     ██████  ██
*/
.wrapper-top header {
  padding: 0;
  background-color: #fff;
  background-clip: content-box;
}
@media screen and (min-width: 768px) {
  .wrapper-top header {
    position: absolute;
    top: 0;
    left: 50%;
    height: 137px;
    max-width: 1440px;
    transform: translateX(-50%);
    padding: 11px 14px 0px;
    background-clip: content-box;
  }
}
.wrapper-top header .header__inner {
  position: relative;
  padding: 0;
  max-width: 1024px;
  height: 100%;
}
.wrapper-top header .header__logo {
  width: 100px;
  left: 33vw;
  margin: 0 auto 9px;
  padding: 18px 0 14px;
  width: 129px;
  display: block;
}
.wrapper-top header .header__logo:hover {
  opacity: 0.7;
}
@media screen and (min-width: 768px) {
  .wrapper-top header .header__logo {
    position: absolute;
    float: left;
    margin: 0;
    padding: 0;
    width: auto;
    left: 15px;
    top: 15px;
  }
}
@media screen and (min-width: 1024px) {
  .wrapper-top header .header__logo {
    top: 33px;
  }
}
.wrapper-top header #menu-main-navigation-tabs {
  position: absolute;
  top: -16px;
  right: -3px;
  margin: 0;
  padding: 12px 34px;
}

#header-carousel-pc,
#header-carousel-sp {
  margin-top: 0;
  width: 100%;
}
#header-carousel-pc.slick-initialized .slick-track,
#header-carousel-sp.slick-initialized .slick-track {
  display: flex;
  align-items: center;
}
#header-carousel-pc .slick-list,
#header-carousel-sp .slick-list {
  max-height: 776px;
  overflow: hidden; /* TODO: Does this work? */
}
#header-carousel-pc .slick-dots,
#header-carousel-sp .slick-dots {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
}
#header-carousel-pc .slick-dots li,
#header-carousel-sp .slick-dots li {
  margin-right: 16px;
  width: 20px;
  height: 20px;
  border: 4px solid #d40e0e;
  border-radius: 10px;
  color: transparent;
  background-color: #fff;
}
#header-carousel-pc .slick-dots li:last-child,
#header-carousel-sp .slick-dots li:last-child {
  margin-right: 0;
}
#header-carousel-pc .slick-dots li:hover,
#header-carousel-sp .slick-dots li:hover {
  background-color: #d40e0e;
}
#header-carousel-pc .slick-dots li.slick-active,
#header-carousel-sp .slick-dots li.slick-active {
  background-color: #d40e0e;
}
#header-carousel-pc .slick-dots li button,
#header-carousel-sp .slick-dots li button {
  display: none;
}

#header-carousel-pc .slick-slide {
  text-align: center;
}
#header-carousel-pc .slick-slide:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
#header-carousel-pc .slick-slide img {
  vertical-align: middle;
  display: inline-block;
  max-height: 776px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.section-news {
  padding-bottom: 51px;
}
@media screen and (min-width: 768px) {
  .section-news {
    padding-bottom: 78px;
  }
}
.section-news h2 {
  margin: auto;
  text-align: center;
  padding-left: 0;
}
.section-news h2:before {
  content: none;
}
.section-news h2 img {
  margin: 30px auto 0;
  width: 23vw;
}
@media screen and (min-width: 768px) {
  .section-news h2 img {
    margin: 74px auto 0;
    width: auto;
  }
}
.section-news table {
  margin: 10px auto 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .section-news table {
    margin: 23px auto 0;
    max-width: 853px;
  }
}
.section-news table tr {
  padding: 0px 0px 8px;
  border-bottom: 1px solid #f4f4f4;
}
@media screen and (min-width: 768px) {
  .section-news table tr {
    padding: 0;
    border: 0;
  }
}
.section-news table tr:first-child {
  border-top: 1px solid #f4f4f4;
}
@media screen and (min-width: 768px) {
  .section-news table tr:first-child {
    border-top: 0;
  }
}
.section-news table th, .section-news table td {
  padding-top: 5px;
  padding-bottom: 0px;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .section-news table th, .section-news table td {
    padding: 20px 0 20px;
  }
}
.section-news table th {
  width: 100px;
  text-align: left;
  font-size: 14px;
  font-family: "Lato";
}
.section-news table td {
  padding: 0;
  line-height: 1.1;
}
@media screen and (min-width: 768px) {
  .section-news table td {
    line-height: normal;
  }
}
.section-news table td.new:before {
  content: "";
  display: inline-block;
  background-image: url("../img/badge_new.png");
  background-size: contain;
  position: relative;
  top: 0px;
  margin-right: 8px;
  padding-right: 16px;
  padding-left: 3px;
  height: 11px;
  width: 15px;
}
@media screen and (min-width: 768px) {
  .section-news table td.new:before {
    width: 40px;
    height: 19px;
    margin-right: 8px;
    top: 5px;
  }
}
.section-news table a {
  color: #444;
  font-size: 12px;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .section-news table a {
    font-size: 14px;
  }
}
.section-news .btn-more {
  margin-top: 19px;
}
.section-news .newslink {
  max-width: 800px;
  margin: 32px auto 0;
  text-align: right;
}
.section-news .newslink a {
  color: #444;
  text-decoration-style: dotted;
}
.section-news .newslink a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .section-top-about {
    padding: 0 5vw 98px;
  }
}
.section-top-about {
  position: relative;
  padding-bottom: 98px;
  background-color: #9ac971;
  background-image: url("../img/bg_about.jpg");
  background-size: cover;
  background-repeat: no-repeat;
}
.section-top-about:before, .section-top-about:after {
  content: " ";
  position: absolute;
  left: 0;
  right: 0;
  background-repeat: repeat-x;
  background-size: 50%;
  height: 26px;
  width: 100%;
  z-index: 400;
}
@media screen and (min-width: 768px) {
  .section-top-about:before, .section-top-about:after {
    background-size: auto;
  }
}
.section-top-about:before {
  top: 0;
  background-image: url("../img/bg_wave-top.png");
}
.section-top-about:after {
  bottom: -1px;
  background-position-y: bottom;
  background-image: url("../img/bg_wave-bottom.png");
}
@media screen and (min-width: 768px) {
  .section-top-about:after {
    bottom: -2px;
  }
}
.section-top-about a:hover {
  opacity: 0.8;
  transform: scale(1.1);
  transition-duration: 0.5;
}
.section-top-about h2 {
  margin-top: 0;
  padding-top: 42px;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .section-top-about h2 {
    padding-top: 113px;
  }
}
@media screen and (min-width: 1300px) {
  .section-top-about h2 {
    position: relative;
    left: -20px;
    top: 6px;
  }
}
.section-top-about h2 img {
  max-width: 69%;
}
@media screen and (min-width: 768px) {
  .section-top-about h2 img {
    max-width: auto;
  }
}
.section-top-about h3 {
  display: block;
  margin: 33px auto 0;
  padding: 0;
  background-color: transparent;
  text-align: center;
}
.section-top-about h3 img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .section-top-about h3 img {
    max-width: auto;
  }
}

.section-buyhere {
  max-width: 100%;
  margin: 0 auto 0;
  padding: 10vw 6vw 8vw;
  background-color: #f8f9e4;
}
@media screen and (min-width: 768px) {
  .section-buyhere {
    padding: 52px 90px 40px;
  }
}
.section-buyhere h3 {
  display: block;
  margin: 14px auto 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .section-buyhere h3 {
    margin: 64px auto 0;
  }
}
.section-buyhere h3.tomato {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  .section-buyhere h3.tomato {
    margin-top: 55px;
  }
}
.section-buyhere h3.ichigo {
  margin-top: 3px;
}
.section-buyhere__ttl {
  margin: 0 auto;
  max-width: 52vw;
}
@media screen and (min-width: 768px) {
  .section-buyhere__ttl {
    max-width: 100%;
  }
}
.section-buyhere table {
  margin: 11px auto 0;
  width: 100%;
  max-width: 800px;
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .section-buyhere table {
    font-size: 16px;
  }
}
@media screen and (min-width: 1300px) {
  .section-buyhere table {
    max-width: 1024px;
  }
}
.section-buyhere table.ichigo {
  margin-top: 21px;
}
.section-buyhere table.tomato {
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  .section-buyhere table.tomato {
    margin-top: 38px;
  }
}
.section-buyhere table tr:first-child th, .section-buyhere table tr:first-child td {
  border-top: 0;
}
.section-buyhere table th, .section-buyhere table td {
  border: none;
  padding: 0 0 6px;
  vertical-align: top;
  line-height: 24px;
}
@media screen and (min-width: 768px) {
  .section-buyhere table th, .section-buyhere table td {
    padding: 0 0 19px;
  }
}
.section-buyhere table th {
  width: 140px;
  color: #486a00;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .section-buyhere table th {
    width: 172px;
  }
}
.section-buyhere table th:before {
  content: "●";
  padding-right: 6px;
  color: #ebce08;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .section-buyhere table th:before {
    font-size: 15px;
  }
}
.section-buyhere .notification {
  max-width: 1024px;
  margin: 0px 1.5vw 2px;
  color: #666;
  font-size: 11px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .section-buyhere .notification {
    margin: 0px auto 30px;
    text-align: right;
    max-width: 800px;
  }
}
@media screen and (min-width: 1300px) {
  .section-buyhere .notification {
    max-width: 1024px;
  }
}

.flex-about {
  margin: 45px auto 0;
  display: flex;
  max-width: 769px;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .flex-about {
    max-width: 769px;
  }
}
@media screen and (min-width: 1024px) {
  .flex-about {
    width: 1024px;
    max-width: 1024px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about {
    flex-wrap: nowrap;
  }
}
.flex-about.ichigo {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo {
    margin-top: 20px;
  }
}
.flex-about.ichigo div {
  margin: 26px 15px auto;
}
@media screen and (min-width: 1300px) {
  .flex-about.ichigo > div {
    position: relative;
  }
}
.flex-about.ichigo > div:nth-child(1) {
  flex-basis: 100%;
  margin: 0 0 -23px;
}
@media screen and (min-width: 1300px) {
  .flex-about.ichigo > div:nth-child(1) {
    flex-basis: auto;
    top: 45px;
    margin: 26px 15px auto;
  }
}
.flex-about.ichigo > div:nth-child(1) img {
  width: 35%;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(1) img {
    width: auto;
  }
}
.flex-about.ichigo > div:nth-child(2), .flex-about.ichigo > div:nth-child(3), .flex-about.ichigo > div:nth-child(4) {
  width: 35%;
  margin: 1px 0 0px;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(2), .flex-about.ichigo > div:nth-child(3), .flex-about.ichigo > div:nth-child(4) {
    width: auto;
    margin: 26px 15px auto;
  }
}
.flex-about.ichigo > div:nth-child(2) a img, .flex-about.ichigo > div:nth-child(3) a img, .flex-about.ichigo > div:nth-child(4) a img {
  width: 41vw;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(2) a img, .flex-about.ichigo > div:nth-child(3) a img, .flex-about.ichigo > div:nth-child(4) a img {
    width: auto;
  }
}
.flex-about.ichigo > div:nth-child(2) {
  flex-basis: 50%;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(2) {
    flex-basis: auto;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.ichigo > div:nth-child(2) {
    top: 16px;
    left: -3px;
  }
}
.flex-about.ichigo > div:nth-child(3) {
  flex-basis: 50%;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(3) {
    flex-basis: auto;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.ichigo > div:nth-child(3) {
    top: 27px;
    left: -5px;
  }
}
.flex-about.ichigo > div:nth-child(4) {
  margin-top: 13px;
}
@media screen and (min-width: 768px) {
  .flex-about.ichigo > div:nth-child(4) {
    margin-top: 26px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.ichigo > div:nth-child(4) {
    top: -2px;
    left: -5px;
  }
}
.flex-about.tomato {
  margin-top: 31px;
}
@media screen and (min-width: 768px) {
  .flex-about.tomato {
    margin-top: 33px;
    padding-right: 24px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato {
    margin-top: 73px;
  }
}
.flex-about.tomato div {
  margin: 30px 20px auto;
}
@media screen and (min-width: 768px) {
  .flex-about.tomato div {
    margin: auto 20px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato div {
    margin: auto 40px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato > div {
    position: relative;
  }
}
.flex-about.tomato > div:nth-child(1) {
  margin-top: 0;
  flex-basis: 100%;
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato > div:nth-child(1) {
    margin-top: 30px;
    flex-basis: auto;
    left: -7px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato > div:nth-child(2) {
    left: -14px;
  }
}
@media screen and (min-width: 1300px) {
  .flex-about.tomato > div:nth-child(3) {
    top: 12px;
  }
}
.flex-about > div:nth-child(1) img {
  width: 46%;
}
@media screen and (min-width: 768px) {
  .flex-about > div:nth-child(1) img {
    width: auto;
  }
}
.flex-about > div:nth-child(2) a img, .flex-about > div:nth-child(3) a img {
  width: 40vw;
}
@media screen and (min-width: 768px) {
  .flex-about > div:nth-child(2) a img, .flex-about > div:nth-child(3) a img {
    width: auto;
  }
}
.flex-about > div:nth-child(2), .flex-about > div:nth-child(3) {
  width: 49%;
  margin: 1px 0 0px;
}
@media screen and (min-width: 768px) {
  .flex-about > div:nth-child(2), .flex-about > div:nth-child(3) {
    width: auto;
    margin: 26px 15px auto;
  }
}
.flex-about.reasons {
  margin: 12px auto 0;
}
.flex-about.reasons div {
  margin: 20px auto 28px;
}
@media screen and (min-width: 768px) {
  .flex-about.reasons div {
    margin: 20px 16px 28px;
  }
}

.section-top-blog {
  margin-top: 0;
  padding: 0 0 14px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .section-top-blog {
    padding: 0 0 14px;
  }
}
.section-top-blog:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-image: url("../img/bg_wave-bottom-cream.png");
  background-repeat: repeat-x;
  height: 26px;
  width: 100%;
  z-index: 400;
}
.section-top-blog h2 {
  display: block;
  margin: 0;
  width: 100%;
  padding: 58px 0 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .section-top-blog h2 {
    padding: 142px 0 0;
  }
}
.section-top-blog h2:before {
  content: none;
}
.section-top-blog h2 img {
  margin: 0 auto;
  max-width: 17vw;
}
@media screen and (min-width: 768px) {
  .section-top-blog h2 img {
    max-width: auto;
  }
}
.section-top-blog__flex {
  position: relative;
  left: -8px;
  justify-content: space-around;
  max-width: 948px;
  margin: -10px auto 0;
}
@media screen and (min-width: 1024px) {
  .section-top-blog__flex {
    justify-content: space-between;
    margin: 0 auto 0;
  }
}
.section-top-blog__flex > * {
  width: 250px;
}
.section-top-blog__flex .blog-preview {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .section-top-blog__flex .blog-preview {
    margin-top: 60px;
  }
}
.section-top-blog__flex .blog-preview:first-child {
  margin-top: 26px;
}
@media screen and (min-width: 768px) {
  .section-top-blog__flex .blog-preview:first-child {
    margin-top: 60px;
  }
}
.section-top-blog .btn-more {
  margin-top: 78px;
}

/*
recruit
██████  ███████  ██████ ██████  ██    ██ ██ ████████
██   ██ ██      ██      ██   ██ ██    ██ ██    ██
██████  █████   ██      ██████  ██    ██ ██    ██
██   ██ ██      ██      ██   ██ ██    ██ ██    ██
██   ██ ███████  ██████ ██   ██  ██████  ██    ██
*/
.section-recruit {
  position: relative;
}
.section-recruit h2 {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .section-recruit h3 {
    margin-bottom: 0;
  }
}
.section-recruit h3.badge-ichigo:before,
.section-recruit h3.badge-tomato:before {
  position: absolute;
  display: block;
  left: -30px;
  top: -10px;
  width: 50px;
  height: 50px;
}
.section-recruit h3.badge-ichigo:before {
  content: url("../img/badge_ichigo-round.png");
}
.section-recruit h3.badge-tomato:before {
  content: url("../img/badge_tomato-round.png");
}
.section-recruit .opening {
  margin-bottom: 64px;
}
.section-recruit table {
  margin-top: 45px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .section-recruit table {
    margin-top: 0;
  }
}
.section-recruit table tr {
  display: block;
}
@media screen and (min-width: 768px) {
  .section-recruit table tr {
    display: table-row;
  }
}
.section-recruit table tr.tall th, .section-recruit table tr.tall td {
  vertical-align: top;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .section-recruit table tr.tall th, .section-recruit table tr.tall td {
    line-height: 2.2;
  }
}
.section-recruit table td, .section-recruit table th {
  display: block;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .section-recruit table td, .section-recruit table th {
    display: table-cell;
    line-height: initial;
  }
}
.section-recruit table th {
  width: 150px;
  border: 0;
  padding: 24px 0 0;
  text-align: left;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .section-recruit table th {
    padding: 15px 0px;
    border-bottom: 2px solid #486a00;
    vertical-align: top;
    line-height: initial;
  }
}
.section-recruit table td {
  padding: 0 0 24px;
  border: 0;
  border-bottom: 1px solid #f4f4f4;
}
@media screen and (min-width: 768px) {
  .section-recruit table td {
    vertical-align: top;
    padding: 15px 24px;
  }
}
.section-recruit .notice {
  margin-top: 46px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .section-recruit .notice {
    text-align: center;
  }
}

.nav-recruit {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .nav-recruit {
    margin-top: 58px;
    flex-wrap: nowrap;
  }
}
.nav-recruit a {
  text-decoration: none;
}

.btn-recruit {
  display: inline-flex;
  align-items: center;
  margin: 10px 8px 0;
  padding: 24px;
  height: 58px;
}
@media screen and (min-width: 768px) {
  .btn-recruit {
    margin: 0 8px 0;
  }
}
.btn-recruit span {
  width: 100%;
  text-align: center;
}
.btn-recruit:hover {
  opacity: 0.85;
}

/*
██████  ██████   ██████  ██████  ██    ██  ██████ ████████
██   ██ ██   ██ ██    ██ ██   ██ ██    ██ ██         ██
██████  ██████  ██    ██ ██   ██ ██    ██ ██         ██
██      ██   ██ ██    ██ ██   ██ ██    ██ ██         ██
██      ██   ██  ██████  ██████   ██████   ██████    ██
*/
.product-flex {
  margin: 8px auto 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-around;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .product-flex {
    margin: 69px auto 0;
    flex-wrap: nowrap;
    max-width: 83%;
  }
}
.product-flex > div {
  margin-top: 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-flex > div {
    margin-top: 0;
    width: auto;
  }
}
.product-flex__ttl {
  display: block;
  margin-top: 100px;
  font-size: 20px;
  line-height: 27px;
  font-weight: bold;
  letter-spacing: -0.05em;
}
@media screen and (min-width: 768px) {
  .product-flex__ttl {
    margin-top: 0;
    font-size: 24px;
    line-height: 34px;
  }
}
.product-flex__ttl:first-child {
  margin-top: 0px;
}
@media screen and (min-width: 768px) {
  .product-flex__ttl:first-child {
    margin-top: 0;
  }
}
.product-flex__img {
  display: block;
  margin: 6px auto 0;
  width: 56%;
}
@media screen and (min-width: 768px) {
  .product-flex__img {
    margin: 14px auto 0;
    width: auto;
  }
}
.product-flex__harvest {
  margin-top: 12px;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .product-flex__harvest {
    margin-top: 16px;
    font-size: 16px;
  }
}
.product-flex__buttons {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .product-flex__buttons {
    display: block;
    width: auto;
  }
}
.product-flex__button {
  display: table;
  margin: 9px 8px 0;
  padding: 8px 20px;
  height: 36px;
  width: auto;
  border-radius: 20px;
  background-color: #486a00;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .product-flex__button {
    width: 150px;
    margin: 10px auto 0;
    padding: 0;
    height: 40px;
    font-size: 16px;
  }
}
.product-flex__button:nth-child(1) {
  max-width: 44%;
}
@media screen and (min-width: 768px) {
  .product-flex__button:nth-child(1) {
    max-width: none;
  }
}
.product-flex__button:nth-child(2) {
  max-width: 54%;
}
@media screen and (min-width: 768px) {
  .product-flex__button:nth-child(2) {
    max-width: none;
  }
}
.product-flex__button a {
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .product-basicinfo h2 {
    margin-top: 72px;
  }
}
.product-basicinfo h2#ichigo-saibai {
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  .product-basicinfo h2#ichigo-saibai {
    margin-top: 45px;
  }
}
.product-basicinfo h3 {
  margin-bottom: 0;
}
.product-basicinfo h3#tomato {
  margin-top: 23px;
  padding-left: 29px;
}
.product-basicinfo p {
  width: 100%;
  font-size: 13px;
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .product-basicinfo p {
    margin-top: 16px;
    width: 500px;
    font-size: 16px;
    line-height: 2.13;
  }
}
.product-basicinfo ul {
  margin-left: -4px;
  padding-top: 4px;
}
.product-basicinfo ul li {
  padding-bottom: 10px;
}

.product-infoflex {
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .product-infoflex {
    flex-wrap: nowrap;
  }
}
.product-infoflex table {
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  .product-infoflex table {
    margin-top: 32px;
  }
}
.product-infoflex table tr {
  padding: 0 0 25px 3px;
  border-bottom: 1px solid #f4f4f4;
}
@media screen and (min-width: 768px) {
  .product-infoflex table tr {
    margin: 0;
    padding: 25px 0;
    border: 0;
  }
}
.product-infoflex table tr:first-child {
  padding-top: 0;
}
.product-infoflex table tr:last-child {
  border-bottom: 0;
}
.product-infoflex table th, .product-infoflex table td {
  padding: 11px 0 0;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  .product-infoflex table th, .product-infoflex table td {
    padding: 11px 0 15px;
  }
}
.product-infoflex table th {
  text-align: left;
  font-size: 17px;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .product-infoflex table th {
    padding-top: 17px;
    padding-right: 62px;
    text-align: right;
    font-size: 16px;
  }
}
.product-infoflex table td {
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .product-infoflex table td {
    font-size: 16px;
    line-height: 2.2;
  }
}
.product-infoflex > div:first-child {
  width: 620px;
}
.product-infoflex {
  /* 22.3.11 削除対応
  & > div:last-child {
    max-width: 323px;
  }
  */
}
.product-infoflex img {
  max-width: 100%;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .product-infoflex img {
    max-width: auto;
    margin-top: 30px;
  }
}

.product-points h2 {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .product-points h2 {
    margin-top: 56px;
  }
}
.product-points h3 {
  margin-top: 50px;
  position: relative;
  padding: 13px 50px 25px 52px;
  font-size: 16px;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 768px) {
  .product-points h3 {
    padding-left: 87px;
    font-size: 20px;
    margin-top: 33px;
  }
}
.product-points h3:before {
  background-color: #000;
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  padding-left: 9px;
  border-radius: 100px;
  color: white;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .product-points h3:before {
    padding-left: 15px;
    padding-top: 5px;
    width: 42px;
    height: 42px;
  }
}
.product-points h3 i {
  position: absolute;
  top: 30px;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.product-points h3 .opened {
  display: none;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .product-points h3 .opened {
    opacity: 0;
  }
}
.product-points h3 .closed {
  display: block;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .product-points h3 .closed {
    opacity: 0;
  }
}
.product-points #ichigo-feature-1:before {
  content: "1";
}
.product-points #ichigo-feature-2 {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .product-points #ichigo-feature-2 {
    margin-top: 51px;
  }
}
.product-points #ichigo-feature-2:before {
  content: "2";
}
.product-points #ichigo-feature-3 {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .product-points #ichigo-feature-3 {
    margin-top: 48px;
  }
}
.product-points #ichigo-feature-3:before {
  content: "3";
}
.product-points #tomato-feature-1:before {
  content: "1";
}
.product-points #tomato-feature-2 {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .product-points #tomato-feature-2 {
    margin-top: 50px;
  }
}
.product-points #tomato-feature-2:before {
  content: "2";
}
.product-points #tomato-feature-3 {
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .product-points #tomato-feature-3 {
    margin-top: 50px;
  }
}
.product-points #tomato-feature-3:before {
  content: "3";
}
.product-points p {
  margin-top: 32px;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .product-points p {
    padding-top: 0;
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 1.7;
  }
}
@media screen and (min-width: 1300px) {
  .product-points p {
    padding-top: 42px;
  }
}

.product-buyhere {
  margin: 80px auto 32px;
  padding: 12px 8px;
  max-width: 84%;
  background-color: #f9f9f0;
}
@media screen and (min-width: 768px) {
  .product-buyhere {
    max-width: 1024px;
    margin-top: 80px;
    padding: 0px 85px 40px;
  }
}
.product-buyhere h2 {
  margin: auto;
  padding-left: 0;
}
.product-buyhere h2:before {
  content: none;
}
.product-buyhere h2#ichigo-buyhere img {
  position: relative;
  top: 0;
}
@media screen and (min-width: 768px) {
  .product-buyhere h2#ichigo-buyhere img {
    top: -20px;
  }
}
@media screen and (min-width: 768px) {
  .product-buyhere h2#tomato-buyhere img {
    margin-top: -20px;
  }
}
.product-buyhere__img {
  display: block;
  max-width: 60%;
  margin: 0 auto 0;
}
@media screen and (min-width: 768px) {
  .product-buyhere__img {
    margin: -28px auto 0;
    max-width: auto;
  }
}
.product-buyhere .notification {
  color: #666;
  font-size: 11px;
  text-align: right;
}
.product-buyhere__table {
  margin-top: 0;
}
.product-buyhere__table th, .product-buyhere__table td {
  border: 0;
  padding-top: 0;
  padding-left: 0;
}
.product-buyhere__table th {
  width: 140px;
  margin-top: 8px;
  color: #486a00;
  text-align: left;
  vertical-align: top;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .product-buyhere__table th {
    margin-top: 0px;
    width: 180px;
  }
}
.product-buyhere__table th:before {
  content: "●";
  padding-right: 6px;
  color: #ebce08;
}
.product-buyhere__table td {
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .product-buyhere__table td {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .product-buyhere__table.tomato {
    margin-top: 38px;
  }
}

.shoplistlink {
  position: relative;
  border-bottom: 1px solid black;
  margin-left: 16px;
  padding-left: 16px;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .shoplistlink {
    margin-left: auto;
    padding-left: 24px;
  }
}
.shoplistlink:hover {
  opacity: 0.7;
}
.shoplistlink:before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 11px;
  border-color: transparent transparent transparent #000000;
}
@media screen and (min-width: 768px) {
  .shoplistlink:before {
    top: 6px;
    margin-left: auto;
  }
}

/*
safety
███████  █████  ███████ ███████ ████████ ██    ██
██      ██   ██ ██      ██         ██     ██  ██
███████ ███████ █████   █████      ██      ████
     ██ ██   ██ ██      ██         ██       ██
███████ ██   ██ ██      ███████    ██       ██
*/
.section-safety h2 {
  margin-top: 63px;
}
.section-safety .flex-3 h3 {
  margin-top: 50px;
  margin-left: 10px;
  padding: 0;
  background-color: transparent;
}
@media screen and (min-width: 768px) {
  .section-safety .flex-3 h3 {
    margin-top: 28px;
    margin-bottom: 16px;
    margin-left: auto;
  }
}
.section-safety p {
  font-size: 16px;
  font-family: "Noto Sans CJK JP", "Noto Sans JP", "Noto Sans", sans-serif;
  line-height: 2.429;
}
.section-safety a {
  display: inline-block;
  margin-top: 10px;
  border-bottom: 1px solid #000;
  padding-bottom: 2px;
  color: #000;
  text-decoration: none;
}
.section-safety .safety-detail {
  position: relative;
  left: 6px;
}
@media screen and (min-width: 768px) {
  .section-safety .safety-detail {
    left: 0;
  }
}
.section-safety .badge {
  display: inline-block;
  margin-top: 16px;
  border-radius: 15px;
  padding: 8px 16px;
  background-color: #f4f4f4;
  font-size: 14px;
  line-height: 14px;
}
.section-safety .flex-3 {
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .section-safety .flex-3 {
    flex-wrap: nowrap;
    justify-content: space-around;
  }
}
@media screen and (min-width: 1024px) {
  .section-safety .flex-3 {
    justify-content: space-between;
  }
}
.section-safety .flex-3 > * {
  width: auto;
}
@media screen and (min-width: 768px) {
  .section-safety .flex-3 > * {
    width: 32%;
  }
}

/*
company
 ██████  ██████  ███    ███ ██████   █████  ███    ██ ██    ██
██      ██    ██ ████  ████ ██   ██ ██   ██ ████   ██  ██  ██
██      ██    ██ ██ ████ ██ ██████  ███████ ██ ██  ██   ████
██      ██    ██ ██  ██  ██ ██      ██   ██ ██  ██ ██    ██
 ██████  ██████  ██      ██ ██      ██   ██ ██   ████    ██
*/
.section-company h2 {
  margin-top: 52px;
}
.section-company table.green tr {
  padding-top: 10px;
}
@media screen and (min-width: 768px) {
  .section-company table.green tr {
    padding: 0;
  }
}
.section-company table.green tr:first-child th {
  border-top: 2px solid #486a00;
  vertical-align: top;
}
.section-company table.green th {
  width: 150px;
  padding: 8px 6px 6px 0;
  vertical-align: top;
  color: #000;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .section-company table.green th {
    padding: 8px 6px 14px;
  }
}
.section-company table.green th:before {
  content: "";
}
.section-company table.green td {
  border-bottom: 1px solid #f4f4f4;
  padding: 0 22px 14px 0;
  line-height: 2;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .section-company table.green td {
    font-size: 16px;
    padding: 8px 22px 14px;
  }
}
.section-company table.green td img {
  margin-left: 0;
}
.section-company img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.section-company .section-access h2 {
  margin-top: 55px;
}
.section-company .section-access h3 {
  margin-top: 30px;
  margin-bottom: 24px;
}
.section-company .section-access h2 + h3 {
  margin-top: 31px;
  margin-bottom: 18px;
}
.section-company .section-access p {
  font-size: 16px;
  font-family: "Noto Sans CJK JP";
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .section-company .section-access p {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.05em;
  }
}
.section-company .section-access .flex-2 {
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .section-company .section-access .flex-2 {
    flex-wrap: nowrap;
  }
}
.section-company .section-access .flex-2 > * {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .section-company .section-access .flex-2 > * {
    width: 49%;
  }
}
@media screen and (min-width: 1050px) {
  .section-company .section-access .flex-2 > * {
    max-width: auto;
  }
}
.section-company .section-access .company-map {
  margin-top: 4px;
  padding-bottom: 56.25%;
  position: relative;
  height: 0;
  max-width: 100%;
  overflow: hidden;
}
.section-company .section-access .company-map iframe {
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  position: absolute;
}
.section-company table.history tr {
  padding: 13px 0;
  border-bottom: 1px solid #f4f4f4;
}
@media screen and (min-width: 768px) {
  .section-company table.history tr {
    padding: 0;
    border-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .section-company table.history tr:first-child th, .section-company table.history tr:first-child td {
    border-top: 1px solid #f4f4f4;
  }
}
.section-company table.history tr th, .section-company table.history tr td {
  padding: 0;
  border-top: 0;
  text-align: left;
  font-size: 14px;
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) {
  .section-company table.history tr th, .section-company table.history tr td {
    padding: 20px 24px;
    text-align: right;
    font-size: 16px;
  }
}
.section-company table.history tr th a, .section-company table.history tr td a {
  display: inline-block;
  color: #444;
  margin-top: 8px;
  text-decoration-style: dotted;
  font-size: 90%;
}
.section-company table.history tr th {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .section-company table.history tr th {
    padding: 17px 40px 20px 6px;
  }
}
.section-company table.history tr td {
  padding: 0;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .section-company table.history tr td {
    padding: 17px 8px 20px 20px;
  }
}

/* blog
██████  ██       ██████   ██████
██   ██ ██      ██    ██ ██
██████  ██      ██    ██ ██   ███
██   ██ ██      ██    ██ ██    ██
██████  ███████  ██████   ██████
*/
.section-blog img {
  display: block;
  margin: 32px auto;
  max-width: 75vw;
  height: auto;
}
@media screen and (min-width: 768px) {
  .section-blog img {
    max-width: 60%;
  }
}

.section-bloglist {
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .section-bloglist {
    padding-bottom: 0;
  }
}

.blog-smallinfo {
  padding-bottom: 32px;
  color: rgba(0, 0, 0, 0.7);
  line-height: 1.4;
}

/*
single-news
███████ ██ ███    ██  ██████  ██      ███████     ███    ██ ███████ ██     ██ ███████
██      ██ ████   ██ ██       ██      ██          ████   ██ ██      ██     ██ ██
███████ ██ ██ ██  ██ ██   ███ ██      █████ █████ ██ ██  ██ █████   ██  █  ██ ███████
     ██ ██ ██  ██ ██ ██    ██ ██      ██          ██  ██ ██ ██      ██ ███ ██      ██
███████ ██ ██   ████  ██████  ███████ ███████     ██   ████ ███████  ███ ███  ███████
*/
.news-post img {
  display: block;
  margin: 16px auto;
  max-width: 80vw !important;
  height: auto;
}
@media screen and (min-width: 768px) {
  .news-post img {
    max-width: initial;
  }
}

/* sp only
███████ ██████       ██████  ███    ██ ██   ██    ██
██      ██   ██     ██    ██ ████   ██ ██    ██  ██
███████ ██████      ██    ██ ██ ██  ██ ██     ████
     ██ ██          ██    ██ ██  ██ ██ ██      ██
███████ ██           ██████  ██   ████ ███████ ██
*/
/*
* Made by Erik Terwan
* 24th of November 2015
* MIT License
*
*
* If you are thinking of using this in
* production code, beware of the browser
* prefixes.
*/
@media screen and (max-width: 768px) {
  #sp-menu-container {
    display: block;
    position: relative;
    width: 100%;
    left: 0px;
    z-index: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
         user-select: none;
  }
  #sp-menu-container input {
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: 17px;
    right: 24px;
    cursor: pointer;
    opacity: 0; /* hide this */
    z-index: 2; /* and place it over the hamburger */
    -webkit-touch-callout: none;
  }
  /*
  * Just a quick hamburger
  */
  #sp-menu-hamburger {
    position: absolute;
    right: 80px;
    top: 25px;
  }
  #sp-menu-container span {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    left: 50px;
    background: #cdcdcd;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 4px 0px;
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
  }
  #sp-menu-container div span:first-child {
    transform-origin: 0% 0%;
  }
  #sp-menu-container div span:nth-last-child(2) {
    transform-origin: 0% 100%;
  }
  /*
  * Transform all the slices of hamburger
  * into a crossmark.
  */
  #sp-menu-container input:checked ~ div span {
    opacity: 0.7;
    background: #232323;
  }
  /* Make this absolute positioned at the top left of the screen */
  #sp-menu {
    position: absolute;
    width: 100%;
    margin: 0px 0 0 0px;
    padding: 5px 25px 25px;
    background: #486a00;
    transform-origin: 0% 0%;
    transform: translate(0, -100%);
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  }
  #sp-menu ul {
    list-style-type: none;
    -webkit-font-smoothing: antialiased;
    /* to stop flickering of text in safari */
  }
  #sp-menu li {
    padding: 10px 0;
  }
  #sp-menu li a {
    color: #f9f9f0;
    text-decoration: none;
  }
  /* And let's slide it in from the left */
  #sp-menu-container input:checked ~ #sp-menu {
    transform: none;
  }
}
/*
wpforms
██     ██ ██████  ███████  ██████  ██████  ███    ███ ███████
██     ██ ██   ██ ██      ██    ██ ██   ██ ████  ████ ██
██  █  ██ ██████  █████   ██    ██ ██████  ██ ████ ██ ███████
██ ███ ██ ██      ██      ██    ██ ██   ██ ██  ██  ██      ██
 ███ ███  ██      ██       ██████  ██   ██ ██      ██ ███████
*/
#contact {
  display: block;
}
@media screen and (min-width: 768px) {
  #contact {
    display: block;
  }
}

.wpforms-container,
.fm-form-container,
p.contact-txt {
  display: block !important;
  width: 90%;
  margin: auto;
  padding-bottom: 30px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .wpforms-container,
  .fm-form-container,
  p.contact-txt {
    width: 676px !important;
  }
}

.wpforms-field-container,
.fm-form {
  width: 90%;
  margin: 0 auto;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  .wpforms-field-container,
  .fm-form {
    width: 500px;
  }
}

#wpforms-45-field_3-container:before,
.wdform_page:before {
  content: url("../img/ttl_contact.png");
  margin: auto;
}

.wpforms-field select, .wpforms-field input, .wpforms-field textarea,
.wdform_row select,
.wdform_row input,
.wdform_row textarea {
  margin-top: 16px;
  width: 450px;
  max-width: 90%;
  height: 52px;
  border: none;
  border-radius: 4px;
  padding: 18px;
  background-color: #f4f4f4;
  color: #4c4c4c;
  font-size: 16px;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}
@media screen and (min-width: 768px) {
  .wpforms-field select, .wpforms-field input, .wpforms-field textarea,
  .wdform_row select,
  .wdform_row input,
  .wdform_row textarea {
    width: 500px;
  }
}
.wpforms-field select,
.wdform_row select {
  padding: 14px 18px;
}
.wpforms-field textarea,
.wdform_row textarea {
  height: 138px;
}

.wpforms-required-label,
.wdform-required {
  color: transparent;
}
.wpforms-required-label:after,
.wdform-required:after {
  content: url("../img/txt_required.png");
  position: relative;
  top: 4px;
}

.wpforms-field-label,
.wdform-label {
  margin-top: 24px;
  display: block;
  padding-left: 4.5vw;
  color: rgb(0, 0, 0);
  text-align: left;
  font-size: 16px;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  line-height: 2.125;
}
@media screen and (min-width: 768px) {
  .wpforms-field-label,
  .wdform-label {
    padding-left: 0;
  }
}

.wpforms-field-sublabel.after {
  display: none;
}

.wpforms-submit-button,
.button-submit {
  margin: 40px auto 0;
  width: 256px;
  height: 60px;
  border: 0;
  border-radius: 30px;
  background-color: #d53029;
  color: #fff;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .wpforms-submit-button,
  .button-submit {
    width: 328px;
  }
}
.wpforms-submit-button :hover,
.button-submit :hover {
  opacity: 0.7;
}

.wpforms-field-hp > * {
  display: none;
}

p.contact-txt {
  background-color: white;
  display: block;
  margin: 0 auto 0;
  padding: 0 8vw 32px;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  p.contact-txt {
    padding: 0 32px 32px;
  }
}

/* Last moment SP fixes */
@media screen and (max-width: 769px) {
  .section-about .float-cert > * {
    margin-top: 20px;
  }
  .section-about .float-cert > * img {
    margin-left: auto;
    margin-right: auto;
    width: 82%;
  }
  .section-about ul {
    margin-top: 22px;
  }
  .section-about ul li {
    font-size: 13px;
    line-height: 1.9;
  }
  .section-about table.cert {
    margin-top: -15px;
  }
  .section-about table.cert tr {
    padding-top: 20px;
    border-bottom: 1px solid #f4f4f4;
  }
  .section-about table.cert tr:first-child {
    border-top: 1px solid #f4f4f4;
  }
  .section-about table.cert tr th {
    padding-top: 0;
    padding-bottom: 0;
    text-align: left;
    letter-spacing: 0.05em;
  }
  .section-about table.cert tr td {
    padding-top: 12px;
    padding-bottom: 20px;
    font-size: 13px;
  }
  .product-flex > div:nth-child(2) {
    margin-top: 45px;
  }
}
.trainee-catch-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10.6666666667vw;
  margin: 7.7333333333vw 0 7.2vw;
}
@media screen and (min-width: 768px) {
  .trainee-catch-wrap {
    gap: 78px;
    margin: 75px 0 22px;
  }
}

.trainee-gallery-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3.4666666667vw;
  margin: 0 0 8vw;
}
@media screen and (min-width: 768px) {
  .trainee-gallery-wrap {
    width: 1024px;
    gap: 24px;
    margin: 0 0 75px;
  }
}
.trainee-gallery-wrap img {
  width: 40.2666666667vw;
}
@media screen and (min-width: 768px) {
  .trainee-gallery-wrap img {
    width: 323px;
  }
}

.trainee-certificate-wrap {
  margin: 0 auto 8vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .trainee-certificate-wrap {
    width: 500px;
    margin: 0 auto 80px;
  }
}
.trainee-certificate-wrap img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .trainee-certificate-wrap img {
    width: 400px;
  }
}
.trainee-certificate-wrap p {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .trainee-certificate-wrap p {
    margin: 12px 0 0;
    font-size: 16px;
  }
}

.trainee-contact-wrap {
  background: #F9F9F0;
  text-align: center;
  margin: 0 auto;
  box-sizing: border-box;
  width: 84vw;
  padding: 8.5333333333vw 4.8vw 10.1333333333vw;
}
@media screen and (min-width: 768px) {
  .trainee-contact-wrap {
    width: 1024px;
    height: 200px;
    padding: 31px 0 41px;
  }
}
.trainee-contact-wrap h4 {
  margin: 0 0 8vw;
  font-size: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .trainee-contact-wrap h4 {
    margin: 0 0 30px;
    font-size: 20px;
  }
}
.trainee-contact-wrap p {
  margin: 0;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .trainee-contact-wrap p {
    padding: 0;
    line-height: 1.6;
    font-size: 16px;
  }
}/*# sourceMappingURL=nishitetsu.css.map */