@charset "UTF-8";

/**
 * base
 * NOTE:
 *
 * input要素のスタイルの上書きが難しくなることを避ける目的で
 * input要素をbase.cssにおいて、input[type="submit"]のように書かないでください。
 * [type="submit"] や [type="checkbox"]など属性セレクタのみにしてください。
 * ※この記述ならば優先度が低いためクラス名1つで上書きが可能です。
 *
 * ラッパー、ボタン、フォームのレスポンシブの調整はvariable.cssで可能です。
 *
**/
/**
 * CSSリセット
 * 参照元：http: //meyerweb.com/eric/tools/css/reset/
**/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit
}

input.btn,
button,
textarea,
select {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  font-size: 16px;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* iOS */
[type="submit"],
[type="button"] {
  border-radius: 0;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

[type="submit"]::-webkit-search-decoration,
[type="button"]::-webkit-search-decoration {
  display: none
}

[type="submit"]::focus,
[type="button"]::focus {
  outline-offset: -2px
}

label {
  cursor: pointer;
}


/* jQueryUI datepiker */
/* NOTE: 既存の下記プロパティ以外は絶対に記述しないでください。 */
[type="text"].hasDatepicker,
[type="date"].hasDatepicker {
  background-image: url("../images/icon-fa7-calendar-days-solid-full-g.svg") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.3333em top 50% !important;
  background-size: auto 1.25em !important;
  padding-right: 1.75em !important;
}


/* select (mbase select tag) */
.select {
  font-family: inherit;
  font-weight: inherit;
  position: relative;
}

.select select {
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
  border-radius: var(--btn-radius);
  border: 1px solid #e9eced;
  background: #fff;
  font-family: inherit;
  font-weight: inherit;
  line-height: var(--btn-height);
  height: var(--btn-height);
  padding: 0 2.25em 0 1em;
  cursor: pointer;
}

.select select::-ms-expand {
  display: none;
}

.select:has(span) span::after,
.select::after {
  content: '';
  display: block;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translate(0, -50%) rotate(135deg);
}

.select:has(span)::after {
  display: none;
}

.select option {
  font-family: inherit;
  font-weight: inherit;
}

@media screen and (max-width: 959.98px) {
  .select select {
    font-size: 12px;
  }
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
  transition: none;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

/**
 * 再定義
**/
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  background: var(--bg-c);
  color: var(--font-c);
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-family: "Noto Sans JP", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

body>.wrap {
  overflow: visible;
  padding-top: var(--header-height);
}

body>.wrap:has(.mypage-nav) {
  padding-top: calc(var(--header-height) + var(--m-nav-height));
}

@media screen and (max-width: 959.98px) {
  body>.wrap {
    overflow: hidden;
  }
}

table {
  letter-spacing: 0;
  empty-cells: show;
}

tbody {
  position: unset;
}

table tr,
table th,
table td {
  empty-cells: show;
  transition: none;
  position: static;
}

input,
select,
textarea {
  /* NOTE: background, transition以外は書かないでください */
/*
  font-size: 120%;
  line-height: var(--btn-height);
*/
  background: none;
  transition: all 0.6s ease;
}

[type="checkbox"],
[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 1px 5px 0 0;
}

p {
  line-height: inherit;
}

a {
  color: var(--text-link-c);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

a:hover {
  color: var(--text-link-c-hover);
  cursor: pointer;
  opacity: 0.9;
}

a.active {
  color: var(--text-link-c-hover);
}

img {
  border: none;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  transition: 0.6s;
}

li {
  list-style: none;
}

*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  /* NOTE: ここにpositionは設定しないでください。 */
}

/**
 * text
**/
.text-ellipsis {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  overflow: hidden;
}

.word-break {
  display: inline-block;
  word-wrap: break-word;
  word-break: keep-all;
  white-space: normal;
}

.word-break.word-break--date {
  max-width: 6em;
}

/**
 * font color
**/
.fc__color {
  color: var(--main-c);
}

.fc__red,
.fc__pink {
  color: var(--font-c-red);
}

.fc__blue {
  color: var(--font-c-blue);
}

/**
 * background color
**/
.bg__color {
  background: var(--bg-c);
}

.bg__gray {
  background: var(--bg-c-dark);
}

/**
 * display
**/
@media (min-width: 768px) {

  .sp-disp,
  .sp_disp,
  .sp--disp {
    display: none !important;
  }
}

@media only screen and (max-width: 767.98px) {

  .pc-disp,
  .pc_disp,
  .pc--disp {
    display: none !important;
  }
}

/**
 * section
**/
section {
  padding: 40px 0;
}

.sub section {
  border-bottom: 1px solid #e9eced;
}

@media only screen and (max-width: 959.98px) {
  section {
    padding: 30px 0;
  }
}

/**
 * container
**/
.base_wrap,
/* pbase移植用 */
.l-container {
  width: 100%;
  max-width: var(--basewrap-width);
  margin: 0 auto;
  padding: 0 var(--basewrap-padding-inline);
  position: relative;
}

/**
 * display flex
**/
.flex,
/* pbase移植用 */
.c-flex {
  display: flex;
}

.flex_wrap,
/* pbase移植用 */
.c-flex--wrap {
  flex-wrap: wrap;
}

.c-flex--between {
  justify-content: space-between;
}

.flex_wrap {
  /* pbase移植用 */
  display: flex;
  justify-content: space-between;
}


/**
 * subpage-head
**/
.subpage-head {
  background: #B1D12D;
  color: var(--font-c);
  padding: 32px 0 24px;
}

@media only screen and (max-width: 767.98px) {
  .subpage-head {
    min-height: 96px;
    padding: 0;
  }

  .subpage-head>.l-container {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    min-height: inherit;
    padding-block: 8px;
  }
}

.subpage-head .c-head {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0;
  position: relative;
}

.subpage-head .c-head__ttl {
  color: #fff;
  line-height: 1.25;
  margin: 0;
}

.subpage-head .c-head__txt {
  color: #fff;
  line-height: 1.4;
  margin: 0;
}

.subpage-head__btn {
  margin-top: 0 !important;
}

.subpage-head__btn a {
  border: solid 2px #fff !important;
}

.subpage-head .btn {
  margin-top: 0;
}

.subpage-head__attention {
  background: #fff;
  color: red;
  padding: 15px;
}

@media only screen and (max-width: 959.98px) {
  .subpage-head .c-head {
    margin-bottom: 0;
  }

  .subpage-head .c-head--second {
    margin-top: 0;
  }
}

@media only screen and (max-width: 767.98px) {
  .subpage-head .c-head {
    gap: 4px;
  }

  .subpage-head .c-head__ttl {
    font-size: 20px;
  }
}


/**
 * TITLE
**/
.c-head {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  margin-bottom: 40px;
  position: relative;
}

.c-head--second {
  margin-top: 80px
}

.c-head--center {
  align-items: center;
}

.c-head__logo {
  width: 96px;
  margin: 0 auto 24px;
  padding: 0;
  filter: grayscale(1);
  opacity: 0.66;
}

.c-head__ttl {
  font-size: 24px;
  font-weight: 700;
}

.c-head__ttl-link {
  display: inline-block;
}

.c-head__txt {
  margin-top: 15px;
}

.c-head__txt a {
  color: var(--main-c);
  font-weight: 700;
  text-decoration: underline;
}

@media only screen and (max-width: 959.98px) {
  .c-head {
    margin-bottom: 30px;
  }

  .c-head--second {
    margin-top: 50px;
  }
}

@media only screen and (max-width: 767.98px) {
  .c-head {
    margin-bottom: 20px;
  }

  .c-head__ttl {
    font-size: 20px;
  }
}



/**
 * icon
**/
.c-icon[data-mark="〇"]::before,
.c-icon[data-mark="○"]::before,
.c-icon[data-mark="×"]::before,
.c-icon[data-mark="△"]::before {
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1em;
  height: 1em;
}

.c-icon[data-mark="〇"]::before,
.c-icon[data-mark="○"]::before {
  background-image: url("/common/images/icon-supported-maru.svg");
}

.c-icon[data-mark="×"]::before {
  background-image: url("/common/images/icon-supported-batu.svg");
}

.c-icon[data-mark="△"]::before {
  background-image: url("/common/images/icon-supported-sankaku.svg");
}

.c-icon[data-mark=""]::before {
  content: '━';
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--font-c-gray);
  width: 1em;
  height: 1em;
}


/**
 * button
**/
.btn {
  display: block;
  max-width: var(--btn-width);
  width: 100%;
  margin: var(--btn-margin-top) 0 0;
  padding: 0;
  position: relative;
}

[type="hidden"]+.btn {
  margin-top: 0;
}

.btn a,
.btn input,
.btn button,
.btn>span {
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: var(--btn-shadow);
  border-radius: var(--btn-radius);
  border: solid 1px var(--main-c);
  background: var(--main-c);
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
  width: 100%;
  height: var(--btn-height);
  padding: 0 1em;
  /* NOTE: paddingは消さないでください */
  position: relative;
}

.btn [type="button"]::after,
.btn [type="submit"]::after,
.btn a::after {
  content: '\f105';
  color: inherit;
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;
  position: absolute;
  right: 1.5ex;
  top: 50%;
  z-index: 1;
  transform: translate(0, -50%) scale(0.75);
  transform-origin: right center;
}

.btn a:hover,
.btn input:hover,
.btn button:hover,
.btn>span:hover {
  border-color: var(--main-c-light);
  background: var(--main-c-light);
  color: #fff;
}

.btn--small {
  width: 100%;
  max-width: var(--btn-small-width);
  position: relative;
}

.btn--small a,
.btn--small button,
.btn--small input,
.btn--small>span {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--btn-small-radius);
  border: 1px solid var(--main-c);
  background: #fff;
  color: var(--main-c);
  font-size: 12px;
  font-weight: 700;
  width: 100%;
  height: var(--btn-small-height);
  padding: 0 0.5em;
  /* NOTE: paddingは消さないでください */
}

/* fav */
.btn--like a,
.btn--like a:hover {
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  border: 1px solid var(--font-c-red);
  background: #fff;
  color: var(--font-c-red);
  gap: 1em;
}

.btn--like a:hover {
  opacity: 0.75;
}

.btn--like a::after {
  content: '';
  display: block;
  background: url("../images/icon-plus.svg") center center / 100% no-repeat;
  background-size: contain;
  width: 2.6em;
  height: auto;
  aspect-ratio: 1 / 1;
  position: static;
  right: auto;
  top: auto;
  z-index: 1;
  transform: translate(0, 0);
  transition: 0.2s;
  filter: grayscale(0);
}

.btn--likeoff a::after {
  /* filter: grayscale(1); */
  background: url("../images/icon-minus.svg") center center / 100% no-repeat;
}

/* chat */
.btn--message a {
  color: var(--main-c);
  background: #fff;
  border: 1px solid var(--main-c)
}

.btn--message a::before {
  content: '';
  display: inline-block;
  background: url("../images/icon__btn--message.png") center center / 100% no-repeat;
  width: 15px;
  height: 15px;
  position: relative;
  top: 0;
  right: 5px;
  transition: 0.2s;
}

.btn--message a:hover {
  background: #edf9ff;
}

/* color */
/* 決定系ボタン */
.btn--collect {}

.btn--collect a,
.btn--collect input,
.btn--collect button,
.btn--collect>span {
  box-shadow: var(--btn-shadow);
  border-radius: var(--btn-radius);
  border: solid 1.25px var(--main-c);
  background: linear-gradient(0deg, var(--main-c-light) 0%, var(--main-c) 100%);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.07);
  font-weight: 700;
  transition: all 0.2s ease;
}

.btn--collect [type="button"]::after,
.btn--collect [type="submit"]::after,
.btn--collect a::after {
  display: none;
}

.btn--collect a:hover,
.btn--collect input:hover,
.btn--collect button:hover,
.btn--collect>span:hover {
  border: solid 1px var(--main-c);
  background: linear-gradient(0deg, var(--main-c-light) 0%, var(--main-c) 100%);
  color: #fff;
  opacity: 0.7;
}

/* plain */
.btn--plain {}

.btn--plain a,
.btn--plain input,
.btn--plain button,
.btn--plain>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--main-c);
  background: #fff;
  color: var(--main-c);
}

.btn--plain [type="button"]::after,
.btn--plain [type="submit"]::after,
.btn--plain a::after {
  display: none;
}

.btn--plain a:hover,
.btn--plain input:hover,
.btn--plain button:hover,
.btn--plain>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--main-c);
  background: #fff;
  color: var(--main-c);
}

/* blue */
.btn--blue {}

.btn--blue a,
.btn--blue input,
.btn--blue button,
.btn--blue>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--blue);
  background: var(--blue);
  color: #fff;
}

.btn--blue [type="button"]::after,
.btn--blue [type="submit"]::after,
.btn--blue a::after {
  display: none;
}

.btn--blue a:hover,
.btn--blue input:hover,
.btn--blue button:hover,
.btn--blue>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--blue);
  background: var(--blue);
  color: #fff;
}

.btn--blue-outline {}

.btn--blue-outline a,
.btn--blue-outline input,
.btn--blue-outline button,
.btn--blue-outline>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--blue);
  background: #fff;
  color: var(--blue);
}

.btn--blue-outline [type="button"]::after,
.btn--blue-outline [type="submit"]::after,
.btn--blue-outline a::after {
  display: none;
}

.btn--blue-outline a:hover,
.btn--blue-outline input:hover,
.btn--blue-outline button:hover,
.btn--blue-outline>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--blue);
  background: #fff;
  color: var(--blue);
}


/* gray */
.btn--gray {}

.btn--gray a,
.btn--gray input,
.btn--gray button,
.btn--gray>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--font-c-gray);
  background: var(--font-c-gray);
  color: #fff;
}

.btn--gray [type="button"]::after,
.btn--gray [type="submit"]::after,
.btn--gray a::after {
  display: none;
}

.btn--gray a:hover,
.btn--gray input:hover,
.btn--gray button:hover,
.btn--gray>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--font-c-gray);
  background: var(--font-c-gray);
  color: #fff;
}

.btn--gray-outline {}

.btn--gray-outline a,
.btn--gray-outline input,
.btn--gray-outline button,
.btn--gray-outline>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--gray);
  background: #fff;
  color: var(--gray);
}

.btn--gray-outline [type="button"]::after,
.btn--gray-outline [type="submit"]::after,
.btn--gray-outline a::after {
  display: none;
}

.btn--gray-outline a:hover,
.btn--gray-outline input:hover,
.btn--gray-outline button:hover,
.btn--gray-outline>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--gray);
  background: #fff;
  color: var(--gray);
}


/* disabled */
.btn--disabled {}

.btn--disabled a,
.btn--disabled input,
.btn--disabled button,
.btn--disabled>span {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--font-c-gray);
  background: var(--font-c-gray);
  color: rgba(255, 255, 255, 0.8);
}

.btn--disabled [type="button"]::after,
.btn--disabled [type="submit"]::after,
.btn--disabled a::after {
  display: none;
}

.btn--disabled a:hover,
.btn--disabled input:hover,
.btn--disabled button:hover,
.btn--disabled>span:hover {
  box-shadow: var(--btn-shadow);
  border: solid 1px var(--font-c-gray);
  background: var(--font-c-gray);
  color: rgba(255, 255, 255, 0.8);
}


/** ボタン上部・下部テキスト **/
.btn-over-txt {
  margin-bottom: 20px;
  text-align: center;
}

.btn-under-txt {
  margin-top: 20px;
  text-align: center;
}

.btn-over-txt a,
.btn-under-txt a {
  color: var(--main-c);
}

@media only screen and (max-width: 767.98px) {}

.btn__attract {}

.btn__sticky {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.66);
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 20px;
  position: sticky;
  left: 0;
  bottom: 0;
  z-index: 10;
}

.btn.btn__sticky a,
.btn.btn__sticky input,
.btn.btn__sticky button,
.btn.btn__sticky>span {
  max-width: 360px;
}


/** 横並びボタン **/
.box-btn,
.btnBox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: var(--btn-wrapper-width);
  width: 100%;
  /*margin-inline: auto;*/
  gap: var(--btn-wrapper-gap);
}

.box-btn .btn,
.btnBox .btn {
  width: calc((100% - var(--btn-wrapper-gap)) / 2);
  /* 2col */
  max-width: none;
}

.box-btn .btn--small,
.btnBox .btn--small {
  width: calc((100% - var(--btn-wrapper-gap)*3) / 4);
  /* 4col */
}

@media only screen and (max-width: 767.98px) {}

/**
 * swipe
**/
@media only screen and (max-width: 767.98px) {
  .swipe {
    width: auto;
    padding: 10px;
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    overflow: auto
  }
}



.form__compact {
  max-width: 768px;
  margin: 0 auto;
}


/**
 * formset
 * .formset ラッパーは必須になりました。
**/
.formset {
  margin-bottom: var(--formset-gap);
  padding: var(--formset-gap);
}

@media screen and (min-width: 768px) {
  .formset {
    box-shadow: 0 2px 4px rgba(0, 0, 0, .1);
    border-radius: var(--site-radius);
    border: 1px solid #e9eced;
    background: #fff;
  }
}

@media screen and (max-width: 767.98px) {
  .formset {
    border-bottom: 1px solid #e9eced;
  }
}

.formset__box {
  margin-bottom: var(--formset-gap);
  padding: var(--formset-gap);
}

.formset__h2 {
  border-bottom: 1px solid #e5e5e5;
  border-radius: 0;
  font-size: 16px;
  letter-spacing: 0.05ex;
  text-decoration: none;
  height: auto;
  margin: 20px 0 0;
  position: relative;
}

.formset__h2[data-acc-ttl] {
  position: relative;
  transition: background 0.2s ease;
  cursor: pointer;
}

.formset__h2[data-acc-ttl]:hover {
  background: #f1f1f1;
}

.formset__h2[data-acc-ttl]::after {
  content: '\f0d7';
  display: var(--fa-display, inline-block);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  background: #fff;
  color: #ccc;
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;
  width: 1.5em;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  transform: translate(0, -50%);
  transform-origin: right center;
  transition: all 0.2s ease;
  pointer-events: none;
}

.formset__h2.is--active[data-acc-ttl]::after {
  border: 1px solid var(--main-c);
  background: var(--main-c);
  color: #fff;
  transform: translate(0, -50%) scaleY(-1);
}

.formset__h2 span {
  font-size: 14px;
  margin-left: 2em;
}

.formset__h2::before {
  content: '';
  display: block;
  border-bottom: 1px solid var(--main-c);
  width: 80px;
  margin-bottom: -1px;
  position: absolute;
  bottom: 0;
}

@media screen and (max-width: 767.98px) {
  .formset__h2 {
    margin: 12px 0 0;
  }
}


.formset__item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
  gap: var(--formset-gap);
}
.formset__item.gray__box {
  width: calc( 100% + var(--formset-gap) * 2 );
  margin: 0 calc( var(--formset-gap) * -1 );
  padding: var(--formset-gap);
  gap: var(--formset-gap);
}
*+.formset__item.gray__box,
*+.formset__item {
  margin-top: var(--formset-gap);
}

@media screen and (max-width: 767.98px) {
  .formset__item {
    flex-flow: row wrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
  }
  .formset__item.gray__box {
    width: calc( 100% + var(--basewrap-padding-inline) * 2 );
    margin: 0 calc( var(--basewrap-padding-inline) * -1 );
    padding: var(--formset-gap);
    gap: var(--formset-gap);
  }
}

.formset__ttl {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  color: var(--main-c);
  /* NOTE: 上下中央 */
  /*vertical-align: middle;*/
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  width: var(--formset-ttl-width);
}

.formset__must {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--site-radius);
  background: #ec5937;
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
  width: fit-content;
  height: 20px;
  margin: 0 0 0 auto;
  padding: 0 1ex;
  float: right;
  white-space: nowrap;
}

.formset__any {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--site-radius);
  background: #37CAEC;
  color: #fff;
  font-size: 11px;
  line-height: 1.25;
  width: fit-content;
  height: 20px;
  margin: 0 0 0 auto;
  padding: 0 1ex;
  float: right;
  white-space: nowrap;
}

.formset__input {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  /* NOTE: 上下中央 */
  width: calc(100% - var(--formset-gap) - var(--formset-ttl-width));
}

@media screen and (max-width: 767.98px) {

  .formset__ttl,
  .formset__input {
    width: 100%;
    padding: 0
  }
}

.formset-head__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  background: #444;
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  text-align: center;
  letter-spacing: 0.05ex;
  line-height: 1.125;
  height: 40px;
  padding: 0 8px;
}

.formset-head__lead {
  border-bottom: solid 1px #e5e5e5;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.05ex;
  line-height: 1.125;
  text-align: center;
  margin: var(--formset-gap) 0 0;
  padding: 8px;
}

@media screen and (max-width: 767.98px) {
  .formset-head__ttl {
    font-size: 16px;
    margin-inline: calc(var(--formset-gap) * -1);
  }

  .formset-head__lead {
    font-size: 14px;
  }
}


/* 入力部品をラップするもの（flex-wrapをwrapさせる場合） */
.formset__input:has(p.formset__notes) {
  flex-flow: row wrap;
}

@media screen and (min-width: 768px) {

  /* NOTE: スマホ限定なし、もしくはただの.item--flex-breakの場合 */
  .formset__input:has(.item--flex-break:not(.sp--disp)) {
    flex-flow: row wrap;
  }

  /**
   * NOTE:
   * ただし、.item--flex-break.pc--dispと.item--flex-break.sp--dispが
   * .formset__inputに混在の場合には常にwrapします
  **/
}

@media screen and (max-width: 767.98px) {

  /* NOTE: PC限定なし、もしくはただの.item--flex-breakの場合 */
  .formset__input:has(.item--flex-break:not(.pc--disp)) {
    flex-flow: row wrap;
  }

  /**
   * NOTE:
   * ただし、.item--flex-break.pc--dispと.item--flex-break.sp--dispが
   * .formset__inputに混在の場合には常にwrapします
  **/
}


.formset__input>a:not([class]),
.formset__input p>a:not([class]) {
  text-decoration: underline;
}


.formset__input img {
  border-radius: var(--site-radius);
  width: 100px;
  height: auto;
  margin-bottom: 12px;
  margin-right: 12px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.formset__input [src*="s.gif"] {
  border: solid 1px var(--font-c-gray-light);
}

@media screen and (max-width: 767.98px) {
  .formset__input img {
    width: 80px;
    height: auto;
  }

  .formset_mb {
    margin-bottom: 32px;
  }
}

.formset__input>ul {
  margin: 4px 0;
}

.formset__input ul li {
  display: inline-flex;
  margin: 0 12px 12px 0;
  padding: 4px;
}

.input-select,
.formset__input [type="tel"],
.formset__input [type="text"],
.formset__input [type="email"],
.formset__input [type="password"],
.formset__input [type="date"],
.formset__input [type="time"],
.formset__input [type="search"],
.formset__input [type="number"],
textarea {
  border-radius: var(--site-radius);
  border: 1px solid var(--font-c-gray-light);
  background: #fff;
  font-size: 16px;
  max-width: 500px;
  width: 100%;
  height: var(--site-input-height);
  padding: 0 1em;
  margin: 4px 0;
}

.formset__input [type="date"],
.formset__input [type="time"],
.formset__input [type="number"],
textarea {
  max-width: 500px;
  width: auto;
}

.formset__input .tel {
  border-radius: var(--site-radius);
  border: 1px solid var(--font-c-gray-light);
  color: #494949;
  font-weight: 700;
  max-width: 250px;
  width: 100%;
}

.input-select {
  display: inline-block;
  width: auto;
  height: var(--site-input-height);
}

.input-select.select {
  display: inline-block;
  width: auto;
  height: var(--site-input-height);
  padding: 0;
}

.input-select.select select {
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: inherit;
  line-height: var(--site-input-height);
  height: var(--site-input-height);
  padding: 0 2.25em 0 1em;
}


textarea {
  line-height: 1.55;
  max-width: none;
  height: auto;
  padding: 15px;
}

.formset__calendar {
  max-width: 210px !important;
}

.formset__gap,
.formset__wage {
  max-width: 210px !important;
}

.form_end {
  margin-top: 130px;
}

@media screen and (max-width: 767.98px) {

  .input-select,
  .formset__input [type="tel"],
  .formset__input [type="text"],
  .formset__input [type="email"],
  .formset__input [type="password"],
  .formset__input [type="date"],
  .formset__input [type="time"],
  .formset__input [type="search"],
  textarea {
    font-size: inherit;
    padding-inline: 1em;
  }

  .formset__calendar {
    max-width: 160px !important;
  }

  .formset__input ul {
    margin-top: 10px;
  }

  .formset__input ul li {
    padding: 2px 0;
  }

  .formset__gap {
    max-width: unset !important;
    width: calc(100% - 3em) !important;
  }

  .formset__wage {
    width: 7em !important;
  }
}

.formset__btn {
  margin-left: auto;
  margin-right: auto;
}
.btn.formset__btn a, .btn.formset__btn input, .btn.formset__btn button, .btn.formset__btn>span {
  font-size: 18px;
  width: 100%;
  height: 56px;
}
@media screen and (max-width: 560.98px) {
  .btn.formset__btn a, .btn.formset__btn input, .btn.formset__btn button, .btn.formset__btn>span {
    font-size: 16px;
    width: 100%;
    height: 56px;
  }
}

.formset__btn--back {
  margin-top: 10px;
}

.formset__btn--back button {
  color: var(--main-c);
  background: #fff;
  border: 1px solid var(--main-c);
}

.formset__btn--back button:hover {
  background: #edf9ff;
}

.formset__input [type="file"] {
  border-radius: var(--site-radius);
  background: rgba(0, 0, 0, 0.04);
  color: var(--site-c-gray);
  font-size: inherit;
  width: auto;
  min-width: 384px;
  margin: 4px 0;
  padding: 6px;
}
@media screen and (max-width: 560.98px) {
  .formset__input .item--flex-break+[type="file"] {
    width: 100%;
  }
}

.formset__input [type="file"]::file-selector-button {
  border-radius: var(--site-radius);
  border: 1px solid var(--font-c-gray-light);
  background: #fff;
  color: var(--font-c);
  font-size: 16px;
  min-width: 140px;
  width: auto;
  height: var(--site-input-height);
  margin: 0 8px 0 0;
  padding: 0 0.5em;
}

.formset__file-delete {
  display: block;
  margin: 4px 0;
}

.txt-delete {
  white-space: nowrap;
}

[type="radio"]+.txt-delete,
[type="checkbox"]+.txt-delete {
  display: inline-block;
  transform: translate(0, -3px);
}

/* 郵便番号 */
.formset__input .input-zip {
  max-width: 14ex;
}


/* break */
.item--flex-break {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .item--flex-break.sp--disp+* {
    margin-left: var(--site-input-gap);
  }
}

@media screen and (max-width: 767.98px) {
  .item--flex-break.pc--disp+* {
    margin-left: var(--site-input-gap);
  }
}


/* 単位 */
.formset__calc-total+.item--unit,
.input-select+.item--unit,
.formset__input [type="tel"]+.item--unit,
.formset__input [type="text"]+.item--unit,
.formset__input [type="email"]+.item--unit,
.formset__input [type="password"]+.item--unit,
.formset__input [type="date"]+.item--unit,
.formset__input [type="time"]+.item--unit,
.formset__input [type="search"]+.item--unit,
.formset__input [type="number"]+.item--unit {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

/* セパレータ（～、＋などの記号） */
.formset__calc-total+.item--sep,
.input-select+.item--sep,
.formset__input [type="tel"]+.item--sep,
.formset__input [type="text"]+.item--sep,
.formset__input [type="email"]+.item--sep,
.formset__input [type="password"]+.item--sep,
.formset__input [type="date"]+.item--sep,
.formset__input [type="time"]+.item--sep,
.formset__input [type="search"]+.item--sep,
.formset__input [type="number"]+.item--sep {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

.item--sep+.formset__calc-total,
.item--sep+.input-select,
.formset__input .item--sep+[type="tel"],
.formset__input .item--sep+[type="text"],
.formset__input .item--sep+[type="email"],
.formset__input .item--sep+[type="password"],
.formset__input .item--sep+[type="date"],
.formset__input .item--sep+[type="time"],
.formset__input .item--sep+[type="search"],
.formset__input .item--sep+[type="number"] {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

/* ちょっとしたラベル */
.formset__input .item--label {
  display: inline-block;
  min-width: 64px;
}

.item--label+.formset__calc-total,
.item--label+.input-select,
.formset__input .item--label+[type="tel"],
.formset__input .item--label+[type="text"],
.formset__input .item--label+[type="email"],
.formset__input .item--label+[type="password"],
.formset__input .item--label+[type="date"],
.formset__input .item--label+[type="time"],
.formset__input .item--label+[type="search"],
.formset__input .item--label+[type="number"] {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

*+.item--label {
  margin-left: var(--site-input-gap);
}

@media (min-width: 768px) {

  /* 改行後 */
  .item--flex-break:not(.sp--disp)+.item--label {
    margin-left: 0;
  }
}

@media (max-width: 767.98px) {
  .formset__input .item--label {
    min-width: 64px;
  }

  .formset__input .item--label+[type="date"] {
    width: calc(100% - 80px);
  }

  /* 改行後 */
  .item--flex-break:not(.pc--disp)+.item--label {
    margin-left: 0;
  }
}



/* 注釈 */
.formset__notes {
  color: var(--site-c-gray);
  font-size: 14px;
  font-weight: 400;
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  width: auto;
}

p.formset__notes {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  width: 100%;
  gap: 0.75ex;
}

.formset__ttl .formset__notes {
  display: block;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-feature-settings: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  width: 100%;
  cursor: inherit;
}

.formset__calc-total+.formset__notes,
.input-select+.formset__notes,
.formset__input [type="tel"]+.formset__notes,
.formset__input [type="text"]+.formset__notes,
.formset__input [type="email"]+.formset__notes,
.formset__input [type="tel"]+.formset__notes,
.formset__input [type="password"]+.formset__notes,
.formset__input [type="date"]+.formset__notes,
.formset__input [type="datetime-local"]+.formset__notes,
.formset__input [type="time"]+.formset__notes,
.formset__input [type="month"]+.formset__notes,
.formset__input [type="week"]+.formset__notes,
.formset__input [type="search"]+.formset__notes,
.formset__input [type="number"]+.formset__notes {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

.formset__calc-total+p.formset__notes,
.input-select+p.formset__notes,
.formset__input [type]+p.formset__notes {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: 0;
}

@media (max-width: 767.98px) {
  .formset__notes {
    font-size: 12px;
  }

  .formset__ttl .formset__notes {
    width: auto;
  }
}

/* 合計金額の表示領域 */
.formset__calc-total {
  display: inline-block;
  border-bottom: solid 1px;
  font-size: 20px;
  font-weight: 700;
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  line-height: 1;
  text-align: right;
  min-width: var(--formset-ttl-width);
  width: fit-content;
  padding: 0 0 4px;
}




/**
 * tableset
 * NOTE: テーブルスタイル
**/
.tableset {
  border-collapse: separate;
  width: 100%;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .tableset {
    border-radius: var(--site-radius);
    border: 1px solid #e9eced;
    margin-bottom: 30px;
    padding: 10px 40px;
  }

  .company .tableset {
    padding: 40px 40px;
  }
}

.tableset__list {
  width: 100%;
  display: table;
  text-align: left;
}

.tableset__list:last-child {
  margin-bottom: 40px
}

.tableset__ttl {
  width: 200px;
  display: table-cell;
  vertical-align: middle;
  padding: 20px 40px;
  font-weight: 700;
}

.tableset__mainttl {
  font-size: 20px;
  color: var(--text-link-c);
}

.tableset__must {
  height: 20px;
  padding: 0 8px;
  color: #fff;
  font-size: 10px;
  background: #ec5937;
  border-radius: var(--site-radius);
  float: right;
  display: flex;
  align-items: center;
  justify-content: center
}

.tableset__txt {
  display: table-cell;
  padding: 20px
}

.tableset__ttl {
  background-color: #fafafa;
}

.tableset__list {
  border-top: solid 1px #e5e5e5;
  border-right: solid 1px #e5e5e5;
  border-left: solid 1px #e5e5e5;
}

.tableset__list:last-child {
  margin-bottom: 0;
  border-bottom: solid 1px #e5e5e5;
}

@media only screen and (max-width: 959.98px) {
  .tableset__ttl {
    width: 210px;
  }
}

@media screen and (max-width: 767.98px) {

  .tableset__ttl,
  .tableset__txt {
    width: 100%;
    display: block;
    padding: 10px 15px;
  }

  .tableset__list:first-child {
    margin-top: 0;
  }
}

.tableset__txt img {
  border-radius: var(--site-radius);
  width: 180px;
  height: auto;
  aspect-ratio: 1 / 1;
  margin-bottom: 10px;
  object-fit: cover;
}

@media screen and (max-width: 767.98px) {
  .tableset__txt img {
    width: 120px;
    height: auto;
  }
}

.tableset__txt ul li {
  display: inline-flex;
  margin: 0 10px 10px 0
}

@media screen and (max-width: 560.98px) {
  .tableset__txt ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
    gap: 10px 0;
  }

  .tableset__txt ul>li {
    min-width: 50%;
    margin: 0;
  }
}

.input-select,
.tableset__txt [type="tel"],
.tableset__txt [type="text"],
.tableset__txt [type="email"],
.tableset__txt [type="password"],
.tableset__txt [type="date"],
.tableset__txt [type="time"],
.tableset__txt [type="search"],
.tableset__txt [type="number"],
.tableset__txt textarea {
  border-radius: var(--site-radius);
  border: 1px solid var(--font-c-gray-light);
  background: #fff;
  font-size: 16px;
  max-width: 500px;
  width: 100%;
  height: var(--site-input-height);
  padding: 0 1em;
}

.tableset__txt [type="date"],
.tableset__txt [type="time"],
.tableset__txt [type="number"] {
  max-width: 500px;
  width: auto;
}

.tableset__txt textarea {
  height: auto;
  min-height: var(--site-input-height);
}

/* 単位 */
.tableset__txt [type="tel"]+.item--unit,
.tableset__txt [type="text"]+.item--unit,
.tableset__txt [type="email"]+.item--unit,
.tableset__txt [type="password"]+.item--unit,
.tableset__txt [type="date"]+.item--unit,
.tableset__txt [type="time"]+.item--unit,
.tableset__txt [type="search"]+.item--unit,
.tableset__txt [type="number"]+.item--unit {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

/* セパレータ（～、＋などの記号） */
.tableset__txt [type="tel"]+.item--sep,
.tableset__txt [type="text"]+.item--sep,
.tableset__txt [type="email"]+.item--sep,
.tableset__txt [type="password"]+.item--sep,
.tableset__txt [type="date"]+.item--sep,
.tableset__txt [type="time"]+.item--sep,
.tableset__txt [type="search"]+.item--sep,
.tableset__txt [type="number"]+.item--sep {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap);
}

@media screen and (max-width: 767.98px) {

  .input-select,
  .tableset__txt [type="tel"],
  .tableset__txt [type="text"],
  .tableset__txt [type="email"],
  .tableset__txt [type="password"],
  .tableset__txt [type="date"],
  .tableset__txt [type="time"],
  .tableset__txt [type="search"],
  .tableset__txt [type="number"] {
    font-size: inherit;
    padding-inline: 1em;
  }
}

.input-select {
  width: auto;
}

.tableset__btn {
  margin-left: auto;
  margin-right: auto;
}

.tableset__child-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media screen and (max-width: 767.98px) {
  .tableset__child-list {
    grid-template-columns: 1fr;
  }
}

.tableset__child-list-item {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 8px;
}

.tableset__child-list-item>p {
  font-size: 14px;
  order: 1;
}

.tableset__child-list-item>ul {
  font-size: 14px;
  order: 0;
}

.tableset__child-list ul {
  margin: 0;
}

.tableset__child-list ul li {
  margin: 0;
}

.tableset__child-list [type="checkbox"],
.tableset__child-list [type="radio"] {
  margin: 1px 0 0;
}


/**
 * formset エラー
**/

/* error for jquery.validate.js */
/* NOTE: CDN https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.js */

/* NOTE: 通常（初回サブミット後のみの実行は利用しない場合） */
/*.form_support_wrap > div > div > .jquery-validate--error,
.formset__input .jquery-validate--error,
.formset__input-select .jquery-validate--error,
.formset__input .jquery-validate--error,
.tableset__txt .jquery-validate--error,
.jquery-validate--error {
  border: 1px solid #c00 !important;
  background: #eed1d1 !important;
}
.form_support_wrap > div > div > .jquery-validate--error:focus,
.formset__input .jquery-validate--error:focus,
.formset__input-select .jquery-validate--error:focus,
.formset__input .jquery-validate--error:focus,
.tableset__txt .jquery-validate--error:focus,
.jquery-validate--error:focus {
  outline-color: #c00 !important;
}
.form_support_wrap > div > div .select:has(.jquery-validate--error),
.formset__input .select:has(.jquery-validate--error),
.formset__input-select .select:has(.jquery-validate--error),
.formset__input .select:has(.jquery-validate--error),
.tableset__txt .select:has(.jquery-validate--error),
.select:has(.jquery-validate--error) {
  border: 1px solid #c00 !important;
  background: #eed1d1 !important;
}
.form_support_wrap > div > div .select .jquery-validate--error:not(span),
.formset__input .select .jquery-validate--error:not(span),
.formset__input-select .select .jquery-validate--error:not(span),
.formset__input .select .jquery-validate--error:not(span),
.tableset__txt .select .jquery-validate--error:not(span),
.select .jquery-validate--error:not(span) {
  border: none !important;
  background: transparent !important;
}
.form_support_wrap > div > div .select .jquery-validate--error:not(span):focus,
.formset__input .select .jquery-validate--error:not(span):focus,
.formset__input-select .select .jquery-validate--error:not(span):focus,
.formset__input .select .jquery-validate--error:not(span):focus,
.tableset__txt .select .jquery-validate--error:not(span):focus,
.jquery-validate--error:not(span):focus {
  outline-color: transparent !important;
}
*/


/* NOTE: 初回サブミット後のみ実行する場合 */
/* .select 以外 */
.p-after-first-validate .form_support_wrap>div>div .jquery-validate--error:not(span),
/* PBASEのフォーム向け */
.p-after-first-validate .formset__input .jquery-validate--error:not(span),
.p-after-first-validate .formset__input-select .jquery-validate--error:not(span),
.p-after-first-validate .formset__input .jquery-validate--error:not(span),
.p-after-first-validate .tableset__txt .jquery-validate--error:not(span),
.p-after-first-validate .jquery-validate--error:not(span) {
  border: 1px solid #c00 !important;
  background: #eed1d1 !important;
}

.p-after-first-validate .form_support_wrap>div>div .jquery-validate--error:not(span):focus,
/* PBASEのフォーム向け */
.p-after-first-validate .formset__input .jquery-validate--error:not(span):focus,
.p-after-first-validate .formset__input-select .jquery-validate--error:not(span):focus,
.p-after-first-validate .formset__input .jquery-validate--error:not(span):focus,
.p-after-first-validate .tableset__txt .jquery-validate--error:not(span):focus,
.p-after-first-validate .jquery-validate--error:not(span):focus {
  outline-color: #c00 !important;
}

/* .select の場合 */
.p-after-first-validate .form_support_wrap>div>div .select:has(.jquery-validate--error),
/* PBASEのフォーム向け */
.p-after-first-validate .formset__input .select:has(.jquery-validate--error),
.p-after-first-validate .formset__input-select .select:has(.jquery-validate--error),
.p-after-first-validate .formset__input .select:has(.jquery-validate--error),
.p-after-first-validate .tableset__txt .select:has(.jquery-validate--error),
.p-after-first-validate .select:has(.jquery-validate--error) {
  border: 1px solid #c00 !important;
  background: #eed1d1 !important;
}

.p-after-first-validate .form_support_wrap>div>div .select .jquery-validate--error:not(span),
/* PBASEのフォーム向け */
.p-after-first-validate .formset__input .select .jquery-validate--error:not(span),
.p-after-first-validate .formset__input-select .select .jquery-validate--error:not(span),
.p-after-first-validate .formset__input .select .jquery-validate--error:not(span),
.p-after-first-validate .tableset__txt .select .jquery-validate--error:not(span),
.p-after-first-validate .select .jquery-validate--error:not(span) {
  border: none !important;
  background: transparent !important;
}

.p-after-first-validate .form_support_wrap>div>div .select .jquery-validate--error:not(span):focus,
/* PBASEのフォーム向け */
.p-after-first-validate .formset__input .select .jquery-validate--error:not(span):focus,
.p-after-first-validate .formset__input-select .select .jquery-validate--error:not(span):focus,
.p-after-first-validate .formset__input .select .jquery-validate--error:not(span):focus,
.p-after-first-validate .tableset__txt .select .jquery-validate--error:not(span):focus,
.p-after-first-validate .jquery-validate--error:not(span):focus {
  outline-color: transparent !important;
}

.form_support_wrap>div>div>span.jquery-validate--error,
/* PBASEのフォーム向け */
.tableset__txt span.jquery-validate--error,
.formset__input span.jquery-validate--error,
span.jquery-validate--error {
  display: block;
  border: none !important;
  background: transparent !important;
  color: #c00 !important;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-align: left;
  padding: 6px 0;
}

/* errorのラッパー */
.item--error-wrapper {
  display: inline-block;
  align-self: stretch;
  font-size: 13px;
  text-align: left;
  min-height: var(--site-input-error-height);
  position: relative;
}

.item--error-wrapper~*:not(.item--error-wrapper):not(p.formset__notes) {
  margin-top: var(--site-input-error-height);
}

.item--flex-break+.item--error-wrapper {
  min-width: 1px;
}

.item--error-wrapper .jquery-validate--error {
  white-space: nowrap;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transform: translate(0, 0);
  /* NOTE: 横方向、縦方向の微調整はtranslateで */
}

.form_support_wrap>div>div>.item--error-wrapper span.jquery-validate--error,
/* PBASEのフォーム向け */
.tableset__txt .item--error-wrapper span.jquery-validate--error,
.formset__input .item--error-wrapper span.jquery-validate--error,
.item--error-wrapper span.jquery-validate--error {
  line-height: 1.25;
  text-align: inherit;
  padding: 0;
}

ul>.item--error-wrapper {
  display: block;
  width: 100%;
}

ul>.item--error-wrapper .jquery-validate--error {
  width: 100% !important;
}

ul>.item--error-wrapper~* {
  color: #c00 !important;
}

@media screen and (max-width: 767.98px) {
  .item--error-wrapper {
    font-size: 10px;
    text-align: left;
  }

  .item--error-wrapper~*:not(.item--error-wrapper) {
    margin-top: 14px;
  }
}




/**
 * エフェクト
**/
.effect-fade {
  opacity: 0;
  transform: translate(0, 45px);
  transition: all 1000ms
}

.effect-fade-2 {
  transform: translate(0, 90px)
}

.effect-fade-3 {
  transform: translate(0, 135px)
}

.effect-fade-4 {
  transform: translate(0, 180px)
}

.effect-fade-5 {
  transform: translate(0, 225px)
}

.effect-fade-6 {
  transform: translate(0, 270px)
}

.fade-t {
  transform: translate(0, -45px)
}

.fade-r {
  transform: translate(45px, 0)
}

.fade-l {
  transform: translate(-45px, 0)
}

.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0)
}




/**
 * Vender style
**/
/* modaal
--------------------------------- */
.modaal-outer-wrapper {
  margin: auto;
}

.modaal-content-container {
  padding: 20px;
}

.modaal-container {
  max-width: 536px;
}

@media (max-width: 767.98px) {
  .modaal-container {
    max-width: 380px;
  }
}


/* 忍者ツールズ
--------------------------------- */
@media (max-width: 767.98px) {

  .ninja_onebutton_output_overlay,
  .ninja_onebutton_output_overlay.show {
    display: table !important;
    /* NOTE: .showがbootstrapとコンフリクトしているため、!importantが必要です。 */
    width: 100%;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
  }
}

/* NOTE: twitterをXに変更 */
.ninja_onebutton_output_overlay .twitter,
.ninja_onebutton_output_responsive .twitter,
.wrap .ninja_onebutton_output_overlay .twitter,
.wrap .ninja_onebutton_output_responsive .twitter,
.ninja_onebutton_output_overlay .twitter,
.ninja_onebutton_output_responsive .twitter {
  /* ninja default style */
  /*background-color: #55acee;*/
  /*color: #ffffff;*/
  background-color: #444 !important;
  color: rgba(0, 0, 0, 0) !important;
}

.wrap .ninja_onebutton_output_overlay [class*='onebtn_overlay'].twitter::before,
.wrap .ninja_onebutton_output_responsive [class*='onebtn_responsive_'].twitter::before,
.ninja_onebutton_output_overlay [class*='onebtn_overlay'].twitter::before,
.ninja_onebutton_output_responsive [class*='onebtn_responsive_'].twitter::before {
  /* NOTE: 元のアイコンを非表示 */
  /* ninja default style */
  /*content: "\e606";*/
  /*font-family: 'omatome_icomoon', sans-serif;*/
  /*vertical-align: middle;*/
  display: inline-block;
  /* X logo mark svg */
  /*
   * NOTE:
   * URLデコードなので直接文言変更でSVGを編集出来ます。
   * 「fill%3D%22white」というキーワードを探して色を変更してください。
   * 「white」の部分に色をCSSの記法で指定できます。
   * 例えば#333などは、%23333です。「%23」が「#」
  */
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%201200%201227%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M714.163%20519.284L1160.89%200H1055.03L667.137%20450.887L357.328%200H0L468.492%20681.821L0%201226.37H105.866L515.491%20750.218L842.672%201226.37H1200L714.137%20519.284H714.163ZM569.165%20687.828L521.697%20619.934L144.011%2079.6944H306.615L611.412%20515.685L658.88%20583.579L1055.08%201150.3H892.476L569.165%20687.854V687.828Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E');
  background-position: center center;
  background-repeat: no-repeat;
  background-color: transparent;
  background-size: contain;
  color: rgba(0, 0, 0, 0);
  transform: scale(0.9);
}



/**
 * 2set
**/
.formset-2set {
  --formset-ttl-width: 200px;
  --formset-gap: 32px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
  gap: var(--formset-gap);
}
*+.formset-2set {
  margin-top: var(--formset-gap);
}
.formset-2set+.formset-2set {
  margin-top: 8px;
}

.formset-2set__item:first-child {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  background: #f1f1f1;
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  width: var(--formset-ttl-width);
}
.formset-2set__item:last-child {
  width: calc(100% - var(--formset-ttl-width) - var(--formset-gap));
}
.formset-2set__item:only-child {
  width: 100%;
}

.formset-2set__lead {
  font-size: 16px;
  font-weight: 400;
}

.formset-2set__item .formset__item {
  border-bottom: dotted 1px #ccc;
  padding: 0;
}

.formset-2set__item .formset__item:first-child {
  padding-top: 20px;
  border-top: dotted 1px #ccc;
}

.formset-2set__item .formset__item:last-child {
  padding-bottom: 20px;
}

.formset-2set__item .formset__item .formset__ttl {
  min-width: 0;
  width: 8em;
}

@media only screen and (max-width: 959.98px) {
  .formset-2set__item .formset__item {
    flex-wrap: wrap;
  }
}

@media (max-width: 767.98px) {
  .formset-2set {
    display: block;
  }

  .formset-2set__item:first-child {
    border: none;
    background: transparent;
    width: 100%;
  }

  .formset-2set__item:last-child {
    width: 100%;
  }

  .formset-2set__lead {
    border: none;
    font-size: 15px;
    text-align: center;
    padding: 4px 0;
    width: 100%;
  }

  .formset-2set__item .formset__item {
    border-bottom: none;
  }

  .formset-2set__item *+.formset__item {
    margin-top: 0;
  }

  .formset-2set__item .formset__item .formset__ttl {
    min-width: 0;
    width: 100%;
  }
}


/* gray */
.gray__box {
  background-color: #f1f1f1;
  margin-bottom: 15px;
}

.gray__box .formset-2set__item:first-child {
  background-color: #f1f1f1;
  border-right: solid 1px #ccc;
}

.gray__box .formset-2set__lead {
  font-size: 16px;
  font-weight: 400;
  color: var(--main-c);
}

@media (max-width: 767.98px) {
  .gray__box {
    padding: 10px 15px 20px;
  }

  .gray__box .formset-2set__lead {
    font-size: 14px;
    margin-bottom: 1rem;
  }

  .gray__box .formset-2set__item:first-child {
    border-right: none;
  }
}



/**
 * formset-table-3col
 * NOTE: 2025.09.01 gridに変更、名称変更
**/
.formset-table-3col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
@media (max-width: 959.98px) {
  .formset-table-3col {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767.98px) {
  .formset-table-3col {
    grid-template-columns: 1fr;
  }
}



/**
 * selectbox
 * NOTE: 2025.09.01 .selectを使ってください。
**/
.formset__selectbox {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 100%;
}

.formset__selectbox select {
  appearance: none;
  width: 100%;
  height: 3.4em;
  padding: .4em calc(.8em + 30px) .4em 1em;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
  color: #333333;
  font-size: 1em;
  cursor: pointer;
}


/**
 * mo2 list
 * NOTE: 2025.09.01 名称変更
**/
.formset-mo2 {
  --formset-ttl-width: 160px;
}
*+.formset-mo2 {
  margin-top: var(--formset-gap);
}
.formset-mo2.formset-table-3col>li {
  border-radius: 3px;
  border: solid 1px #ccc;
  background: #fff;
  padding: 20px 12px;
}

.formset-mo2 .formset__item {
  gap: 8px;
}
.formset-mo2__ttl {
  color: var(--main-c);
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  text-align: left;
  width: var(--formset-ttl-width);
  padding: 0;
}
.formset-mo2__input {
  justify-content: flex-end;
  width: calc( 100% - var(--formset-ttl-width) - 8px );
  padding: 0;
}

.formset-mo2__input ul,
.formset-mo2__input ul ul {
  margin: 0;
  padding: 0;
}
.formset-mo2__input ul ul li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  white-space: nowrap;
  margin: 0;
  padding: 0;
}


/**
 * formset__schedule
 * NOTE: 2025.09.01 名称変更、dlへ変更
**/
.formset__schedule {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 12px;
}
.formset__schedule>dt {
  font-weight: 700;
  font-size: 16px;
  line-height: inherit;
}
.formset__schedule>dd {
  font-weight: inherit;
  font-size: 16px;
  line-height: inherit;
}
@media (max-width: 767.98px) {
  .formset__schedule {
    width: 100%;
  }
  .formset__schedule>dt {
    font-size: 14px;
    flex: initial;
  }
  .formset__schedule>dd {
    font-size: 14px;
    flex: initial;
  }
  .formset__schedule>dt+dd:last-child {
    flex: auto;
  }
}

.schedule-time {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: baseline;
  gap: 4px;
}
.schedule-time [type="text"],
.schedule-time [type="time"],
.schedule-time .select,
.schedule-time .input-time {
  width: 6em;
}
.schedule-time>time {
  display: block;
}
.schedule-time>span {
  display: block;
}

