@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");

/* ==========================================================================
   Contact Page Header Override
   ========================================================================== */

/* コンタクトページ専用ヘッダースタイル */
.l-header {
  position: static !important;
  background-color: #adbfd3 !important;
}

/* コンタクトページのセクションタイトルを中央揃え */
.c-section-title,
.c-section-text {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-section-title,
  .c-section-text {
    text-align: left;
  }

  /* thanks.htmlのタイトルもSP版で左揃え */
  .p-contact .c-section-title {
    text-align: left !important;
  }
}

.c-section-text {
  margin-bottom: 0;
}

/* Basic utility classes */
.scr {
  opacity: 0;
  -webkit-transition: all linear 0.3s;
  transition: all linear 0.3s;
}

.scr.left {
  -webkit-transform: translateX(30px);
  transform: translateX(30px);
}

.scr.right {
  -webkit-transform: translateX(-30px);
  transform: translateX(-30px);
}

.scr.up {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
}

.scr.down {
  -webkit-transform: translateY(-30px);
  transform: translateY(-30px);
}

.scr.animation {
  opacity: 1;
  -webkit-transform: translateX(0) translateY(0);
  transform: translateX(0) translateY(0);
}

@media all and (-ms-high-contrast: none) {
  .scr {
    opacity: 1 !important;
    -webkit-transform: translateX(0) translateY(0) !important;
    transform: translateX(0) translateY(0) !important;
  }
}

.contarea {
  max-width: 1160px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .contarea {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .contarea {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

.text-white {
  color: #fff;
}

.text-bold {
  font-weight: bold;
}

.text-black {
  font-weight: 900;
}

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

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

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

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

/* CSS Variables for AKEDORI CHEESE FACTORY */
:root {
  --maincol: #090909;
  --subcol1: #c60000;
  --subcol2: #ffffff;
  --bgcol: #fcfaf0;
  --linecol: #999999;
  --font-b: 700;
}

body {
  position: relative;
  color: var(--maincol);
  -webkit-text-size-adjust: 100%;
  max-width: 100%;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  background: var(--bgcol);
}

main {
  overflow-x: hidden;
}

img {
  vertical-align: bottom;
  width: auto;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
  vertical-align: text-top;
}

a {
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}

/* Contact form styles */
.area_form {
  max-width: 760px;
  margin: 8rem auto 0;
  padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .area_form {
    margin: 6rem auto 0;
    padding-bottom: 3rem;
  }
}

/* Form input styles */
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  width: 100%;
  border: 1px solid var(--linecol);
  background: #fff;
  padding: 5px 10px;
}

textarea {
  height: 130px;
}

.box_radio input[type="radio"] {
  display: none;
}
.box_radio input[type="radio"]:checked + label::after {
  width: 15px;
  height: 15px;
  background: var(--maincol);
  left: 5px;
}
.box_radio label {
  position: relative;
  display: block;
  padding: 7px 10px 7px 35px;
}
.box_radio label::before,
.box_radio label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 100%;
}
.box_radio label::before {
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid var(--linecol);
  left: 0;
}

/* チェックボックス用スタイル */
.box_checkbox input[type="checkbox"] {
  opacity:0; /* 要素を透明に */
  height: 1px; /* 高さを出して 0 x 0 を回避 */
  width: 1px;
  -webkit-appearance: none; /* アウトライン消す */
  appearance: none;
}
.box_checkbox input[type="checkbox"]:checked + label::after {
  width: 12px;
  height: 8px;
  background: transparent;
  border: none;
  border-left: 2px solid var(--maincol);
  border-bottom: 2px solid var(--maincol);
  left: 7px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transform: rotate(-45deg);
  border-radius: 0;
}
.box_checkbox label {
  position: relative;
  display: block;
  padding: 7px 10px 7px 35px;
  font-size: 1.4rem;
  line-height: 1.6;
}
.box_checkbox label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 25px;
  height: 25px;
  background: #fff;
  border: 1px solid var(--linecol);
  border-radius: 3px;
  left: 0;
}
.box_checkbox label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.box_checkbox label a {
  color: var(--subcol1);
  text-decoration: underline;
}
.box_checkbox label a:hover {
  opacity: 0.7;
}

/* プライバシーポリシー同意部分を中央揃え */
.list_form .privacy-agree {
  text-align: center;
  width: 100% !important;
}
.list_form .privacy-agree .box_checkbox {
  display: inline-block;
  text-align: left;
}

/* Form layout styles */
.list_form dt {
  font-weight: var(--font-b);
}
.list_form .req {
  display: inline-block;
  padding: 0 15px;
  margin-left: 5px;
  border: 1px solid var(--subcol1);
  color: var(--subcol1);
  font-size: 13px;
  font-weight: normal;
}

/* 送信ボタンをメインページと統一 */
.btn_submit {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  font: inherit;
  color: inherit;
  text-decoration: none;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.6rem 6rem;
  border: 1px solid #090909;
  background-color: transparent;
  color: #090909;
  text-align: center;
  line-height: 1.78;
  -webkit-transition: 250ms ease-in-out;
  transition: 250ms ease-in-out;
  max-width: 344px;
  margin: 0 auto 2rem auto;
}
.btn_submit.back {
  background: #090909;
  color: #fff;
  border: 1px solid #090909;
}
.btn_submit:hover,
.btn_submit:focus-visible {
  background-color: #090909;
  color: #ffffff;
}
.btn_submit:focus-visible {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}
.btn_submit.back:hover,
.btn_submit.back:focus-visible {
  background-color: transparent;
  color: #090909;
  border: 1px solid #090909;
}
.btn_submit.back:focus-visible {
  outline: 2px solid #005fcc;
  outline-offset: 2px;
}

/* 矢印アイコンを削除 */
.btn_submit::after {
  display: none;
}

@media screen and (max-width: 767px) {
  .list_form dt {
    margin-bottom: 5px;
  }
  .list_form dd {
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .list_form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .list_form dt {
    width: 210px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 30px;
  }
  .list_form dd {
    width: calc(100% - 210px);
    margin-bottom: 20px;
  }
}
.prg_h {
  margin-bottom: 12px;
}

.prg {
  margin-bottom: 16px;
}

.prg_w {
  margin-bottom: 22px;
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  .prg_w {
    margin-bottom: 25px;
    text-align: center;
  }
}

.prg_2w {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .prg_2w {
    margin-bottom: 40px;
  }
}

.prg_3w {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .prg_3w {
    margin-bottom: 60px;
  }
}

.prg_4w {
  margin-bottom: 50px;
}
@media print, screen and (min-width: 768px) {
  .prg_4w {
    margin-bottom: 80px;
  }
}
