/* pankuzu */
#topickpath {
  margin: 1rem 1rem 6rem;
  position: relative;
  z-index: 1;
}
#topickpath ul {
  justify-content: flex-start;
  line-height: 2rem;
}

#topickpath ul .txt {
  font-size: 1rem;
}
#topickpath ul li:not(:last-child) {
  padding-right: 1.5rem;
  position: relative;
  margin-right: 0.5rem;
}

#topickpath ul li:not(:last-child):after {
  content: ">";
  position: absolute;
  right: 0;
  color: #666;
  font-size: 1rem;
}

#topickpath ul li {
  font-size: 1.2rem;
}

#topickpath a {
  color: #ff8066;
  border-bottom: 1px solid #ff8066;
}

.box h2 {
  font-size: 3rem;
  margin-bottom: 4rem;
  color: #ff8066;
  line-height: 4rem;
}
.box h3 {
  font-size: 2rem;
  margin-bottom: 4rem;
}
.box .inner {
  margin-bottom: 8rem;
}
#lead p {
  font-size: 1.5rem;
}
.bgGray {
  background: #efefef;
  padding: 2rem;
}
table {
  border: 0.1rem solid #ccc;
  text-align: left;
  width: 100%;
}
th,
td {
  text-align: left;
  padding: 2rem;
}
th {
  background: #efefef;
}

ul.pdfList {
  text-align: left;
  margin-bottom: 4rem;
}
ul.pdfList li {
  width: 100%;
}
ul.pdfList li:not(:last-child) {
  margin-bottom: 1rem;
}
ul.pdfList li a {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  padding-left: 3rem;
  position: relative;
  text-decoration: underline;
}
ul.pdfList li a:before {
  content: "";
  background-image: url(../images/common/icon_pdf.svg);
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  left: 0;
  top: 0.1rem;
}
a.accordion {
  cursor: pointer;
}

.accordion:before,
.accordion:after {
  display: block;
  content: "";
  background-color: #fff;
  position: absolute;
  width: 1.6rem;
  height: 0.2rem;
  top: calc(50% - 0.1rem);
  right: 2rem;
}

.accordion:before {
  width: 0.2rem;
  height: 1.6rem;
  top: calc(50% - 0.8rem);
  right: 2.7rem;
}

.open .accordion:before {
  display: none;
}
.accordion:hover:before,
.accordion:hover:after {
  background-color: #ff8066;
}

/* PHILOSOPHY */

#philosophy #philosophy01 figure {
  margin-bottom: 4rem;
}
#philosophy #philosophy01 figure img {
  border-radius: 1rem;
}
#philosophy #philosophy01 h3 {
  text-align: center;
  margin: 0 auto 2rem;
  font-size: 2rem;
  color: #ff8066;
}
#philosophy #message figure {
  margin-bottom: 2rem;
}
#philosophy #message p {
  margin-bottom: 2rem;
}
#philosophy #message p.name {
  font-size: 2rem;
  margin-top: 4rem;
}
#philosophy #message p.name span {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 1rem;
}

/* NEWS */

#news #newsList li {
  border-bottom: 0.2rem dotted #ccc;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  text-align: left;
}
#news #newsList .wrap-box {
  align-items: center;
}
#news #newsList li:last-child {
  border: none;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
}
#news #newsList li .tag {
  color: #fff;
  font-size: 1rem;
  padding: 0;
  width: 12rem;
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  border-radius: 10rem;
  margin: 0 1rem;
  line-height: 2rem;
}
#news #newsList li .news03 {
  background: #ed2f00;
}
#news #newsList li .news02,
#news #newsList li .news01 {
  background: #edc25f;
}
#news #newsList li a:not(.tag) {
  display: block;
  margin-top: 0.5rem;
}
#news #newsList ul {
  margin-bottom: 2rem;
}
#news .tag {
  border-radius: 6rem;
  font-size: 1rem;
  background: #edc25f;
  color: #fff;
  padding: 0.5rem 1rem;
  width: 12rem;
  margin: 0 1rem;
  box-sizing: border-box;
  display: inline-block;
  text-align: center;
  line-height: 1;
}
#news #contents .box .inner .tag {
  color: #fff;
}
#news .tag.news03 {
  background: #ed2f00;
}

.screen-reader-text {
  display: none !important;
}
.navigation {
  margin-top: 8rem;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.nav-links {
  display: flex;
  justify-content: center;
}
.navigation .page-numbers {
  font-size: 1.8rem;
  border: 0.2rem solid #ff8066;
  width: 4rem;
  height: 4rem;
  text-decoration: none !important;
  color: #ff8066;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  border-radius: 100%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.5rem;
}
.navigation a.page-numbers:hover,
.navigation .page-numbers.current {
  background: #ff8066;
  color: white !important;
  opacity: 1;
}
.navigation .page-numbers.next,
.navigation .page-numbers.prev {
  display: none;
}

#news #title {
  margin-bottom: 2rem;
}
#news #title h2 {
  border-bottom: 0.2rem dotted #ff8066;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  font-size: 1.8rem;
  line-height: 3rem;
  margin-top: 2rem;
}
#news #title .tag {
  margin-left: 0;
}
#news #title time {
  font-size: 1.2rem;
  line-height: 1;
}
#news #detail .inner img {
  max-width: 100%;
  width: auto;
  border-radius: 1rem;
}
#news #newsList .wrap-box {
  margin-bottom: 4rem;
  justify-content: space-between;
}
#news #newsList .wrap-box h3 {
  font-size: 2.4rem;
}
#news #newsList .wrap-box .btn {
  margin: 0;
  font-size: 1.3rem;
  padding: 1rem 2rem;
  width: auto;
  height: auto;
  min-width: inherit;
}

/* 404 */
#error #lead p {
  font-size: 1.2rem;
  margin-bottom: 4rem;
}

/* FACILITY */

#facility #lead p {
  margin-bottom: 4rem;
}
#facility #lead .wrap-box {
  justify-content: center;
}
#facility #lead .wrap-box li {
  margin: 0 1rem;
  border-right: 0.1rem solid #ccc;
  font-size: 1.5rem;
}
#facility #lead .wrap-box li a {
  color: #ff8066;
  text-decoration: underline;
}
#facility #lead .wrap-box li:not(:last-child) {
  padding-right: 2rem;
}
#facility #lead .wrap-box li:last-child {
  border: none;
}
#facility #facilityList .inner li figure .cap {
  padding-top: 75%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 2rem;
  background-image: url(../images/common/noimage.jpg);
}
#facility #facilityList .inner li figure h4 {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #ff8066;
}

#facility #facilityList .inner li {
  margin-bottom: 8rem;
  width: 100%;
}

/* CONTACT */

#contact #form p {
  margin-bottom: 4rem;
  display: block;
}
#contact #form table {
  margin-bottom: 4rem;
}
#contact #form table th {
  font-size: 1.5rem;
}
#contact #form table th .must {
  background: #ff8066;
  color: #fff;
  margin-left: 1rem;
  border-radius: 0.5rem;
  padding: 0.2rem 1rem;
  font-size: 1.2rem;
}

input {
  max-width: 100%;
}

.wrap-box .horizontal-item {
  width: 48%;
  display: inline-block;
}
.mw_wp_form .wrap-box .horizontal-item + .horizontal-item {
  margin: 0 !important;
}
#contact #contents #form.box table td input,
#contact #contents #form.box table td textarea {
  border: 0.1rem solid #ccc;
  padding: 1rem 2rem;
  background: #fff;
  border-radius: 0.5rem;
}

#contact #contents #form.box table td input:hover,
#contact #contents #form.box table td textarea:hover,
#contact #contents #form.box table td .selectWrap:hover,
#contact #contents #form.box table td input:focus,
#contact #contents #form.box table td textarea:focus,
#contact #contents #form.box table td .selectWrap:focus {
  border-color: #ff8066;
}

.horizontal-item {
  /* width: 45%; */
  display: inline-block;
}
#contact #contents #form.box table td input[type="text"] {
  width: 100%;
}
#contact #contents #form.box table td input#year {
  width: 9rem;
}
#contact #contents #form.box table td input#month,
#contact #contents #form.box table td input#day {
  width: 8rem;
  padding-right: 1rem;
}
#contact #contents #form.box table td input#zip {
  width: 35%;
  margin-right: 1.5rem;
}
#contact #contents #form.box table td input#addr {
  margin-top: 2rem;
  width: 100%;
  display: block;
}
#contact #contents #form.box table td input#mail {
  width: 100%;
}
#contact #contents #form.box table td .selectWrap {
  display: inline-block;
  position: relative; /* width: 50%;*/
  border: 0.1rem solid #ccc;
  background: #fff;
  border-radius: 0.5rem;
}

#contact #contents #form.box table td .selectWrap.facilityWrap {
  width: 100%;
}
#contact #contents #form.box table td .selectWrap select {
  width: 100%;
  padding: 1rem 2rem;
  padding-right: 5rem;
}
#contact #contents #form.box table td .selectWrap:before {
  position: absolute;
  top: 45%;
  right: 2rem;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-top: 0.6rem solid #4e255f;
  pointer-events: none;
}
@media screen\0 {
  #contact #contents #form.box table td .selectWrap:before {
    display: none !important;
  }
  #contact #contents #form.box table td .wrap-box {
    display: block;
  }
}

#contact #contents #form.box table td textarea {
  width: 100%;
}
#contact #form #privacy {
  width: 99rem;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6rem;
}
#contact #form #privacy p {
  margin-bottom: 4rem;
}
#contact #form #privacy .scrollBox h4 {
  font-size: 1.8rem;
  color: #4e255f;
  margin-bottom: 4rem;
}
#contact #form #privacy .scrollBox {
  border: 0.1rem solid #ccc;
  padding: 4rem;
  overflow-y: scroll;
  text-align: left;
  height: 20rem;
}
#contact #form #privacy .scrollBox dt {
  color: #333;
}
#contact #form #privacy .scrollBox dd {
  margin-bottom: 4rem;
}
#contact #contents #form.box table td input.error-box,
#contact #contents #form.box table td textarea.error-box {
  border-color: #b70000;
}
#contact #contents #form.box .checkboxWrap.error-box {
  border: 0.1rem solid #b70000;
  padding: 2rem;
}

.mw_wp_form_confirm {
  margin-top: -48rem;
  padding-top: 48rem;
}

.mw_wp_form_confirm .selectWrap {
  display: inline;
  margin: 0 1rem;
}
.mw_wp_form_confirm #privacy {
  display: none;
}
.backBtn {
  background: #ff8066;
  color: #fff;
}
.mw_wp_form_confirm .btn,
.mw_wp_form_confirm .backBtn {
  width: 30%;
}
.confirm-box {
  width: 60rem;
  margin: 4rem auto 0;
}
.mw_wp_form .vertical-item {
  width: 100%;
}

.confirm-box .btn {
  width: 45%;
}

.mw_wp_form_complete #lead p {
  margin-bottom: 4rem;
  font-size: 1.2rem;
}

#contact #contents .mw_wp_form_confirm #form.box table td .selectWrap {
  border: none;
  margin-left: 0;
}

#contact #contents .mw_wp_form_confirm #form.box table td .selectWrap::before {
  display: none;
}

#contact .mw_wp_form_input .disp-confirm {
  display: none;
}

#contact .mw_wp_form_confirm .disp-input {
  display: none;
}

#contact .mw_wp_form_complete .disp-input,
#contact .mw_wp_form_complete .disp-confirm {
  display: none;
}
#contact .checkWrap {
  display: flex;
  flex-wrap: wrap;
  margin: -2px -8px;
}

#contact .checkWrap .horizontal-item {
  margin: 2px 8px;
}

@media screen and (min-width: 769px) {
  #contact #form table th {
    width: 24rem;
  }

  .mw_wp_form_complete #lead p {
    margin-bottom: 6rem;
    font-size: 1.5rem;
  }

  #contact #contents #form.box table td input#year,
  #contact #contents #form.box table td input#my-year {
    width: 12rem;
  }

  #contact #contents #form.box table td input#month,
  #contact #contents #form.box table td input#my-month,
  #contact #contents #form.box table td input#day,
  #contact #contents #form.box table td input#my-day {
    width: 8rem;
  }
}

/* PRIVACY */

#privacy #lead p {
  font-size: 1.2rem;
  text-align: left;
}
#privacy #lead {
  margin-bottom: 4rem;
}
#privacy #privacy01 .bgGray,
#privacy .privacy .bgGray {
  padding: 2rem;
}
#privacy #privacy01 .bgGray dt,
#privacy .privacy .bgGray dt {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  line-height: 2.4rem;
}
#privacy #privacy01 .bgGray dd:not(:last-child),
#privacy .privacy .bgGray dd:not(:last-child) {
  margin-bottom: 4rem;
}
#privacy .privacy h3 {
  text-align: center;
  margin: 0 auto 4rem;
}
#privacy .privacy p.center {
  margin-bottom: 4rem;
}
#privacy #lead .wrap-box {
  justify-content: center;
  margin-bottom: 12rem;
}
#privacy #lead .wrap-box li {
  margin: 0 1rem;
  border-right: 0.1rem solid #ccc;
  font-size: 1.5rem;
}
#privacy #lead .wrap-box li a {
  color: #ff8066;
  text-decoration: underline;
}
#privacy #lead .wrap-box li:not(:last-child) {
  padding-right: 2rem;
}
#privacy #lead .wrap-box li:last-child {
  border: none;
}

@media screen and (max-width: 768px) {
  th,
  td {
    display: block;
    width: 100%;
  }
  #facility #facilityList .inner ul.wrap-box {
    display: inherit;
  }
  .confirm-box {
    width: 100%;
  }
  .confirm-box .btn {
    padding: 1rem;
  }
}

@media screen and (min-width: 769px) {
  #topickpath ul .txt {
    font-size: 1.2rem;
  }

  #topickpath {
    margin: 2rem 2rem 8rem;
  }

  .box h2 {
    font-size: 3.6rem;
    margin-bottom: 6rem;
  }

  #philosophy #philosophy01 h3 {
    margin: 0 auto 4rem;
    font-size: 2.4rem;
  }

  #philosophy #philosophy01 figure {
    margin-bottom: 6rem;
  }

  #philosophy #message figure {
    margin-bottom: 4rem;
    max-width: 40rem;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #philosophy #message p.name {
    font-size: 2.4rem;
    margin-top: 6rem;
  }

  #facility #lead p {
    margin-bottom: 6rem;
  }

  .box h3 {
    font-size: 2.4rem;
    margin-bottom: 6rem;
  }

  #facility #facilityList .inner li {
    width: 48%;
  }

  th,
  td {
    border-bottom: 0.1rem solid #ccc;
  }

  ul.pdfList li {
    width: 50%;
  }

  .bgGray {
    padding: 4rem;
  }

  #news #newsList li a:not(.tag) {
    display: inline;
  }

  #news #newsList li .tag {
    font-size: 1.2rem;
    padding: 0.5rem 1rem;
    width: 14rem;
    line-height: 1;
  }

  #news .tag {
    font-size: 1.2rem;
    width: 14rem;
  }

  #news #title time {
    font-size: 1.5rem;
  }

  #news #title h2 {
    font-size: 2.4rem;
  }

  #news #newsList ul {
    margin-bottom: 4rem;
  }

  #privacy #lead p {
    font-size: 1.5rem;
    text-align: center;
  }

  #privacy #privacy01 .bgGray,
  #privacy .privacy .bgGray {
    padding: 4rem;
  }

  #privacy #privacy01 .bgGray dt,
  #privacy .privacy .bgGray dt {
    font-size: 1.8rem;
  }
}

/* ============================================================
   Snow Monkey Forms を旧 MW WP Form の見た目に合わせる
   対象：お問い合わせページ #contact #form 内のSMFフォームのみ
   ============================================================ */

/* カスタムバリデーションのエラー文（JSが付与する .smf-error-messages：フリガナ・電話番号 共通） */
/* SMF純正エラーと同じクラスなので、純正の見た目に寄る。必要なら下記で上書き調整 */
#contact #form .smf-form .smf-error-messages {
  color: #b70000;
  font-size: 1.3rem;
  line-height: 1.6;
  margin-top: 1rem;
}

/* エラーになったフィールドの赤枠（JSが .smf-error-field を付与） */
#contact #form .smf-form .smf-error-field {
  border-color: #b70000 !important;
  background-color: #fff5f5;
}

/* 旧テーブルの罫線（オレンジ点線）＝ table border-top + tr border-bottom */

#contact #form .smf-form .disp-confirm + .smf-item {
  border-top: 0.1rem solid #ccc;
}

/* --- 行：旧テーブルの tr（ラベル列＝th ＋ 入力列＝td） --- */
#contact #form .smf-form .smf-item {
  display: flex;
  align-items: stretch;
  border-bottom: 0.1rem solid #ccc;
  border-left: 0.1rem solid #ccc;
  border-right: 0.1rem solid #ccc;
  width: 100%;
}
/* ラベル列＝旧 th（薄ピンク背景・オレンジ文字・中央寄せ・縦中央） */
#contact #form .smf-form .smf-item__col--label {
  flex: 0 0 30rem;
  max-width: 30rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #efefef;
  text-align: center;
  padding: 3rem;
  font-size: 1.5rem;
  line-height: 2.6rem;
  font-weight: bold;
}
#contact #form .smf-form .smf-item__label__text {
  font-weight: 700;
  display: flex;
  align-items: center;
}
/* 必須バッジ＝旧 .must */
#contact #form .smf-form .smf-item__label__text strong {
  display: inline-block;
  background: #ff8066;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.3rem 1rem 0.5rem;
  border-radius: 0.6rem;
  margin-left: 1rem;
}
/* 入力列＝旧 td（白背景・左寄せ・padding 3rem・縦中央） */
#contact #form .smf-form .smf-item__col--controls {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  text-align: left;
  padding: 3rem;
  font-size: 1.5rem;
}

/* --- 入力欄（テキスト/メール/電話/テキストエリア/セレクト）＝旧 input/textarea --- */
#contact #form .smf-form .smf-text-control__control,
#contact #form .smf-form .smf-textarea-control__control,
#contact #form .smf-form .smf-select-control__control {
  border: 0.1rem solid #ccc;
  border-radius: 0.5rem;
  background: #fff;
  padding: 1rem 2rem;
  box-shadow: none;
}
#contact #form .smf-form .smf-text-control__control:hover,
#contact #form .smf-form .smf-text-control__control:focus,
#contact #form .smf-form .smf-textarea-control__control:hover,
#contact #form .smf-form .smf-textarea-control__control:focus,
#contact #form .smf-form .smf-select-control__control:hover,
#contact #form .smf-form .smf-select-control__control:focus {
  border-color: #ff8066;
}

/* --- 幅：テキスト系は50%、メール・住所・テキストエリアは100% --- */
#contact #form .smf-form [data-name="email"] .smf-text-control,
#contact #form .smf-form [data-name="addr"] .smf-text-control,
#contact #form .smf-form .smf-textarea-control {
  width: 100%;
}
#contact #form .smf-form .smf-textarea-control__control {
  width: 100%;
}

/* --- 入力欄とセレクトの高さを揃える（外形5.2rem） --- */
/* テキスト系は枠込み5.2rem、selectは外枠(.2rem)を足して5.2remになるよう5rem */
#contact #form .smf-form .smf-text-control__control {
  height: 5.2rem;
  width: 100%;
}
#contact #form .smf-form [data-name="pref"] .smf-select-control__control {
  height: 5rem;
}

/* --- セレクト（都道府県）＝旧 selectWrap（枠線は外側div・selectは枠なし・三角矢印） --- */
/* 外側div＝旧 .selectWrap（枠線・白背景・角丸・基準位置） */
#contact #form .smf-form .smf-select-control {
  position: relative;
  display: inline-block;
  width: 40%;
  min-width: 15.5rem;
  border: 0.1rem solid #ccc;
  background: #fff;
  border-radius: 0.5rem;
}
/* select本体は枠なし（枠は外側divが持つ） */
#contact #form .smf-form .smf-select-control__control {
  width: 100%;
  border: none;
  background: transparent;
  box-shadow: none;
  padding: 1rem 2rem;
}
/* SMF既定の矢印を隠し、旧テーマの三角矢印（紫）に差し替え */
#contact #form .smf-form .smf-select-control__toggle {
  display: none;
}
#contact #form .smf-form .smf-select-control:before {
  content: "";
  position: absolute;
  top: 45%;
  right: 2rem;
  width: 0;
  height: 0;
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-top: 0.6rem solid #4e255f;
  pointer-events: none;
  z-index: 2;
}

/* --- チェックボックス・ラジオを横並びに（旧 horizontal-item 風） --- */
#contact #form .smf-form .smf-checkboxes-control__control,
#contact #form .smf-form .smf-radio-buttons-control__control {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
}
/* チェック/ラジオの選択色を旧テーマのオレンジに */
#contact #form .smf-form .smf-checkbox-control__control:checked,
#contact #form .smf-form .smf-radio-button-control__control:checked {
  background-color: #ff8066;
  border-color: #ff8066;
}

/* --- 確認画面（data-screen="confirm"）では個人情報文を非表示 --- */
#contact #form .snow-monkey-form[data-screen="confirm"] .privacy-text {
  display: none;
}

/* --- 確認/送信ボタン＝旧 .btn（白地・オレンジ枠・オレンジ文字／hoverでオレンジ地・白文字） --- */
/* ※ .smf-action は .smf-form の外（兄弟）なので .smf-form 配下にしない */
#contact #form .smf-action {
  text-align: center;
  margin-top: 4rem;
  display: flex;
  justify-content: center;
}
#contact #form .smf-action .smf-button-control__control {
  display: inline-block;
  border-radius: 10rem;
  background: #fff;
  color: #ff8066;
  width: auto;
  border: 0.2rem solid #ff8066;
  text-align: center;
  margin: auto;
  transition: 0.4s;
  font-size: 1.5rem;
  padding: 1.5rem 7rem;
  min-width: 24rem;
  box-sizing: border-box;
  opacity: 1;
  position: relative;
  line-height: 1;
  height: 5rem;
  cursor: pointer;
}
#contact #form .smf-action .smf-button-control__control:hover {
  background: #ff8066;
  color: #fff;
  opacity: 1;
}

/* --- スマホ：ラベルと入力欄を縦積みに --- */
@media screen and (max-width: 768px) {
  #contact #form .smf-form .smf-item {
    display: block;
  }
  #contact #form .smf-form .smf-item__col--label {
    max-width: none;
    justify-content: flex-start;
    text-align: left;
    padding: 1.5rem 2rem;
  }
  #contact #form .smf-form .smf-item__col--controls {
    padding: 2rem;
  }
  #contact #form .smf-form .smf-text-control,
  #contact #form .smf-form [data-name="pref"] .smf-select-control {
    width: 100%;
  }
  /* ボタンSP＝旧 .btn のSP指定 */
  #contact #form .smf-action .smf-button-control__control {
    height: auto;
    padding: 1.2rem 4rem;
    min-width: inherit;
    font-size: 1.2rem;
  }
}

#contact #form .smf-form .smf-item__col--controls p {
  margin-bottom: 0;
  margin-top: 0;
}

#contact #form .smf-form .smf-radio-button-control,
#contact #form .smf-form .smf-checkbox-control {
  align-items: center;
}

#contact #form .smf-form .smf-radio-button-control__control,
#contact #form .smf-form .smf-checkbox-control__control {
  margin-top: 0;
}

#contact #form .wp-container-core-group-is-layout-4fc3f8e1 {
  gap: 2rem;
}

#contact #form p.wp-block-paragraph {
  margin-top: 4rem;
}

.smf-form [data-invalid="1"],
#contact #form .smf-form .smf-text-control__control[data-invalid="1"],
#contact #form .smf-form .smf-textarea-control__control[data-invalid="1"],
#contact #form .smf-form .smf-select-control__control[data-invalid="1"] {
  border-color: #b70000;
}
#contact #form .smf-form .smf-textarea-control__control {
  padding: 2rem;
  line-height: 2;
}

#contact #form .snow-monkey-form[data-screen="confirm"] .privacy-text {
  display: none;
}

.disp-confirm {
  display: none;
}

#contact #form .snow-monkey-form[data-screen="confirm"] .disp-confirm {
  display: block;
}

#contact #form .snow-monkey-form[data-screen="confirm"] .disp-input {
  display: none;
}

.smf-placeholder {
  line-height: 2;
}

#contact #form p a.btn {
  text-decoration: none;
}

#contact #form p a.btn:hover {
  color: #fff;
}

#contact #form .smf-form .smf-text-control__control#addr {
  max-width: 100%;
}

#contact #form .smf-form .smf-placeholder,
#contact #form .wp-container-core-group-is-layout-8f761849 {
  width: 100%;
}

#contact #form .smf-form .smf-placeholder[data-name="zip"] {
  max-width: 12rem;
}

#contact
  #form
  .smf-form
  .smf-placeholder[data-name="category"]
  .smf-radio-buttons-control__control {
  flex-direction: column;
}

#contact #form.box h3 {
  margin-bottom: 3rem;
}

.snow-monkey-forms-turnstile > div {
  justify-content: center;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  #contact #form .smf-form .smf-checkboxes-control__control {
    flex-direction: column;
  }
  #contact #form .smf-form .smf-select-control {
    width: 100%;
  }
}

/* お問い合わせ種別による出し分け：既定で隠す（contact.jsが該当のみ表示） */
/* ※ #contact #form .smf-form .smf-item { display:flex } より詳細度が高い必要があるため
      スコープを付け、念のため !important で確実に隠す */
.hide {
  display: none;
}
#contact #form .smf-form .smf-item.hide {
  display: none !important;
}

#contact #form p a.btn {
  color: #fff;
}

#contact #form p a.btn:hover {
  color: #ff8066;
}
