@charset "UTF-8";
.test {
  color: #7DC111; }

.d-flex {
  display: flex;
  justify-content: space-between;
  margin-top: 1.5em; }

.p {
  color: pink; }

.r {
  color: red; }

.g {
  color: green; }

.m {
  color: magenta; }

.d {
  color: dodgerblue; }

.container {
  padding: 0 12px; }

@media print, screen and (min-width: 640px) {
  .container {
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
    width: 640px; } }
@media print, screen and (min-width: 800px) {
  .container {
    padding: 0 30px;
    width: 800px; } }
body {
  font-family: "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, Osaka, sans-serif; }

header {
  text-align: center; }

#header-inner {
  position: relative;
  padding: 0;
  background: #006835; }
  #header-inner #logo {
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
    font-size: 21px; }

.site-content .scroll-box {
  overflow-x: scroll;
  white-space: nowrap; }
.site-content h3 {
  color: #356813;
  border-bottom: dotted 1px; }
.site-content h2 + *,
.site-content h3 + * {
  margin-top: 0.5em; }
.site-content ol {
  padding-left: 1.5em; }
.site-content li {
  margin-top: 0.25em; }
.site-content table {
  background: #fff; }
.site-content table.w100 {
  width: 100%; }
.site-content form .btn {
  padding: 1px 1.5em 3px; }
.site-content .d-flex {
  list-style: none !important;
  padding-left: 0; }
  .site-content .d-flex li {
    margin: 0; }
  .site-content .d-flex.wrap {
    flex-wrap: wrap; }
  .site-content .d-flex.col-2 > * {
    width: 48%; }
  .site-content .d-flex.col-3 > * {
    width: 30.4%; }
  .site-content .d-flex.col-3.inline-start::after {
    content: "";
    display: block;
    width: 30.4%;
    height: 0; }
.site-content .block-buttons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 1.5em;
  margin-bottom: 1.5em; }
  .site-content .block-buttons .block-button {
    cursor: pointer; }
    .site-content .block-buttons .block-button a {
      display: block;
      padding: 0.75em 1.5em;
      text-align: center;
      text-decoration: none; }
  .site-content .block-buttons .primary,
  .site-content .block-buttons .primary a {
    background: #1c7e17;
    color: #fff;
    font-size: 16px;
    border-radius: 4px; }
  .site-content .block-buttons .wide {
    min-width: 300px;
    max-width: 100%; }
.site-content .__table-1 {
  width: 100%;
  border-bottom: solid 1px #eee; }
  .site-content .__table-1 th {
    background-color: transparent;
    text-align: left;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom-width: 3px; }
  .site-content .__table-1 td {
    border: none; }
  .site-content .__table-1 td:nth-child(4) {
    text-align: right; }
  .site-content .__table-1 td:nth-child(5) {
    text-align: center; }
.site-content .bi-color tbody tr:nth-of-type(odd) {
  background-color: #EEE; }
.site-content .mgt_0 {
  margin-top: 0.25em; }
.site-content .mgt_half {
  margin-top: 0.75em; }
.site-content .mgt_m1 {
  margin-top: -1em; }

footer .d-flex {
  gap: 1.5em;
  justify-content: center; }

#topimage li {
  padding-top: 46.25%;
  background: url('../images/users/main.jpg?1718846121') center no-repeat;
  background-size: cover;
  background-repeat: no-repeat; }

.home .gut-replacement ol.flow {
  padding-left: 0; }
  .home .gut-replacement ol.flow > li {
    display: flex;
    margin-bottom: 2.5em; }
    .home .gut-replacement ol.flow > li > div {
      align-content: center; }
    .home .gut-replacement ol.flow > li > div:first-child {
      width: 4em;
      color: #fff;
      background: #1c7e17;
      text-align: center;
      vertical-align: middle;
      border-radius: 3px 0 0 3px; }
    .home .gut-replacement ol.flow > li > div:last-child {
      padding: 0.5em 0.75em;
      width: -webkit-fill-available;
      border: solid 2px #1c7e17;
      border-radius: 0 3px 3px 0; }
      .home .gut-replacement ol.flow > li > div:last-child::after {
        content: "⇩";
        display: block;
        position: absolute;
        left: calc((25 - 13) * -4px);
        margin: 0.5em 54% 0;
        font-size: 25px;
        line-height: 1; }
    .home .gut-replacement ol.flow > li:last-child {
      margin-bottom: 0; }
      .home .gut-replacement ol.flow > li:last-child > div:last-child::after {
        display: none; }
.home .gut-replacement .price {
  display: grid;
  gap: 12px;
  margin-top: 1em; }
  .home .gut-replacement .price > div {
    padding: 0.75em 0.5em;
    background-color: #d7fc86;
    border-radius: 8px;
    text-align: center; }
  .home .gut-replacement .price > :nth-child(4) {
    grid-column: 1 / 4;
    grid-row: 2 / 3; }

.d-flex.gut-brands {
  row-gap: 1.5em;
  margin-bottom: -2em; }
  .d-flex.gut-brands figure {
    margin: 0;
    padding-bottom: 8px;
    border: solid 1px #ccc;
    border-radius: 8px;
    text-align: center;
    line-height: 1; }
    .d-flex.gut-brands figure a {
      display: block;
      margin-top: -2.5%;
      margin-left: -10%;
      width: 120%;
      height: auto;
      clip-path: content-box inset(8% 10% 8.6% 10%); }
  .d-flex.gut-brands figcaption {
    margin-top: -6%;
    font-weight: 700; }

.shop dl {
  margin-top: 0; }
.shop .categories li::before {
  content: "◆"; }
.shop #map_area {
  position: relative;
  margin-top: 0;
  padding: 1px;
  padding-bottom: 400px;
  /*高さは400pxで固定*/
  height: 0;
  border: solid 1px #999;
  overflow: hidden; }
.shop #map_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important; }
.shop .s_01::after, .shop .s_02::after, .shop .s_03::after, .shop .s_04::after, .shop .s_05::after, .shop .s_06::after, .shop .s_07::after {
  display: block;
  content: "";
  margin-bottom: 1em;
  aspect-ratio: 4 / 3;
  background-size: contain; }
.shop .s_01::after {
  background-image: url('../images/users/shop_01.jpg?1720149338'); }
.shop .s_02::after {
  background-image: url('../images/users/shop_02.jpg?1720149418'); }
.shop .s_03::after {
  background-image: url('../images/users/shop_03.jpg?1720149582'); }
.shop .s_04::after {
  background-image: url('../images/users/shop_04.jpg?1693200688'); }
.shop .s_05::after {
  background-image: url('../images/users/shop_05.jpg?1720148271'); }
.shop .s_06::after {
  background-image: url('../images/users/shop_06.jpg?1720148120'); }
.shop .s_07::after {
  background-image: url('../images/users/shop_07.jpg?1720149663'); }

.legal-indication th {
  width: 10em; }

.form .site-content h3 {
  margin-bottom: 1em; }
.form .site-content textarea {
  width: 100%;
  height: 6em; }
.form .site-content textarea.line3 {
  height: 3em; }
.form .site-content .fields-radio {
  display: flex;
  align-items: center; }
  .form .site-content .fields-radio input {
    margin: 0 1.5em 0 0.4em; }

@media screen and (max-width: 639px) {
  .site-content h1,
  .site-content h2,
  .site-content h3,
  .site-content h4,
  .site-content h5,
  .site-content h6 {
    font-size: 100%; }

  .home .gut-replacement ol.flow {
    padding-left: 0; }

  .shop .site-content dt {
    font-weight: bold; }
  .shop .site-content dt:before {
    content: "◆"; }
  .shop .site-content dd {
    margin-left: 0; }
  .shop .site-content dd + dd {
    margin-top: 1em; }
  .shop .site-content #map_area {
    margin-top: 0.75em;
    padding-bottom: 250px;
    /*高さは250pxで固定*/ }

  .form .site-content .d-flex {
    display: block; } }
@media print, screen and (min-width: 640px) {
  #sidebar_2 {
    padding-bottom: 12px; }

  .site-content {
    min-height: 260px; }
    .site-content h2,
    .site-content h3,
    .site-content h4,
    .site-content h5,
    .site-content h6,
    .site-content p,
    .site-content dl,
    .site-content ul,
    .site-content ol,
    .site-content table,
    .site-content form {
      margin-left: 8px; }
    .site-content .ml-0px {
      margin-left: 0; }
    .site-content .ml-8px {
      margin-left: 8px; }

  .asset {
    padding: 0 0 10px 0; }

  .asset:last-child {
    padding: 0 0 30px 0; }

  .home .gut-type {
    margin-top: 1.5em; }
    .home .gut-type > * {
      margin-left: 0; }
  .home .price {
    margin-left: 8px; }

  .gut-brands {
    margin-left: 8px;
    margin-right: 8px; }

  .shop .site-content dt {
    display: block;
    padding: 4px 8px;
    width: auto;
    min-width: 6em;
    max-width: 12em;
    color: #fff;
    background: #1c7e17;
    text-align: center;
    border-radius: 3px; }
  .shop .site-content dd {
    display: block;
    margin: 1em 0 0; }

  .form .site-content .d-flex {
    display: block; } }
@media print, screen and (min-width: 800px) {
  nav,
  #sidebar_2 {
    float: left;
    margin: 0 12px;
    width: 160px; }

  #sidebar_2 {
    padding-bottom: 12px; }

  #content {
    float: right;
    margin: 0 30px 0 18px;
    width: 568px; }

  #global-navi {
    width: 158px; }

  .mgt_m1-pc {
    margin-top: -1em !important; }

  .site-content {
    min-height: 280px; }
    .site-content .scroll-box {
      overflow-x: auto;
      white-space: normal;
      padding-left: 8px; }
      .site-content .scroll-box table {
        margin-left: 0; }
    .site-content .block-buttons .block-button a {
      padding: 0.5em 1.5em 0.75em;
      text-align: center;
      text-decoration: none; }

  .form .site-content h3 {
    margin-left: 0; }
    .form .site-content h3 span {
      color: #666;
      font-size: 11px;
      font-weight: 400; }
  .form .site-content .d-flex {
    display: flex;
    justify-content: space-between; }
    .form .site-content .d-flex input[type="text"] {
      width: 100%;
      box-sizing: border-box; }
  .form .site-content .d-flex > :nth-child(1) {
    width: 15em; }
  .form .site-content .d-flex > :nth-child(2),
  .form .site-content .d-flex > :nth-child(3) {
    width: 7em; }
  .form .site-content .d-flex > :nth-child(4) {
    width: fit-content; }
    .form .site-content .d-flex > :nth-child(4) input {
      width: 7em; } }
