@charset "UTF-8";
/*
  Template: swell
  Theme Name: swell child
  Theme URI: https://swell-theme.com/
  Description: SWELL CHILD
  Version: 1.0.0
  Author: LOOS WEB STUDIO
  Author URI: https://loos-web-studio.com/

  License: GNU General Public License
  License URI: http://www.gnu.org/licenses/gpl.html
*/
html, body,
h1, h2, h3, h4, h5, h6,
p, li, ul, ol, a, strong, div {
  font-family: "Noto Serif JP", serif !important;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color_main) !important;
}

.contents_box {
  margin: 0 auto !important;
  padding-top: 0 !important;
}

.top .contents_box {
  padding-top: 0 !important;
}
.top #content {
  margin: 0 auto !important;
  padding-top: 1rem !important;
}

form {
  display: inline-block;
  width: 100%;
  margin: 0 auto;
}

button, input, select, textarea {
  width: 100%;
}

label {
  color: #000000;
  font-weight: bold;
}

input[type=checkbox] {
  width: fit-content;
  margin: 1rem auto;
}

.wpcf7-list-item {
  overflow: visible;
  width: 100%;
  margin: 1rem auto;
  text-align: center;
}

h1.c-pageTitle {
  color: #ffffff !important;
}

span.c-pageTitle__inner {
  color: var(--color_main) !important;
}

h1.c-postTitle__ttl {
  margin: 0;
}

.c-gnav > .menu-item:last-of-type > a {
  background-color: var(--color_main);
  color: #ffffff;
  transition: background-color 0.5s;
}
.c-gnav > .menu-item:last-of-type > a:hover {
  background-color: #dd8b42;
}

.c-submenuToggleBtn {
  color: white !important;
}

@media (min-width: 960px) {
  .-parallel-bottom .l-header__logo {
    width: 80vw;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center !important;
  }
  .-parallel .l-header__inner {
    justify-content: center;
  }
}
/* グロナビのボタンカラム */
.gnavi-btn-column {
  display: block;
  width: 50vw;
}
.gnavi-btn-column a {
  text-decoration: none;
  -webkit-text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, text-shadow 0.18s ease, letter-spacing 0.18s ease, color 0.18s ease;
  text-shadow: 0 0.5px 0 rgba(0, 0, 0, 0.25);
  outline: none;
  font-weight: 700;
}
.gnavi-btn-column a:visited {
  color: inherit;
}
.gnavi-btn-column a:hover, .gnavi-btn-column a:focus {
  text-decoration: none;
  -webkit-text-decoration: none;
}
@media (prefers-reduced-motion: no-preference) {
  .gnavi-btn-column a:hover {
    transform: translateY(-1px);
    letter-spacing: 0.02em;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  }
}
.gnavi-btn-column a:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
  border-radius: 3px;
}
.gnavi-btn-column [class*=is-style-btn_] {
  width: 17vw;
}

.original-footer a {
  text-decoration: none;
  -webkit-text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, text-shadow 0.18s ease, letter-spacing 0.18s ease, color 0.18s ease;
  text-shadow: 0 0.5px 0 rgba(0, 0, 0, 0.25);
  outline: none;
}
.original-footer a:visited {
  color: inherit;
}
.original-footer a:hover, .original-footer a:focus {
  text-decoration: none;
  -webkit-text-decoration: none;
}
@media (prefers-reduced-motion: no-preference) {
  .original-footer a:hover {
    transform: translateY(-1px);
    letter-spacing: 0.02em;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  }
}
.original-footer a:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.35);
  outline-offset: 2px;
  border-radius: 3px;
}/*# sourceMappingURL=style.css.map */


/* ==== 基本トークン ==== */
.original-form {
  --gap: 1rem;
  --label-w: 14rem;   /* PC時の左カラム幅（調整可） */
  --border: #e5e7eb;
  --text: #111;
  --muted: #6b7280;
  --accent: #111;
  --error: #dc2626;
  --btn-bg: #04384C;   /* ボタン青 */
  --btn-text: #fff;    /* ボタン文字 白 */
}

/* ==== 行：SPは縦1列、PCで2カラム ==== */
label.original-form__row {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: 100%;
	margin:1.25rem auto;
}
@media (min-width: 960px) {
  label.original-form__row {
    flex-direction: row;
    align-items: flex-start;
    column-gap: 1rem;
  }
}

/* 左カラム（項目名） */
.original-form__label {
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.6;
  display: inline-flex;
  align-items: flex-start;
	    flex-direction: column;
	gap: .5rem;
}
@media (min-width: 960px) {
  .original-form__label {
    flex: 0 0 var(--label-w);
    max-width: var(--label-w);
  }
}
.original-form__label .req {
  font-size: .72rem;
  font-weight: 700;
  padding: .35em .5em;
  background: #dc2626; /* 赤背景 */
  color: #fff;         /* 白文字 */
  border-radius: .45em;
  line-height: 1;
}

/* 右カラム（入力） */
.o-input,
.o-textarea,
.original-form input[type="text"],
.original-form input[type="email"],
.original-form input[type="tel"],
.original-form textarea,
.original-form select,
.original-form .wpcf7-form-control-wrap {
  width: 100%;
}
@media (min-width: 960px) {
  .original-form .wpcf7-form-control-wrap,
  .original-form input[type="text"],
  .original-form input[type="email"],
  .original-form input[type="tel"],
  .original-form textarea,
  .original-form select {
    flex: 1 1 auto;
  }
}

.o-input,
.o-textarea,
.original-form input[type="text"],
.original-form input[type="email"],
.original-form input[type="tel"],
.original-form textarea,
.original-form select {
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: .6rem;
  background: #fff;
  line-height: 1.5;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  appearance: none;
}
.o-input:focus,
.o-textarea:focus,
.original-form input:focus,
.original-form textarea:focus,
.original-form select:focus {
  outline: none;
  border-color: #9ca3af;
  box-shadow: 0 0 0 .18rem rgba(0,0,0,.04);
}
.original-form ::placeholder { color: var(--muted); }
.o-textarea,
.original-form textarea { min-height: 10rem; resize: vertical; }

/* ==== ラジオボタン（横並び強制） ==== */
.original-form .wpcf7-form-control.wpcf7-radio {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.5rem; /* 項目間の余白 */
}
.original-form .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  margin: 0 !important;
  display: flex !important;
  align-items: center;
}
.original-form .wpcf7-form-control.wpcf7-radio input[type="radio"] {
  width: 1rem;
  height: 1rem;
  margin-right: .3rem;
  accent-color: var(--accent);
}

/* ==== 同意チェック ==== */
.original-form__row--agree { 
  margin-top: .25rem; 
  text-align: center;
}
@media (min-width: 960px) {
  .original-form__row--agree {
    flex-direction: column;    
    text-align: center;        
  }
}
.o-check {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: .6rem;
  font-size: 1rem;
  color: var(--muted);
}
.o-check__input input[type="checkbox"] {
  width: 1.1rem; height: 1.1rem;
  transform: translateY(.15rem);
  accent-color: var(--accent);
}
.o-check__label a { text-decoration: underline; text-underline-offset: 2px; }

/* ==== 送信ボタン ==== */
.original-form__actions { 
  margin-top: .25rem; 
  text-align: center;
}
@media (min-width: 960px) {
  .original-form__actions { width: 100%; }
}
.o-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .7rem 1.5rem;
  font-size: 1.05rem;
  border-radius: .5rem;
  font-weight: 700;
  cursor: pointer;
  border: none;
  background: var(--btn-bg);
  color: var(--btn-text);
  transition: all .25s ease;
  width: auto;
}
@media (min-width: 960px) {
  .o-btn {
    width: 50vw;
    max-width: 400px;
  }
}
.o-btn--primary:hover {
  filter: brightness(1.1);
}

/* ==== CF7 メッセージ/バリデーション ==== */
.wpcf7-not-valid-tip {
  margin-top: .4rem;
  font-size: .85rem;
  color: var(--error);
}
.wpcf7 form.invalid .wpcf7-form-control.wpcf7-not-valid {
  border-color: var(--error);
  background: #fffafa;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
  border-color: var(--error);
  color: var(--error);
}
.wpcf7 form.sent .wpcf7-response-output {
  border-color: #059669;
  color: #065f46;
}
.original-form .wpcf7-spinner { margin-left: .75rem; }
