@charset "UTF-8";
/*-------------------------------------------------------------*/
/* font face Yu Gothic */
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 500;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "yugothic", YuGothic, "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

/*-------------------------------------------------------------*/
/**
 * 変数
 * NOTE:
**/
:root {
  --site-c-main: #B60081;
  --site-c-main-hue: #F5E0EF;
  --site-c-black: #1A1A1A;
  --site-c-gray: #707070;
  --site-c-silvergray: #ccc;
  --site-c-white: #fff;
  --site-c-gray-disabled: #e9e9e9;
  --site-c-gray-ui: #F3F3F3;
  --site-c-darkgray-ui: #d1d1d1;
  --site-c-bluegray-ui: #CCCECE;
  --site-c-blue: #B60081;
  --site-c-red: #ec5937;
  --site-c-orange: #FF7200;
  --site-c-green: #28FF00;
  --site-bg-c: #F5F5EF;
  --site-bg-c-gray-ui: #FAF3F8;
  --site-bg-c-gray-ui-selected: #f6e7f1;
  --font-c: #1A1A1A;
  --font-c-link: #B60081;
  --font-family-jp: 'Noto Sans JP', "yugothic", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --font-family-en: Roboto, Arial, 'Noto Sans JP', "yugothic", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --header-height: 106px;
  --mypage-header-height: 60px;
  --mypage-side-width: 260px;
  --site-btn-height: 48px;
  --site-btn-small-height: 40px;

  /* 16px以下にするとiOSにて不具合がおきます。 */
  --site-input-fs: 16px;

  /* inputやselectの高さは必ず以下を使ってください。 */
  --site-input-height: 56px;
  --site-input-height-s: 48px;

  --site-input-gap-col: 12px;
  --site-input-gap-row: 4px;
  --site-input-border-c: #CCCECE;
  --site-input-radius: 5px;
  --site-container-width: 1360px;
  --site-container-padding: 80px;
}
@media screen and (max-width: 1200.98px) {
  :root {
    --mypage-header-height: 60px;
    --mypage-side-width: 220px;
  }
}
@media screen and (max-width: 959.98px) {
  :root {
    --header-height: 64px;
    --mypage-header-height: 60px;
    --site-btn-height: 48px;
    --site-btn-small-height: 40px;
    --site-input-height: 48px;
    --site-input-height-s: 48px;
    --site-container-padding: 20px;
  }
}
@media screen and (max-width: 767.98px) {
  :root {
    --header-height: 50px;
    --site-btn-height: 56px;
    --site-btn-small-height: 40px;
    --site-input-height: 48px;
    --site-input-height-s: 48px;
    --site-container-padding: 15px;
  }
}
/*-------------------------------------------------------------*/
/**
 * CSSリセット
 * 参照元：http: //meyerweb.com/eric/tools/css/reset/
**/
*, ::before, ::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  /* NOTE: ここにpositionを書かないでください */
}
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 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  font-size: inherit;
  font-family: inherit;
}
/* iOS */
[type="submit"], [type="button"] {
  border-radius: 0;
  border: none;
  font-size: inherit;
  font-family: inherit;
  cursor: pointer;
}
[type="submit"]::-webkit-search-decoration, [type="button"]::-webkit-search-decoration {
  display: none;
}
[type="submit"]::focus, [type="button"]::focus {
  outline-offset: -2px;
}
.select {
  display: inline-block;
  color: inherit;
  font-size: var(--site-input-fs);
  position: relative;
}
.select.type--full-width {
  display: block;
  flex: auto;
}
.select::after {

  /* NOTE: Font Awesome Icon */
  /*content: '\f107';*/
  /*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;*/

  content: '';
  border-style: solid;
  border-color: var(--site-c-main) transparent transparent transparent;
  border-width: 8px 7px;
  color: var(--site-c-main);
  position: absolute;
  right: 1em;
  top: 50%;
  z-index: 5;
  transform: translate(0,-25%) scale(0.75);
  transform-origin: right center;
}
.select select {
  border-radius: 10px;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: inherit;
  /* NOTE: input, textarea, select のfont-sizeは必ず、--site-input-fs変数を用いてください。 */
  font-size: var(--site-input-fs);
  font-family: inherit;
  line-height: calc(var(--site-input-height) - 2px);
  height: var(--site-input-height);
  width: 100%;
  padding: 0 2em 0 1em;
  position: relative;
  z-index: 1;
}
.select select::-ms-expand {
  display: none;
}


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
  /*transition: 0.6s*/
}
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, body {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
html {
  font-size: 62.5%;
}
body {
  background: var(--site-bg-c);
  color: var(--font-c);
  font-size: 15px;
  font-weight: 400;
  font-family: var(--font-family-jp);
  line-height: 1.5;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}
body > .wrap {
  padding-top: var(--header-height);
  overflow: hidden;
}
body > .wrap.page-mypage {
  padding-top: var(--mypage-header-height);
}
table {
  letter-spacing: 0;
  empty-cells: show
}
tbody {
  position: unset
}
table tr, table th, table td {
  empty-cells: show;
  transition: 0.6s;
  position: unset
}
input, select, textarea {
  font-size: 90%;
  background: none;
  transition: 0.6s
}
[type="checkbox"], [type="radio"] {
  accent-color: var(--site-c-main);
  width: 18px;
  height: 18px;
  margin: 1px 5px 0 0
}
[type="checkbox"]:focus, [type="radio"]:focus,
[type="checkbox"]:hover, [type="radio"]:hover {
  /* NOTE: ここにaccent-color以外の記述は不可です */
  accent-color: var(--site-c-main);
}
::placeholder {
  color: rgba(0, 0, 0, 0.3)
}
p {
  color: inherit;
  line-height: inherit;
}
a {
  color: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
a:hover {
  opacity: 0.75;
}
img {
  border: none;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  /* NOTE: displayは変更不可です */
  /*display: block;*/
  vertical-align: bottom;
  transition: 0.6s;
}

/**
 * font color
**/
.fc__color {
  color: var(--site-c-main)
}
.fc__pink {
  color: #88d9d5;
}
.fc__red {
  color: #CE0D0D;
}
.fc__blue {
  color: #aee5d8;
}

.fw--300 {
  font-weight: 300;
}
.fw--400 {
  font-weight: 400;
}
.fw--500 {
  font-weight: 500;
}
.fw--600 {
  font-weight: 600;
}
.fw--700 {
  font-weight: 700;
}
.fw--800 {
  font-weight: 800;
}
.fw--900 {
  font-weight: 900;
}


/**
 * link color
**/
.c-link {
  color: var(--font-c-link);
}
.c-link.c-link--underline {
  color: var(--font-c-link);
  text-decoration: underline;
  text-decoration-thickness: 0.75px;
}
.c-link.c-link--underline:hover {
  text-decoration: none;
}

/**
 * background color
**/
.bg__color {
  background: #ebf5ff
}
.bg__gray {
  background: #fafafa
}

/**
 * display
 * NOTE:「表示」を強制させるスタイルではありません。「非表示」を強制させるスタイルです。
**/
/** SP以下のみ表示 **/
@media (min-width: 768px) {
  .sp_disp, .sp--disp {
    display: none !important;
  }
}
/** pc以上のみ表示 **/
@media screen and (max-width: 767.98px) {
  .pc_disp, .pc--disp {
    display: none !important;
  }
}

/**
 * section
**/
section {
  padding: 40px 0;
}
@media screen and (max-width: 959.98px) {
  section {
    padding: 40px 0;
  }
}
@media screen and (max-width: 767.98px) {
  section {
    padding: 15px 0;
  }
}

/**
 * container
**/
.l-container {
  width: 100%;
  max-width: var(--site-container-width);
  margin: 0 auto;
  padding: 0 var(--site-container-padding);
  position: relative;
}

/**
 * display flex
**/
.c-flex {
  display: flex;
  flex-wrap: nowrap;
}
.c-flex--wrap {
  flex-wrap: wrap;
}
.c-flex--between {
  justify-content: space-between;
}

/**
 * text align
**/
.c-text-left {
  text-align: left;
}
.c-text-center {
  text-align: center;
}
.c-text-right {
  text-align: right;
}

/**
 * list
**/
.c-list {}

.c-list--dots {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  font-size: inherit;
  font-weight: 400;
  line-height: 1.75;
  gap: 0.25em;
}
.c-list--dots>li {
  padding: 0 0 0 1em;
  position: relative;
}
.c-list--dots>li::before {
  content: '';
  display: block;
  border-radius: 50%;
  background: #B60081;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0;
  top: calc( (1lh - 1em) * 0.5 );
  z-index: 1;
  transform: scale(0.8);
  transform-origin: left center;
}
@media screen and (max-width: 767.98px) {
  .c-list--dots {}
  .c-list--dots>li {}
}

.c-list--column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  font-size: inherit;
  font-weight: 400;
  line-height: 1.75;
  gap: 0.25em;
}


/**
 * subpage-head
**/
.subpage-head {
  padding: 40px 0;
}
.subpage-head .l-container {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
}
.subpage-head .c-head {
  width: 100%;
  margin-bottom: 0;
}
.subpage-head .c-head__lead,
.subpage-head .c-head__txt {
  font-weight: 500;
  margin: 0;
  opacity: 0.65;
}
.subpage-head *+.c-head__lead {
  margin-top: 40px;
}
.subpage-head *+.c-head__txt {
  margin-top: 1em;
}


/**
 * TITLE
**/
.c-head {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  margin-bottom: 20px;
  position: relative;
}
* + .c-head {
  margin-top: 80px;
}
.c-head--second {
  margin-top: 80px;
}
.c-head--center {
  align-items: center;
  text-align: center;
  margin: 0 auto 40px
}
.c-head__logo {
  /*box-shadow: 0 2px 4px rgba(0,0,0,0.1);*/
  /*background: #000;*/
  width: 200px;
  margin-bottom: 24px;
  padding: 0;
}
.c-head__logo_bg {
  background: none;
}
.c-head__logo [src*="flow__"] {
  margin-bottom: -24px;
}
@media screen and (max-width: 959.98px) {
  .c-head {
    margin-bottom: 28px;
  }
  * + .c-head {
    margin-top: 56px;
  }
  .c-head--second {
    margin-top: 48px;
  }
  .subpage-head {
    padding: 25px 0;
  }
}
@media screen and (max-width: 767.98px) {
  .c-head {
    margin-bottom: 15px;
  }
  * + .c-head {
    margin-top: 40px;
  }
  .c-head--second {
    margin-top: 40px;
  }
  .subpage-head {
    padding: 20px 0 5px;
  }
  .c-head__logo {
    width: 144px;
    margin-bottom: 16px;
  }
  .c-head__logo [src*="flow__"] {
    margin-bottom: -16px;
  }
}
.c-head__ttl {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05ex;
}
/*.c-head__ttl::before {
  content: attr(data-small);
  display: block;
  color: var(--font-c);
  font-size: 60px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05ex;
  text-transform: uppercase;
  margin: 0 0 28px;
}*/
/*
.c-head__ttl::after {
	content: '';
	display: block;
	border-top: solid 2px var(--site-c-main);
	width: 4em;
	margin: 1.5em 0 0;
}
*/
.c-head--center .c-head__ttl {
  margin-left: auto;
  margin-right: auto;
  color: var(--site-c-main);
}
/*
.c-head--center .c-head__ttl::after {
	margin-left: auto;
	margin-right: auto;
}
*/
.c-head__ttl:not([data-small])::before, .c-head__ttl[data-small=""]::before {}
.c-head__ttl.text--only-jp {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.05ex;
}
.c-head__ttl.text--only-jp::before {
  display: none;
}
.c-head__ttl.text--only-jp::after {
  display: none;
}
.c-head__ttl.text--only-jp:not([data-small])::before, .c-head__ttl.text--only-jp[data-small=""]::before {
  display: none;
}
@media screen and (max-width: 959.98px) {
  .c-head__ttl {
    font-size: 22px;
    line-height: 22px;
  }
  .c-head__ttl.text--only-jp {
    font-size: 22px;
  }
}
@media screen and (max-width: 767.98px) {
  .c-head__ttl {
    font-size: 18px;
    line-height: 1.75;
  }
  .c-head__ttl.text--only-jp {
    font-size: 18px;
  }
}
.c-head__ttl--link {}
.c-head__ttl--link.btn, .c-head__ttl--link {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  margin: 0;
}
.c-head__ttl--link > a:hover {
  color: #fff;
  background: var(--site-c-main);
}
@media screen and (max-width: 959.98px) {
  .c-head__ttl--link.btn, .c-head__ttl--link {
    width: 180px;
  }
}
@media screen and (max-width: 767.98px) {
  .c-head__ttl--link.btn, .c-head__ttl--link {
    width: 96px;
  }
  .c-head__ttl--link a {
    height: 56px;
  }
}
.c-head__lead,
.c-head__txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.05ex;
  opacity: 0.65;
  margin-top: 16px;
}
*+.c-head__lead,
*+.c-head__txt {
  margin-top: 2em;
}
.c-head-txt-box {
  background: #fff;
  border-radius: 10px;
  text-align: center;
  width: 100%;
  max-width: 1010px;
  margin: 40px 0 0;
  padding: 30px;
}
.c-head-txt-box__ttl {
  color: var(--site-c-main);
  font-weight: 700;
  margin-bottom: 25px;
}
@media screen and (max-width: 767.98px) {
  .c-head-txt-box {
	border-radius: 5px;
    margin-top: 15px;
	padding: 20px;
  }
}


/**
 * button
**/
.btn {
  display: block;
  /* AdminLTE使用時のbootstrap解除 */
  border-radius: 0;
  /* AdminLTE使用時のbootstrap解除 */
  border: none;
  /* AdminLTE使用時のbootstrap解除 */
  background: transparent;
  /* AdminLTE使用時のbootstrap解除 */
  color: inherit;
  /* AdminLTE使用時のbootstrap解除 */
  font-weight: 500;
  text-align: center;
  max-width: 256px;
  /* NOTE: このセレクタはサイト内共通です。widthは必ずautoに設定し、widthを変更したい場合は別のセレクタを用いてhtmlのクラス名に記述してください。*/
  width: auto;
  height: auto;
  /* AdminLTE使用時のbootstrap解除 */
  margin: 40px auto 0;
  padding: 0;
  /* AdminLTE使用時のbootstrap解除 */
  position: static;
  /* AdminLTE使用時のbootstrap解除 */
}
.btn a, .btn input, .btn button, .btn > span {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 3em;
  border: solid 1px var(--site-c-orange);
  background: var(--site-c-orange);
  color: #fff;
  font-feature-settings: 'palt';
  font-weight: 500;
  text-align: center;
  width: 100%;
  height: var(--site-btn-height);
  gap: 1ex;
  padding-inline: 1.25em;
  position: relative;
}
.btn a::after {
  /* NOTE: 使用しない */
  /* content: ''; */
  display: block;
  border-top: 2px solid;
  border-right: 2px solid;
  width: 8px;
  height: 8px;
  margin-left: 0;
  transform: translate(0, -50%) rotate(45deg);
  position: absolute;
  right: 1em;
  top: 50%;
  pointer-events: none;
}
.btn a:hover, .btn input:hover, .btn button:hover, .btn > span:hover {
  opacity: 0.75;
}
@media screen and (max-width: 959.98px) {
  .btn {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767.98px) {
  .btn {
    max-width: none;
    margin-top: 20px;
  }
  .btn a, .btn input, .btn button, .btn > span {
    /* NOTE: ここにbackgroundやcolor、borderなどの色を指定すると不具合が起きます。指定しないでください。 */
    font-size: 18px;
  }
}

/* ボタンスタイルのlabel（モーダル起動ボタンや、ボタンスタイルのradio, checkboxなどのラッパーとして使います） */
label.btn {
  /* NOTE: ここにcursor以外の一切のスタイルの記述を禁止します */
  cursor: pointer;
}

/* ボタンスタイルのradio, checkbox */
/* NOTE: .btnの基本的なスタイルのセレクタの下に必ず書いてください。（＝この位置から動かさない） */
.btn:has([type="radio"]),
.btn:has([type="checkbox"]) {
  position: relative;
  inset: auto auto auto auto;
}
.btn > [type="radio"],
.btn > [type="checkbox"] {
  position: absolute;
  opacity: 0 !important;
}
.btn > [type="radio"] + span,
.btn > [type="checkbox"] + span {
  opacity: 0.5;
}
.btn > [type="radio"]:checked + span,
.btn > [type="checkbox"]:checked + span {
  opacity: 1;
}
.btn > [type="radio"] + span:hover,
.btn > [type="checkbox"] + span:hover,
.btn > [type="radio"]:checked + span:hover,
.btn > [type="checkbox"]:checked + span:hover {
  opacity: 0.75;
}


.btn--small {
  display: block;
  /* AdminLTE使用時のbootstrap解除 */
  border-radius: 0;
  /* AdminLTE使用時のbootstrap解除 */
  border: none;
  /* AdminLTE使用時のbootstrap解除 */
  background: transparent;
  /* AdminLTE使用時のbootstrap解除 */
  color: inherit;
  /* AdminLTE使用時のbootstrap解除 */
  height: auto;
  /* AdminLTE使用時のbootstrap解除 */
  padding: 0;
  /* AdminLTE使用時のbootstrap解除 */
  position: static;
  /* AdminLTE使用時のbootstrap解除 */
  max-width: 256px;
  width: 100%;
}
.btn--small a, .btn--small button, .btn--small input, .btn--small > span {
  border-radius: 3em;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  width: 100%;
  height: var(--site-btn-small-height);
  padding-inline: 1em;
  gap: 1ex;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .btn--small a, .btn--small button, .btn--small input, .btn--small > span {
    font-size: 10px;
  }
}


.btn--like a, .btn--like a:hover {
  border-radius: 5px;
  border: 1px solid #E3DFDC;
  background: #fff;
  color: var(--font-c);
  font-weight: 400;
  padding-inline: 3em;
}
.btn--like a::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-star-w.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 18.84px;
  height: 18px;
  margin-right: 5px;
}
.btn--like a::after {}
.btn--like a:focus::before, .btn--like a:hover::before, .btn--likeoff a::before,
.btn--like a:focus::after, .btn--like a:hover::after, .btn--likeoff a::after {
  color: var(--site-c-main-hue);
}

.btn--like.is--active a, .btn--like.is--active a:hover,
.btn--likeoff a, .btn--likeoff a:hover {
  border-radius: 5px;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--font-c);
}
.btn--like.is--active a::before,
.btn--likeoff a::before {
  background-image: url("/common/images/icon-star-c.svg");
}
.btn--like.is--active a:focus::before, .btn--like.is--active a:hover::before, .btn--likeoff a::before,
.btn--like.is--active a:focus::after, .btn--like.is--active a:hover::after, .btn--likeoff a::after {
  color: var(--site-c-main-hue);
  color: #fff;
}

.btn--likeoff.is--active a, .btn--likeoff.is--active a:hover {
  border-radius: 5px;
  border: 1px solid #E3DFDC;
  background: #fff;
  color: var(--font-c);
  font-weight: 400;
  padding-inline: 3em;
}
.btn--likeoff a::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-star-c.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 18.84px;
  height: 18px;
  margin-right: 5px;
}
.btn--likeoff.is--active a::before {
  background-image: url("/common/images/icon-star-w.svg");
}



.btn--message a {
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
}
.btn--message a::before {
  content: "";
  display: inline-block;
  background: url("../images/icon__btn--message.png") center center / 100% no-repeat;
  background-color: transparent;
  width: 15px;
  height: 15px;
  position: relative;
  top: 0;
  right: 5px;
  transition: all 0.2s ease;
}
.btn--message a:focus, .btn--message a:hover {
  background: #edf9ff;
}

/* button color */

/* button color submit */
.btn--submit a, .btn--submit input, .btn--submit button, .btn--submit > span {
  border: solid 1px #E6E6E6;
  background: #fff;
  color: var(--site-c-main);
}
.btn--submit a:hover, .btn--submit input:hover, .btn--submit button:hover, .btn--submit > span:hover,
.btn--submit a:focus, .btn--submit input:focus, .btn--submit button:focus, .btn--submit > span:focus {
  background: var(--site-c-main);
  color: #fff;
}

/* button color action */
.btn--action a, .btn--action input, .btn--action button, .btn--action > span {
  border: solid 1px var(--site-c-orange);
  background: var(--site-c-orange);
  color: #fff;
}
.btn--action a:hover, .btn--action input:hover, .btn--action button:hover, .btn--action > span:hover,
.btn--action a:focus, .btn--action input:focus, .btn--action button:focus, .btn--action > span:focus {
  border: solid 1px var(--site-c-orange);
  background: var(--site-c-orange);
  color: #fff;
}

/* button color back */
.btn--back a, .btn--back input, .btn--back button, .btn--back > span {
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  /* NOTE: 矢印アイコンがあるため、padding-inlineが必須です */
  padding-inline: 1.5em;
}
.btn--back a:hover, .btn--back input:hover, .btn--back button:hover, .btn--back > span:hover,
.btn--back a:focus, .btn--back input:focus, .btn--back button:focus, .btn--back > span:focus {
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
}
.btn--back a:hover, .btn--back input:hover, .btn--back button:hover, .btn--back > span:hover {
  border: 1px solid var(--site-c-main);
  background: #edf9ff;
  color: var(--site-c-main);
}
.btn--back a::after, .btn--back button::after, .btn--back > span::after {
  content: ''; 
  display: block;
  border-top: 1px solid;
  border-right: none;
  border-bottom: none;
  border-left: 1px solid;
  width: 1ex;
  height: 1ex;
  margin: 0;
  position: absolute;
  inset: calc(50% + 1px) auto auto 1em;
  transform: translate(0,-50%) rotate(-45deg);
  pointer-events: none;
}


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

/* button color fill */
.btn--fill {}
.btn--fill a, .btn--fill input, .btn--fill button, .btn--fill > span {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}
.btn--fill a:focus, .btn--fill input:focus, .btn--fill button:focus, .btn--fill > span:focus,
.btn--fill a:hover, .btn--fill input:hover, .btn--fill button:hover, .btn--fill > span:hover {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}

/* button color gray-ui */
.btn--gray-ui a, .btn--gray-ui input, .btn--gray-ui button, .btn--gray-ui > span {
  border: solid 1px var(--site-c-gray-ui);
  background: var(--site-c-gray-ui);
  color: var(--font-c);
}
.btn--gray-ui a:focus, .btn--gray-ui input:focus, .btn--gray-ui button:focus, .btn--gray-ui > span:focus,
.btn--gray-ui a:hover, .btn--gray-ui input:hover, .btn--gray-ui button:hover, .btn--gray-ui > span:hover {
  border: solid 1px var(--site-c-gray-ui);
  background: var(--site-c-gray-ui);
  color: var(--font-c);
}

/* button color white */
.btn--white a, .btn--white input, .btn--white button, .btn--white > span {
  border-color: var(--site-c-darkgray-ui);
  background: #fff;
  color: var(--font-c);
}
.btn--white a:hover, .btn--white input:hover, .btn--white button:hover, .btn--white > span:hover,
.btn--white a:focus, .btn--white input:focus, .btn--white button:focus, .btn--white > span:focus {
  border-color: var(--site-c-darkgray-ui);
  background: #fff;
  color: var(--font-c);
}

/* button color sns line */
.btn--sns-line a, .btn--sns-line input, .btn--sns-line button, .btn--sns-line > span {
  border-radius: 3em;
  border-color: #56C35D;
  background: #56C35D;
  color: #fff;
  padding-inline: 1.5em;
}
.btn--sns-line>*::before {
  content: '';
  display: block;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22line%22%20data-name%3D%22line%20icon%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233.951%22%20height%3D%2232.349%22%20viewBox%3D%220%200%2033.951%2032.349%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_14856%22%20data-name%3D%22%E3%83%91%E3%82%B9%2014856%22%20d%3D%22M65.613%2C29.776C65.613%2C22.18%2C58%2C16%2C48.638%2C16S31.662%2C22.18%2C31.662%2C29.776c0%2C6.81%2C6.04%2C12.513%2C14.2%2C13.591.553.119%2C1.306.364%2C1.5.837a3.5%2C3.5%2C0%2C0%2C1%2C.055%2C1.534s-.2%2C1.2-.243%2C1.454c-.074.429-.341%2C1.678%2C1.471.915s9.776-5.756%2C13.338-9.855h0a12.262%2C12.262%2C0%2C0%2C0%2C3.639-8.476%22%20transform%3D%22translate(-31.662%20-16)%22%20fill%3D%22%23fff%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_14857%22%20data-name%3D%22%E3%83%91%E3%82%B9%2014857%22%20d%3D%22M60.932%2C34.583h-4.77a.324.324%2C0%2C0%2C1-.324-.324v0h0v-7.4a.324.324%2C0%2C0%2C1%2C.324-.324h4.77a.325.325%2C0%2C0%2C1%2C.324.324v1.2a.325.325%2C0%2C0%2C1-.324.324H57.691v1.25h3.241a.325.325%2C0%2C0%2C1%2C.324.324v1.2a.325.325%2C0%2C0%2C1-.324.325H57.691v1.25h3.241a.325.325%2C0%2C0%2C1%2C.324.324v1.2a.325.325%2C0%2C0%2C1-.324.324%22%20transform%3D%22translate(-32.628%20-16.421)%22%20fill%3D%22%2356c35d%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_14858%22%20data-name%3D%22%E3%83%91%E3%82%B9%2014858%22%20d%3D%22M42.556%2C34.583a.325.325%2C0%2C0%2C0%2C.324-.324v-1.2a.325.325%2C0%2C0%2C0-.324-.324H39.315V26.85a.325.325%2C0%2C0%2C0-.324-.324h-1.2a.324.324%2C0%2C0%2C0-.324.324v7.4h0v0a.324.324%2C0%2C0%2C0%2C.324.324h4.77Z%22%20transform%3D%22translate(-31.894%20-16.421)%22%20fill%3D%22%2356c35d%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_14859%22%20data-name%3D%22%E3%83%91%E3%82%B9%2014859%22%20d%3D%22M45.7%2C26.526h-1.2a.325.325%2C0%2C0%2C0-.324.324v7.408a.325.325%2C0%2C0%2C0%2C.324.324h1.2a.325.325%2C0%2C0%2C0%2C.324-.324V26.85a.325.325%2C0%2C0%2C0-.324-.324%22%20transform%3D%22translate(-32.162%20-16.421)%22%20fill%3D%22%2356c35d%22%2F%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_14860%22%20data-name%3D%22%E3%83%91%E3%82%B9%2014860%22%20d%3D%22M54.017%2C26.526h-1.2a.325.325%2C0%2C0%2C0-.324.324v4.4L49.1%2C26.673c-.008-.012-.017-.023-.026-.034l0%2C0a.128.128%2C0%2C0%2C0-.019-.02l-.006-.006-.018-.015-.009-.007L49%2C26.578l-.01-.006-.018-.01-.01-.006-.019-.008-.011%2C0-.019-.007-.012%2C0-.02%2C0-.013%2C0-.017%2C0H47.627a.324.324%2C0%2C0%2C0-.324.324v7.408a.324.324%2C0%2C0%2C0%2C.324.324h1.2a.324.324%2C0%2C0%2C0%2C.324-.324v-4.4l3.394%2C4.584a.337.337%2C0%2C0%2C0%2C.084.082l0%2C0%2C.02.012.01.006.015.007.016.008.011%2C0%2C.022.007h0a.3.3%2C0%2C0%2C0%2C.084.012h1.2a.325.325%2C0%2C0%2C0%2C.324-.324V26.85a.325.325%2C0%2C0%2C0-.324-.324%22%20transform%3D%22translate(-32.287%20-16.421)%22%20fill%3D%22%2356c35d%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1em;
  height: 1em;
  transform: scale(1.5);
}
.btn--sns-line>*>span {
  margin-left: 0.75em;
}
.btn--sns-line a:hover, .btn--sns-line input:hover, .btn--sns-line button:hover, .btn--sns-line > span:hover,
.btn--sns-line a:focus, .btn--sns-line input:focus, .btn--sns-line button:focus, .btn--sns-line > span:focus {
  border-radius: 3em;
  border-color: #56C35D;
  background: #56C35D;
  color: #fff;
}




/* button style */

.btn--tall a, .btn--tall input, .btn--tall button, .btn--tall > span {
  height: 80px;
}

.btn--radius-s a, .btn--radius-s input, .btn--radius-s button, .btn--radius-s > span {
  border-radius: 5px;
}

.btn--link a, .btn--link input, .btn--link button, .btn--link > span {
  border-radius: 0;
  border-color: transparent;
  background: transparent;
  color: var(--font-c);
  font-weight: 400;
  width: auto;
  padding-inline: 0.75em;
}
.btn--link a:hover, .btn--link input:hover, .btn--link button:hover, .btn--link > span:hover,
.btn--link a:focus, .btn--link input:focus, .btn--link button:focus, .btn--link > span:focus {
  border-radius: 0;
  border-color: transparent;
  background: transparent;
  color: var(--font-c);
}
.btn--link a::after, .btn--link button::after, .btn--link > span::after {
  left: 0;
}



/* button before, after text */
.btn-over-txt {
  text-align: center;
  width: 100%;
  margin: 20px auto 30px;
  font-size: 13px;
}
.btn-over-txt a {
  color: var(--site-c-main);
}
.btn-over-txt a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767.98px) {
  .btn-over-txt {
    margin: 10px auto 15px;
  }
}

.btn-under-txt {
  text-align: center;
  width: 100%;
  margin-top: 35px;
  padding-top: 35px;
  position: relative;
}
.btn-under-txt::before {
  content: '';
  display: block;
  background-position: 0 0;
  background-size: 4px 1px; 
  background-image: linear-gradient(to right, rgba(0,0,0,0.4) 1px, transparent 1px);
  background-repeat: repeat-x;
  height: 1px;
  position: absolute;
  inset: 0 0 auto 0;
}
.btn-under-txt a {
  color: var(--site-c-main);
}
.btn-under-txt a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767.98px) {
  .btn-under-txt {
    margin-top: 24px;
    padding-top: 24px;
  }
}



/**
 * 横並びボタン
 * NOTE: フォーム以外で使ってください。　→　トップページ、一覧、静的ページなど（form系は.formset関連と併用して.formset__btn>.btnを使ってください。）
**/
.box-buttons {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.box-buttons .btn {
  width: 49%;
  max-width: none;
}
.box-buttons .btn--small {
  width: auto;
  margin: 10px 5px 5px 0;
  display: block;
}
.box-buttons .btn a:hover {
  color: #fff;
  background: var(--site-c-main);
}


.box-readmore-buttons {
  margin-top: 24px;
}
.box-readmore-buttons a {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 5px;
  background: #fff;
  color: var(--site-c-main);
  font-feature-settings: 'palt';
  font-weight: 500;
  text-align: center;
  max-width: 320px;
  width: 100%;
  height: var(--site-btn-height);
  margin: 0 auto;
  padding-inline: 1em;
  position: relative;
}
.box-readmore-buttons a:after {
  content: '';
  display: block;
  border-top: 1px solid var(--site-c-main);
  border-right: 1px solid var(--site-c-main);
  width: 0.71em;
  height: 0.71em;
  margin-top: -0.355em;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: rotate(45deg);
}


/**
 * link
**/
.link {
  color: var(--site-c-main);
}
.link.link--blank::after {
  content: '';
  display: inline-block;
  background-image: url("/common/images/icon-blank.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1em;
  height: 1em;
  margin: 0 0 0 1ex;
  vertical-align: baseline;
  transform: translate(0, 16.666%);
}
/* アイコン
--------------------------------- */
.c-icon {
  display: flex;
  align-items: center;
  gap: 5px;
}
.c-icon.center {
  justify-content: center;
}
.c-icon::before {
  width: 15px;
  height: 15px;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left 50% top 0%;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* TODO: アイコン画像はSVGに随時変更していく */
.icon-area::before {
  background-image: url(/common/images/icon-area.svg);
}
.icon-area-w::before {
  background-image: url(/common/images/icon-area-w.svg);
}
.icon-book::before {
  background-image: url(/common/images/icon-book.png);
}
.icon-edit-b::before {
  background-image: url(/common/images/icon-edit-b.svg);
}
.icon-search--white::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/icon-search--white.png);
}
.icon-heart::before {
  width: 20px;
  height: 18px;
  background-image: url(/common/images/icon-heart.svg);
}
.icon-fork::before {
  width: 18.89px;
  height: 18.13px;
  background-image: url(/common/images/icon-fork.svg);
}
.icon-fork-w::before {
  width: 18.89px;
  height: 18.13px;
  background-image: url(/common/images/icon-fork-w.svg);
}
.icon-yen::before {
  width: 12.25px;
  height: 16.48px;
  background-image: url(/common/images/icon-yen.png);
}
.icon-light::before {
  width: 16.5px;
  height: 22px;
  background-image: url(/common/images/icon-light.svg);
}
.icon-flag::before {
  width: 16px;
  height: 19.43px;
  background-image: url(/common/images/icon-flag.png);
}
.icon-book::before {
  width: 19.26px;
  height: 15.61px;
  background-image: url(/common/images/icon-book.png);
}
.icon-fukidashi02::before {
  width: 20px;
  height: 19px;
  background-image: url(/common/images/icon-fukidashi02.png);
}
.icon-fukidashi::before {
  width: 20.01px;
  height: 18.02px;
  background-image: url(/common/images/icon-fukidashi.png);
}
.icon-bell::before {
  width: 17.79px;
  height: 22px;
  background-image: url(/common/images/icon-bell.svg);
}
.icon-bell-w::before {
  width: 17.79px;
  height: 22px;
  background-image: url(/common/images/icon-bell-w.svg);
}
.icon-employment::before {
  width: 15.27px;
  height: 15.27px;
  background-image: url(/common/images/icon-employment.png);
}
.icon-time::before {
  width: 15.27px;
  height: 15.27px;
  background-image: url(/common/images/icon-time.png);
}
.icon-overtime::before {
  width: 15.27px;
  height: 15.27px;
  background-image: url(/common/images/icon-overtime.png);
}
.icon-bonus::before {
  width: 16.99px;
  height: 12.36px;
  background-image: url(/common/images/icon-bonus.png);
}
.icon-calendar::before {
  width: 15.27px;
  height: 16.97px;
  background-image: url(/common/images/icon-calendar.png);
}
.icon-boshu::before {
  width: 14.4px;
  height: 18px;
  background-image: url(/common/images/icon-boshu2.png);
}
.icon-company--white::before {
  width: 16px;
  height: 18px;
  background-image: url(/common/images/icon-company--white.png);
}


/**
 * swipe
**/
@media 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
  }
}




/**
 * box style
**/
.c-box {
  border-radius: 10px;
  background: transparent;
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
  padding: 24px 40px 40px;
}
*+.c-box {
  margin-top: 40px;
}
.c-box--white {
  background: #fff;
  color: var(--font-c);
}
@media screen and (max-width: 1400.98px) {
  .c-box {}
}
@media screen and (max-width: 959.98px) {
  .c-box {}
}
@media screen and (max-width: 767.98px) {
  .c-box {}
}

.c-box__header {}
.c-box__body {}
.c-box__footer {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 40px 0 0;
  gap: 20px;
}
.c-box__footer .btn {
  max-width: 200px;
  width: 100%;
  margin: 0;
}
.c-box__notes {
  font-size: 13px;
  font-weight: 400;
}



/**
 * form formset
**/
.formset {
  max-width: 695px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .formset {}
}
@media screen and (max-width: 767.98px) {
  .formset {}
}

.formset__h2 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  width: 100%;
  gap: 1em;
}
.formset__h2>span {
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
}
.formset__h2>small {
  color: var(--site-c-main);
  font-weight: 400;
  font-size: 14px;
  line-height: 1.25;
}
*+.formset__h2 {
  margin-top: 40px;
}
.formset__h2+* {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .formset__h2 {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1ex;
  }
}

.formset__lead {
  width: 100%;
}

.formset__item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
  width: 100%;
}
.formset__item+.formset__item {
  border-top: none;
}
.formset__item.type--column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
}
.formset__item+.formset__item.type--column {
  margin-top: 20px;
}
@media screen and (max-width: 767.98px) {
  .formset__item {
    flex-flow: column nowrap;
    align-items: stretch;
  }
  .page-mypage .formset__item {
    flex-flow: row nowrap;
  }

  .page-mypage .formset__item.type--column,
  .formset__item.type--column {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
  }
}

.formset__ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  background: var(--site-bg-c);
  font-weight: 700;
  min-width: 320px;
  padding: 1em 0 1em 1em;
  gap: 0;
  font-size: 14px;
}
.formset__item.type--column .formset__ttl {
  width: auto;
  padding: 0 0 1em;
}
/* NOTE: .formset__ttlでは、タイトルの文字列をラップする labelタグが必須です */
.formset__ttl>label {}

@media screen and (max-width: 1200.98px) {
  .formset__ttl {
    min-width: 200px;
  }
}
@media screen and (max-width: 959.98px) {
  .formset__ttl {
    min-width: 200px;
  }
}
@media screen and (max-width: 767.98px) {
  .formset__ttl {
    width: auto;
    min-width: 0;
    padding: 10px 0 0 0;
  }
  .page-mypage .formset__ttl {
    flex-flow: unset;
    font-size: 12px;
    min-width: 105px;
    padding: 10px 8px;
  }
  .page-mypage .formset__item.type--column .formset__ttl,
  .formset__item.type--column .formset__ttl {
    width: auto;
    min-width: 0;
    padding: 0 0 1em;
  }
}

.formset__input {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
  padding: 1em 1em;
  gap: var(--site-input-gap-row) var(--site-input-gap-col);
}
.formset__input:only-child {
  width: 100%;
}
.formset__item.type--column .formset__input {
  width: auto;
  padding: 0;
}
.formset__input--2col {
  flex-flow: nowrap;
}
.formset__input--area {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  align-items: flex-start;
}
@media screen and (max-width: 767.98px) {
  .formset__input {
    width: auto;
    padding: 10px 0;
  }
  .page-mypage .formset__input {
    font-size: 12px;
    width: calc(100% - 105px);
    padding: 10px 0 10px 10px;
  }
  .formset__item.type--column .formset__input {
    width: auto;
    padding: 0;
  }
}


/* 入力部品をラップするもの（flex-wrapをwrapさせる場合） */
.formset__input:has(ul),
.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__must {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 15px;
  height: 20px;
}
.formset__ttl .formset__must {
  margin-left: 2px;
}
.formset__item.type--column .formset__must {
  margin-inline: auto 0;
}
.formset__input .formset__must {
  margin: 0;
}
.formset__input *+.formset__must {
  margin-left: 1ex;
}

/* image */
.formset__input img {
  border-radius: 5px;
  width: 180px;
  height: 180px;
  margin-bottom: 10px;
  object-fit: cover;
}
@media screen and (max-width: 767.98px) {
  .formset__input img {
    width: 120px;
    height: 120px;
  }
}


/* list */
.formset__input ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 10px;
}
.formset__input ul.style--column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  gap: 10px;
}
.formset__input li {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin: 0;
}

.formset__input ul label {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1ex;
}
.formset__input ul label [type="radio"],
.formset__input ul label [type="checkbox"] {
  margin: 0;
}

.formset__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
}
.formset__list.formset__list--col {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
.formset__input .formset__list li {
  display: block;
  margin: 0;
}

/* input tag */
.formset__input .input_select,
.formset__input .input-select,
.formset__input [type="text"],
.formset__input [type="number"],
.formset__input [type="tel"],
.formset__input [type="email"],
.formset__input .input-password,
.formset__input [type="password"],
.formset__input [type="url"],
.formset__input .input-time,
.formset__input [type="time"],
.formset__input [type="date"],
.formset__input [type="month"],
.formset__input textarea {
  border-radius: 5px;
  border: 1px solid var(--site-c-darkgray-ui);
  background: #fff;
  /* NOTE: input, textarea, select のfont-sizeは必ず、--site-input-fs変数を用いてください。 */
  font-size: var(--site-input-fs);
  max-width: 500px;
  width: 100%;
  /* NOTE: input, textarea, select のheightは必ず、--site-input-height変数を用いてください。 */
  height: var(--site-input-height);
  /* NOTE: paddingは必ず相対値を用いてください。 */
  padding: 0 1em;
}

.formset__input .input_select,
.formset__input .input-select {
  padding: 0;
}
.formset__input .input_select select,
.formset__input .input-select select {
  border-radius: 0;
  border: none;
  background: transparent;
  font-size: inherit;
  padding: 0 2em 0 1em;
}

.formset__input .input-time,
.formset__input [type="time"],
.formset__input [type="date"],
.formset__input [type="month"],
.formset__input [type="number"],
.formset__input .input_select,
.formset__input .input-select {
  width: auto;
}
@media screen and (max-width: 767.98px) {
  .formset__input .input-time,
  .formset__input [type="time"],
  .formset__input [type="date"],
  .formset__input [type="month"],
  .formset__input [type="number"],
  .formset__input .input_select,
  .formset__input .input-select {
    /* TODO: 以下、暫定処置。今後、個別にhtmlへクラス名の付与などで調整が必要になる */
    max-width: calc( 100vw - 104px - var(--site-container-padding)*2 - 10px*2 - 3em );
    width: fit-content;
  }
}

/* ラッパー付きパスワード */
.formset__input .input-password:has([type="text"]),
.formset__input .input-password:has([type="password"]) {
  padding: 0;
  position: relative;
  overflow: hidden;
}
.formset__input .input-password>[type="text"],
.formset__input .input-password>[type="password"] {
  border-radius: inherit;
  border: none;
  background: transparent;
  font-size: inherit;
  max-width: none;
  width: 100%;
  height: 100%;
  padding: 0 2em 0 1em;
  margin: 0;
  position: relative;
  z-index: 1;
}
.formset__input .input-password>[type="button"] {
  color: var(--site-c-silvergray);
  position: absolute;
  top: 50%;
  right: 1em;
  z-index: 2;
  transform: translate(0,-50%);
}
.formset__input .input-password>[type="button"]::before {
  content: '';
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  background-image: url("/common/images/icon-eye-open.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
}
.formset__input .input-password.is--show>[type="button"]::before {
  background-image: url("/common/images/icon-eye-close.svg");
}

.formset__input textarea {
  max-width: none;
  height: auto;
  min-height: 4em;
  padding-block: 1em;
}

.formset__input .input_select.type--full-width,
.formset__input .input-select.type--full-width,
.formset__input [type="text"].type--full-width,
.formset__input [type="number"].type--full-width,
.formset__input [type="tel"].type--full-width,
.formset__input [type="email"].type--full-width,
.formset__input .input-password.type--full-width,
.formset__input [type="password"].type--full-width,
.formset__input [type="url"].type--full-width,
.formset__input .input-time.type--full-width,
.formset__input [type="time"].type--full-width,
.formset__input [type="date"].type--full-width,
.formset__input [type="month"].type--full-width,
.formset__input textarea.type--full-width {
  max-width: none;
  width: 100%;
}


/* button */
.formset__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 16px;
  gap: 16px;
}
*+.formset__btn {
  margin-top: 40px;
}
.formset__btn>.btn {
  max-width: 176px;
  width: 100%;
  margin: 0;
}
.formset__btn>.btn--link {
  max-width: none;
  width: auto;
  margin: 0;
}


/* ボタン後方の注釈 */
.formset__notes-after-btn {
  text-align: center;
  margin-top: 20px;
  font-size: smaller;
  opacity: 0.65;
}


/* ボタン選択リスト（アンケート画面など） */
.formset__input .formset__buttons-column,
.formset__buttons-column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 16px;
  flex: 1 auto;
}
*+.formset__buttons-column {
  margin-top: 16px;
}
.formset__buttons-column>li {
  display: block;
}
.formset-medium .formset__buttons-column .btn,
.formset-compact .formset__buttons-column .btn,
.formset__buttons-column .btn {
  max-width: none;
  margin: 0;
}


/* formset その他のタグ */

/* dl */
/* NOTE: 2colレイアウト */
.formset__dl {
  display: grid;
  grid-template-columns: minmax(20px, auto) 2fr;
  width: 100%;
  gap: 0.5em 1em;
}
*+.formset__dl {
  margin-top: 12px;
}
@media screen and (max-width: 767.98px) {
  .formset__dl {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0.5em;
  }
}

.formset__dl>dt {
  color: var(--font_c);
  font-weight: 700;
  font-feature-settings: 'palt';
  align-self: center;
}
@media screen and (max-width: 767.98px) {
  .formset__dl>dt {
    align-self: stretch;
  }
  .formset__dl>dd+dt {
    margin-top: 0.5em;
  }
}
.formset__dl>dd {
  align-self: center;
}
@media screen and (max-width: 767.98px) {
  .formset__dl>dd {
    align-self: stretch;
  }
}
.formset__dl>dd ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 1ex 2ex;
}

.formset__dl>dt small {
  display: block;
  color: var(--font_c);
  font-weight: 400;
  font-size: 12px;
  line-height: 2;
  opacity: 0.5;
}



/* files */
.formset__files {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
  counter-reset: count-files;
}
@media screen and (max-width: 767.98px) {
  .formset__files {
    grid-template-columns: 1fr;
  }
}

.formset__files>li {
  display: block;
  padding: 0 0 0 1.75em;
  position: relative;
  counter-increment: count-files;
}
.formset__files>li::before {
  content: counter(count-files);
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: solid 0.75px var(--font-c);
  color: var(--font-c);
  width: 1.25em;
  height: 1.25em;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.formset__files>li [type="file"] {
  width: 100%;
  min-width: 0;
}

/* type file */

.formset__file-group {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: var(--site-input-gap-col);
}

.formset__input [type="file"] {
  border-radius: var(--site-input-radius);
  background: rgba(0, 0, 0, 0.04);
  color: var(--site-c-gray);
  min-width: 280px;
  margin: 4px 0;
  padding: 6px 10px 6px 6px;
}

.formset__input [type="file"]::file-selector-button {
  border-radius: var(--site-input-radius);
  border: 1px solid var(--site-c-lightgray);
  background: #fff;
  color: var(--site-c-black);
  font-size: 16px;
  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 {}
[type="radio"]+.txt-delete,
[type="checkbox"]+.txt-delete {
  display: inline-block;
  transform: translate(0, -3px);
}
.check-delete {
  margin-left: 1em;
}

/* 郵便番号 */
.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-col);
  }
}
@media screen and (max-width: 767.98px) {
  .item--flex-break.pc--disp+* {
    margin-left: var(--site-input-gap-col);
  }
}


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

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

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


/* ちょっとしたラベル */
.formset__input .item--label {
  display: inline-block;
  font-size: inherit;
  min-width: 64px;
}
.item--label+.formset__calc-total,
.item--label+.input-select,
.formset__input .item--label+[type="text"],
.formset__input .item--label+[type="email"],
.formset__input .item--label+[type="tel"],
.formset__input .item--label+[type="password"],
.formset__input .item--label+[type="url"],
.formset__input .item--label+[type="date"],
.formset__input .item--label+[type="datetime-local"],
.formset__input .item--label+.input-time,
.formset__input .item--label+[type="time"],
.formset__input .item--label+[type="month"],
.formset__input .item--label+[type="week"],
.formset__input .item--label+[type="search"],
.formset__input .item--label+[type="number"] {
  /* NOTE: margin-left以外を記述すると不具合が出ます */
  margin-left: var(--site-input-gap-col);
}
*+.item--label {
  margin-left: var(--site-input-gap-col);
}
@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__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;
}
.formset__calc-total.item--tight {
  display: inline-block;
  min-width: 0;
  margin: 4px 0 0;
  padding: 0 0 4px 1ex;
}
@media (max-width: 767.98px) {
  .formset__calc-total.item--tight {
    /*margin-left: auto;*/
  }
}



/* 注釈 */
.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 {
  width: 100%;
}
.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="text"]+.formset__notes,
.formset__input [type="email"]+.formset__notes,
.formset__input [type="tel"]+.formset__notes,
.formset__input [type="password"]+.formset__notes,
.formset__input [type="url"]+.formset__notes,
.formset__input [type="date"]+.formset__notes,
.formset__input [type="datetime-local"]+.formset__notes,
.formset__input .input-time+.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-col);
}
.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__terms {
  border-radius: var(--site-input-radius);
  border: 1px solid var(--site-c-gray-ui);
  background: var(--site-c-gray-ui);
  font-size: 13px;
  font-feature-settings: 'palt';
  line-height: 2;
  max-width: 768px;
  width: 100%;
  height: 200px;
  margin: 4px 0 0;
  padding: 1em;
  overflow-x: hidden;
  overflow-y: auto;
}
.formset__terms.formset__terms--no-scroll {
  height: auto;
  overflow: visible;
}
*+.formset__terms {
  margin-top: 8px;
}
.formset__terms__ttl {
  text-align: center;
  margin: 0 0 8px;
}
.formset__terms__ttl i {
  margin-right: 0.75ex;
}
@media (max-width: 767.98px) {
  .formset__terms {
    font-size: 10px;
  }
}
.formset__terms>p {
  line-height: inherit;
}
.formset__terms>*+p {
  margin-top: 0.5em;
}


/* トグルボタン */
.formset__toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 4px 0 0;
}
.formset__toggle-label {
  font-size: 14px;
  font-weight: inherit;
  margin: 0;
  padding: 0 1em 0 0;
}
.formset__toggle-button.btn,
.formset__toggle-button {
  max-width: none;
  width: 64px;
  margin: 0;
}
@media (max-width: 767.98px) {
  .formset__toggle-label {
    font-size: 12px;
  }
}





/**
 * form tableset
**/
.tableset {
  width: 100%;
  background: #fff
}
@media screen and (min-width: 768px) {
  .tableset {
    margin-bottom: 30px;
    padding: 40px;
    border: 1px solid #D6D6D6;
    border-radius: 5px
  }
}
.tableset__list {
  width: 100%;
  display: table;
  text-align: left;
}
* + .tableset__list {
  border-top: 1px solid #D6D6D6;
}
.tableset__ttl {
  width: 320px;
  display: table-cell;
  vertical-align: middle;
  padding: 20px 40px;
  font-weight: 700
}
.tableset__must {
  height: 20px;
  padding: 0 8px;
  color: #fff;
  font-size: 10px;
  background: #ec5937;
  border-radius: 5px;
  float: right;
  display: flex;
  align-items: center;
  justify-content: center
}
.tableset__txt {
  display: table-cell;
  word-break: break-all;
  padding: 20px
}
.tableset__txt img {
  width: 180px;
  height: 180px;
  margin-bottom: 10px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 5px
}
.tableset__txt li {
  display: inline-flex;
  margin: 0 10px 10px 0;
}

.tableset__txt .input_select,
.tableset__txt .input-select,
.tableset__txt [type="text"],
.tableset__txt [type="number"],
.tableset__txt [type="tel"],
.tableset__txt [type="email"],
.tableset__txt .input-password,
.tableset__txt [type="password"],
.tableset__txt [type="url"],
.tableset__txt .input-time,
.tableset__txt [type="time"],
.tableset__txt [type="date"],
.tableset__txt [type="month"],
.tableset__txt textarea {
  border-radius: 5px;
  border: 1px solid var(--site-c-darkgray-ui);
  background: #fff;
  /* NOTE: input, textarea, select のfont-sizeは必ず、--site-input-fs変数を用いてください。 */
  font-size: var(--site-input-fs);
  max-width: 500px;
  width: 100%;
  /* NOTE: input, textarea, select のheightは必ず、--site-input-height変数を用いてください。 */
  height: var(--site-input-height);
  /* NOTE: paddingは必ず相対値を用いてください。 */
  padding: 0 1em;
}

.tableset__txt .input_select,
.tableset__txt .input-select {
  padding: 0;
}
.tableset__txt .input_select select,
.tableset__txt .input-select select {
  border-radius: 0;
  border: none;
  background: transparent;
  font-size: inherit;
  padding: 0 2em 0 1em;
}

.tableset__txt .input-time,
.tableset__txt [type="time"],
.tableset__txt [type="date"],
.tableset__txt [type="month"],
.tableset__txt [type="number"],
.tableset__txt .input_select,
.tableset__txt .input-select {
  width: auto;
}
.tableset__txt textarea {
  max-width: none;
  height: auto;
  min-height: 4em;
  padding-block: 1em;
}

.tableset__txt .input_select.type--full-width,
.tableset__txt .input-select.type--full-width,
.tableset__txt [type="text"].type--full-width,
.tableset__txt [type="number"].type--full-width,
.tableset__txt [type="tel"].type--full-width,
.tableset__txt [type="email"].type--full-width,
.tableset__txt .input-password.type--full-width,
.tableset__txt [type="password"].type--full-width,
.tableset__txt [type="url"].type--full-width,
.tableset__txt [type="time"].type--full-width,
.tableset__txt [type="date"].type--full-width,
.tableset__txt [type="month"].type--full-width,
.tableset__txt textarea.type--full-width {
  max-width: none;
}

@media 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: 20px;
  }
  .tableset__ttl {
    padding: 20px 20px 0;
  }
  .tableset__txt img {
    width: 120px;
    height: 120px;
  }
}

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



/**
 * form error
**/

/* 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;
  position: relative;
}
.item--error-wrapper~*:not(.item--error-wrapper) {
  margin-top: 17px;
}
.item--error-wrapper+*:not(.item--error-wrapper) {
  margin-left: calc( var(--site-input-gap-col) * -1 );
}
.formset__input ul .item--error-wrapper+label:not(.item--error-wrapper) {
  margin-left: 0;
}
.formset__input--2col .item--error-wrapper+*:not(.item--error-wrapper) {
  /*margin-left: calc( var(--site-input-gap-col) * -1 );*/
}

.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の中 */
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: right;
  }
  .item--error-wrapper~*:not(.item--error-wrapper) {
    margin-top: 14px;
  }
}

/* dlの中 */
.formset__dl>dd:has(.item--error-wrapper) {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
}
.formset__dl>dd .item--error-wrapper+*:not(.item--error-wrapper) {
    margin-left: 0;
}


/**
 * エフェクト
**/
/* fade in */
/* .effect-fade:not(.effect-fade-in-no-slide) {
	opacity: 0;
	transform: translate(0, 135px);
	transition: all 1000ms;
}
.effect-fade-2:not(.effect-fade-in-no-slide) {transform: translate(0, 135px)}
.effect-fade-3:not(.effect-fade-in-no-slide) {transform: translate(0, 135px)}
.effect-fade-4:not(.effect-fade-in-no-slide) {transform: translate(0, 180px)}
.effect-fade-5:not(.effect-fade-in-no-slide) {transform: translate(0, 225px)}
.effect-fade-6:not(.effect-fade-in-no-slide) {transform: translate(0, 270px)}
.fade-t:not(.effect-fade-in-no-slide) {transform: translate(0, -135px)}
.fade-r:not(.effect-fade-in-no-slide) {transform: translate(135px, 0)}
.fade-l:not(.effect-fade-in-no-slide) {transform: translate(-135px, 0)} */
/* .effect-fade.effect-scroll:not(.effect-fade-in-no-slide) {
	opacity: 1;
	transform: translate(0, 0);
} */
/* .effect-fade.effect-fade-in-bottom:not(.effect-fade-in-no-slide) {
	opacity: 0;
	transform: translate(0, 135px);
	transition:
		opacity 1000ms ease-out,
		transform 1000ms ease-out;
} */
/* .effect-fade.effect-scroll.effect-fade-in-bottom:not(.effect-fade-in-no-slide) {
	opacity: 1;
	transform: translate(0, 0);
} */
/* .effect-fade.effect-fade-in-no-slide {
	opacity: 0;
	transition: opacity 1000ms ease-out;
} */
/* .effect-fade.effect-scroll.effect-fade-in-no-slide {
	opacity: 1;
} */
.popup_mcontact {
  top: 0 !important;
  left: 0 !important;
}
#popup_mcontact iframe {
  width: 100vw;
  height: 100vw;
}



/*------------------------------------------------------------------
 vendor, javascript
------------------------------------------------------------------ */
/* mbase アコーディオン
--------------------------------- */
[data-acc-head][data-acc-head][data-acc-head] + * {
  display: none;
}
/* mbase アコーディオン（検索一覧専用）
--------------------------------- */
/* NOTE: @media screen and (max-width: 959.98px)のブレークポイントの数値をJS側（common.js）と合わせる必要があります。 */
@media screen and (max-width: 959.98px) {
  [data-search-acc-head][data-search-acc-head][data-search-acc-head] + * {
  }
  [data-search-acc-body][data-search-acc-body][data-search-acc-body] {
    display: none;
  }
}

/* 忍者ツールズ
--------------------------------- */
@media screen and (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, .st-wrapper .ninja_onebutton_output_overlay .twitter, .st-wrapper .ninja_onebutton_output_responsive .twitter, .ninja_onebutton_output_overlay .twitter, .ninja_onebutton_output_responsive .twitter {
  /* default style */
  /*background-color: #55acee;*/
  /*color: #ffffff;*/
  background-color: #444 !important;
  color: rgba(0, 0, 0, 0) !important;
}
.st-wrapper .ninja_onebutton_output_overlay [class*='onebtn_overlay'].twitter::before, .st-wrapper .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 {
  /* default style */
  /*content: "\e606";*/
  /*font-family: 'omatome_icomoon', sans-serif;*/
  /*vertical-align: middle;*/
  /* 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);
  /* NOTE: 元のアイコンを非表示 */
}




/**
 * その他のスタイル
**/

[class*="mlist"] {
  border-radius: 5px;
  border: solid 1px #ccc;
  padding: 1rem 1rem 0;
  margin: .5rem 0;
}
