@charset "UTF-8";

/**
 * style.css
 * NOTE: 
 * 単位は pxに合わせてください。html側のビューポートの設定で調整します。（remが一部使われていますがpxに書き換えを推奨）
 * セレクタにidを指定する際は、属性セレクタ [id="id-name"] を使ってください。（スタイルの上書きがクラス名で可能になるため）
 * できるだけ #id-nameは使わないでください。
**/

header {
  width: 100%;
  height: var(--header-height);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  transition: all 0.3s ease;
}

.header__inner {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.05);
  background: #fff;
  width: 100%;
  height: 73px;
  padding: 0 32px;
}

.header-obi {
  width: 100%;
  height: 33px;
  padding: 0 32px;
  background-color: var(--site-c-main);
  color: #fff;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px
}

.header-obi__copy {}

.header-obi__link {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-obi__link a {
  color: #fff;
}

@media screen and (max-width: 959.98px) {
  .header__inner {
    padding: 0 var(--site-container-padding);
  }
}

@media screen and (max-width: 767.98px) {
  .header__inner {
    background: var(--site-c-main);
    color: #fff;
    height: var(--header-height);
    padding: 0 var(--site-container-padding);
  }

  .header-obi {
    display: none;
  }
}

@media screen and (max-width: 320.98px) {
  .header__inner {
    padding-right: 4px;
  }
}

.header__logo {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
}

.header__logo a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 270px;
}

.header__logo img {
  max-width: 270px;
  width: 100%;
  height: auto;
  vertical-align: baseline;
}

@media screen and (max-width: 1279.98px) {
  .header__logo a {
    width: 180px;
  }
}

@media screen and (max-width: 959.98px) {
  .header__logo a {
    width: 140px;
  }
}

@media screen and (max-width: 767.98px) {
  .header__logo {
    display: none;
  }
}

.header__logo small {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05ex;
  line-height: 18px;
  white-space: nowrap;
  margin-left: 16px;
}

@media screen and (max-width: 959.98px) {
  .header__logo small {
    font-size: 10px;
    margin-left: 20px;
  }
}

@media screen and (max-width: 767.98px) {
  .header__logo small {
    display: none;
    font-size: 10px;
    margin-left: 20px;
  }
}

@media screen and (min-width: 767.1px) {
  .header__logo--sp {
    display: none
  }
}

.header__logo--sp {
  width: 162px;
  height: 19px;
}

.head-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%
}

.head-nav>ul {
  display: flex;
  justify-content: flex-start;
  align-items: center
}

.head-nav>ul li {
  margin-right: 20px;
  position: relative
}

.head-nav>ul li a {
  font-weight: 700;
}


.head-nav>.head-nav-buttons,
.head-nav-buttons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-right: 20px;
  gap: 20px;
}

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

  .head-nav>.head-nav-buttons,
  .head-nav-buttons {
    padding-right: 0;
    gap: 4px;
  }
}

.head-nav>.head-nav-buttons>li,
.head-nav-buttons>li {
  margin: 0;
  position: relative;
}

.head-nav>.head-nav-buttons>li>a,
.head-nav-buttons>li>a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: solid 2px var(--site-c-main);
  background: transparent;
  color: var(--site-c-main);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  min-width: 128px;
  height: 40px;
  padding: 0 1em;
  gap: 5px;
}

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

  .head-nav>.head-nav-buttons>li>a,
  .head-nav-buttons>li>a {
    border-radius: 4px;
    border: solid 2px var(--site-c-main);
    background: transparent;
    color: var(--site-c-main);
    font-size: 10px;
    min-width: 48px;
    height: 36px;
    padding: 0 0.75em;
    gap: 4px;
  }
}

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

  .head-nav>.head-nav-buttons>li>a,
  .head-nav-buttons>li>a {
    font-feature-settings: 'palt';
    padding: 0 0.5em;
  }
}


.head-nav-txtLink a {
  display: flex;
  align-items: center;
  gap: 5px;
}

.head-nav-txtLink a::before {
  display: inline-block;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
}

.head-nav-txtLink .h-icon-search a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/h-icon-search.svg);
}

.head-nav-txtLink .h-icon-star a::before {
  width: 16.75px;
  height: 16px;
  background-image: url(/common/images/h-icon-star.svg);
}

.head-nav-txtLink .h-icon-column a::before {
  width: 12.71px;
  height: 15.43px;
  background-image: url(/common/images/h-icon-column.svg);
}

.head-nav-txtLink .h-icon-beginner a::before {
  width: 10.79px;
  height: 15.82px;
  background-image: url(/common/images/h-icon-beginner.svg);
}

.head-nav .head-btn-wrap {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 15px
}

/* TODO: htmlは、m1側をm2側に合わせる */
.head-nav .head-btn {
  width: auto;
  position: relative;
}

.head-nav .head-account a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.head-nav .head-mypage a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 14px;
  color: #fff;
  background-color: var(--site-c-main);
  padding: 5px 15px;
  border-radius: 20px;
}

.head-nav .head-mypage a::before {
  display: inline-block;
  content: '';
  width: 10.79px;
  height: 15.82px;
  background-image: url(/common/images/mypage-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}

.head-nav .head-account img {
  width: 30px;
  height: 30px;
}

@media screen and (min-width: 767.1px) {
  .head-nav .head-btn a {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    border-radius: 20px;
    border: 1px solid var(--site-c-main);
    background: #fff;
    color: var(--site-c-main);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05ex;
    text-align: center;
    width: 100%;
    height: 38px;
    padding: 0 20px;
  }
}

.head-nav .head-btn [href*="/login"] {
  border: 1px solid var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}

.head-nav .head-btn [href*="/login"]::before {
  width: 12.5px;
  height: 12.5px;
  content: '';
  background-image: url(/common/images/h-icon-login--white.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: .5rem;
}

@media screen and (min-width: 767.1px) {
  .head-nav .head-btn [href*="/register"] {
    border: 1px solid var(--site-c-main);
    background: #fff;
    color: var(--site-c-main);
  }

  .head-nav .head-btn [href*="/register"]::before {
    width: 17px;
    height: 16px;
    content: '';
    background-image: url(/common/images/h-icon-regi.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: .5rem;
  }
}

.head-nav .head-btn a:focus,
.head-nav .head-btn a:hover {
  opacity: .5
}

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

@media screen and (max-width: 959.98px) {
  .head-nav {
    width: auto;
  }

  .head-nav .head-btn a {
    font-size: 13.5px;
  }
}

@media screen and (max-width: 767.98px) {
  .head-nav {
    width: auto;
  }

  .head-nav>ul {
    display: none;
  }

  /* .head-nav .head-btn {
		width: 72px;
} */
  .head-nav .head-btn-wrap {
    display: none
  }

  .head-nav .head-btn a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    width: 100%;
    height: 38px;
    padding: 0 .5em;
    gap: 4px;
  }

  .head-nav .head-btn {
    margin: 0 2px;
  }

  .head-nav .head-btn [href*="/register"]::before {
    width: 18.1px;
    height: 17px;
    content: '';
    background-image: url(/common/images/h-icon-regi--white.png);
    background-size: contain;
    background-repeat: no-repeat;
  }

  .head-nav .head-btn [href*="/login"]::before {
    width: 16px;
    height: 16px;
  }
}





/**
 * マイページのヘッダー
**/
.page-mypage header {
  height: var(--mypage-header-height);
}

.page-mypage .header__inner {
  height: 100%;
}

@media screen and (max-width: 767.98px) {
  .page-mypage .header__inner {
    background: #fff;
    color: var(--font-c);
  }
}

.page-mypage .header__logo a {
  width: 194px;
}

@media screen and (max-width: 767.98px) {
  .page-mypage .header__logo {
    display: block;
  }

  .page-mypage .header__logo a {
    width: 128px;
  }
}

@media screen and (max-width: 560.98px) {
  .page-mypage .header__logo {
    display: block;
  }

  .page-mypage .header__logo a {
    width: 112px;
  }
}

.page-mypage .header__logo--sp {
  display: none;
}

@media screen and (max-width: 767.98px) {
  .page-mypage .head-nav .head-btn a {
    color: var(--font-c)
  }
}

.page-mypage [id="nav-open"] span,
.page-mypage [id="nav-open"] span::before,
.page-mypage [id="nav-open"] span::after {
  background: var(--site-c-black)
}


/**
 * ログイン、会員登録、パスワード忘れの共通部品
**/

.page-auth .breadcrumb {
  display: none;
}

.page-auth .header__inner {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0);
  background: transparent;
}

@media screen and (max-width: 767.98px) {
  .page-auth .header__inner {
    background: var(--site-c-main);
    color: #fff;
  }
}

.page-auth .header-obi__link {
  display: none;
}

.page-auth .head-nav {
  display: none;
}

/* フッターのロゴを消す */
.page-auth footer::before {
  background-image: none;
  width: 0;
  height: 0;
}



/**
 * バッジ
**/
.item__badge {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 10px;
  background: rgba(236, 13, 13, .8);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  min-width: 20px;
  width: auto;
  height: 20px;
  padding: 5px;
  position: absolute;
  right: -7px;
  top: -2px;
  z-index: 1;
  transition: all 0.6s ease 0.2s
}

header .item__badge {
  right: -20px;
  top: 2px;
}

@media screen and (min-width: 767px) {
  header .item__badge {
    right: 0vw;
    top: -8px;
  }
}

@media screen and (max-width: 766.98px) {
  header .item__badge {
    right: 0vw;
    top: 22px;
  }
}

/**
 * ハンバーガー
**/
[id="nav-drawer"] {
  margin-left: 8px;
  position: relative;
  display: none
}

@media screen and (max-width: 767.98px) {
  [id="nav-drawer"] {
    margin-left: 4px;
    display: block
  }
}

@media screen and (max-width: 320.98px) {
  [id="nav-drawer"] {
    margin-left: 4px;
  }
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

/*アイコンのスペース*/
[id="nav-open"] {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 50%;
  /*border: solid 1px var(--site-c-main-hue);*/
  /*background: var(--site-c-main-hue);*/
  color: var(--font-c);
  width: 50px;
  height: 50px;
  position: relative;
  cursor: pointer;
}

@media screen and (max-width: 959.98px) {
  [id="nav-open"] {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 767.98px) {
  [id="nav-open"] {
    width: 40px;
    height: 40px;
  }
}

[id="nav-open"] span {
  display: block;
  border-radius: 2px;
  background: #fff;
  width: 26px;
  height: 2px;
  position: relative;
}

[id="nav-open"] span::before,
[id="nav-open"] span::after {
  content: '';
  display: block;
  border-radius: 2px;
  background: #fff;
  width: 26px;
  height: 2px;
  transition: all 0.2s ease;
  position: absolute;
}

[id="nav-open"] span::before {
  top: calc(50% + 8px);
  transform: translate(0, -50%);
}

[id="nav-open"] span::after {
  top: calc(50% - 8px);
  transform: translate(0, -50%);
}

[id="nav-open"]:focus span,
[id="nav-open"]:hover span,
[id="nav-open"]:hover span {
  opacity: 0.7;
}

@media screen and (max-width: 959.98px) {
  [id="nav-open"] span {
    width: 22px;
    height: 2px;
  }

  [id="nav-open"] span::before,
  [id="nav-open"] span::after {
    width: 22px;
    height: 2px;
  }

  [id="nav-open"] span::before {
    top: calc(50% + 8px);
  }

  [id="nav-open"] span::after {
    top: calc(50% - 8px);
  }
}

@media screen and (max-width: 767.98px) {
  [id="nav-open"] span {
    width: 22px;
    height: 2px;
  }

  [id="nav-open"] span::before,
  [id="nav-open"] span::after {
    width: 22px;
    height: 2px;
  }

  [id="nav-open"] span::before {
    top: calc(50% + 8px);
  }

  [id="nav-open"] span::after {
    top: calc(50% - 8px);
  }
}

/*ハンバーガーアイコンをCSSだけで表現*/
/*閉じる用の薄黒カバー*/
[id="nav-close"] {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 50%;
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20000;
  transition: all 0.4s ease;
  opacity: 0;
  cursor: pointer;
  pointer-events: none;
}

[id="nav-close"]::before {
  content: '';
  border-radius: 2px;
  background: #fff;
  width: 26px;
  height: 2px;
  transform: translate(0, 50%) rotate(45deg) scaleX(-1);
  transition: all 0.4s ease;
}

[id="nav-close"]::after {
  content: '';
  border-radius: 2px;
  background: #fff;
  width: 26px;
  height: 2px;
  transform: translate(0, -50%) rotate(-225deg) scaleX(-1);
  transition: all 0.4s ease;
}

[id="nav-input"]:checked~[id="nav-close"] {
  background: #fff;
  color: var(--site-c-main);
  opacity: 1;
  pointer-events: auto;
}

[id="nav-input"]:checked~[id="nav-close"]::before {
  background: var(--site-c-main);
  transform: translate(0, 50%) rotate(45deg);
}

[id="nav-input"]:checked~[id="nav-close"]::after {
  background: var(--site-c-main);
  transform: translate(0, -50%) rotate(-225deg);
}

@media screen and (max-width: 959.98px) {
  [id="nav-close"]::before {
    width: 26px;
    height: 2px;
  }

  [id="nav-close"]::after {
    width: 26px;
    height: 2px;
  }
}

@media screen and (max-width: 767.98px) {
  [id="nav-close"]::before {
    width: 16px;
    height: 2px;
  }

  [id="nav-close"]::after {
    width: 16px;
    height: 2px;
  }
}

/*チェックが入ったらもろもろ表示*/
/*中身*/
[id="nav-content"] {
  background: #fff;
  color: #000;
  width: 100%;
  height: 100%;
  padding: 80px 40px 40px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  transform: translate(100%, 0);
  overflow: auto;
  transition:
    all 0.3s ease-in-out 0s, box-shadow 0.2s ease-in-out 0.166s;
  pointer-events: none;
}

[id="mypage-header"] [id="nav-content"] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--site-c-main);
  color: #fff;
}

/*チェックが入ったらもろもろ表示*/
[id="nav-input"]:checked~[id="nav-content"] {
  pointer-events: auto;
  transform: translate(0, 0);
}

/*
[id="nav-content"] ul {
	margin-top: 40px;
}
*/
.nav-drawer-btns {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.mypage-nav-drawer-btns {
  margin-top: 20px
}

.nav-drawer-btns__btn a {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  gap: 5px;
  border-radius: 3em;
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-feature-settings: 'palt';
  font-weight: 700;
  text-align: center;
  width: 100%;
  height: var(--site-btn-height);
  padding-inline: 1em;
  position: relative;
}

.nav-drawer-btns__btn.resist a,
.nav-drawer-btns__btn.logout a {
  background: #fff;
  color: var(--site-c-main);
}

.nav-drawer-btns__btn a::before {
  width: 16px;
  height: 16px;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left 50% top 0%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-drawer-btns__btn.login a::before {
  background-image: url(/common/images/h-icon-login--white.png);
}

.nav-drawer-btns__btn.resist a::before {
  width: 18.1px;
  height: 17px;
  background-image: url(/common/images/h-icon-regi.png);
}

.nav-drawer-btns__btn.logout a::before {
  display: none;
}

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

.nav-drawer-links {
  margin-top: 30px;
}

.nav-drawer-links li {
  padding: 0 10px;
  border-bottom: dotted 1px #A3A3A3
}

.nav-drawer-links li:first-child {
  border-top: dotted 1px #A3A3A3
}

.nav-drawer-links li a {
  width: 100%;
  height: 48px;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative
}

.nav-drawer-links li a::after {
  content: '';
  margin-top: -4px;
  top: 50%;
  right: 0;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  border-top: 1px solid var(--site-c-main);
  border-right: 1px solid var(--site-c-main);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav-drawer-links li.nav-drawer-links--non a::after {
  display: none
}

.nav-drawer-links li.nav-drawer-links--non a {
  justify-content: flex-start;
}

.nav-drawer-links li.nav-drawer-links--non img {
  width: 13.57px;
  height: 13.57px;
  margin-left: 10px;
}

.nav-drawer-bnr {
  margin: 30px 0;
}

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

.nav-content-group__ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 20px 0 0;
  padding: 8px 0;
  gap: 20px;
  transition: background 0.2s ease;
  cursor: pointer;
}

.nav-content-group__ttl:hover {
  background: var(--site-c-white);
}

.nav-content-group__ttl .text {
  display: block;
  font-weight: 700;
}

.nav-content-group__ttl .arrow {
  display: block;
  transform: scaleY(1);
}

.nav-content-group__ttl .arrow::before {
  content: '\f107';
  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;
}

.nav-content-group__ttl.is--active .arrow {
  transform: scaleY(-1);
}

.mypage-nav-drawer-name {
  padding: 0 10px 30px;
  font-size: 24px;
  font-weight: 700;
}

.mypage-nav-drawer-links {}

.mypage-nav-drawer-links li {
  padding: 0 10px;
}

.mypage-nav-drawer-links li:first-child {
  padding-top: 20px;
  border-top: dotted 1px #fff
}

.mypage-nav-drawer-links li a {
  width: 100%;
  height: 45px;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative
}

.mypage-nav-drawer-links li a::before {
  display: inline-block;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
}

.mypage-nav-drawer-links li a::before {
  display: inline-block;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
}

.mypage-nav-drawer-links li.top a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-top.png);
}

.mypage-nav-drawer-links li.kigyo a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-kigyo.png);
}

.mypage-nav-drawer-links li.kyujin a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-kyujin.png);
}

.mypage-nav-drawer-links li.tenpo a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-tenpo.png);
}

.mypage-nav-drawer-links li.obosya a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-obosya.png);
}

.nav-drawer-subLinks {
  margin-top: auto;
  padding: 20px 10px 0;
  border-top: dotted 1px #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  gap: 15px;
}



/**
 * 下部固定ボタン
**/
.bottom-btn {
  display: none;
}

/**

.bottom-btn {
  width: 100%;
  position: fixed;
  bottom: 0;
  text-align: center;
  padding: 5px;
  background: rgba(255, 255, 255, .85);
  box-sizing: border-box;
  box-shadow: 0 -2px 10px 0 rgba(0, 0, 0, .08);
  z-index: 2
}
.bottom-btn>div {
  margin: 0 auto
}
.bottom-btn .btn-box__2 {
  max-width: 100%
}
.bottom-btn .btn-box__2 .btn {
  flex-basis: 49%;
  max-width: none;
  margin: 0
}

**/

footer {
  --footer-logo-height: 24px;
  background: #fff;
  width: 100%;
  margin: 50px 0 0;
  padding: 0;
}

@media screen and (max-width: 767.98px) {
  footer {
    margin-top: 24px;
    padding-top: 12px;
  }
}

.page-fav footer.is--login {
  display: none;
}

.footer-flex {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
  margin: 0;
  padding: 40px 0;
  gap: 20px;
  position: relative;
}

@media (max-width: 767.98px) {
  .footer-flex {
    display: flex;
    flex-flow: column-reverse nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
    padding: calc(var(--footer-logo-height)*3) 0 0;
    gap: 20px;
  }
}


.footer-left {
  max-width: 216px;
}

@media (max-width: 767.98px) {
  .footer-left {
    background: var(--site-c-main);
    color: #fff;
    max-width: none;
    margin: 0 calc(var(--site-container-padding)*-1);
  }
}

.foot-logo {
  width: auto;
  height: var(--footer-logo-height);
  object-fit: contain;
}

@media (max-width: 767.98px) {
  .foot-logo {
    position: absolute;
    top: var(--footer-logo-height);
    left: 0;
    z-index: 1;
  }
}

.footer-left-links {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  font-size: 12px;
  gap: 7px 20px;
  margin: 20px 0 0;
}

@media (max-width: 767.98px) {
  .footer-left-links {
    gap: 12px 20px;
    margin: 0;
    padding: 12px var(--site-container-padding) 0;
  }
}

.footer-right {
  font-size: 14px;
  max-width: 820px;
}

@media (max-width: 767.98px) {
  .footer-right {
    font-size: 14px;
  }
}


.footer-right-links {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  margin: 0;
  gap: 0;
}

.footer-right-links__ttl {
  color: var(--site-c-main);
  font-weight: 700;
  width: 100%;
  margin: 0;
  padding: 0 0 10px;
}

@media (max-width: 767.98px) {
  .footer-right-links {
    padding: 0 0 10px;
  }

  .footer-right-links__ttl {
    margin: 0;
    padding: 0;
  }

  .footer-right-links__ttl~li:not(.footer-right-links__ttl) {
    display: none;
  }
}

.footer-right-links a {
  position: relative;
}

.footer-right-links a::after {
  content: "　│　";
}

.footer-right-links li:last-child a::after {
  display: none;
}


.footer-right-boldLinks {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  border-bottom: 1px solid #E7E7E7;
  margin: 25px 0 30px;
  padding: 0 0 30px;
  gap: 10px 28px;
}

.footer-right-boldLinks a {
  color: var(--site-c-main);
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .footer-right-boldLinks {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
    border-bottom: none;
    margin: 0;
    padding: 0 0 10px;
    gap: 10px 0;
  }
}

.foot-bottom {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  background: var(--site-c-main);
  color: #fff;
  font-size: 11px;
  line-height: 1.1;
  text-align: center;
  height: 38px;
  padding: 0;
}

@media (max-width: 767.98px) {
  .foot-bottom {
    display: block;
    text-align: left;
    height: auto;
    padding: 12px var(--site-container-padding);
  }
}


/**
 * breadcrumb
**/
.breadcrumb {
  background: transparent;
  color: var(--font-c);
}

/* NOTE: 以下の仕組みで動くようにhtmlの調整が必要です。（各ページに２つ同じ階層に.breadcrumbがあることが条件です） */
@media (min-width: 768px) {
  .breadcrumb {
    display: block;
  }

  .breadcrumb~.breadcrumb {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .breadcrumb {
    display: none;
  }

  .breadcrumb~.breadcrumb {
    display: block;
  }
}


.breadcrumb a {
  color: var(--site-c-main);
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.breadcrumb__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  padding: 8px 0;
}

*+.breadcrumb__item::before {
  content: '\f105';
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;
  padding: 0 12px;
}

@media screen and (max-width: 767.98px) {
  .breadcrumb__list {
    font-size: 11px;
    white-space: nowrap;
    line-height: 32px;
    height: 32px;
    overflow: auto;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }

  .breadcrumb__item {
    display: block;
  }
}

/**
 * スライダー
**/
.slick-list {
  margin: 0 -15px;
}

.slick-slide {
  margin: 0 15px;
}

.slider-dots {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  list-style: none;
}

.slider-dots li {
  display: inline-block;
  width: calc(20% - 8px);
  margin: 0 2px;
}

.slider-dots button {
  position: relative;
  width: 100%;
  height: 4px;
  border: 0;
  background-color: var(--site-c-main-hue);
  font-size: 0;
}

.slider-dots button:after {
  content: '';
  display: block;
  width: 0%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.slider-dots .slick-active button:after {
  background: var(--site-c-main);
  width: 100%;
  /*-webkit-animation: progress 5.5s linear forwards;*/
  /*animation: progress 5.5s linear forwards;*/
}

.is-dragging-active .slider-dots .slick-active button:after {
  width: 100%;
  animation: none;
}

/*
@-webkit-keyframes progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
*/
@media screen and (max-width: 767.98px) {
  .slick-slide {
    margin: 0 7px;
  }
}


/**
 * Details page（詳細）
**/
.details {}

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

.details__subttl {
  height: 42px;
  margin: 40px 0 20px;
  padding: 0 15px;
  background: var(--site-c-main);
  border: 1px solid var(--site-c-main);
  border-radius: 5px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 9px
}

.details__subttl::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.details__inner {
  padding: 30px 35px;
  background: #fff;
  border-radius: 10px;
}

@media screen and (max-width: 767.98px) {
  .details>.l-container {
    padding: 0
  }

  .details__ttl {
    padding: 0 var(--site-container-padding);
    font-size: 18px
  }

  .details__subttl {
    margin: 25px 0 10px
  }

  .details__inner {
    padding: 20px;
    border-radius: 0 0 10px 10px
  }
}

/************details-head**************/
.details-head {}

.details-head-parts {
  width: 100%;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.details-head-parts__type {
  padding: 4px 14px;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  float: right;
  border-radius: 5px;
  display: inline-block;
}

.details-head-parts__num {
  font-size: 12px;
  font-family: Roboto
}

.details-head__name {}

.details-head-links {
  width: 100%;
  margin: 20px 0;
  display: flex;
  align-items: center;
  gap: 10px;
}

.details-head-links li {
  width: 138px;
  height: 48px;
}

.details-head-links li a {
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 5px;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.details-head-links li a::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 18px;
}

.details-head-links .details-head-links__boshu a::before {
  background-image: url("/common/images/icon-boshu.png");
}

.details-head-links .details-head-links__company a::before {
  background-image: url("/common/images/icon-company.png");
}

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

  .details-head-parts,
  .details-head__name {
    padding: 0 var(--site-container-padding);
  }

  .details-head-links {
    margin: 10px 0 0;
    background: var(--site-c-main);
    border-top: 10px solid #fff;
    gap: 1px;
  }

  .details-head-links li {
    width: calc((100% - 1px) / 2);
    height: 50px;
  }

  .details-head-links li a {
    border-radius: 0
  }
}

/************ details-summary **************/
.details-summary__inner {
  display: flex;
  gap: 20px 40px;
}

.details-summary__img {
  width: 352px;
  max-width: 35%;
  height: 235px;
}

.details-summary__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 10px;
}

.details-summary__right {
  width: calc(100% - 392px);
  min-width: 65%
}

@media screen and (max-width: 767.98px) {
  .details-summary__inner {
    flex-wrap: wrap;
  }

  .details-summary__img {
    width: 100%;
    max-width: 100%;
    height: 235px;
  }

  .details-summary__right {
    width: 100%;
    min-width: 100%;
  }

  .details-summary__right .result__tag {
    /*display: none;*/
  }
}


.details-summary-list {
  --details-summary-list-ttl-width: 104px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 10px;
  background: #FAF3F8;
  font-size: 13px;
  max-width: 620px;
  max-width: none;
  padding: 12px;
  gap: 1px;
}
@media screen and (max-width: 767.98px) {
  .details-summary-list {
    grid-template-columns: 1fr;
    gap: 1px;
  }
}

.details-summary-list>dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  background: #fff;
  padding: 8px;
  gap: 8px;
}

.details-summary-list dt {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-weight: 700;
  width: var(--details-summary-list-ttl-width);
  gap: 1ex;
}

.details-summary-list dt>.c-icon {
  transform: translate(0, 12.5%);
}

.details-summary-list dt>.c-icon::before {
  min-width: 20px;
}

.details-summary-list dd {
  width: calc(100% - var(--details-summary-list-ttl-width) - 8px);
}


.details-btns {
  display: flex;
  align-items: center;
  margin: 30px auto 0;
  gap: 10px;
}

.details-btns.center {
  justify-content: center;
  margin: 40px auto;
}

.details-btns__btn {
  max-width: 256px;
  width: 100%;
  margin: 0;
}

.details-btns>.btn {
  max-width: 256px;
  width: 100%;
  margin: 0;
}

.details-btns__btn a {
  height: 48px;
  background: #FF7200;
  border: 1px solid #FF7200;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}

.details-btns__btn a::before {
  width: 20px;
  height: 15px;
  margin-right: 7px;
  margin-top: 2px;
  content: '';
  display: block;
  background-image: url("/common/images/icon-letter-unopened--white.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain
}

.details-btns__btn--fav a {
  background: #fff;
  border: 1px solid #E3DFDC;
  color: var(--font-c);
  font-weight: 400;
}

.details-btns__btn--fav a::before {
  width: 18.84px;
  height: 18px;
  margin-right: 5px;
  content: '';
  display: block;
  background-image: url("/common/images/icon-star--white.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain
}

@media screen and (max-width: 767.98px) {
  .details-btns.center {
    margin: 25px auto;
  }

  .details-btns>.btn>* {
    font-size: 12px;
  }

  .details-btns__btn a {
    font-size: 12px;
  }
}

/************table2col-list**************/
.table2col-list {
  width: 100%;
  border-top: solid 1px #E6E6E6;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
  text-align: left
}

.table2col-list tr {
  border-bottom: solid 1px #E6E6E6;
}

.table2col-list th {
  width: 210px;
  padding: 25px 20px;
  background: var(--site-bg-c);
  font-weight: 700;
}

.table2col-list td {
  padding: 25px;
  background: #fff;
}

@media screen and (max-width: 767.98px) {
  .table2col-list th {
    width: 104px;
    padding: 12px 10px;
  }

  .table2col-list td {
    padding: 12px 10px 12px 20px;
  }
}

/************details-companyInfo**************/
.details-companyInfo {}

.details-companyInfo__inner {
  width: 800px;
  max-width: 100%;
  margin: 0 auto
}

.details-companyInfo__ttl {
  margin-top: 60px;
  color: var(--site-c-main);
  font-size: 22px;
  font-weight: 700
}

.details-companyInfo__mainImg {
  width: 100%;
  height: auto;
  margin: 0;
  aspect-ratio: 8 / 5;
}

*+.details-companyInfo__mainImg {
  margin-top: 40px;
}

.details-companyInfo__mainImg img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.details-companyInfo__txt {
  margin-top: 20px;
}


.details-companyInfo-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 40px;
  margin: 0;
}

*+.details-companyInfo-2col {
  margin-top: 40px;
}

.details-companyInfo-2col-item {}

.details-companyInfo-scol-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 5;
}

.details-companyInfo-scol-item__img img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.details-companyInfo-scol-item__txt {
  font-size: 13px;
  margin-top: 20px;
}

@media screen and (max-width: 767.98px) {
  .details-companyInfo__inner {
    display: flex;
    flex-direction: column;
  }

  .details-companyInfo__ttl {
    margin-top: 20px;
    font-size: 18px;
    order: 2
  }

  .details-companyInfo__mainImg {
    margin-top: 10px;
    order: 1
  }

  .details-companyInfo__txt {
    margin-top: 10px;
    order: 3
  }

  .details-companyInfo-2col {
    order: 4
  }

  .details-companyInfo-2col {
    margin-top: 30px;
    flex-wrap: wrap;
  }

  .details-companyInfo__mainImg,
  .details-companyInfo-scol-item__img {
    height: 223px
  }

  .details-companyInfo-scol-item__txt {
    margin-top: 10px;
    font-size: 15px;
  }
}

/************details-company**************/
.details-company {}

.details-company__inner {
  display: flex;
  gap: 20px 40px;
}

.details-company__img {
  width: 352px;
  max-width: 35%;
  height: 235px;
}

.details-company__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 10px;
}

.details-company table {
  width: calc(100% - 392px);
  min-width: 65%;
}

@media screen and (max-width: 767.98px) {
  .details-company__inner {
    flex-wrap: wrap;
  }

  .details-company__img,
  .details-company table {
    width: 100%;
    max-width: 100%
  }
}



/**
 * details-products-image
 * NOTE: 
 * 詳細ページ上部のスライドのサムネイル画像、または
 * [data-simple-slide-list]の指定なしの場合、スライド機能OFFで通常のギャラリーパーツ様に使用可能
 * ※画像を横並び6列、7個以降は次の段（複数行レイアウト）
 * ※ページ内のどこでも配置可能
**/


/**
 * details-products-image
 * NOTE: 詳細ページ上部のスライドのメイン画像
**/
.details-summary__img:has(.details-products-mainimage) {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 4fr 1fr;
  width: 352px;
  height: auto;
  gap: 20px;
  aspect-ratio: 11 / 10;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .details-summary__img:has(.details-products-mainimage) {
    max-width: 100%;
    width: 100%;
    height: auto;
    gap: 10px;
    aspect-ratio: 11 / 10;
  }
}

/* details-products-mainimage */
.details-products-mainimage {
  border-radius: 10px;
  background: #fff;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.details-products-mainimage>figure {
  border-radius: 0;
  background: var(--site-bg-c-gray-ui);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  transition: none;
}

.details-products-mainimage>figure>figcaption {
  background: rgba(0, 0, 0, 0.66);
  color: #fff;
  font-weight: 400;
  font-size: 11px;
  font-feature-settings: 'palt';
  line-height: 1.5;
  padding: 10px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
}

.details-products-mainimage>figure>figcaption:empty {
  display: none;
}

.details-products-mainimage img {
  border-radius: 0;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  transition: none;
  object-fit: contain;
}

/* details-products-subimage */
.details-products-subimage {
  display: block;
  width: 100%;
  margin: 0;
}

.details-products-subimage .details-head__desc {
  padding: 12px;
}

.details-products-subimage__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
}

.details-products-subimage__item {
  background: #f7f4ee;
  position: relative;
  aspect-ratio: 1 / 1;
  position: relative;
}

.details-products-subimage__item:has(img[src*="s.gif"]) {
  display: none;
}

.details-products-subimage__item figcaption {
  display: none;
}

@media (min-width: 768px) {
  .details-products-subimage__list {
    margin: 0 -4px;
  }

  .details-products-image .details-products-subimage__list {
    margin: 0;
    padding: 0 4px;
  }

  .details-products-subimage__item {
    width: calc((100% - 4px * 12) / 6);
    margin: 40px 4px 0;
  }

  .details-products-subimage__item:nth-child(-n+6) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .details-products-subimage__list {
    margin: 0 -4px;
  }

  .details-products-image .details-products-subimage__list {
    margin: 0;
    padding: 0 4px;
  }

  .details-products-subimage__item {
    width: calc((100% - 4px * 12) / 6);
    margin: 24px 4px 0;
  }

  .details-products-subimage__item:nth-child(-n+6) {
    margin-top: 0;
  }
}

.details-products-subimage__item::after {
  content: '';
  display: block;
  background:
    linear-gradient(135deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0) 50%),
    linear-gradient(135deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.03) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
}

.details-products-subimage__item img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  object-fit: contain;
  font-family: 'object-fit: contain;';
  transition: details 0.2s ease;
}

[data-simple-slide-list] .details-products-subimage__item img {
  cursor: pointer;
}

.details-products-subimage__item img.is--active {
  details: solid 2px #ee9b24;
}

.details-products-subimage__next,
.details-products-subimage__prev {
  display: block;
  opacity: 1;
  position: absolute;
  z-index: 9999;
  cursor: pointer;
  transition: all 0.4s ease;
}

.is--hide-arrorw .details-products-subimage__next,
.is--hide-arrorw .details-products-subimage__prev {
  display: none;
}

body:not(.is--loaded) .details-products-subimage__next,
body:not(.is--loaded) .details-products-subimage__prev {
  opacity: 0;
}

.details-products-subimage__next {
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}

.details-products-subimage__prev {
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

.details-products-subimage__next::before {
  content: '\f054';
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  border: rgba(255, 255, 255, 0.7);
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;

  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;

  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  details: 0;
  cursor: pointer;
}

.details-products-subimage__prev::before {
  content: '\f053';
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  border: rgba(255, 255, 255, 0.7);
  background-color: rgba(0, 0, 0, 0.3);
  color: #fff;
  color: #fff;

  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;

  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  details: 0;
  cursor: pointer;
}






/**
 * search head
**/
.page-search .subpage-head {
  border: none;
  padding: 0;
}

.page-search .subpage-head .l-container {
  padding-block: 20px 25px;
  position: relative;
}

.page-search .subpage-head .c-head {
  text-align: left;
  margin: 0;
}

@media screen and (max-width: 767.98px) {
  .page-search .subpage-head .l-container {
    padding-block: 20px;
  }
}

/**
 * search-content
 * NOTE: PBASEのスタイルを模倣
**/
.search-content {
  border: none;
  padding: 0 0 24px;
}

.search-content .l-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: flex-start;
}

@media (max-width: 959.98px) {
  .search-content {
    padding: 0 0 24px;
  }

  .search-content .l-container {
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 56px;
  }
}

@media (max-width: 767.98px) {
  .search-content .l-container {
    gap: 25px;
  }

}

/**
 * search main
 * NOTE: PBASEのスタイルを模倣 centerとついてますが、このサイトでは2カラムデザインです
**/
.search-center-wrap {
  width: calc(100% - 328px - 40px);
  padding: 0;
  order: 2;
}

@media (max-width: 1300.98px) {
  .search-center-wrap {
    width: calc(100% - 270px - 20px);
    padding: 0;
    order: 2;
  }
}

@media (max-width: 959.98px) {
  .search-center-wrap {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .search-center-wrap {
    width: 100%;
  }
}

/**
 * search left side
 * NOTE: PBASEのスタイルを模倣
**/
.search-side-wrap {
  width: 328px;
  margin: 0;
  position: relative;
  z-index: 100;
  order: 1;
}

@media (max-width: 1300.98px) {
  .search-side-wrap {
    width: 270px;
  }
}

@media (max-width: 959.98px) {
  .search-side-wrap {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .search-side-wrap {
    margin-top: 15px
  }
}

.search-side-wrap-btn {}

@media (min-width: 767.1px) {
  .search-side-wrap-btn {
    display: none
  }
}

.search-side__inner {
  padding: 20px 20px 30px;
  background: #fff;
  transform: none;
  opacity: 1;
}

.search-side-sec {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #A3A3A3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}

.search-side-sec__ttl {
  font-weight: 700;
}

.search-side-sec__ttl::before {
  width: 22px !important;
  height: 22px !important
}

.search-side-sec ul {}

.search-side-sec li {}

.search-side-sec .item--ttl {
  font-weight: 700;
  font-size: 13px;
}

.search-side-sec .item--text {
  font-size: 13px;
}

.search-side-sec .item--ttl~.item--text {
  padding-left: 1em;
}


.search-side-sec__input-text {
  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;
}

.search-side-sec__choice {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: solid 1px var(--site-c-gray-ui);
  background: var(--site-c-gray-ui);
  color: var(--site-c-main);
  font-size: 13px;
  min-width: 96px;
  height: 50px;
  padding: 0 8px;
  gap: 6px;
  cursor: pointer;
}

.search-side-sec__choice:hover {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-gray-ui);
  color: var(--site-c-main);
}

.search-side-sec__choice::after {
  /* NOTE: Font Awesome Icon */
  content: '\f2d2';
  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;*/
  font-weight: 400;
  line-height: 1;
  text-rendering: auto;
  opacity: 0.56;
}

.search-side-count {
  display: block;
  font-size: 15px;
  text-align: center
}

.search-side-count em {
  color: var(--site-c-main);
  font-size: 25px;
  font-weight: 700;
}

.search-side-reset {
  margin-top: 10px;
  text-align: center
}

.search-side-reset a {
  color: #5E5E5E;
  font-size: 13px;
  text-decoration: underline
}


/**
 * search
**/
.search {
  border: none;
  background: transparent;
  color: var(--font-c);
}

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

.search .l-container {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}

.search .c-head {
  margin: 0 0 20px;
  padding: 0;
}

.search .c-head[data-search-acc-head] {
  position: relative;
}

.search-side-head {
  height: 52px;
  border-radius: 10px 10px 0 0;
  background-color: var(--site-c-main);
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search-side-head::-webkit-details-marker {
  display: none;
}

@media screen and (min-width: 960px) {
  .search-side-head {
    pointer-events: none;
    cursor: inherit;
  }
}

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

  .search .c-head[data-search-acc-head]::before,
  .search .c-head[data-search-acc-head]::after {
    content: '';
    display: block;
    background: var(--site-c-main);
    width: 14px;
    height: 1px;
    position: absolute;
    right: 1em;
    top: 50%;
    z-index: 1;
    transition: all 0.4s ease;
  }

  .search .c-head[data-search-acc-head]::before {
    transform: translate(0, -50%) rotate(90deg);
  }

  .search .c-head[data-search-acc-head]::after {
    transform: translate(0, -50%) rotate(-180deg);
  }

  .search .c-head.is--active[data-search-acc-head]::before {
    transform: translate(0, -50%) rotate(0deg);
  }

  .search .c-head.is--active[data-search-acc-head]::after {
    transform: translate(0, -50%) rotate(0deg);
  }
}

.search .c-head__ttl {
  color: var(--site-c-main);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05ex;
  width: 100%;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 959.98px) {
  .search .c-head__ttl {
    text-align: center;
  }
}

@media screen and (max-width: 767.98px) {
  .search .c-head__ttl {
    text-align: center;
  }

  .search-side-head {
    border-radius: 5px;
    position: relative;
    cursor: pointer;
  }

  .search-side-head.is--active {
    border-radius: 10px 10px 0 0;
  }

  .search-side-head::-webkit-details-marker {
    display: none;
  }

  .search-side-head::after {
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left 50% top 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background-image: url(/common/images/icon-search-side-head--after.png);
    transition: transform .3s;
    position: absolute;
    right: 15px;
  }

  .search-side-head::before {
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left 50% top 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14.79px;
    height: 14.79px;
    margin-right: 8px;
    background-image: url(/common/images/icon-search-side-head--before.png);
    transition: transform .3s;
  }

  .search-side-accordion[open] summary::after {
    transform: rotate(180deg);
  }

  .search-side-accordion .search-side__inner {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    transition: transform .5s, opacity .5s;
  }

  .search-side-accordion[open] .search-side__inner {
    transform: none;
    opacity: 1;
  }
}

.search__reccount {
  /* NOTE: marginは0で、余白を設けるときは、ラッパーのgapで調整します */
  font-size: 14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05ex;
  text-align: right;
  width: 100%;
  margin: 0;
}

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

.search__area {
  display: block;
  border-radius: 0 0 10px 10px;
  background: var(--site-c-white);
  margin: 0;
  padding: 0 20px 20px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.search__area::before {
  content: '';
  display: block;
  background: var(--site-c-main);
  height: 4px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 5;
}

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

.search__area.search__area--second,
.search__change {}

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

  .search__area.search__area--second,
  .search__change {
    margin: 0 0 0 auto;
  }
}

.search__word,
.search__sort,
.search__filter {
  color: #ABAAAC;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  margin: 0;
  padding: 0;
}

*+.search__word {
  margin-top: 16px;
}

*+.search__filter {
  margin-top: 16px;
}

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

  .search__word,
  .search__sort,
  .search__filter {
    font-size: 14px;
  }
}

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

  .search__word,
  .search__sort,
  .search__filter {
    font-size: 14px;
  }
}

.search__ttl {
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.05ex;
  width: 100%;
  margin: 0 0 8px;
}

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

@media screen and (max-width: 767.98px) {
  .search__ttl {
    font-size: 14px;
  }
}

.search__item {}

*+.search__item {
  margin-top: 16px;
}

.search__item-ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 600;
  font-size: 14px;
  margin: 0 0 8px;
  gap: 0.5ex;
}

.search__item-ttl>img {
  width: 1em;
  height: 1em;
  object-fit: contain;
}

.search__item-ttl>span {}

@media screen and (max-width: 959.98px) {
  .search__item-ttl {
    font-size: 14px;
  }
}

@media screen and (max-width: 767.98px) {
  .search__item-ttl {
    font-size: 14px;
  }
}


.result-head {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  gap: 20px 0;
}

@media screen and (max-width: 767.98px) {
  .result-head {
    gap: 10px 0;
  }
}


/* search 個別スタイル */
.search__sort {
  /* NOTE: marginは0で、余白を設けるときは、ラッパーのgapで調整します */
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: 1px solid #E4E4E4;
  background: #fff;
  height: 36px;
  margin: 0;
  position: relative;
}

.search__sort::after {
  content: '';
  display: block;
  border-top: 2px solid var(--site-c-main);
  border-right: 2px solid var(--site-c-main);
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 17px;
  transform: translate(0, -75%) rotate(135deg);
  pointer-events: none;
}

.search__sort select {
  width: 100%;
  min-width: 125px;
  padding: 0 26px 0 15px;
}

.search__sort .search__ttl {
  margin-bottom: 0;
}

.search__sort *+.search__item {
  margin-top: 0;
}

.search__sort .search__item a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 3em;
  border: solid 1px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-weight: 600;
  text-decoration: none;
  width: 100%;
  height: 40px;
  padding: 0 1em;
}

.search__sort .search__item[style] a {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}

@media screen and (max-width: 959.98px) {
  .search__sort .search__item {
    flex: 1 1;
  }
}

@media screen and (max-width: 767.98px) {
  .search__sort {
    width: 120px;
    margin-bottom: 0;
  }

  .result-head .pagination {
    width: calc(100% - 120px)
  }
}



/**
 * search item input
**/
.search__item [type="text"],
.search__item [type="number"],
.search__item [type="date"] {
  border-radius: 3em;
  border: solid 1px #EAF1F5;
  background: #fff;
  width: 100%;
  height: 40px;
  padding: 0 1em;
}

.search__item .select {
  width: 100%;
}

.search__item .select select {
  border-radius: 3em;
  border: solid 1px #EAF1F5;
  background: #fff;
  width: 100%;
  height: 40px;
  line-height: 38px;
  padding: 0 1em;
}

.search__more {}

*+.search__more {
  margin-top: 16px;
}

.search__submit {}

.search__submit.btn>* {
  height: 56px;
}

*+.search__submit {
  margin-top: 16px;
}

/**
 * search__tag
**/
.search__tag {}

*+.search__tag {
  margin-top: 32px;
}

.search__tag-ttl {
  color: var(--font-c);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.05ex;
  width: 100%;
  margin: 0 0 16px;
}

@media screen and (max-width: 959.98px) {
  .search__tag-ttl {
    font-size: 16px;
  }
}

@media screen and (max-width: 767.98px) {
  .search__tag-ttl {
    font-size: 16px;
  }
}

.search__tag-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 4px;
}

*+.search__tag-list {
  margin-top: 16px;
}

.search__tag-list>li {}

.search__tag-list a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: solid 1px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  height: 24px;
  padding: 0 6px;
}


/**
 * modal
**/
.modal-drawer,
[id="modal-drawer"] {}

.modal-unshown {
  position: absolute;
  opacity: 0 !important;
}

.modal-input {
  position: absolute;
  opacity: 0 !important;
}

/*#modal-open*/
.modal-btn-open {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3em;
  border: solid 1px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  max-width: 256px;
  height: 40px;
  margin: 0 auto;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

.modal-btn-open:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767.98px) {
  .modal-btn-open {
    font-size: 12px;
  }
}

.modal-close,
[id="modal-close"] {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}

.modal-input:checked~.modal-close,
[id="modal-input"]:checked~[id="modal-close"] {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.modal-content,
[id="modal-content"] {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  border-radius: 6px;
  border: none;
  background: #fff;
  color: #000;
  max-width: 900px;
  width: 100%;
  height: 80%;
  padding: 0;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -100%);
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}

.modal-input:checked~.modal-content,
[id="modal-input"]:checked~[id="modal-content"] {
  box-shadow: 6px 0 24px rgba(0, 0, 0, 0.15);
  z-index: 1100;
  transform: translate(-50%, -50%);
  opacity: 1;
  pointer-events: auto;
}

/* モーダルに装飾が一切ないplainタイプ */
/* NOTE: modal-contentに何かダイアログのスタイルを内包させて使います。 */
.modal-content.style--plain,
[id="modal-content"].style--plain {

  /* NOTE: --modal-margin-block-offsetの 280pxはデザイン上での余白担保用のオフセット値（参考値） */
  --modal-margin-block-offset: 160px;

  box-shadow: none;
  border-radius: 0;
  border: none;
  background: transparent;
  color: var(--font-c);
  /* NOTE: font-sizeは通常版のモーダルのfont-sizeの値を引き継ぐ */
  /* NOTE: font-weightは通常版のモーダルのfont-weightの値を引き継ぐ */
  max-width: 768px;
  max-height: calc(100dvh - var(--modal-margin-block-offset) * 2);
  width: 100%;
  height: 80dvh;
  padding: 0;
  position: fixed;
  top: 50%;
  left: 50%;
  /* NOTE: z-indexは通常版のモーダルの値を引き継ぐ */
  transform: translate(-50%, -100%);
  overflow: auto;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease-in-out;
}

.modal-input:checked~.modal-content.style--plain,
[id="modal-input"]:checked~[id="modal-content"].style--plain {
  box-shadow: none;
  transform: translate(-50%, -50%);
  opacity: 1;
  pointer-events: auto;
}

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

  .modal-content,
  [id="modal-content"] {
    font-size: 14px;
    padding: 32px 20px;
  }
}

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

  .modal-content,
  [id="modal-content"] {
    font-size: 14px;
    padding: 32px 16px;
  }

  .modal-content.style--plain,
  [id="modal-content"].style--plain {
    --modal-margin-block-offset: 80px;
    max-height: calc(100dvh - var(--modal-margin-block-offset) * 2);
  }
}

.modal-content::-webkit-scrollbar,
[id="modal-content"]::-webkit-scrollbar {
  width: 12px;
  /* 垂直方向のスクロールバーの幅 */
  height: 12px;
  /* 水平方向のスクロールバーの幅 */
}

.modal-content::-webkit-scrollbar-thumb,
[id="modal-content"]::-webkit-scrollbar-thumb {
  background-color: var(--site-c-main);
  border-radius: 6px;
  box-shadow: none;
}

.modal-content::-webkit-scrollbar-track,
[id="modal-content"]::-webkit-scrollbar-track {
  background-color: var(--site-bg-c-gray-ui);
  border-radius: 6px;
  box-shadow: none;
}

.modal-content::-webkit-scrollbar-corner,
[id="modal-content"]::-webkit-scrollbar-corner {
  display: none;
}

.modal-close-button {
  cursor: pointer;
}

.modal-close-button::before {
  content: '\f00d';
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;

  border-radius: 50%;
  border: solid 1.6666px #fff;
  background: var(--site-c-main);
  color: #fff;
  font-size: 0.6666em;
  width: calc(1em / 0.6666);
  height: calc(1em / 0.6666);
  transform: scale(1.3333);
}

.modal-content .table th,
.modal-content .table td,
[id="modal-content"] .table th,
[id="modal-content"] .table td {
  padding: 12px 12px;
}

.modal-content .btn,
[id="modal-content"] .btn {
  margin: 40px auto;
}

/* modal tableset style */
.modal-content .tableset__ttl {
  width: 200px;
  padding: 20px;
}

.modal-content .tableset__txt {
  padding: 20px;
}

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

  .modal-content .tableset__ttl,
  .modal-content .tableset__txt {
    width: 100%;
  }
}


/* title */
.modal-content .c-head {
  margin: 0;
}

.modal-content *+.c-head {
  margin-top: 32px;
}

@media screen and (max-width: 767.98px) {
  .modal-content *+.c-head {
    margin-top: 16px;
  }
}

.modal-content .c-head__ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: var(--site-c-main);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.05ex;
  padding: 12px;
  gap: 1ex;
}

.modal-content .c-head__ttl>i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
}

.modal-content .c-head__ttl>span {
  display: block;
}

.modal-content .c-head__ttl>small {
  display: block;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.5;
}

@media screen and (max-width: 767.98px) {
  .modal-content .c-head__ttl {
    font-size: 16px;
    line-height: 1.5;
  }
}



/**
 * 
 * search modal ui set
 * 
 * NOTE: 
 * 検索画面で使用するモーダルのスタイルです。
 * .modal-content.style--plain内部に配置する想定です。
 * 
**/

/* search modal ui - group */
.search-modal-ui {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
}

/* search modal ui - header */
.search-modal-ui__header {
  border-radius: 10px 10px 0 0;
  background: var(--site-c-main);
  color: #fff;
  margin: 0;
  padding: 12px;
}

.search-modal-ui__header-ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.05ex;
  gap: 1ex;
}

.search-modal-ui__header-ttl>i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
}

.search-modal-ui__header-ttl>span {
  display: block;
}

.search-modal-ui__header-ttl>small {
  display: block;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.5;
}

.search-modal-ui__header-ttl>.modal-close-button {
  margin-inline: auto 0;
}

@media screen and (max-width: 767.98px) {
  .search-modal-ui__header-ttl {
    font-size: 16px;
    line-height: 1.5;
  }
}

/* search modal ui - body */
.search-modal-ui__body {
  border-radius: 0;
  background: #fff;
  padding: 24px 32px;
}

@media screen and (max-width: 767.98px) {
  .search-modal-ui__body {
    padding: 20px 16px 32px;
  }
}

/* search modal ui - footer */
.search-modal-ui__footer {
  border-radius: 0 0 10px 10px;
  background: #fff;
  padding: 0 32px 24px;
}

.search-modal-ui__result {
  font-size: 15px;
  font-weight: 400;
  text-align: center;
  line-height: 1.25;
}

*+.search-modal-ui__result {
  margin-top: 16px;
}

.search-modal-ui__result>em {
  color: var(--site-c-main);
  font-size: 1.5em;
  font-weight: 700;
  font-family: var(--font-family-en);
  margin-inline: 0.5ex;
}

.search-modal-ui__button-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

*+.search-modal-ui__button-group {
  margin-top: 16px;
}

.search-modal-ui__button-group>.btn {
  max-width: 184px;
  width: 100%;
  margin: 0;
}

.search-modal-ui__button-group-after {
  text-align: center;
  gap: 8px;
}

*+.search-modal-ui__button-group-after {
  margin-top: 16px;
}


/* search modal ui - tab group */
.search-modal-ui__tab-group {
  display: grid;
  grid-template-columns: 9fr 16fr;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .search-modal-ui__tab-group {
    display: grid;
    grid-template-columns: 7fr 18fr;
  }
}

.search-modal-ui__tab-group>[data-tab-switch] {
  position: absolute;
  opacity: 0;
}

.search-modal-ui__tab-list {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  gap: 0;
}

.search-modal-ui__tab-content {

  /* 通常スタイル */
  padding: 12px;

  /* 表示に関わるスタイル */
  height: 0;
  overflow: hidden;
  opacity: 0;
  position: absolute;
  pointer-events: none;
}

@media screen and (max-width: 767.98px) {
  .search-modal-ui__tab-content {

    /* 通常スタイル */
    padding: 12px 0 12px 12px;

    /* 表示に関わるスタイルは書かない */
  }
}

[data-tab-switch]:nth-of-type(1):checked~fieldset.search-modal-ui__tab-content:nth-of-type(1),
[data-tab-switch]:nth-of-type(2):checked~fieldset.search-modal-ui__tab-content:nth-of-type(2),
[data-tab-switch]:nth-of-type(3):checked~fieldset.search-modal-ui__tab-content:nth-of-type(3),
[data-tab-switch]:nth-of-type(4):checked~fieldset.search-modal-ui__tab-content:nth-of-type(4),
[data-tab-switch]:nth-of-type(5):checked~fieldset.search-modal-ui__tab-content:nth-of-type(5),
[data-tab-switch]:nth-of-type(6):checked~fieldset.search-modal-ui__tab-content:nth-of-type(6),
[data-tab-switch]:nth-of-type(7):checked~fieldset.search-modal-ui__tab-content:nth-of-type(7),
[data-tab-switch]:nth-of-type(8):checked~fieldset.search-modal-ui__tab-content:nth-of-type(8),
[data-tab-switch]:nth-of-type(9):checked~fieldset.search-modal-ui__tab-content:nth-of-type(9),
[data-tab-switch]:nth-of-type(10):checked~fieldset.search-modal-ui__tab-content:nth-of-type(10),
[data-tab-switch]:nth-of-type(11):checked~fieldset.search-modal-ui__tab-content:nth-of-type(11),
[data-tab-switch]:nth-of-type(12):checked~fieldset.search-modal-ui__tab-content:nth-of-type(12),
[data-tab-switch]:nth-of-type(13):checked~fieldset.search-modal-ui__tab-content:nth-of-type(13),
[data-tab-switch]:nth-of-type(14):checked~fieldset.search-modal-ui__tab-content:nth-of-type(14),
[data-tab-switch]:nth-of-type(15):checked~fieldset.search-modal-ui__tab-content:nth-of-type(15),
[data-tab-switch]:nth-of-type(16):checked~fieldset.search-modal-ui__tab-content:nth-of-type(16),
[data-tab-switch]:nth-of-type(17):checked~fieldset.search-modal-ui__tab-content:nth-of-type(17),
[data-tab-switch]:nth-of-type(18):checked~fieldset.search-modal-ui__tab-content:nth-of-type(18),
[data-tab-switch]:nth-of-type(19):checked~fieldset.search-modal-ui__tab-content:nth-of-type(19),
[data-tab-switch]:nth-of-type(20):checked~fieldset.search-modal-ui__tab-content:nth-of-type(20) {

  /* ここには通常スタイルは書かないでください。 */

  /* 表示に関わるスタイル */
  height: auto;
  overflow: visible;
  opacity: 1;
  position: static;
  pointer-events: auto;
}

.search-modal-ui__tab-item {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  align-items: center;
  background: transparent;
  color: var(--site-c-main);
  gap: 1ex;
  height: 44px;
  padding: 0 12px 1px;
  position: relative;
}

.search-modal-ui__tab-item::after {
  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: auto 0 0 0;
}

.search-modal-ui__tab-item:hover {
  background: var(--site-bg-c-gray-ui-selected);
}

[data-tab-switch]:nth-of-type(1):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(1),
[data-tab-switch]:nth-of-type(2):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(2),
[data-tab-switch]:nth-of-type(3):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(3),
[data-tab-switch]:nth-of-type(4):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(4),
[data-tab-switch]:nth-of-type(5):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(5),
[data-tab-switch]:nth-of-type(6):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(6),
[data-tab-switch]:nth-of-type(7):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(7),
[data-tab-switch]:nth-of-type(8):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(8),
[data-tab-switch]:nth-of-type(9):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(9),
[data-tab-switch]:nth-of-type(10):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(10),
[data-tab-switch]:nth-of-type(11):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(11),
[data-tab-switch]:nth-of-type(12):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(12),
[data-tab-switch]:nth-of-type(13):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(13),
[data-tab-switch]:nth-of-type(14):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(14),
[data-tab-switch]:nth-of-type(15):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(15),
[data-tab-switch]:nth-of-type(16):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(16),
[data-tab-switch]:nth-of-type(17):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(17),
[data-tab-switch]:nth-of-type(18):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(18),
[data-tab-switch]:nth-of-type(19):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(19),
[data-tab-switch]:nth-of-type(20):checked~.search-modal-ui__tab-list>.search-modal-ui__tab-item:nth-child(20) {
  background: var(--site-bg-c-gray-ui-selected);
}

.search-modal-ui__tab-item>span {
  display: block;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
}

.search-modal-ui__tab-item.is--selected>span {
  font-weight: 700;
}

.search-modal-ui__tab-item>i {
  display: none;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  background: #f3f3f3;
  color: var(--site-c-main);
  font-weight: 400;
  font-size: 10px;
  line-height: 1;
  width: 40px;
  height: 16px;
}

.search-modal-ui__tab-item.is--selected>i {
  display: flex;
}

.search-modal-ui__check-all {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: fit-content;
  margin: 0 0 16px;
  gap: 1ex;
}

.search-modal-ui__check-all>[type="radio"],
.search-modal-ui__check-all>[type="checkbox"] {
  accent-color: var(--site-c-main);
  margin: 0;
}

.search-modal-ui__check-all>span {
  display: block;
  color: var(--font-c);
  font-weight: 700;
  font-size: 14px;
  font-feature-settings: 'palt';
}

.search-modal-ui__check-all>i {
  display: block;
  color: var(--font-c);
  font-weight: 400;
  font-size: 11px;
  font-feature-settings: 'palt';
  transform: translate(0, 8.333%);
  opacity: 0.56;
}

.search-modal-ui__check-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0 0 0 24px;
  gap: 16px 0;
}

.search-modal-ui__check-list>li {}

.search-modal-ui__check-list>li>label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0;
  gap: 1ex;
}

.search-modal-ui__check-list>li>label>[type="radio"],
.search-modal-ui__check-list>li>label>[type="checkbox"] {
  accent-color: var(--site-c-main);
  min-width: 18px;
  min-height: 18px;
  margin: 0;
}

.search-modal-ui__check-list>li>label>span {
  font-feature-settings: 'palt';
}

.search-modal-ui__check-list>li>label>i {
  display: block;
  color: inherit;
  font-weight: 400;
  font-size: 11px;
  font-feature-settings: 'palt';
  transform: translate(0, 8.333%);
  opacity: 0.56;
}


/* search modal ui - area ui */
/* NOTE: エリア選択をするための特別なフィールドです。 */
.area-ui {
  --area-ui-ttl-height: 40px;
  --area-ui-input-height: 42px;
  display: grid;
  grid-template-columns: 2fr 2fr 3fr;
  gap: 32px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .area-ui {
    --area-ui-ttl-height: 24px;
    --area-ui-input-height: 42px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.area-ui>[type="radio"],
.area-ui>[type="checkbox"] {
  position: absolute;
  opacity: 0;
}

.area-ui__col {
  height: calc(var(--area-ui-ttl-height) + var(--area-ui-input-height) * 7);
}

@media screen and (max-width: 767.98px) {
  .area-ui__col {
    height: calc(var(--area-ui-ttl-height) + var(--area-ui-input-height) * 7);
  }
}




.area-ui__ttl {
  color: #2c2a27;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  text-align: left;
  min-height: var(--area-ui-ttl-height);
  margin: 0;
  padding: 0;
}

.area-ui__box {
  border-radius: 4px;
  border: 1px solid #a3a3a3;
  background: #f5f5f5;
  height: calc(100% - var(--area-ui-ttl-height));
  overflow-x: hidden;
  overflow-y: auto;
}

.area-ui__box::-webkit-scrollbar,
[id="modal-content"]::-webkit-scrollbar {
  width: 8px;
  /* 垂直方向のスクロールバーの幅 */
  height: 8px;
  /* 水平方向のスクロールバーの幅 */
}

.area-ui__box::-webkit-scrollbar-thumb,
[id="modal-content"]::-webkit-scrollbar-thumb {
  background-color: #A9A9A9;
  border-radius: 4px;
  box-shadow: none;
}

.area-ui__box::-webkit-scrollbar-track,
[id="modal-content"]::-webkit-scrollbar-track {
  background-color: var(--site-c-gray-disabled);
  border-radius: 4px;
  box-shadow: none;
}

.area-ui__box::-webkit-scrollbar-corner,
[id="modal-content"]::-webkit-scrollbar-corner {
  display: none;
}

/* area */
.area-ui__area-list {}


.area-ui__area-item {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  align-items: center;
  background: #fff;
  color: var(--site-c-main);
  gap: 1ex;
  height: var(--area-ui-input-height);
  padding: 0 12px 1px;
  position: relative;
}

.area-ui__area-item::after {
  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: auto 0 0 0;
}

.area-ui__area-item:hover {
  background: var(--site-bg-c-gray-ui-selected);
}

[data-tab-switch]:nth-of-type(1):checked~.area-ui__col .area-ui__area-item:nth-child(1),
[data-tab-switch]:nth-of-type(2):checked~.area-ui__col .area-ui__area-item:nth-child(2),
[data-tab-switch]:nth-of-type(3):checked~.area-ui__col .area-ui__area-item:nth-child(3),
[data-tab-switch]:nth-of-type(4):checked~.area-ui__col .area-ui__area-item:nth-child(4),
[data-tab-switch]:nth-of-type(5):checked~.area-ui__col .area-ui__area-item:nth-child(5),
[data-tab-switch]:nth-of-type(6):checked~.area-ui__col .area-ui__area-item:nth-child(6),
[data-tab-switch]:nth-of-type(7):checked~.area-ui__col .area-ui__area-item:nth-child(7),
[data-tab-switch]:nth-of-type(8):checked~.area-ui__col .area-ui__area-item:nth-child(8),
[data-tab-switch]:nth-of-type(9):checked~.area-ui__col .area-ui__area-item:nth-child(9),
[data-tab-switch]:nth-of-type(10):checked~.area-ui__col .area-ui__area-item:nth-child(10),
[data-tab-switch]:nth-of-type(11):checked~.area-ui__col .area-ui__area-item:nth-child(11),
[data-tab-switch]:nth-of-type(12):checked~.area-ui__col .area-ui__area-item:nth-child(12),
[data-tab-switch]:nth-of-type(13):checked~.area-ui__col .area-ui__area-item:nth-child(13),
[data-tab-switch]:nth-of-type(14):checked~.area-ui__col .area-ui__area-item:nth-child(14),
[data-tab-switch]:nth-of-type(15):checked~.area-ui__col .area-ui__area-item:nth-child(15),
[data-tab-switch]:nth-of-type(16):checked~.area-ui__col .area-ui__area-item:nth-child(16),
[data-tab-switch]:nth-of-type(17):checked~.area-ui__col .area-ui__area-item:nth-child(17),
[data-tab-switch]:nth-of-type(18):checked~.area-ui__col .area-ui__area-item:nth-child(18),
[data-tab-switch]:nth-of-type(19):checked~.area-ui__col .area-ui__area-item:nth-child(19),
[data-tab-switch]:nth-of-type(20):checked~.area-ui__col .area-ui__area-item:nth-child(20) {
  background: var(--site-bg-c-gray-ui-selected);
}

.area-ui__area-item>span {
  display: block;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
}

.area-ui__area-item.is--selected>span {
  font-weight: 700;
}

.area-ui__area-item>i {
  display: none;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  background: #f3f3f3;
  color: var(--site-c-main);
  font-weight: 400;
  font-size: 10px;
  line-height: 1;
  width: 40px;
  height: 16px;
}

.area-ui__area-item.is--selected>i {
  display: flex;
}

.area-ui__area-item>[type="checkbox"],
.area-ui__area-item>[type="radio"] {
  position: absolute;
  opacity: 0 !important;
}


/* pref */
.area-ui__pref-fields {
  display: none;
}

[data-tab-switch]:nth-of-type(1):checked~.area-ui__col .area-ui__pref-fields,
[data-tab-switch]:nth-of-type(2):checked~.area-ui__col .area-ui__pref-fields:nth-child(1),
[data-tab-switch]:nth-of-type(3):checked~.area-ui__col .area-ui__pref-fields:nth-child(2),
[data-tab-switch]:nth-of-type(4):checked~.area-ui__col .area-ui__pref-fields:nth-child(3),
[data-tab-switch]:nth-of-type(5):checked~.area-ui__col .area-ui__pref-fields:nth-child(4),
[data-tab-switch]:nth-of-type(6):checked~.area-ui__col .area-ui__pref-fields:nth-child(5),
[data-tab-switch]:nth-of-type(7):checked~.area-ui__col .area-ui__pref-fields:nth-child(6),
[data-tab-switch]:nth-of-type(8):checked~.area-ui__col .area-ui__pref-fields:nth-child(7),
[data-tab-switch]:nth-of-type(9):checked~.area-ui__col .area-ui__pref-fields:nth-child(8),
[data-tab-switch]:nth-of-type(10):checked~.area-ui__col .area-ui__pref-fields:nth-child(9),
[data-tab-switch]:nth-of-type(11):checked~.area-ui__col .area-ui__pref-fields:nth-child(10),
[data-tab-switch]:nth-of-type(12):checked~.area-ui__col .area-ui__pref-fields:nth-child(11),
[data-tab-switch]:nth-of-type(13):checked~.area-ui__col .area-ui__pref-fields:nth-child(12),
[data-tab-switch]:nth-of-type(14):checked~.area-ui__col .area-ui__pref-fields:nth-child(13),
[data-tab-switch]:nth-of-type(15):checked~.area-ui__col .area-ui__pref-fields:nth-child(14),
[data-tab-switch]:nth-of-type(16):checked~.area-ui__col .area-ui__pref-fields:nth-child(15),
[data-tab-switch]:nth-of-type(17):checked~.area-ui__col .area-ui__pref-fields:nth-child(16),
[data-tab-switch]:nth-of-type(18):checked~.area-ui__col .area-ui__pref-fields:nth-child(17),
[data-tab-switch]:nth-of-type(19):checked~.area-ui__col .area-ui__pref-fields:nth-child(18),
[data-tab-switch]:nth-of-type(20):checked~.area-ui__col .area-ui__pref-fields:nth-child(19),
[data-tab-switch]:nth-of-type(21):checked~.area-ui__col .area-ui__pref-fields:nth-child(20) {
  display: block;
}

.area-ui__pref-fields:nth-child(1):has(:checked),
.area-ui__pref-fields:nth-child(2):has(:checked),
.area-ui__pref-fields:nth-child(3):has(:checked),
.area-ui__pref-fields:nth-child(4):has(:checked),
.area-ui__pref-fields:nth-child(5):has(:checked),
.area-ui__pref-fields:nth-child(6):has(:checked),
.area-ui__pref-fields:nth-child(7):has(:checked),
.area-ui__pref-fields:nth-child(8):has(:checked),
.area-ui__pref-fields:nth-child(9):has(:checked),
.area-ui__pref-fields:nth-child(10):has(:checked),
.area-ui__pref-fields:nth-child(11):has(:checked),
.area-ui__pref-fields:nth-child(12):has(:checked),
.area-ui__pref-fields:nth-child(13):has(:checked),
.area-ui__pref-fields:nth-child(14):has(:checked),
.area-ui__pref-fields:nth-child(15):has(:checked),
.area-ui__pref-fields:nth-child(16):has(:checked),
.area-ui__pref-fields:nth-child(17):has(:checked),
.area-ui__pref-fields:nth-child(18):has(:checked),
.area-ui__pref-fields:nth-child(19):has(:checked),
.area-ui__pref-fields:nth-child(20):has(:checked) {
  display: block;
}


.area-ui__pref-list {}

.area-ui__pref-list>li {}

.area-ui__pref-list label {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  align-items: center;
  background: #fff;
  color: var(--site-c-main);
  gap: 1ex;
  height: var(--area-ui-input-height);
  padding: 0 12px 1px;
  position: relative;
}

.area-ui__pref-list label::after {
  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: auto 0 0 0;
}

.area-ui__pref-list label:hover {
  background: var(--site-bg-c-gray-ui-selected);
}

.area-ui__pref-list label:has(:checked) {
  background: var(--site-bg-c-gray-ui-selected);
}

.area-ui__pref-list label>[type="radio"],
.area-ui__pref-list label>[type="checkbox"] {
  accent-color: var(--site-c-main);
  margin: 0;
  position: absolute;
  opacity: 0;
}

.area-ui__pref-list label>span {}

.area-ui__pref-list label>span {
  display: block;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
}

.area-ui__pref-list label.is--selected>span {
  font-weight: 700;
}

.area-ui__pref-list label>i {
  display: none;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  background: #f3f3f3;
  color: var(--site-c-main);
  font-weight: 400;
  font-size: 10px;
  line-height: 1;
  width: 40px;
  height: 16px;
}

.area-ui__pref-list label.is--selected>i {
  display: flex;
}


/* city */
.area-ui__city-fields {}

.area-ui__city-list {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
}

.area-ui__city-list>li {}


.area-ui__city-list label {
  display: flex;
  flex-flow: row wrap;
  align-content: center;
  align-items: center;
  background: #fff;
  color: var(--site-c-main);
  gap: 1ex;
  height: var(--area-ui-input-height);
  padding: 0 12px 1px;
  position: relative;
}

.area-ui__city-list label::after {
  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: auto 0 0 0;
}

.area-ui__city-list label:hover {
  background: var(--site-bg-c-gray-ui-selected);
}

.area-ui__city-list label:has(:checked) {
  background: var(--site-bg-c-gray-ui-selected);
}

.area-ui__city-list label>[type="radio"],
.area-ui__city-list label>[type="checkbox"] {
  accent-color: var(--site-c-main);
  margin: 0;
}

.area-ui__city-list label>span {}




/**
 * result
**/
.result {
  border: none;
  background: transparent;
  padding: 0;
}

.result__list {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  gap: 20px;
}

*+.result__list {
  margin-top: 20px;
}

.result__item {
  display: flex;
  flex-flow: row wrap;
  border-radius: 10px;
  background: #fff;
  color: var(--font-c);
  width: 100%;
  padding: 20px 30px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .result__list {
    gap: 10px
  }

  *+.result__list {
    margin-top: 10px;
  }

  .result__item {
    padding: 10px 20px 20px;
  }
}


.result__item-head {
  width: 100%;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  order: 1;
}

.result__ttl {
  width: 100%;
  margin: 0 0 16px;
  color: var(--font-c);
  font-weight: 700;
  font-size: 20px;
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  line-height: 1.5;
  text-align: left;
  order: 2
}

@media screen and (max-width: 767.98px) {
  .result__ttl {
    margin: 10px 0;
    font-size: 16px;
    order: 3
  }
}

.result__img {
  width: 280px;
  order: 3
}

.result__img img {
  width: 280px;
  height: 210px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 10px;
}

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

  .result__img,
  .result__img img {
    width: 100%;
  }

  .result__img {
    order: 2;
  }
}

.result__right {
  width: calc(100% - 300px);
  margin-left: 20px;
  order: 3;
}

@media screen and (max-width: 767.98px) {
  .result__right {
    width: 100%;
    margin: 0;
  }
}

.result__desc {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-content: center;
  /*align-items: center;*/
  margin: 0 0 16px;
  gap: 0 6px;
}

@media screen and (max-width: 767.98px) {
  .result__desc {
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 6px;
  }
}

.result__top {
  min-width: 480px;
}

.result__bottom {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}


.result__recruit-type {
  padding: 4px 14px;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  float: right;
  border-radius: 5px;
  display: inline-block;
}

.result__recruit-type2 {
  margin-bottom: 10px;
  padding: 4px 14px;
  border: 1px solid #F6E7F1;
  background: #F6E7F1;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  float: right;
  border-radius: 5px;
  display: inline-block;
}

/*outline-head__recruit-typeと合わせる*/
.result__recruit-type[data-type="短期インターン"] {
  background: var(--site-c-main-hue);
  color: var(--font-c);
}

.result__recruit-type[data-type="長期インターン"] {
  background: var(--site-c-green);
  color: #fff;
}

.result__recruit-type[data-type="新卒求人"] {
  background: var(--site-c-main);
  color: #fff;
}

.result__recruit-type[data-type="1day"] {
  background: var(--site-c-red);
  color: #fff;
}

.result__job-type {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: var(--site-c-gray);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  min-width: 80px;
  height: 26px;
  padding: 0 12px;
}

.result__name {
  font-size: 14px;
}

*+.result__name {
  margin-top: 12px;
}

.result__name>img {
  width: auto;
  height: 26px;
}

.result__name>span {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

@media screen and (max-width: 767.98px) {
  .result__ttl~.result__name {
    order: 3;
  }

  .result__ttl+.result__name {
    margin: -8px 0 4px;
  }
}

.result__job-cate {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  gap: 8px;
}

*+.result__job-cate {
  margin-top: 6px;
}

.result__job-cate::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-bill-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  *+.result__job-cate {
    margin-top: 0;
  }
}

.result__area {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  gap: 8px;
}

*+.result__area {
  margin-top: 6px;
}

.result__area::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-map-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  *+.result__area {
    margin-top: 0;
  }
}

.result__wages {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
}

.result__wages::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-yen-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  .result__wages {
    width: 100%;
  }

  *+.result__wages {
    margin-top: 6px;
  }
}

.result__time {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
}

.result__wages+.result__time {
  margin-left: 20px;
}

.result__time::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-clock-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  .result__time {
    width: 100%;
  }

  *+.result__time {
    margin-top: 6px;
  }

  .result__wages+.result__time {
    margin-left: 0;
  }
}

.result__tag {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
  gap: 5px;
  order: 5
}

*+.result__tag {
  margin-top: 20px;
}

.result__tag>li {
  padding: 3px 15px 5px;
  background-color: #FAF3F8;
  border-radius: 30px;
  color: var(--site-c-main);
  font-size: 12px;
}

@media screen and (max-width: 767.98px) {
  .result__tag {
    margin-top: 15px;
    order: 3;
  }
}

.result__details {
  margin-top: 10px;
  font-size: 13px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.result__details .c-icon::before {
  min-width: 20px
}

.result__details em {
  width: 80px;
  font-weight: 700;
}

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

.result__benefits {}

*+.result__benefits {
  margin-top: 16px;
}

.result__benefits>dt {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 600;
  width: 100%;
  gap: 8px;
}

.result__benefits>dt::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-star-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

.result__benefits>dd {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  margin: 8px 0 0;
}

.result__memo {
  width: 100%;
  padding: 15px;
  border-radius: 10px;
  background: #FAF3F8;
  font-size: 13px;
  line-height: 1.4;
}

*+.result__memo {
  margin-top: 16px;
}

.result__memo>dt {
  color: var(--site-c-main);
  font-weight: 700;
}

.result__memo>dd {
  z-index: 1;
}

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

@media screen and (max-width: 959.98px) {
  .result__memo {
    margin-top: 15px
  }
}

/*.result__overlay-link {
  display: block;
  border-radius: inherit;
  background: inherit;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.result__overlay-link:hover {
  opacity: 0.2;
}*/
.result__fav {}

.result__fav:hover,
.result__fav.is--active {
  color: var(--site-c-main-hue);
}

.result__fav.is--active:hover {
  color: #E1F3F8;
}

@media screen and (max-width: 959.98px) {
  .result__fav {
    font-size: 28px;
    right: 16px;
  }
}


.result-btns {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 30px auto 0;
  gap: 10px;
  order: 6;
}

.result-btns__btn {
  max-width: calc((100% - 10px) / 2);
  width: 184px;
}

.result-btns__btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: 1px solid var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  height: 48px;
}

.result-btns__btn--fav a {
  border: 1px solid #E3DFDC;
  background: #fff;
  color: var(--font-c);
  font-weight: 400;
}

.result-btns__btn--fav 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;
}

.result-btns__btn--fav.is--active a {
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--font-c);
}

.result-btns__btn--fav.is--active a::before {
  background-image: url("/common/images/icon-star-c.svg");
}

@media screen and (max-width: 767.98px) {
  .result-btns {
    margin-top: 15px;
  }

  .result-btns__btn a {
    font-size: 15px;
  }
}


/**
 * card
**/
.card__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.card__list.slick-slider {
  margin-inline: -20px;
}

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

.card__list .box-readmore-buttons {
  grid-column: 1 / -1;
  margin-top: 8px;
}


.card__item {
  border-radius: 10px;
  background: #fff;
  padding: 15px;
  position: relative;
}

.card__public {
  margin-bottom: 10px;
  padding: 4px 14px;
  border: 1px solid var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  float: right;
  border-radius: 5px;
  display: inline-block;
}

.card__public2 {
  margin-bottom: 10px;
  padding: 4px 14px;
  border: 1px solid #F6E7F1;
  background: #F6E7F1;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 700;
  float: right;
  border-radius: 5px;
  display: inline-block;
}

.card__img {
  width: 100%;
}

.card__img img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 10px;
}

.card__desc {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between
}

.card__ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  overflow: hidden;

  font-size: 15px;
  font-weight: 700;
  min-height: 3lh;
  margin: 10px 0 5px;
}

.card__company {
  font-size: 14px
}

.card__details {
  margin-top: 10px;
  font-size: 13px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.card__tag {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 5px;
  margin: 15px 0;
}

.slick-slider .card__tag {
  flex-flow: row nowrap;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* 省略した残りのタグ数を表示 */
.slick-slider .card__tag::after {
  display: block;
  border-radius: 30px;
  border: solid 1px var(--site-c-main);
  background: #FAF3F8;
  color: var(--site-c-main);
  font-size: 11px;
  padding: 2px 15px 4px;
  pointer-events: none;
}

/* 省略した残りのタグ数を表示（タグ数合計 24個まで対応） */
.slick-slider .card__tag:has(:nth-child(3):last-child)::after {
  content: '+1';
}

.slick-slider .card__tag:has(:nth-child(4):last-child)::after {
  content: '+2';
}

.slick-slider .card__tag:has(:nth-child(5):last-child)::after {
  content: '+3';
}

.slick-slider .card__tag:has(:nth-child(6):last-child)::after {
  content: '+4';
}

.slick-slider .card__tag:has(:nth-child(7):last-child)::after {
  content: '+5';
}

.slick-slider .card__tag:has(:nth-child(8):last-child)::after {
  content: '+6';
}

.slick-slider .card__tag:has(:nth-child(9):last-child)::after {
  content: '+7';
}

.slick-slider .card__tag:has(:nth-child(10):last-child)::after {
  content: '+8';
}

.slick-slider .card__tag:has(:nth-child(11):last-child)::after {
  content: '+9';
}

.slick-slider .card__tag:has(:nth-child(12):last-child)::after {
  content: '+10';
}

.slick-slider .card__tag:has(:nth-child(13):last-child)::after {
  content: '+11';
}

.slick-slider .card__tag:has(:nth-child(14):last-child)::after {
  content: '+12';
}

.slick-slider .card__tag:has(:nth-child(15):last-child)::after {
  content: '+13';
}

.slick-slider .card__tag:has(:nth-child(16):last-child)::after {
  content: '+14';
}

.slick-slider .card__tag:has(:nth-child(17):last-child)::after {
  content: '+15';
}

.slick-slider .card__tag:has(:nth-child(18):last-child)::after {
  content: '+16';
}

.slick-slider .card__tag:has(:nth-child(19):last-child)::after {
  content: '+17';
}

.slick-slider .card__tag:has(:nth-child(20):last-child)::after {
  content: '+18';
}

.slick-slider .card__tag:has(:nth-child(21):last-child)::after {
  content: '+19';
}

.slick-slider .card__tag:has(:nth-child(22):last-child)::after {
  content: '+20';
}

.slick-slider .card__tag:has(:nth-child(23):last-child)::after {
  content: '+21';
}

.slick-slider .card__tag:has(:nth-child(24):last-child)::after {
  content: '+22';
}

.card__tag li {
  border-radius: 30px;
  border: solid 1px #FAF3F8;
  background: #FAF3F8;
  color: var(--site-c-main);
  font-size: 11px;
  padding: 2px 15px 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 省略するタグの番号 */
.slick-slider .card__tag li:nth-child(n+3) {
  display: none;
}


.card-point {
  padding: 12px 15px;
  background: #FAF3F8;
  border-radius: 5px;
  font-size: 13px;
}

.card-point__ttl {
  color: var(--site-c-main);
  font-weight: 700;
}

.card-point__txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  text-overflow: ellipsis;
  overflow: hidden;
  min-height: 3lh;
  margin-top: 6px;
}

.card__btn .btn--small:first-child {
  margin-bottom: 5px;
}

.card__item .box-buttons .btn--small {
  width: 49%;
  margin-top: 2%;
}

.card__item .box-buttons .btn--small:not(a):not(input):not(button) a:hover {
  background: var(--site-c-main);
  color: #fff;
}

.card-btns {
  margin-top: 15px;
  font-size: 14px;
  display: flex;
  gap: 10px;
}

.card-btns__item {
  width: calc((100% - 10px) / 2);
}

.card-btns__item a {
  width: 100%;
  height: 46px;
  border: 1px solid var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
}

.card-btns__item.fav {}

.card-btns__item.fav a {
  border: 1px solid #E3DFDC;
  background: #fff;
  color: #1A1A1A;
  font-weight: 400;
}

.card-btns__item.more {}

.card-btns__item.more a {}

@media screen and (max-width: 959.98px) {
  .card__img img {
    height: 140px
  }
}

@media screen and (max-width: 767.98px) {
  .card__item {
    width: 100%;
    padding: 10px 20px 15px;
  }

  .card__item:nth-child(2n) {
    margin-right: 0
  }

  .card__public {
    margin-bottom: 7px;
    float: left
  }

  .card__img img {
    height: 195px
  }

  .card__ttl {
    font-size: 15px
  }
}

.thread__list {
  margin-bottom: 30px;
  padding: 40px;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
}

.thread__item {
  border-top: 1px solid #D6D6D6
}

.thread__item:last-child {
  border-bottom: 1px solid #D6D6D6
}

.thread__item a {
  padding: 15px;
  display: block;
}

@media screen and (max-width: 767.98px) {
  .thread__list {
    padding: 10px 0;
    margin-bottom: 20px;
  }
}

/**
 * 検索結果（検索結果0件）
**/
.nothing-message-wrap {
  padding: 50px;
  background-color: #fff;
  border-radius: 10px;
  font-size: 14px;
  text-align: center;
  line-height: 2
}

.nothing-message {
  font-size: 18px;
  font-weight: 700;
  color: var(--site-c-main)
}

@media screen and (max-width: 767.98px) {
  .nothing-message-wrap {
    padding: 50px 20px
  }
}

/**
 * 関連する求人
**/
.kyujin-recommend {}

.kyujin-recommend__ttl {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}

@media screen and (max-width: 767.98px) {
  .kyujin-recommend__ttl {
    margin-bottom: 10px;
    font-size: 18px;
  }
}




/**
 * 業態/職種から探す
**/
.searchCat {}

.searchCat__ttl::before {
  width: 22.92px;
  height: 22px;
}

.searchCat__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

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

.searchCat-item {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  border-radius: 10px;
  background: #fff;
  max-width: 430px;
  padding: 15px;
  gap: 10px 20px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .searchCat-item {
    padding: 10px;
    gap: 10px 20px;
  }
}

.searchCat-item__img {
  width: 116px;
  height: 78px;
  object-fit: cover;
  border-radius: 10px;
}

.searchCat-item__img[src*="s.gif"] {
  background: var(--site-bg-c-gray-ui);
}

@media screen and (max-width: 767.98px) {
  .searchCat-item__img {
    width: 116px;
    height: 78px;
  }
}

.searchCat-item__links {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: stretch;
  width: calc(100% - 136px);
}

@media screen and (max-width: 767.98px) {
  .searchCat-item__links {
    width: calc(100% - 136px);
  }
}

.searchCat-item__ttl {
  color: var(--site-c-main);
  font-size: 15px;
  font-weight: 700;
}

.searchCat-item ul {
  --searchCat-item-ul-gap: 20px;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 5px var(--searchCat-item-ul-gap);
  font-size: 14px;
}

@media screen and (max-width: 767.98px) {
  .searchCat-item ul {
    --searchCat-item-ul-gap: 10px;
    gap: 8px var(--searchCat-item-ul-gap);
  }
}

.searchCat-item *+ul {
  margin-top: 10px;
}

.searchCat-item ul:empty {
  display: none;
}

.searchCat-item ul>li {
  min-width: calc((100% - var(--searchCat-item-ul-gap)*2) / 3);
}

.searchCat-item ul>li a {
  padding-inline: 0 1em;
  position: relative;
}

.searchCat-item ul>li a::after {
  content: '';
  display: block;
  border-top: 1px solid var(--site-c-main);
  border-right: 1px solid var(--site-c-main);
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%) rotate(45deg);
}



/**
 * チャット
 * NOTE: 
**/

.chat {
  padding-bottom: 200px;
}

@media only screen and (max-width: 959px) {
  .chat {
    padding-bottom: 140px;
  }
}

/* chat outline */
/* NOTE: ヘッダー、フレーム、フッターの親ラッパー */
.chat-outline {
  padding: 10px 0;
}

@media only screen and (max-width: 767px) {
  .chat-outline {
    padding: 5px 0;
  }
}

.chat-outline .c-head {
  margin-bottom: 5px
}

.chat-outline .c-head .c-head__ttl {
  font-size: 18px;
}

@media only screen and (max-width: 767px) {
  .chat-outline .c-head .c-head__ttl {
    font-size: 16px;
  }
}

/* chat header */
.chat-header {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
  align-content: stretch;
  align-items: stretch;
  gap: 8px;
}

@media only screen and (max-width: 767px) {
  .chat-header {
    gap: 4px;
  }
}

.chat-header .c-head {
  width: 100%;
}

.chat-header .chat__status {
  float: none;
  /* .chat-header内部ではfloat解除 */
}

.chat__status {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 5px;
  border: 1px solid var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  width: 100px;
  height: 40px;
  margin-bottom: 10px;
  padding: 8px;
  float: left;
}

.chat__status .btn {
  color: #fff;
  margin: 0;
  max-width: none;
}

.chat__status .btn>* {
  height: auto;
}

.chat__status input {
  color: #fff;
}

@media only screen and (max-width: 767px) {
  .chat__status {
    font-size: 10px;
    width: auto;
    margin-bottom: 5px;
    padding: 6px;
  }

  .chat__status .btn,
  .chat__status input {
    font-size: 12px;
  }

  .chat__status .btn>* {
    font-size: inherit;
  }
}

.chat-inner body {
  /* 不使用 */
  margin: 0 !important;
}

/* chat iframe */
.chat-inner .inner {
  /* 不使用 */
  overflow: hidden;
}

/* chat iframe */
.chat-inner .ifrm {
  width: 100%;
  min-height: 55vh;
  padding: 10px 0;
  background: #fff;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
}

@media only screen and (max-width: 767px) {
  .chat-inner .ifrm {
    min-height: 50vh;
    padding: 5px 0;
  }
}

@media only screen and (max-width: 320px) {
  .chat-inner .ifrm {
    min-height: 42vh;
    padding: 0;
  }
}

/* chat 吹き出し */
.left_balloon,
.right_balloon {
  margin: 10px 30px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

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

  .left_balloon,
  .right_balloon {
    margin: 18px 12px;
  }
}

.right_balloon {
  justify-content: flex-end;
}

.faceicon img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
}

@media only screen and (max-width: 767px) {
  .faceicon img {
    width: 25px;
    height: 25px;
  }
}

.right_balloon .faceicon {
  margin-left: 25px;
  order: 2 !important;
  display: none
}

.left_balloon .faceicon {
  margin-right: 25px;
}

@media only screen and (max-width: 767px) {
  .left_balloon .faceicon {
    margin-right: 12px;
  }
}

.balloon_div_right {
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 10px 13px 10px 18px;
  border-radius: 12px;
  background: #c5f281;
  box-sizing: border-box;
  margin: 0 !important;
  line-height: 1.5;
}

.left_balloon .balloon_div_right {
  background: #eee;
}

.system_balloon {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 10px 13px 10px 18px;
  border-radius: 12px;
  background: #c9efff;
  box-sizing: border-box;
  line-height: 1.5;
}

.but_send {
  background-color: #99DEED;
  color: #fff;
  border-radius: 4px !important;
  margin: 5px 10px 5px 0;
  border-left: none !important;
}

.but_send:hover {
  background-color: var(--main-c);
}

.but_agree {
  border-left: none !important;
}

.enterprise {
  background: #ddd !important;
}

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

  .balloon_div_right,
  .system_balloon {
    padding: 8px 13px 10px 15px;
  }
}

.balloon_div_right p,
.system_balloon p {
  width: 100%;
  margin: 0;
  display: block;
  font-size: 14px;
}

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

  .balloon_div_right p,
  .system_balloon p {
    font-size: 12px;
  }
}

.balloon_div_right p:first-child,
.system_balloon p:first-child {
  margin-top: 0 !important;
}

.balloon_div_right img,
.system_balloon img {
  max-width: 100%;
  width: auto;
  height: auto;
}


.balloon_div_right::after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
  /*   margin-top:-3px;  */
}

.left_balloon .enterprise::after {
  left: -26px;
  border-right: 22px solid #ddd !important;
}

.left_balloon .balloon_div_right::after {
  left: -26px;
  border-right: 22px solid #eee;
}

.right_balloon .balloon_div_right::after {
  right: -26px;
  border-left: 22px solid #c5f281;
}

@media only screen and (max-width: 767px) {
  .left_balloon .balloon_div_right::after {
    top: 4px;
    left: -20px;
    border-right: 22px solid #eee;
  }

  .right_balloon .balloon_div_right::after {
    top: 4px;
    right: -20px;
    border-left: 22px solid #c5f281;
  }
}

.balloon_sub {
  margin: 0 0 2px;
  display: flex;
  align-items: center;
  flex-wrap: wrap
}

.balloon_name {
  margin-right: 5px;
  font-size: 13px;
  font-weight: 700;
  display: block;
}

.balloon_date {
  margin-right: 5px;
  color: #7d7d7d;
  font-size: 11px
}

.balloon_kidoku {
  padding: 0 5px;
  font-size: 10px;
  border: 1px solid #B4BFC2;
  border-radius: 3px;
}

@media screen and (max-width: 767px) {
  .balloon_name {
    width: 100%;
  }

  .balloon_name,
  .balloon_date {
    font-size: 10px;
  }

  .balloon_kidoku {
    font-size: 8px;
  }
}

/* chat footer */
.chat-footer {
  position: relative;
}

.chat-footer__body {
  position: relative;
}

.chat-footer 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: none;
  width: 100%;
  /* NOTE: input, textarea, select のheightは必ず、--site-input-height変数を用いてください。 */
  height: auto;
  /* NOTE: padding-bottom以外は必ず相対値を用いてください。 */
  padding: 1em 1em 40px;
}

.submit__area {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
  width: 100%;
  position: absolute;
  bottom: 6px;
  right: 20px;
}

.chat__submit [type="submit"],
.chat__submit [type="button"],
.chat__submit [type="file"] {
  border-left: 1px solid #D6D6D6;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  width: auto;
  height: 40px;
  padding: 0 1ex;
}

.btn-file {
  height: 40px;
}

.btn-file::before {
  content: "";
  width: 40px;
  height: 40px;
  margin-right: 10px;
  background: url("../images/icon-clip.png") center center / 100% no-repeat;
  display: inline-block;
  position: relative;
  top: 0;
  right: 0;
}

@media only screen and (max-width: 767px) {
  .chat-footer textarea {
    max-height: 40vh;
    padding: 15px 10px 40px;
  }

  .chat-footer textarea::placeholder {
    font-size: 13px;
    line-height: 2
  }

  .submit__area {
    right: 10px;
  }

  .btn-file {
    height: 30px;
  }

  .btn-file::before {
    width: 30px;
    height: 30px;
    margin-right: 0;
  }

  .chat__submit [type="submit"],
  .chat__submit [type="button"],
  .chat__submit [type="file"] {
    font-size: 10px;
    height: 30px;
    padding: 0 10px;
  }
}


.chat__file-select {
  position: relative;
}

.chat__file-preview {
  display: block;
  border-radius: 6px;
  border: 1px solid #D6D6D6;
  background: #d1d1d1;
  width: 72px;
  height: 72px;
  position: absolute;
  left: 0;
  bottom: 7px;
  z-index: 1;
  transform: translate(-100%, 0);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  overflow: hidden;
}

.chat__file-preview.is--active {
  opacity: 1;
  pointer-events: auto;
}

.chat__file-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  vertical-align: baseline;
}

.chat__file-preview [src*="/common/images/"] {
  opacity: 0.3;
}


.chat-memo {}

*+.chat-memo {
  margin-top: 24px;
}

.chat-memo__ttl {
  display: block;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05ex;
  margin: 0 0 8px;
}

.chat-memo__input {}

@media screen and (max-width: 767.98px) {
  .chat-memo__input {
    padding: 15px 10px 40px;
  }

  .chat-memo__input::placeholder {
    font-size: 13px;
    line-height: 2
  }
}


.pagination {
  display: block;
  width: fit-content;
  margin-inline: auto 0;
}

.page-mypage .pagination {
  margin-top: 20px;
}

.result__list+.pagination {
  margin-top: 40px;
  padding: 0;
  position: relative;
}

.pagination__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
  margin: 0;
  gap: 6px;
}

.page-mypage .pagination__list {
  justify-content: center
}

.pagination__num-buttons {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
  margin: 0;
  gap: 6px;
}

.pagination__num-buttons li span,
.pagination__num-buttons li a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff;
  color: #BABABA;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  width: 32px;
  height: 32px;
  margin: 0;
}

.pagination__num-buttons li .current,
.pagination__num-buttons li a:focus,
.pagination__num-buttons li a:hover {
  background: #F6E7F1;
  color: var(--site-c-main);
}

@media screen and (max-width: 767.98px) {
  .result__list+.pagination {
    margin-top: 10px
  }

  .pagination__list {
    justify-content: center;
  }
}

.pagination-arrow {
  width: 18px;
  height: 32px;
}

.pagination-arrow span,
.pagination-arrow a {
  width: 18px;
  height: 32px;
  content: '';
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 9px;
}

.pagination-arrow.left2 a {
  background-image: url(/common/images/pagination-arrow-left2.png);
}

.pagination-arrow.left1 a {
  background-image: url(/common/images/pagination-arrow-left1.png);
}

.pagination-arrow.right2 a {
  background-image: url(/common/images/pagination-arrow-right2.png);
}

.pagination-arrow.right1 a {
  background-image: url(/common/images/pagination-arrow-right1.png);
}

.pagination-arrow.left2 span {
  background-image: url(/common/images/pagination-arrow-left2.png);
  opacity: 0.33;
}

.pagination-arrow.left1 span {
  background-image: url(/common/images/pagination-arrow-left1.png);
  opacity: 0.33;
}

.pagination-arrow.right2 span {
  background-image: url(/common/images/pagination-arrow-right2.png);
  opacity: 0.33;
}

.pagination-arrow.right1 span {
  background-image: url(/common/images/pagination-arrow-right1.png);
  opacity: 0.33;
}

/*-------------------------------------------------*/
/*** ページング **/
.paging {
  text-align: center;
  overflow: hidden;
  margin: 0 0 20px;
}

.paging li {
  display: inline-block;
  color: #000;
  font-weight: 700;
  font-size: 16px;
  line-height: 30px;
  margin: 0 4px;
}

.paging li a {
  width: 4rem;
  height: 4rem;
  border: 1px solid #e9e9e9;
  background-color: #fff;
  color: #919191;
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paging li a:hover {
  text-decoration: none;
  color: #fff;
  background: #e95504;
  border: 1px solid #e95504;
}

.paging li .current {
  width: 4rem;
  height: 4rem;
  border: 1px solid #e9e9e9;
  background-color: #fff;
  color: #e95504;
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.paging li .ten,
.paging li .nolink {
  padding: 0 .8rem;
  line-height: 28px;
  font-weight: 700;
  font-size: 16px;
  color: #000;
  border: 1px solid #e9e9e9;
  border-radius: 0px;
  display: block;
}

.paging li.prev a,
.paging li.prev {
  padding: 0;
  width: 28px;
  line-height: 28px;
  text-align: left;
  text-indent: -9999px;
  background: #fff url("../images/prev01.png") no-repeat center center;
}

.paging li.next a,
.paging li.next {
  padding: 0;
  width: 28px;
  line-height: 28px;
  text-align: left;
  text-indent: -9999px;
  background: #fff url("../images/next01.png") no-repeat center center;
}

/**
 * outline-head
**/
.outline-head {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
  border: none;
  color: var(--font-c);
  width: 100%;
  margin: 0 0 72px;
  padding: 0;
  gap: 0 30px;
  position: relative;
}

@media screen and (max-width: 767.98px) {
  .outline-head {
    margin: 0 0 72px;
    gap: 0;
  }
}

.outline-head__ttl {
  color: var(--font-c);
  font-weight: 600;
  font-size: 20px;
  font-feature-settings: 'palt';
  letter-spacing: 0.05ex;
  line-height: 1.5;
  text-align: left;
  width: 100%;
  margin: 0 0 16px;
}

@media screen and (max-width: 959.98px) {
  .outline-head__ttl {
    font-size: 16px;
  }
}

.outline-head__img {
  width: 100%;
  margin: 0 0 16px;
}

.outline-head__img img,
.outline-head__img iframe,
.outline-head__img video {
  border-radius: 10px;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.outline-head__img img,
.outline-head__img video {
  object-fit: contain;
}

@media screen and (max-width: 959.98px) {
  .outline-head__img {
    width: 100%;
  }
}

.outline-head__desc {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  gap: 0 6px;
}

@media screen and (max-width: 959.98px) {
  .outline-head__desc {
    width: 100%;
    gap: 6px;
  }
}

.outline-head__recruit-type {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  min-width: 80px;
  height: 26px;
  padding: 0 6px;
}

/*result__recruit-typeと合わせる*/
.outline-head__recruit-type[data-type="短期インターン"] {
  background: var(--site-c-main-hue);
  color: var(--font-c);
}

.outline-head__recruit-type[data-type="長期インターン"] {
  background: var(--green-c-main);
  color: #fff;
}

.outline-head__recruit-type[data-type="新卒求人"] {
  background: var(--site-c-main);
  color: #fff;
}

.outline-head__recruit-type[data-type="1day"] {
  background: var(--red-c-main);
  color: #fff;
}

.outline-head__job-type {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: var(--site-c-gray);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  min-width: 80px;
  height: 26px;
  padding: 0 12px;
}

.outline-head__name {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 8px;
}

*+.outline-head__name {
  margin-top: 12px;
}

.outline-head__name>img {
  width: auto;
  height: 26px;
}

.outline-head__name>span {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

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

.outline-head__job-cate {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  gap: 8px;
}

*+.outline-head__job-cate {
  margin-top: 6px;
}

.outline-head__job-cate::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-bill-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  *+.outline-head__job-cate {
    margin-top: 0;
  }
}

.outline-head__area {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
  gap: 8px;
}

*+.outline-head__area {
  margin-top: 6px;
}

.outline-head__area::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-map-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  *+.outline-head__area {
    margin-top: 0;
  }
}

.outline-head__wages {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
}

.outline-head__wages::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-yen-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  .outline-head__wages {
    width: 100%;
  }

  *+.outline-head__wages {
    margin-top: 6px;
  }
}

.outline-head__time {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  gap: 8px;
}

.outline-head__time::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-clock-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

@media screen and (max-width: 959.98px) {
  .outline-head__time {
    width: 100%;
  }

  *+.outline-head__time {
    margin-top: 6px;
  }
}

.outline-head__tag {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  width: 100%;
  gap: 4px;
}

*+.outline-head__tag {
  margin-top: 12px;
}

.outline-head__tag>li {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  border: solid 1px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  height: 24px;
  padding: 0 6px;
}

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

.outline-head__benefits {}

*+.outline-head__benefits {
  margin-top: 16px;
}

.outline-head__benefits>dt {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 600;
  width: 100%;
  gap: 8px;
}

.outline-head__benefits>dt::before {
  content: '';
  display: block;
  background-image: url("/common/images/icon-search-star-blue.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 16px;
  height: 16px;
}

.outline-head__benefits>dd {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  margin: 8px 0 0;
}

.outline-head__memo {
  width: 100%;
}

*+.outline-head__memo {
  margin-top: 16px;
}

.outline-head__memo>dt {
  border-radius: 10px 10px 0 10px;
  background: var(--site-c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  width: 148px;
  height: 30px;
  margin: 0;
  padding: 6px 8px;
  position: relative;
  z-index: 5;
}

.outline-head__memo>dd {
  border-radius: 10px;
  background: var(--site-c-white);
  color: var(--font-c);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  margin: -12px 0 0 10px;
  padding: 24px 30px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 959.98px) {
  *+.outline-head__memo {
    margin-top: 24px;
  }

  .outline-head__memo>dt {
    font-size: 12px;
  }

  .outline-head__memo>dd {
    margin: -12px 0 0 8px;
    padding: 24px;
  }
}

/**
 * outline side
**/
.outline-side-item {
  display: block;
  border-radius: 10px;
  background: var(--site-c-white);
  color: #ABAAAC;
  margin: 0;
  padding: 20px 20px 30px;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 960px) {
  .search-center-wrap .outline-side-item {
    display: none;
  }
}

@media screen and (max-width: 959.98px) {
  .search-side-wrap .outline-side-item {
    /*display: none;*/
  }
}

.outline-side-item__name {
  color: var(--font-c);
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 8px;
}

.outline-side-item__link {
  font-size: 12px;
  font-weight: 500;
}

.outline-side-item__link a {}

.outline-side-item__sns {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}

*+.outline-side-item__sns {
  margin-top: 20px;
}

.outline-side-item__sns>a {}

.outline-side-item__sns>a>img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.outline-side-item__index {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 12px;
  font-weight: 500;
  gap: 15px;
}

*+.outline-side-item__index {
  margin-top: 40px;
}

@media screen and (max-width: 767.98px) {
  .outline-side-item__index {
    flex-flow: row wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start;
  }
}

.outline-side-item__index>a {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.75em;
}

.outline-side-item__index>a::before {
  content: '\f105';
  font-family: "Font Awesome 6 Free";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  font-weight: 700;
  line-height: 1;
  text-rendering: auto;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--site-c-main);
  color: #fff;
  font-size: 10px;
  width: 14px;
  height: 14px;
  transform: translate(0, 12.5%);
}

@media screen and (max-width: 767.98px) {
  .outline-side-item__index>a {
    border-bottom: solid 1px #E5EFF5;
    padding-bottom: 1em;
  }

  .outline-side-item__index>a::before {
    content: '\f107';
  }
}

.outline-side-item__cta {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 10px;
}

*+.outline-side-item__cta {
  margin-top: 40px;
}

.outline-side-item__cta>.btn {
  margin: 0;
}

.outline-side-item__cta>.btn.btn--fill {}

.outline-side-item__cta>.btn.btn--fill>* {
  font-size: 14px;
  font-weight: 600;
  height: 60px;
}

.outline-side-item__cta>.btn.btn--like {}

.outline-side-item__cta>.btn.btn--like>* {
  font-size: 14px;
  font-weight: 600;
  height: 40px;
}

@media screen and (max-width: 767.98px) {
  .outline-side-item__cta>.btn {
    max-width: none;
    margin: 0;
  }
}

/**
 * outline
**/
.outline {
  margin: 0;
}

*+.outline {
  margin-top: 72px;
}

.outline__ttl {
  color: var(--site-c-main);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05ex;
}

/**.outline__ttl::after {
  content: '';
  display: block;
  border-left: solid 2em var(--site-c-main);
  background: #E1F3F8;
  height: 1px;
  margin: 1em 0 0;
}**/
.outline__gallery {
  margin: 2rem auto;
}

.outline__gallery ul {
  width: fit-content;
  /*column-count: 5;*/
  /*column-gap: 5px*/
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 2rem;
  justify-content: space-around;
}

.outline__gallery li {
  /**width: 16.11111112%;
	margin-right: .6666667%;**/
}

.outline__gallery li:nth-child(6n) {
  margin-right: 0
}

.outline__gallery img {
  width: 320px;
  height: auto;
  max-height: 480px;
  margin-bottom: 5px;
  object-fit: cover;
}

@media screen and (max-width: 959.98px) {
  .outline__gallery {
    columns: auto 200px;
    column-gap: 5px
  }
}

@media screen and (max-width: 767.98px) {
  .outline__gallery {
    columns: auto 200px;
    column-gap: 5px
  }

  .outline__gallery ul {
    column-count: auto;
  }

  .outline__gallery img {
    width: 100%;
  }
}

/**
 * outline range
**/
.outline__range {
  --range-ttl-width: 110px;
  --range-label-width: 120px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

*+.outline__range {
  margin-top: 30px;
}

@media screen and (max-width: 959.98px) {
  .outline__range {
    flex-flow: column nowrap;
    align-items: flex-start;
  }
}

@media screen and (max-width: 767.98px) {
  .outline__range {
    --range-ttl-width: 88px;
    --range-label-width: 64px;
    gap: 16px;
  }
}

.outline__range>dt {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: var(--site-c-main);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-feature-settings: 'palt';
  text-align: center;
  width: var(--range-ttl-width);
  height: 40px;
}

@media screen and (max-width: 767.98px) {
  .outline__range>dt {
    font-size: 12px;
    height: 28px;
  }
}

.outline__range>dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--site-c-gray);
  width: calc(100% - var(--range-ttl-width));
}

@media screen and (max-width: 959.98px) {
  .outline__range>dd {
    width: 100%;
  }
}

.outline__range>dd>label {
  display: block;
  font-size: 16px;
  font-weight: 600;
  font-feature-settings: 'palt';
  width: var(--range-label-width);
  padding: 0 20px;
}

.outline__range>dd>label:first-of-type {
  text-align: right;
}

.outline__range>dd>label:last-of-type {
  text-align: left;
}

@media screen and (max-width: 767.98px) {
  .outline__range>dd>label {
    font-size: 12px;
    padding: 0 1em;
  }

  .outline__range>dd>label:first-of-type {
    padding: 0 1em 0 0;
  }

  .outline__range>dd>label:last-of-type {
    padding: 0 0 0 1em;
  }
}

.outline__range ol {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: linear-gradient(0deg, #E1F3F8 0%, #E1F3F8 100%);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 4px;
  width: calc(100% - var(--range-label-width) * 2);
}

.outline__range ol>li {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.outline__range ol>.is--active {
  color: var(--site-c-main);
}

.outline__range ol>li>i {
  display: block;
  border-radius: 50%;
  border: solid 4px #E1F3F8;
  background: #E1F3F8;
  width: 24px;
  height: 24px;
}

.outline__range ol>.is--active>i {
  border: solid 4px #8AE1F1;
  background: var(--site-c-main);
}

.outline__range ol>li>span {
  display: block;
  font-size: 12px;
  font-weight: 500;
  font-feature-settings: 'palt';
  text-align: center;
  white-space: nowrap;
  padding: 4px 0 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, 100%);
}

@media screen and (max-width: 767.98px) {
  .outline__range ol>li>span {
    font-size: 10px;
  }
}


/* with formset */
.outline__range .formset__must {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background: #fff;
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 12px;
  margin-left: 10px;
  padding: 2px 7px;
  height: auto;
}

.formset__item .outline__range {
  width: 100%;
  padding: 1em;
}

.formset__item .outline__range>dt {
  width: 14em;
}

.formset__item .outline__range ol {
  /* NOTE: .outline__range olの子要素がliタグではない所があるので注意 */
  background-image: none;
}

.formset__item .slider-group {
  /* NOTE: .outline__range olの子要素に指定されています（タグはliではなくdivになっているので注意が必要です） */
  width: 100%;
}

.formset__item .slider-container input[type="range"] {
  height: 4px;
}

@media screen and (max-width: 767.98px) {
  .outline__range .formset__must {
    border-radius: 3px;
    font-size: 11px;
    padding: 1px 5px;
  }
}



/**
 * outline box
**/
.recruit-info {}

*+.recruit-info {
  margin-top: 72px;
}

.kyuujin_detail_btn>a {}

.kyuujin_detail_btn>a:hover {}

.kyuujin_detail_btn.oubo a {}

.recruit-photo {}

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

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

/**
 * outline table
**/
.outline .tableset {
  display: block;
  border-radius: 10px;
  border: none;
  background: #F5F8FA;
  font-size: 14px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .outline .tableset {
    margin: 0;
    padding: 20px 40px;
  }
}

.outline .tableset thead,
.outline .tableset tbody,
.outline .tableset tfoot {
  display: block;
}

.outline .tableset__list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: stretch;
  text-align: left;
  width: auto;
  position: relative;
}

.outline .tableset__list::before {
  content: '';
  display: block;
  border-left: solid 1em var(--site-c-main);
  background: #E1F3F8;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.outline .tableset__list:last-child::before {
  display: none;
}

.outline .tableset__ttl {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: middle;
  width: 220px;
  padding: 20px 0;
}

.outline .tableset__txt {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  word-break: break-all;
  width: calc(100% - 220px);
  padding: 20px 0;
}

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

  .outline .tableset__txt {
    width: calc(100% - 200px);
  }
}

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

  .outline .tableset__ttl,
  .outline .tableset__txt {}
}






/**
 * エントリー
 * NOTE: 
**/
.entry-outline {}

.entry-outline__ttl {
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 15px;
  line-height: 19px;
  text-align: center;
  margin: 0 0 24px;
}

.entry-outline__subject {
  color: var(--font-c);
  font-weight: 700;
  font-size: 17px;
  line-height: 26px;
  text-align: left;
}

*+.entry-outline__subject {
  margin-top: 24px;
}

.entry-outline__data {
  display: grid;
  grid-template-columns: 2fr 3fr;
  width: fit-content;
  gap: 6px 0;
}

*+.entry-outline__data {
  margin-top: 16px;
}

.entry-outline__data>dt {
  color: var(--font-c);
  font-weight: 400;
  font-size: 13px;
  line-height: 22px;
  text-align: left;
  position: relative;
}

.entry-outline__data>dt::after {
  content: ':';
  position: absolute;
  inset: auto 0 auto auto;
  z-index: 1;
}

.entry-outline__data>dd {
  color: var(--font-c);
  font-weight: 400;
  font-size: 13px;
  line-height: 22px;
  text-align: left;
  padding: 0 0 0 1em;
}






/**
 * knowledge
 * NOTE: 現状ではslickにそのまま流用不可（そのままslickを実装すると、CSSにて .knowledge__itemの幅の調整などが難しくなる）
**/
.knowledge__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 28px;
}

.knowledge__list+.btn {
  margin-top: 80px;
}

.knowledge__item {
  max-width: 280px;
  width: 100%;
}

@media screen and (max-width: 959.98px) {
  .knowledge__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 28px;
  }
}

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

@media screen and (max-width: 560.98px) {
  .knowledge__list {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .knowledge__item {
    margin-inline: auto;
  }
}


.knowledge__img {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.knowledge__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 28 / 17;
  object-fit: cover;
}

.knowledge__desc {
  border-radius: 0 0 10px 10px;
  background: #fff;
  padding: 12px 16px 16px;
}

.knowledge__ttl {

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;

  font-size: 15px;
  font-weight: 700;
  line-height: 24px;
  font-feature-settings: 'palt';
}

@media screen and (max-width: 959.98px) {
  .knowledge__ttl {
    font-size: 14px;
    line-height: 22px;
  }
}

@media screen and (max-width: 767.98px) {
  .knowledge__ttl {
    font-size: 12px;
    line-height: 20px;
  }
}

.knowledge__txt {
  display: none;
  font-size: 16px;
  font-feature-settings: 'palt';
  line-height: 24px;
  margin-top: 8px;
}

.knowledge__tag {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 11px;
  line-height: 12px;
  text-align: center;
  gap: 6px;
}

*+.knowledge__tag {
  margin-top: 12px;
}

.knowledge__tag>li {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2em;
  background: var(--site-bg-c-gray-ui);
  color: var(--site-c-main);
  height: 24px;
  padding: 0 8px;
}

.knowledge__date {
  color: rgba(44, 42, 39, 0.7);
  font-family: var(--font-family-en);
  font-size: 11px;
  line-height: 2;
  text-align: left;
}

*+.knowledge__date {
  margin-top: 8px;
}

.knowledge__txt--more {
  color: var(--site-c-main);
}

/**
 * m1 blog, m2 blog
**/
[id="column__main"] {
  width: 100%;
  max-width: 700px;
  margin: 0 auto
}

.column__ttl {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700
}

.column__inner {
  padding: 30px;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
  line-height: 2;
}

.column__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #535d64;
}

.column__img {
  margin: 20px 0;
}

@media screen and (max-width: 767.98px) {
  .column__inner {
    padding: 10px;
  }

  .column__ttl {
    font-size: 18px
  }

  [id="column__main"] .btn {
    font-size: 12px
  }
}



/**
 * order-progress
**/
.order-progress-lead {
  color: var(--site-c-main);
  font-weight: 700;
  font-size: inherit;
  line-height: 2;
  text-align: center;
  margin: 0 0 1em;
}

.order-progress {
  --progress-icon-size: 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 144px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.order-progress+* {
  margin-top: 40px;
}

.order-progress::before {
  content: '';
  display: block;
  background: var(--site-c-gray-ui);
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 1;
  transform: translate(0, -50%);
}

.order-progress__item {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--site-c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  width: var(--progress-icon-size);
  height: var(--progress-icon-size);
  position: relative;
  z-index: 5;
}

.is--active~.order-progress__item {
  background: var(--site-c-gray-ui);
  color: #fff;
}

.order-progress__item.is--active {
  position: relative;
  z-index: 4;
  /* NOTE: 非アクティブな.order-progress__itemよりも下へ */
}

.order-progress__item.is--active::before {
  content: '';
  display: block;
  background: var(--site-c-main);
  width: 100vw;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 1;
  transform: translate(-100%, -50%);
}



/**
 * register page
**/
.register {}

.register.register-sodan {}

.register-sodan__2col {
  display: grid;
  grid-template-columns: 3fr 4fr;
  /* 7等分の1frで2col */
  gap: 80px;
}

@media screen and (max-width: 767.98px) {
  .register-sodan__2col {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.register-sodan__2col-start {
  order: 0;
}

.register-sodan__2col-end {
  order: 1;
}

@media screen and (max-width: 767.98px) {
  .register-sodan__2col-start {
    order: 1;
  }

  .register-sodan__2col-end {
    order: 0;
  }
}

.register-sodan__ttl {
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 18px;
  line-height: 32px;
}

*+.register-sodan__ttl {
  margin-top: 48px;
}

@media screen and (max-width: 767.98px) {
  *+.register-sodan__ttl {
    margin-top: 24px;
  }
}


.register-sodan__txt {
  line-height: 1.75;
}

*+.register-sodan__txt {
  margin-top: 48px;
}

.register-sodan__ttl+.register-sodan__txt,
.register-sodan__lead+.register-sodan__txt {
  margin-top: 8px;
}

@media screen and (max-width: 767.98px) {
  *+.register-sodan__txt {
    margin-top: 24px;
  }
}


.register-sodan__notes {
  font-size: 11px;
  line-height: 2;
  line-height: 1.75;
}

*+.register-sodan__notes {
  margin-top: 32px;
}

.register-sodan__ttl+.register-sodan__notes,
.register-sodan__lead+.register-sodan__notes {
  margin-top: 8px;
}

@media screen and (max-width: 767.98px) {
  *+.register-sodan__notes {
    margin-top: 20px;
  }
}

.register-sodan__lead {
  color: var(--site-c-main);
  font-weight: 700;
  font-size: 18px;
  line-height: 32px;
}

*+.register-sodan__lead {
  margin-top: 48px;
}

@media screen and (max-width: 767.98px) {
  *+.register-sodan__lead {
    margin-top: 24px;
  }
}

.register-sodan__images {
  display: flex;
  justify-content: flex-start;
  gap: 16px;
}

*+.register-sodan__images {
  margin-top: 48px;
}

.register-sodan__ttl+.register-sodan__images,
.register-sodan__lead+.register-sodan__images {
  margin-top: 24px;
}

@media screen and (max-width: 767.98px) {
  *+.register-sodan__images {
    margin-top: 24px;
  }

  .register-sodan__ttl+.register-sodan__images,
  .register-sodan__lead+.register-sodan__images {
    margin-top: 24px;
  }
}


.register-sodan__images>li {
  width: 104px;
}

.register-sodan__images>li img {
  border-radius: 10px;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media screen and (max-width: 767.98px) {
  .register-sodan__images {
    justify-content: center;
    gap: 8px;
  }

  .register-sodan__images>li {
    max-width: 104px;
    width: auto;
    flex: 1 1;
  }
}


.register-sodan-box {
  border-radius: 10px;
  background: #fff;
  max-width: 730px;
  margin: 0 auto;
  padding: 48px 16px;
}

*+.register-sodan-box {
  margin-top: 64px;
}

.register-sodan-box__tel {
  color: var(--site-c-main);
  font-family: var(--font-family-en);
  font-weight: 700;
  font-size: 26px;
  line-height: 28px;
  text-align: center;
}

.register-sodan-box__txt+.register-sodan-box__tel {
  margin-top: 0.75em;
}

.register-sodan-box__txt {
  line-height: 1.75;
  text-align: center;
}

*+.register-sodan-box__txt {
  margin-top: 1em;
}

.register-sodan-box__ttl {
  max-width: 512px;
  border-radius: 4px;
  background: var(--site-c-main);
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  text-align: center;
  margin: 0 auto;
  padding: 4px;
}

*+.register-sodan-box__ttl {
  margin-top: 2em;
}

.register-sodan-box__images {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 8px;
  margin: 0 0 32px;
}

*+.register-sodan-box__images {
  margin-top: 32px;
}

.register-sodan-box__images>li {
  max-width: 96px;
  flex: 1 1;
}

.register-sodan-box__images>li>img {
  width: 100%;
  height: auto;
}

.register-sodan-box__notes {
  font-size: 11px;
  line-height: 2;
  text-align: center;
}

.register-sodan__share-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

*+.register-sodan__share-buttons {
  margin-top: 32px;
}

.register-sodan__share-buttons>.btn {
  margin: 0;
}

@media screen and (max-width: 767.98px) {
  .register-sodan__share-buttons {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 8px;
  }

  .register-sodan__share-buttons>.btn {
    max-width: none;
  }
}


/**
 * solve
**/
.solve {}

.solve__items {}

.solve__item {
  width: 100%;
  margin-bottom: 40px;
}

.solve__item:last-child {
  margin-bottom: 0
}

.solve__item:has(img[src*="about2_item"]),
.solve__item:has(img[src*="solve__item"]) {
  text-align: center;
}

.solve__item [src*="about2_item"],
.solve__item [src*="solve__item"] {
  display: inline-block;
  max-width: 280px;
}

.solve__item:last-child {
  margin-bottom: 0
}

.solve__img {
  width: calc((100% - 80px)/2);
}

.solve__img img {
  width: 100%;
  height: 300px;
  border-radius: 5px;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.solve__arrow,
.solve_arrow {
  max-width: 88px;
  margin-left: auto;
  margin-right: auto;
}

.solve__arrow img,
.solve_arrow img {
  display: inline-block;
  max-width: 280px;
}

.solve__arrow+.solve__txt,
.solve__arrow+.solve_txt,
.solve_arrow+.solve__txt,
.solve_arrow+.solve_txt {
  font-weight: bold;
  text-align: center;
  margin-top: 24px;
}

.even .solve__desc {
  order: 1;
}

.solve__desc {
  width: calc((100% - 80px)/2);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.solve__num {
  color: var(--site-c-main);
}

.solve__ttl {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: 700;
}

.solve__txt {
  text-align: left;
}

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

  .solve__desc,
  .solve__img {
    width: calc((100% - 20px)/2);
  }
}

@media screen and (max-width: 767.98px) {
  .solve__item {
    margin-bottom: 35px;
  }

  .solve__desc,
  .solve__img {
    width: 100%;
  }

  .solve__desc {
    margin-top: 10px;
    order: 1;
  }

  .solve__ttl {
    font-size: 20px;
  }

  .solve__img img {
    height: 220px;
  }
}

/**
 * module flow
**/
.flow {
  background: var(--site-c-white);
}

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

.flow__list {
  counter-reset: flow-item-number;
}

.flow__item {
  box-shadow: none;
  border-radius: 40px;
  background: #fff;
  border: 1px solid #fff;
  width: calc((100% / 4) - 20px);
  padding: 40px 20px;
  position: relative;
}

.flow__item::before {
  counter-increment: flow-item-number;
  content: '0' counter(flow-item-number);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
  border-radius: 50%;
  background: var(--site-c-main-hue);
  color: var(--font-c);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  width: 60px;
  height: 60px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 5;
  transform: translate(33.33%, -33.33%);
}

.flow__img {
  position: relative;
  z-index: 1;
  width: 100%;
}

.flow__img::before {
  content: '';
  display: block;
  padding: 100% 0 0;
  position: relative;
  z-index: 1;
}

.flow__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  font-family: 'object-fit: contain;object-position: center center;';
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767.98px) {
  .flow__img {
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
  }
}

.flow__desc {}

.flow__ttl {
  display: block;
  border: none;
  color: var(--site-c-main);
  font-size: 20px;
  font-weight: 700;
  text-align: left;
  width: 100%;
}

.flow__num {
  font-size: 28px;
  padding-right: 4px;
}

.flow__txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 28px;
  text-align: left;
  margin-top: 14px;
}

@media screen and (max-width: 959.98px) {
  .flow__item {
    width: calc((100% / 4) - 10px);
    padding: 24px;
  }
}

@media screen and (max-width: 767.98px) {
  .swipe .flow__list {
    width: 400%;
    padding: 32px 0 0;
  }
}

/**
 * top guidance
**/
.c-guidance {}

.c-guidance__inner {
  width: 822px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px
}

.c-guidance__bnr {
  width: 401px;
  height: 134px;
}

@media screen and (max-width: 767.98px) {
  .c-guidance__inner {
    gap: 10px
  }

  .c-guidance__bnr {
    width: 100%
  }
}

/**
 * ご利用ガイド
**/
.guide__list {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.guide__item {
  width: 100%;
  margin-top: 50px;
  display: flex;
  align-items: flex-start;
}

.guide__item:first-child {
  margin-top: 0
}

.guide__item+.c-head {
  margin-top: 3em;
}

.guide__img {
  padding-right: 40px;
}

.guide__img img {
  width: 160px;
  height: 160px;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  border-radius: 50%;
}

.guide__desc {
  border-left: 1px solid #e7e6e6;
  line-height: 1.8;
  width: 100%;
  padding: 0 0 20px 40px;
}

.guide__desc :not(.btn) a {
  text-decoration: underline;
}

.guide__ttl {
  margin: 20px 0 10px;
  font-size: 24px;
  font-weight: 700;
}

.guide__num {
  color: var(--site-c-main);
  font-size: inherit;
  font-weight: inherit;
  margin-right: 1ex;
}

@media screen and (max-width: 767.98px) {
  .guide__item {
    margin: 40px 0;
    flex-wrap: wrap
  }

  .guide__img {
    width: 100%;
    padding: 0;
  }

  .guide__img img {
    margin: 0 auto;
  }

  .guide__desc {
    width: 100%;
    padding: 0;
    border: none;
  }

  .guide__ttl {
    font-size: 18px
  }
}

.guide__memo {
  border-radius: 24px;
  border: 1px solid #e7e6e6;
  padding: 24px;
}

*+.guide__memo {
  margin-top: 2em;
}

.guide__memo>li {
  line-height: 1.5;
}

.guide__memo>li+li {
  margin-top: 0.5em;
}

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

  .guide__memo>li {}

  .guide__memo>.guide__memo--ttl {
    font-weight: bold;
  }
}

.guide .btn {
  max-width: 440px;
}

.guide .btn-over-txt {
  font-size: 18px;
}

.guide .btn>a:focus,
.guide .btn>a:hover {
  border-color: #ffc400;
  background: linear-gradient(to bottom, #ffc400, #fe7c49);
  color: #fff;
  font-feature-settings: 'palt';
}

/**
 * sitemap
**/
.sitemap {}

.sitemap-list {
  max-width: 600px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.sitemap-list__link {}

.sitemap-list__link a,
.sitemap-list2-links__link a {
  padding-left: 15px;
  position: relative
}

.sitemap-list__link a::before,
.sitemap-list2-links__link a::before {
  content: '';
  margin-top: -4px;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  border-top: 1px solid var(--site-c-main);
  border-right: 1px solid var(--site-c-main);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sitemap-list__link--home a {
  padding-left: 0;
}

.sitemap-list__link--home a::before {
  display: none
}

.sitemap-list2 {
  margin: 50px 0
}

.sitemap-list2__ttl {
  font-weight: 700;
}

.sitemap-list2-links {
  width: 100%;
  margin-top: 25px;
  padding: 50px;
  background: #fff;
  border-radius: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
}

.sitemap-list2-links__link {}

.sitemap-list2-links__link a {}

@media screen and (max-width: 767.98px) {
  .sitemap-list2-links {
    padding: 20px;
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .sitemap-list {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

/**
 * faq
**/
.faq {}

.page-mypage .faq .l-container {
  padding: 0
}

.faq__btn {
  margin-bottom: 50px;
}

.faq__btn>a {
  height: 50px;
}

.faq__btn>a:hover {
  background-color: var(--site-c-main);
  color: #fff;
}

.faq__area {
  margin-bottom: 80px
}

.faq__anchor {
  margin-bottom: 50px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.faq__link {
  margin-right: 30px;
}

.faq__link a {
  width: 100%;
  height: 45px;
  padding: 0 5px;
  color: #a5a5a5;
  font-size: 18px;
  border-bottom: 2px solid;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faq__link a:hover,
.faq__link a.is-current {
  color: var(--site-c-main);
}

@media screen and (max-width: 767.98px) {
  .faq__area {
    margin-bottom: 30px;
  }

  .faq__anchor {
    margin-bottom: 20px
  }

  .faq__link {
    width: 32.333333%;
    margin-right: 1.5%;
  }

  .faq__link:nth-child(3n) {
    margin-right: 0
  }

  .faq__link a {
    font-size: 12px;
  }
}

.listAccordion {
  margin: 0 auto
}

.listAccordion label {
  margin-top: 20px;
  padding: 24px 5px 24px 65px;
  font-weight: 700;
  background: #fff;
  border-radius: 10px;
  display: block;
  cursor: pointer;
  position: relative
}

.listAccordion label:first-child {
  margin-top: 0
}

.listAccordion label:hover {
  background: #fafafa
}

.listAccordion [type="checkbox"].on-off {
  display: none
}

.listAccordion .listTips {
  margin: 0;
  padding: 0;
  color: #535d64;
  background: #fff;
  position: relative
}

.listAccordion [type="checkbox"].on-off+.listTips {
  height: 0;
  overflow: hidden
}

.listAccordion [type="checkbox"].on-off:checked+.listTips {
  height: auto;
  margin-top: 10px;
  padding: 24px 15px 24px 65px;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
}

.listAccordion .listTips a {
  text-decoration: underline;
}

/*開閉アイコン */
.listAccordion label:before {
  content: "";
  width: 20px;
  height: 2px;
  background: #999;
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -1px;
  transition: 0.3s;
}

.listAccordion label:after {
  content: "";
  width: 20px;
  height: 2px;
  background: #999;
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -1px;
  transition: 0.3s;
  transform-origin: center center;
  transform: rotate(90deg);
}

.listAccordion .label_open:after {
  transform: rotate(0deg);
}

.listAccordion .label_open:before {
  opacity: 0;
}

@media screen and (max-width: 767.98px) {
  .listAccordion label {
    margin-top: 10px
  }

  .listAccordion label:before {
    right: 15px;
  }

  .listAccordion label:after {
    right: 15px;
  }
}

.listAccordion label .iconq,
.listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
  position: absolute;
  left: 20px;
  top: 15px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center
}

.listAccordion label .iconq {
  color: var(--site-c-main)
}

.listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
  left: 50px;
  display: none
}

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

  .listAccordion label .iconq,
  .listAccordion [type="checkbox"].on-off:checked+.listTips .icona {
    left: 5px
  }

  .listAccordion label,
  .listAccordion [type="checkbox"].on-off:checked+.listTips {
    padding-left: 50px;
    padding-right: 50px;
  }
}



/* 利用規約、個人情報取り扱い共通 */
.page-terms .breadcrumb {}

@media screen and (max-width: 767.98px) {
  .page-terms .breadcrumb {
    display: none;
  }
}

.page-terms .subpage-head .c-head {}

@media screen and (max-width: 767.98px) {
  .page-terms .subpage-head .l-container {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
  }

  .page-terms .subpage-head .c-head {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-content: center;
    align-items: center;
  }
}



/* 利用規約 */
.terms {
  margin-top: -40px;
}

.terms__article {
  border-radius: 5px;
  background: #fff;
  width: 100%;
  padding: 20px;
}

@media screen and (min-width: 768px) {
  .terms__article {
    padding: 60px;
    border-radius: 10px;
  }
}

.terms__ttl {
  color: var(--site-c-main);
  font-size: 17px;
  font-weight: 700
}

.terms__item {
  margin-bottom: 40px
}

.terms__txt {
  margin-top: 10px
}

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

  .terms__ttl {
    font-size: 18px
  }
}

@media screen and (min-width: 768px) {
  .policy__article {
    background: #fff;
    padding: 60px;
    border-radius: 10px
  }
}

.policy {
  margin-top: -40px;
}

.policy__article {
  width: 100%
}

.policy__ttl {
  color: var(--site-c-main);
  font-size: 17px;
  font-weight: 700
}
.policy__txt + .policy__ttl {
  margin-top: 1em;
}

#policyc-head .c-head__txt {
  text-align: left;
}

.policy__item {
  margin-bottom: 40px
}

.policy__txt {
  margin-top: 10px
}

ol.num_list {
  list-style-type: decimal;
  padding-left: 2rem;
}

ol.num_list li {
  margin-top: 5px;
}

ol.num_list_brakets {
  list-style-type: none;
  padding-left: 2.5rem;
}

ol.num_list_brakets li {
  position: relative;
}

ol.num_list_brakets li::before {
  position: absolute;
  right: calc(100% + 0.5rem);
  /* 0.5remは連番とテキストとの余白 */
  content: "(" counter(list-item) ")";
}

.num__txt {
  padding-left: 2rem;
}
.num__txt span {
  margin-left: -2rem;
}

ul.dot_list {
  list-style-type: disc;
  padding-left: 2rem;
}
ul.dot_list li {
  margin-top: 5px;
}

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

  .policy__ttl {
    font-size: 18px
  }
}


/**
 * clearfix
**/
.cf::after,
.clearfix::after {
  content: '';
  display: table;
  clear: both;
}


/**
 * banner
 * NOTE: 使用箇所不明
**/

.banner_item {
  height: 150px !important;
  margin: 10px;
}

.banner_item img {
  height: 100%;
}



/**
 * edit section
 */
.edit {
  border-bottom: none;
}

.edit .formset .clear_btn {
  border-radius: 2em;
  border: none;
  background: var(--site-c-white);
  font-weight: 500;
  letter-spacing: 0.05ex;
  text-align: center;
  width: 145px;
  padding: 11px 2em;
  margin-bottom: 20px;
  float: right;
}

.tableset .daisyokusyu {
  display: block;
  font-weight: bold;
  margin: 5px 0;
}

h2.formset-head__ttl {
  margin: 3rem 0;
}

.c-form-over-link {
  display: block;
  margin-bottom: 20px;
  text-align: right
}

.c-form-over-link a {
  color: var(--site-c-main)
}

/* 動画ギャラリー */
.youtube-gallery {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-start;
  column-gap: 2rem;
  row-gap: 2rem;
}

.youtube-gallery>div {
  aspect-ratio: 16/9;
}

.youtube-gallery .youtube01 {
  width: auto;
  min-width: 320px;
}

.youtube-gallery .youtube02,
.youtube-gallery .youtube03,
.youtube-gallery .youtube04 {
  width: 320px;
}

.outline__gallery .images {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
  padding: 0 2rem;
}

.outline.prof-info {
  margin-top: 0;
}




.bnrArea {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  padding: 70px 0;
}

.bnrArea img {
  width: 600px;
  max-width: 100%;
  margin: 0 auto
}

.bnrArea--mini {
  padding: 50px 0;
}

.bnrArea--mini a {
  width: 400px;
  max-width: 100%;
  margin: 0 auto;
  display: block
}

@media screen and (max-width: 767.98px) {
  .bnrArea--mini {
    padding: 20px;
  }
}

.bnrArea--beginner02,
.bnrArea--business02 {
  padding: 50px 0;
}

.bnrArea--beginner02 a,
.bnrArea--business02 a {
  display: block;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
}

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

  .bnrArea--beginner02,
  .bnrArea--business02 {
    padding: 0;
  }
}


/**
 * contact
**/
.contact {
  padding-top: 0
}


/*-------------------------------------------------------------*/
/**mypage**/
/*-------------------------------------------------------------*/
.mypage__inner {}

.mypage-cts {
  width: 100%;
  padding: 50px 0 50px var(--mypage-side-width);
  transition: 0.6s;
  order: 2
}

.mypage-cts:only-child {
  padding: 50px 0;
}

@media screen and (max-width: 1200.98px) {
  .mypage-cts {
    padding: 40px 0 40px var(--mypage-side-width);
  }

  .mypage-cts:only-child {
    padding: 40px 0;
  }

  .mypage-cts .l-container {
    padding: 0 40px;
  }

  .mypage-cts:only-child .l-container {
    padding: 0 var(--site-container-padding);
  }
}

@media screen and (max-width: 959.98px) {
  .mypage-cts {
    padding: var(--site-container-padding) 0;
  }

  .mypage-cts .l-container {
    padding: 0 var(--site-container-padding);
  }
}


/********************** mypage side **********************/
.mypage-side {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: flex-start;
  background: var(--site-c-main);
  color: #fff;
  width: var(--mypage-side-width);
  height: calc(100svh - var(--mypage-header-height));
  padding: 35px 0;
  position: fixed;
  top: var(--mypage-header-height);
  left: 0;
  transition: 0.6s;
  order: 1
}

@media screen and (max-width: 1200.98px) {
  .mypage-side {
    width: var(--mypage-side-width);
  }
}

@media screen and (max-width: 959.98px) {
  .mypage-side {
    display: none;
  }
}

.mypage-side-mainNav li a {
  height: 55px;
  padding: 0 30px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.mypage-side-mainNav li a::before {
  display: inline-block;
  content: '';
  background-size: contain;
  background-repeat: no-repeat;
}

.mypage-side-mainNav li.top a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-top.png);
}

.mypage-side-mainNav li.kigyo a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-kigyo.png);
}

.mypage-side-mainNav li.kyujin a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-kyujin.png);
}

.mypage-side-mainNav li.tenpo a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-tenpo.png);
}

.mypage-side-mainNav li.obosya a::before {
  width: 15px;
  height: 15px;
  background-image: url(/common/images/mypage-side-icon-obosya.png);
}

.mypage-side-mainNav li.obo a::before {
  width: 13.52px;
  height: 16.61px;
  background-image: url(/common/images/mypage-side-icon-obo.png);
}

.mypage-side-mainNav li a.is--active,
.mypage-side-mainNav li a:hover,
.mypage-side-mainNav li.is--active a {
  background: var(--site-bg-c);
  color: var(--site-c-main);
  opacity: 1
}

.mypage-side-mainNav li.top a.is--active::before,
.mypage-side-mainNav li.top a:hover::before,
.mypage-side-mainNav li.is--active.top a::before {
  background-image: url(/common/images/mypage-side-icon-top--active.png);
}

.mypage-side-mainNav li.kigyo a.is--active::before,
.mypage-side-mainNav li.kigyo a:hover::before,
.mypage-side-mainNav li.is--active.kigyo a::before {
  background-image: url(/common/images/mypage-side-icon-kigyo--active.png);
}

.mypage-side-mainNav li.kyujin a.is--active::before,
.mypage-side-mainNav li.kyujin a:hover::before,
.mypage-side-mainNav li.is--active.kyujin a::before {
  background-image: url(/common/images/mypage-side-icon-kyujin--active.png);
}

.mypage-side-mainNav li.tenpo a.is--active::before,
.mypage-side-mainNav li.tenpo a:hover::before,
.mypage-side-mainNav li.is--active.tenpo a::before {
  background-image: url(/common/images/mypage-side-icon-tenpo--active.png);
}

.mypage-side-mainNav li.obosya a.is--active::before,
.mypage-side-mainNav li.obosya a:hover::before,
.mypage-side-mainNav li.is--active.obosya a::before {
  background-image: url(/common/images/mypage-side-icon-obosya--active.png);
}

.mypage-side-mainNav li.obo a.is--active::before,
.mypage-side-mainNav li.obo a:hover::before,
.mypage-side-mainNav li.is--active.obo a::before {
  background-image: url(/common/images/mypage-side-icon-obo--active.png);
}

.mypage-side-mainNav a,
.mypage-side-subNav a {
  width: 100%;
  color: #fff;
  display: block;
  font-weight: 700;
}

.mypage-side-subNav a {
  padding: 10px 30px;
}

.mypage-side-subNav a:hover {
  text-decoration: underline
}

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

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




/********************** mypage title **********************/
.mypage-head {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  margin-bottom: 20px;
}

*+.mypage-head {
  margin-top: 40px;
}

.mypage-head+* {
  margin-top: 20px;
}

.mypage-head__ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  color: var(--site-c-main);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05ex;
  gap: 1em;
}

.mypage-head__ttl>span {
  display: block;
  color: var(--site-c-main);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05ex;
}

.mypage-head__ttl>small {
  display: block;
  color: var(--site-c-main);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05ex;
}

@media screen and (max-width: 767.98px) {
  .mypage-head__ttl {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: stretch;
    align-items: stretch;
    font-size: 18px;
    line-height: 1.75;
    gap: 0.5em;
  }
}

/* NOTE: .mypage-head__link-after-ttlの前には必ずttlのみが来る想定です。（＝2カラムまで対応） */
.mypage-head__link-after-ttl.btn,
.mypage-head__link-after-ttl {
  margin: 0 0 0 auto;
}

.mypage-head__link-after-ttl.btn>* {
  font-size: inherit;
}

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

  .mypage-head__link-after-ttl.btn,
  .mypage-head__link-after-ttl {
    width: 180px;
  }
}

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

  .mypage-head__link-after-ttl.btn,
  .mypage-head__link-after-ttl {
    font-size: 14px;
    width: 120px;
  }

  .mypage-head__link-after-ttl.btn>* {
    font-size: inherit;
    height: 40px;
  }
}

.mypage-head__txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.05ex;
  opacity: 0.65;
  margin-top: 16px;
}

*+.mypage-head__txt {
  margin-top: 2em;
}


/********************** mypage top **********************/
.mypage-top__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px
}

.mypage-top-item a {
  height: 100%;
  padding: 25px 30px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 50px
}

.mypage-top-item__icon {
  width: 35px
}

.mypage-top-item__disc {
  width: calc(100% - 85px)
}

.mypage-top-item__ttl {
  margin-bottom: 10px;
  color: var(--site-c-main);
  font-size: 16px;
  font-weight: 700;
}

.mypage-top-item__txt {
  color: var(--font-c)
}

@media screen and (max-width: 959.98px) {
  .mypage-top-item a {
    padding: 20px;
    border-radius: 5px;
    gap: 20px;
  }
}

@media screen and (max-width: 767.98px) {
  .mypage-top__list {
    grid-template-columns: 1fr;
    gap: 10px
  }
}

/********************** mypage sort **********************/
.mypage-sort {
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.mypage-sort__ttl {
  font-size: 14px
}

.mypage-sort select {
  min-width: 150px
}


/********************** mypage search filter **********************/

.mypage-search-filter {
  --input-height: 28px;
  font-size: 14px;
  margin: 0 0 24px;
}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter {
    font-size: 12px;
    margin: 0 0 12px;
  }
}


/* inner */
/* 各rowをまとめるラッパーで、またformタグである可能性もあります。 */
.mypage-search-filter__inner {}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__inner {}
}


.mypage-search-filter__main {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 20px;
  gap: 15px;
}

.mypage-search-filter__main.align--left {
  justify-content: flex-start;
}

.mypage-search-filter__main.align--right {
  justify-content: flex-end;
}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__main {
    flex-flow: column nowrap;
    margin-bottom: 15px;
    gap: 10px 5px;
  }

  .mypage-search-filter__main.align--left {
    justify-content: flex-start;
  }

  .mypage-search-filter__main.align--right {
    justify-content: flex-start;
  }
}

.mypage-search-filter__ttl {}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__ttl {
    font-weight: 700;
  }
}


.mypage-search-filter__btn {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  border: 1px solid var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05ex;
  text-align: center;
  /* inputやselectの高さは必ず--input-heightを使ってください。 */
  height: var(--input-height);
  margin: 0;
  padding: 0 1em;
  cursor: pointer;
}

.mypage-search-filter__btn.item--auto-end:last-child {
  margin-left: auto;
}


.mypage-search-filter__aside {
  display: grid;
  grid-template-columns: 3fr 11fr;
  gap: 8px 15px;
}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__aside {
    grid-template-columns: 5fr 8fr;
    gap: 8px 8px;
  }
}

.mypage-search-filter__aside>dt {
  align-self: center;
}

.mypage-search-filter__aside>dd {
  align-self: center;
}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__aside>dt {
    font-weight: 700;
  }

  .mypage-search-filter__aside>dd {}
}

.mypage-search-filter__input {}

@media screen and (max-width: 767.98px) {
  .mypage-search-filter__main .mypage-search-filter__input {
    width: 100%;
  }
}

.mypage-search-filter__input [type="text"],
.mypage-search-filter__input [type="number"],
.mypage-search-filter__input [type="tel"],
.mypage-search-filter__input [type="email"],
.mypage-search-filter__input .input-password,
.mypage-search-filter__input [type="password"],
.mypage-search-filter__input .input-time,
.mypage-search-filter__input [type="time"],
.mypage-search-filter__input [type="date"],
.mypage-search-filter__input [type="month"] {
  border-radius: 4px;
  border: 1px solid var(--site-c-darkgray-ui);
  background: #fff;

  /* 16px以下にするとiOSにて不具合がおきます。 */
  font-size: var(--site-input-fs);
  font-family: inherit;
  line-height: calc(var(--input-height) - 2px);
  /* inputやselectの高さは必ず--input-heightを使ってください。 */
  height: var(--input-height);
  padding: 0 .5em 0 .5em;
}

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

  .mypage-search-filter__main .mypage-search-filter__input [type="text"],
  .mypage-search-filter__main .mypage-search-filter__input [type="number"],
  .mypage-search-filter__main .mypage-search-filter__input [type="tel"],
  .mypage-search-filter__main .mypage-search-filter__input [type="email"],
  .mypage-search-filter__main .mypage-search-filter__input .input-password,
  .mypage-search-filter__main .mypage-search-filter__input [type="password"],
  .mypage-search-filter__main .mypage-search-filter__input .input-time,
  .mypage-search-filter__main .mypage-search-filter__input [type="time"],
  .mypage-search-filter__main .mypage-search-filter__input [type="date"],
  .mypage-search-filter__main .mypage-search-filter__input [type="month"] {
    width: 100%;
  }
}

.mypage-search-filter__input.select select {
  border-radius: 4px;
  border: 1px solid var(--site-c-darkgray-ui);
  background: #fff;

  /* 16px以下にするとiOSにて不具合がおきます。 */
  font-size: var(--site-input-fs);
  font-family: inherit;
  line-height: calc(var(--input-height) - 2px);
  /* inputやselectの高さは必ず--input-heightを使ってください。 */
  height: var(--input-height);
  width: 100%;
  padding: 0 1.75em 0 0.75em;
}

.mypage-search-filter__input.select::after {
  content: '\f078';
  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;

  border: none;
  right: 0.5em;
  top: 50%;
  z-index: 5;
  transform: translate(0, -50%) scale(0.75);
  transform-origin: right center;
}

/********************** mypage td **********************/

.message-list {
  background-color: #fff;
  padding: 0;
}

.th--hyoji,
.td--hyoji {
  width: 50px;
  min-width: 50px;
}

.td--hyoji img {
  width: 15px;
  margin: 0 auto;
}

thead .th--hyoji,
thead .td--hyoji {
  white-space: nowrap;
}

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

  .th--hyoji,
  .td--hyoji {
    width: auto;
    min-width: 0;
  }
}


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

thead .td--checkmark {
  white-space: nowrap;
  text-align: center;
}

.td--checkmark [type="radio"],
.td--checkmark [type="checkbox"] {
  margin: 0;
}




.td--title {
  text-align: left;
  min-width: 104px;
}

thead .td--title {
  white-space: nowrap;
}

.td--title .td__inner-item {
  min-width: 12em;
}

.td--email {
  text-align: left;
  min-width: 105px;
  word-break: break-all;
  word-wrap: break-word;
}

thead .td--email {
  white-space: nowrap;
}

.td--ID {
  text-align: left;
  white-space: nowrap;
}

thead .td--ID {
  white-space: nowrap;
}

.td--date {
  text-align: left;
  white-space: nowrap;
  position: relative;
}

thead .td--date {
  white-space: nowrap;
}

.td--date .item__badge {
  top: 5px;
  right: 5px;
}

.td--status {
  min-width: 120px;
  text-align: center;
  white-space: nowrap;
}

thead .td--status {
  white-space: nowrap;
}

.td--jobtype {
  text-align: left;
  white-space: nowrap;
}

thead .td--jobtype {
  white-space: nowrap;
}

.td--msg {
  text-align: left;
  white-space: nowrap;
  position: relative;
}

.td--msg a {
  color: var(--site-c-main);
}

thead .td--msg {
  white-space: nowrap;
}

.td--msg .item__badge {
  top: 5px;
  right: 5px;
}

.td--name {
  text-align: left;
  white-space: nowrap;
}

thead .td--name {
  white-space: nowrap;
}

.td--link {
  text-align: center;
  white-space: nowrap;
}

thead .td--link {
  white-space: nowrap;
}

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

thead .td--notes {
  white-space: nowrap;
}

.td--notes .td__inner-item {
  min-width: 12em;
}

/* NOTE: .dashboarが、本サイトに存在しない可能性があります。※セレクタは残しておきます。 */
/*
.dashboard {}
.dashboard a {}
.dashboard .table {}
.dashboard .table th {}
.dashboard .table td {}
.dashboard .table [type="text"],
.dashboard .table textarea {}
*/


/* NOTE: テーブルをスクロールするもの */
.mypage-dashboard {
  overflow-x: scroll;
}

.table-dashboard {
  width: 100%;
}

.table-dashboard thead {
  background: var(--site-bg-c);
}

.table-dashboard tbody tr {
  border-bottom: 1px solid #E6E6E6;
}

.table-dashboard>thead>tr>th {
  padding: 5px;
  vertical-align: middle;

  /* NOTE: ここでtext-alignを記述すると、便利クラスで上書き不可能になるため注意してください。 */
  /*text-align: center;*/
}

.table-dashboard>thead>tr>th,
.table-dashboard>thead>tr>td {
  border-bottom-width: 2px;
}

.table-dashboard>tbody>tr>th,
.table-dashboard>tfoot>tr>th,
.table-dashboard>thead>tr>td,
.table-dashboard>tbody>tr>td,
.table-dashboard>tfoot>tr>td {
  padding: 12px 5px;
  vertical-align: middle;

  /* NOTE: ここでtext-alignを記述すると、便利クラスで上書き不可能になるため注意してください。 */
  /*text-align: center;*/
}

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

  .table-dashboard>tbody>tr>th,
  .table-dashboard>tfoot>tr>th,
  .table-dashboard>thead>tr>td,
  .table-dashboard>tbody>tr>td,
  .table-dashboard>tfoot>tr>td {
    min-width: 80px;
  }
}

.table-dashboard a {
  text-decoration: underline;
}

.table-dashboard [type="radio"],
.table-dashboard [type="checkbox"] {
  /* NOTE: ここでは、accent-color以外のプロパティを記述しないでください。 */
  accent-color: var(--site-c-main);
}

.status-hyoji,
.status-hihyoji {
  display: inline-block;
  width: 1.2em;
  height: auto;
  margin: 0 .5em .2em 0;
}

.page-mypage .formset {
  max-width: none;
}

/* dashboard input */
.mypage-dashboard .input-select,
.mypage-dashboard [type="text"],
.mypage-dashboard [type="number"],
.mypage-dashboard [type="email"],
.mypage-dashboard [type="password"],
.mypage-dashboard [type="url"],
.mypage-dashboard [type="date"],
.mypage-dashboard textarea {
  border-radius: 4px;
  border: 1px solid var(--site-c-bluegray-ui);
}

/* dashboard select */
/* NOTE: テーブル内部で使用する想定です。検索フィルターでは、別のクラス名を使うのでhtml上で設置個所を混合しないでください。 */
.mypage-dashboard-select {
  display: inline-block;
  position: relative;
}

.td--status .mypage-dashboard-select {
  width: 100%;
}

.mypage-dashboard-select-arrow::before {
  content: '●';
  display: block;
  position: absolute;
  inset: 50% auto auto 4px;
  z-index: 5;
  transform: translate(0, -50%) scale(0.66);
  pointer-events: none;
}

.mypage-dashboard-select-arrow.item--未接触::before {
  color: var(--site-c-darkgray-ui);
}

.mypage-dashboard-select-arrow.item--面接中::before {
  color: var(--site-c-orange);
}

.mypage-dashboard-select-arrow.item--面接予定::before {
  color: var(--site-c-orange);
}

.mypage-dashboard-select-arrow.item--面接終了::before {
  color: var(--site-c-orange);
}

.mypage-dashboard-select-arrow.item--連絡中::before {
  color: var(--site-c-orange);
}

.mypage-dashboard-select-arrow.item--内定::before {
  color: var(--site-c-main);
}

.mypage-dashboard-select-arrow.item--不採用::before {
  color: var(--site-c-darkgray-ui);
}

.mypage-dashboard-select-arrow.item--辞退::before {
  color: var(--site-c-darkgray-ui);
}

.mypage-dashboard-select-arrow::after {
  content: '';
  display: block;
  border-top: 1px solid var(--site-c-main);
  border-right: 1px solid var(--site-c-main);
  width: 6px;
  height: 6px;
  position: absolute;
  inset: 50% 8px auto auto;
  z-index: 5;
  transform: translate(0, -75%) rotate(135deg);
  pointer-events: none;
}

.mypage-dashboard-select select {
  border-radius: 4px;
  border: 1px solid #D1D1D1;
  background: #fff;
  font-size: inherit;
  font-family: inherit;
  height: 28px;
  width: 100%;
  padding: 0 2em 0 1.25em;
  position: relative;
  z-index: 1;
}

.mypage-dashboard-select-arrow.item--未接触 select {}

.mypage-dashboard-select-arrow.item--面接中 select {}

.mypage-dashboard-select-arrow.item--内定 select {}

.mypage-dashboard-select-arrow.item--不採用 select {
  background: var(--site-c-gray-disabled);
}

.mypage-dashboard-select-arrow.item--辞退 select {
  background: var(--site-c-gray-disabled);
}

/* color option selected */
/*
.mypage-dashboard-select-arrow:has([value*="未接触"]:selected)::before {color: var(--site-c-darkgray-ui);}
.mypage-dashboard-select-arrow:has([value*="面接中"]:selected)::before {color: var(--site-c-orange);}
.mypage-dashboard-select-arrow:has([value*="面接予定"]:selected)::before {color: var(--site-c-orange);}
.mypage-dashboard-select-arrow:has([value*="面接終了"]:selected)::before {color: var(--site-c-orange);}
.mypage-dashboard-select-arrow:has([value*="連絡中"]:selected)::before {color: var(--site-c-orange);}
.mypage-dashboard-select-arrow:has([value*="内定"]:selected)::before {color: var(--site-c-main);}
.mypage-dashboard-select-arrow:has([value*="不採用"]:selected)::before {color: var(--site-c-darkgray-ui);}
.mypage-dashboard-select-arrow:has([value*="辞退"]:selected)::before {color: var(--site-c-darkgray-ui);}

.mypage-dashboard-select-arrow select:has([value*="未接触"]:selected) {}
.mypage-dashboard-select-arrow select:has([value*="面接中"]:selected) {}
.mypage-dashboard-select-arrow select:has([value*="内定"]:selected) {}
.mypage-dashboard-select-arrow select:has([value*="不採用"]:selected) {
  background: var(--site-c-gray-disabled);
}
.mypage-dashboard-select-arrow select:has([value*="辞退"]:selected) {
  background: var(--site-c-gray-disabled);
}
*/


/********************** jsが必要なテーブル **********************/
/* NOTE: .table--data-layoutは、jsにて自動付与されます */
/* NOTE: SPにて、横カラムから縦カラムに変化します。その他のテーブルのスタイルには一切対応しません。 */
/* NOTE: SPにて、colspan、rowspanなどを再現できないため.table--data-layoutでは、colspan、rowspanは使用不可 */

.table--data-layout {}

/* table */
@media screen and (min-width: 768px) {
  .table.table--data-layout {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}

@media screen and (max-width: 767.98px) {
  .table.table--data-layout {
    display: block;
    width: auto;
  }
}

/* thead */
@media screen and (min-width: 768px) {
  .table--data-layout thead {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}

@media screen and (max-width: 767.98px) {
  .table--data-layout thead {
    display: none;
  }
}

/* tbody */
@media screen and (min-width: 768px) {
  .table--data-layout tbody {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}

@media screen and (max-width: 767.98px) {
  .table--data-layout tbody {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

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

  .table--data-layout tbody tr,
  .table--data-layout thead tr {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}

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

  .table--data-layout tbody tr,
  .table--data-layout thead tr {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 0;
    background: #fff;
    padding: 20px;
    position: relative;
  }
}

/* td, th */
/* NOTE: theadは非表示の想定です。tbodyのth, tdだけ記述します。 */
@media screen and (min-width: 768px) {

  .table--data-layout tbody tr th,
  .table--data-layout tbody tr td {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}

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

  .table--data-layout tbody tr th,
  .table--data-layout tbody tr td {
    display: block;
    text-align: left;
  }
}


/* NOTE: .td--th-spは、jsにて自動付与されます */
.table.table--data-layout .td--th-sp {
  background: var(--site-bg-c);
}

@media screen and (min-width: 768px) {
  .table.table--data-layout .td--th-sp {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .table.table--data-layout .td--th-sp {
    /* NOTE: ここに displayの調整を記述すると不具合がでます。 */
  }
}


/* テーブル内部のその他の部品のスタイルを拡張 */
@media screen and (max-width: 767.98px) {
  .table.table--data-layout .td--notes .td__inner-item {
    min-width: 0;
  }

  /* NOTE: ここに細かいスタイルを書くと、他のテーブルでは、ここでのスタイルが反映されません。まず記述箇所を吟味してください。 */
  /*
  .table.table--data-layout .input-select,
  .table.table--data-layout [type="text"],
  .table.table--data-layout [type="number"],
  .table.table--data-layout [type="email"],
  .table.table--data-layout [type="password"],
  .table.table--data-layout [type="url"],
  .table.table--data-layout [type="date"],
  .table.table--data-layout textarea {}
  */
  .table.table--data-layout textarea {
    width: 100%;
  }

  .table.table--data-layout .td--checkmark {
    min-width: 0;
    width: auto;
    padding-right: 0;
    padding-bottom: 0;
    position: absolute;
    inset: 0 8px auto auto;
    z-index: 1;
  }

  .table.table--data-layout .td--checkmark.td--th-sp {
    display: none;
  }
}


/**********************  企業マイページ data-table スマホのデザイン **********************/
/* NOTE: 順番はhtml側の調整ではなく、orderで制御 */
/* NOTE: td--name td--th-sp */

@media screen and (max-width: 767.98px) {
  .table--data-layout tbody tr .td--hyoji {
    display: none;
  }

  .table--data-layout tbody tr .td--ID.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--ID {
    padding: 0 0 8px;
    grid-column: 1 / -1;
    order: -1;
  }

  .table--data-layout tbody tr .td--name.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--name {
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
    text-align: left;
    padding: 0;
    grid-column: 1 / -1;
    order: 0;
  }

  .table--data-layout tbody tr .td--name a {
    text-decoration: none;
  }

  .table--data-layout tbody tr .td--email.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--email {
    font-size: 12px;
    line-height: 24px;
    padding: 0;
    /*grid-column: 1 / -1;*/
    order: 1;
  }

  .table--data-layout tbody tr .td--phone.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--phone {
    font-size: 12px;
    line-height: 24px;
    padding: 0;
    /*grid-column: 1 / -1;*/
    order: 2;
  }

  .table--data-layout tbody tr .td--jobtype.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--jobtype {
    padding: 0;
    grid-column: 1 / -1;
    order: 3;
  }

  .table--data-layout tbody tr .td--date.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--date {
    color: #2c2a27;
    font-size: 12px;
    line-height: 24px;
    text-align: left;
    padding: 0;
    grid-column: 1 / -1;
    opacity: 0.7;
    order: 3;
  }

  .table--data-layout tbody tr .td--date a {
    color: inherit;
  }

  .table--data-layout tbody tr .td--date .mypage-oubo__date {
    max-width: none;
  }

  .table--data-layout tbody tr .td--title.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--title {
    padding: 16px 0 0;
    grid-column: 1 / -1;
    order: 4;
  }

  .table--data-layout tbody tr .td--title a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    border: solid 1px var(--site-c-darkgray-ui);
    background: #fff;
    color: var(--font-c);
    font-weight: 700;
    font-size: 15px;
    text-align: center;
    text-decoration: none;
    line-height: 1.5;
    min-height: 56px;
    padding: 6px 12px 6px 48px;
    position: relative;
  }

  .table--data-layout tbody tr .td--title a::before {
    content: '';
    display: block;
    background-image: url(/common/images/icon-fork.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    inset: 50% auto auto 24px;
    transform: translate(-50%, -50%);
  }

  .table--data-layout tbody tr .td--msg.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--msg {
    color: #2c2a27;
    font-size: 12px;
    line-height: 24px;
    text-align: right;
    padding: 0;
    grid-column: 1 / -1;
    opacity: 0.7;
    order: 6;
  }

  .table--data-layout tbody tr .td--msg a {
    color: inherit;
  }

  .table--data-layout tbody tr .td--msg .mypage-oubo__date {
    max-width: none;
  }

  .table--data-layout tbody tr .td--status.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--status {
    padding: 8px 0 0;
    grid-column: 1 / -1;
    order: 5;
  }

  .mypage-dashboard-select select {
    border-color: var(--site-c-main);
    height: 56px;
  }

  .table--data-layout tbody tr .td--notes.td--th-sp {
    display: none;
  }

  .table--data-layout tbody tr .td--notes {
    padding: 8px 0 0;
    grid-column: 1 / -1;
    order: 7;
  }

  .table--data-layout tbody tr .td--notes textarea {
    box-shadow: 3px 3px 6px 0 rgba(0, 0, 0, 0.05) inset;
    min-height: 4lh;
    padding: 6px;
  }

  .table--data-layout tbody tr .td--oubosu.td--th-sp {
    background: transparent;
  }

  .table--data-layout tbody tr .td--oubosu {
    color: #2c2a27;
    font-size: 12px;
    line-height: 24px;
    text-align: left;
    padding: 4px 0 0;
    /*grid-column: 1 / -1;*/
    opacity: 0.7;
    order: 99;
  }

  .table--data-layout tbody tr .td--view.td--th-sp {
    background: transparent;
  }

  .table--data-layout tbody tr .td--view {
    color: #2c2a27;
    font-size: 12px;
    line-height: 24px;
    text-align: left;
    padding: 4px 0 0;
    /*grid-column: 1 / -1;*/
    opacity: 0.7;
    order: 99;
  }
}

/********************** dashboard その他 **********************/




/********************** mypage kyujin **********************/
.mypage-kyujin {}

/* list wrapper */
.mypage-kyujin-list {
  background: #fff;
  border-radius: 10px;
  font-size: 13px;
  margin: 0;
  padding: 40px 30px;
}

@media screen and (max-width: 767.98px) {
  .mypage-kyujin-list {
    border-radius: 0;
    background: transparent;
    margin: 0 -15px;
    padding: 0;
  }
}

.mypage-kyujin-list .mlist25p {
  border: none;
  padding: 0
}

/********************** mypage kyujin-edit **********************/
/* section */
.mypage-kyujin-edit {}

/* list wrapper */
.mypage-kyujin-edit-box {
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  margin: 0;
  padding: 40px 30px;
}

@media screen and (max-width: 767.98px) {
  .mypage-kyujin-edit-box {
    border-radius: 0;
    margin: 0 calc(var(--site-container-padding) * -1);
    padding: 20px;
  }
}

.mypage-kyujin-edit-box__header {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 12px;
  margin: 0 0 40px;
}

*+.mypage-kyujin-edit-box__header {
  margin-top: 40px;
}

/* 公開の状態 */
.mypage-kyujin-edit-box__public {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}

@media screen and (max-width: 767.98px) {
  .mypage-kyujin-edit-box__public {
    width: 100%;
  }
}

.mypage-kyujin-edit-box__public .item--public {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  width: 112px;
  height: 28px;
}

.mypage-kyujin-edit-box__public .item--inactive {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  line-height: 22px;
  text-align: center;
  width: 112px;
  height: 28px;
  filter: grayscale(1) brightness(3);
}


.mypage-kyujin-edit-box__info {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  gap: 8px 2em;
  margin: 0 0 0 auto;
}

@media screen and (max-width: 767.98px) {
  .mypage-kyujin-edit-box__info {
    width: 100%;
    margin: 0;
  }
}

.mypage-kyujin-edit-box__info .item--txt {
  display: block;
  color: var(--font-c);
  font-family: var(--font-family-en);
  font-weight: 400;
  font-size: 12px;
  line-height: 2;
  opacity: 0.7;
}

.mypage-kyujin-edit-box__job-title {
  color: var(--font-c);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.25;
  text-align: left;
  width: 100%;
}


/* その他の部品 */
.mypage-kyujin-edit-box .mypage-dashboard-select select {
  height: 50px;
  min-width: 200px;
}

.mypage-kyujin-edit-box .mlist25p {
  border: none;
  padding: 0;
}


/********************** mypage oubo (旧obosya) **********************/
/* section */
.mypage-oubo {}

/* list wrapper */
.mypage-oubo-list {
  border-radius: 10px;
  background: #fff;
  font-size: 13px;
  margin: 0;
  padding: 40px 30px;
}

@media screen and (max-width: 767.98px) {
  .mypage-oubo-list {
    border-radius: 0;
    background: transparent;
    margin: 0 -15px;
    padding: 0;
  }
}


/* エントリーボタン */
/* NOTE: 応募状況、応募者テーブル以外でも使用可 */
.mypage-oubo__entry {
  display: block;
  margin: 0;
}

*+.mypage-oubo__entry {
  margin-top: 4px;
}

.mypage-oubo__entry>a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3em;
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  text-align: center;
  line-height: 1.2;
  height: 2em;
  margin: 0;
  padding: 0 1ex;
}

/* 日付 */
/* NOTE: 応募状況、応募者テーブル以外でも使用可 */
.mypage-oubo__date {
  display: block;
  white-space: normal;
  word-break: normal;
  word-wrap: break-word;
  max-width: 10ex;
  margin: 0;
}

*+.mypage-oubo__date {
  margin-top: 4px;
}

/* ステータス */
/* NOTE: 応募状況、応募者テーブル以外でも使用可 */
.mypage-oubo__status {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 4px;
  border: solid 1px var(--site-c-main);
  background: #fff;
  color: var(--site-c-main);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  width: 72px;
  height: 24px;
  margin: 0 auto;
  padding: 0 1ex;
}

*+.mypage-oubo__status {
  margin-top: 4px;
}

.mypage-oubo__status:empty {
  display: none;
}

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

  *+.mypage-oubo__status {
    margin-top: 4px;
  }
}

.mypage-oubo__status.item--採用 {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
}

.mypage-oubo__status.item--不成立,
.mypage-oubo__status.item--不採用 {
  border: solid 1px var(--site-c-main);
  background: var(--site-c-main);
  color: #fff;
  filter: grayscale(1) brightness(3);
}



/********************** mypage oubo function **********************/
.mypage-oubo-func {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1em;
  margin: 0 0 32px;
}

.mypage-oubo-func__check-all {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border: none;
  background: transparent;
  color: var(--font-c);
  font-size: 12px;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  gap: 1ex;
}

.mypage-oubo-func__check-all [type="radio"],
.mypage-oubo-func__check-all [type="checkbox"] {
  accent-color: var(--site-c-main);
  margin: 0;
}

.mypage-oubo-func__del {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border: none;
  background: transparent;
  color: var(--font-c);
  font-size: 12px;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  gap: 1ex;
}

.mypage-oubo-func__del::before {
  content: '';
  display: block;
  background-image: url("/common/images/mypage-icon-trash.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  width: 1em;
  height: 1em;
}




/********************** mypage__inquiry **********************/
.mypage__inquiry {
  border-radius: 10px;
  background: #fff;
  text-align: center;
  max-width: 520px;
  margin: 60px auto 0;
  padding: 40px 20px 50px;
}

.mypage__inquiry>dt,
.mypage__inquiry>dd {
  padding: 5px 0;
}

.mypage__inquiry>dt {
  font-weight: 700;
}

.mypage__inquiry>dt+dd {
  margin-top: 1em;
}

@media screen and (max-width: 767.98px) {
  .mypage__inquiry {
    margin: 30px auto 0;
    padding: 20px 10px 30px;
  }

  .mypage__inquiry>dt,
  .mypage__inquiry>dd {
    padding: 3px 0;
  }
}


/********************** formset-compact & formset-medium **********************/

/* NOTE: 出来る限りbase.cssの.formset関連を編集することを推奨します。（formset-compact, formset-mediumにのみ適用したいスタイルを記述してください） */

.formset-medium,
.formset-compact {
  background: #fff;
  width: 100%;
  margin: 0 auto;

  /* NOTE: paddingはデザインの値がまちまちで曖昧なので間を取った数値です。破綻する箇所が出るので変更しないでください。 */
  padding: 32px 40px 40px;
}

.formset-medium {
  max-width: 1010px;
}

.formset-compact {
  max-width: 640px;
}

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

  .formset-medium,
  .formset-compact {
    padding: 12px 20px 24px;
  }
}

.formset-medium .formset__ttl,
.formset-compact .formset__ttl {
  background: unset;
  align-items: center;
  min-width: 210px;
}

.formset-medium .formset__item,
.formset-compact .formset__item {
  border: none;
}

.formset-medium .formset__input .input-password,
.formset-medium .formset__input [type="number"],
.formset-medium .formset__input [type="text"],
.formset-medium .formset__input [type="password"],
.formset-medium .formset__input [type="url"],
.formset-medium .formset__input [type="email"],
.formset-compact .formset__input .input-password,
.formset-compact .formset__input [type="number"],
.formset-compact .formset__input [type="text"],
.formset-compact .formset__input [type="password"],
.formset-compact .formset__input [type="url"],
.formset-compact .formset__input [type="email"] {
  /* NOTE: ここにborder, max-width: none以外の指定は禁止 */
  border: solid 1px var(--site-c-main);
  max-width: none;
}

.formset-medium .formset__input .input-password [type="password"],
.formset-compact .formset__input .input-password [type="password"] {
  /* NOTE: ここにborder: none以外の指定は禁止 */
  border: none;
}

.formset-medium .formset__input textarea,
.formset-compact .formset__input textarea {
  /* NOTE: ここにborder以外の指定は禁止 */
  border: solid 1px var(--site-c-main);
}


/* action button wrapper */
/* NOTE: .formset__btnの階層が曖昧なため .formset__itemの隣接のみに適用（.formset__btn:first-childなどは除外されるので注意） */
.formset-medium .formset__item~.formset__btn,
.formset-compact .formset__item~.formset__btn {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: none;
  margin: 32px 0 0;
  gap: 16px;
  position: relative;
}

.formset-medium .formset__item~.formset__btn>a,
.formset-medium .formset__item~.formset__btn>input,
.formset-medium .formset__item~.formset__btn>button,
.formset-medium .formset__item~.formset__btn>span,
.formset-compact .formset__item~.formset__btn>a,
.formset-compact .formset__item~.formset__btn>input,
.formset-compact .formset__item~.formset__btn>button,
.formset-compact .formset__item~.formset__btn>span {
  /* NOTE: width, max-width以外の記述は禁止です。.btn--whiteなどの色クラス名で、上書きができなくなってしまいます。（色はhtml側に都度クラス名を指定し調整） */
  max-width: 200px;
  width: 100%;
}

.formset-medium .formset__item~.formset__btn:has(.btn),
.formset-compact .formset__item~.formset__btn:has(.btn) {
  display: flex;
  justify-content: space-between;
}

.formset-medium .formset__item~.formset__btn:has(.btn:only-child),
.formset-compact .formset__item~.formset__btn:has(.btn:only-child) {
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767.98px) {
  .formset-compact .formset__btn {
    font-size: 14px;
  }

  .formset-compact .formset__btn .btn {
    font-size: 14px;
  }

  .formset-compact .formset__btn .btn>* {
    font-size: 14px;
  }
}


/* action button */
/* NOTE: 色の調整は、ここには記述しないでください。（色はhtml側に都度、.btn--whiteなどの色クラス名を指定し調整） */
/* action button - cetner button */
.formset-medium .formset__item~.formset__btn>.btn.item--center,
.formset-compact .formset__item~.formset__btn>.btn.item--center {
  /* NOTE: ここに色、形状の指定は禁止 */
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.formset-medium .formset__item~.formset__btn>.btn.item--center:only-child,
.formset-compact .formset__item~.formset__btn>.btn.item--center:only-child {
  /* NOTE: ここに色、形状の指定は禁止 */
  position: static;
  transform: translate(0, 0);
}

/* action button - action button, submit button */
.formset-medium .formset__item~.formset__btn>.btn--action.item--center,
.formset-medium .formset__item~.formset__btn>.btn--submit.item--center,
.formset-compact .formset__item~.formset__btn>.btn--action.item--center,
.formset-compact .formset__item~.formset__btn>.btn--submit.item--center {
  /* NOTE: ここに色、形状の指定は禁止 */
  max-width: 200px;
  width: 100%;
}

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

  .formset-medium .formset__item~.formset__btn>.btn--action.item--center,
  .formset-medium .formset__item~.formset__btn>.btn--submit.item--center,
  .formset-compact .formset__item~.formset__btn>.btn--action.item--center,
  .formset-compact .formset__item~.formset__btn>.btn--submit.item--center {
    /* NOTE: ここに色、形状の指定は禁止 */
    max-width: 160px;
  }
}

/* action button - after formset */
.formset-medium .formset+.btn,
.formset-compact .formset+.btn {}

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

  .formset-medium .formset+.btn,
  .formset-compact .formset+.btn {
    max-width: 200px;
    margin-top: 8px;
  }
}


/********************** form-auth section **********************/

.form-auth__user-attr-confirm {
  max-width: 640px;
  width: 100%;
  margin: -20px auto 0;
  padding: 0 10px;
}

.form-auth__lead {
  margin: 30px 0 0;
}

.form-auth__notes {
  text-align: center;
  margin-top: 30px;
}

.form-auth__notes>a {
  color: var(--site-c-main);
}

@media screen and (max-width: 767.98px) {
  .form-auth__user-attr-confirm {
    font-size: 13px;
    margin: -10px 0 -5px;
    padding: 0;
  }

  .form-auth__lead {
    font-size: 13px;
    margin: 10px 0 15px;
  }

  .form-auth__notes {
    font-size: 13px;
    margin-top: 20px;
  }
}