@charset "utf-8";

.indent_10 {
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (min-width: 821px) {
}
@media screen and (max-width: 820px) {
}
/* media */
.media__content {
  position: relative;
  max-width: 920px;
  margin: 0 auto min(6.94vw, 10rem);
  z-index: 1;
}
.media__content .media {
  line-height: 0;
  margin-bottom: 0px;
}
.media__content .media iframe {
  width: 100%;
  height: 518px;
  border: 0;
}
.media__content p {
  text-align: center;
  font-size: 18px;
  line-height: 1.9;
}
@media screen and (max-width: 820px) {
  .media__content { margin: 0 auto 18.67vmin; }
  .media__content .media { padding: 0 2.67vmin }
  .media__content .media iframe {
    height: 66vw;
  }
  .media__content p {font-size: 15px;}
  .accordion h3 {
    font-size: 4.2vw;
  }
}
/* card */
.card-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.card {
  position: relative;
  padding-bottom: min(4.86vw, 7.0rem);
  opacity: 1;
}
.card__thumb {
  border-radius: 1.04vw;
  overflow: hidden;
}
.card__thumb img {
  max-width: none;
  width: 100%;
}
.card .card__subtitle {
  margin-top: 2.5em;
  font-size: min(0.97vw, 1.4rem);
  letter-spacing: .06em;
  line-height: 1.5;
}
.card .card__title {
  margin-top: 0.4285em;
  font-size: min(1.94vw, 2.8rem);
  letter-spacing: .02em;
  line-height: 1.5;
}
.card .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  margin-top: 1.4285em;
  font-size: min(0.97vw, 1.4rem);
}
.card .tags> li {
  border: 1px solid #fff;
  border-radius: 100vh;
  overflow: hidden;
  min-width: 8em;
  margin-top: 0.4285em;
  margin-right: 1.4285em;
  text-align: center
}
.card .tags> li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 2.5em;
}
@media screen and (max-width: 820px) {
  .card {
    display: block;
    width: 100%;
    padding-bottom: 13.33vmin;
    border-bottom: 1px solid #fff;
  }
  .card__thumb {border-radius: 2.67vmin}
  .card .card__subtitle {
    margin-top: 2em;
    font-size: 3.73vmin;
  }
  .card .card__title {
    margin-top: .5em;
    font-size: 6.4vmin;
  }
  .card .tags {
    margin-top: .5em;
    font-size: 3.2vmin
  }
  .card .tags> li {margin-top: 1em;}
}
/* アンカーリンク */
.anchor-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.anchor-nav {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 7rem;
}
.anchor-nav li {
  width: 25%;
  border-radius: 0.69vw;
  background-color: #fff;
  line-height: 1.3;
}
.anchor-nav li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 1.4em min(2.81vw, 11.8%);
  padding-right: max(2.81vw, 15%);
  font-size: min(1.4vw, 1.8em);
  font-weight: bold;
  line-height: 1.5;
  -webkit-transition: color 0.3s ease-out;
transition: color 0.3s ease-out;
}
.anchor-nav_3 li {width: 32.27%;}
.anchor-nav_3 li a {padding-top: 2em; padding-bottom: 2em; font-size: min(1.39vw, 2em)}
.anchor-nav_4 li {width: 23.83%;}
.anchor-nav li a:after {
  content: "";
  position: absolute;
  width: 2rem;
  aspect-ratio: 1/1;
  background: url("../img/common/icon_arrow.png") no-repeat center / contain;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.anchor-nav li a:hover {
}
.anchor-nav li a small {font-size: .8334em;}
.anchor-nav li a span {}

@media screen and (max-width: 820px) {
  .anchor-nav {display: block; margin-bottom: 4rem;}
  .anchor-nav li {width: 100%; border-radius: 1.33vmin}
  .anchor-nav li+ li {margin-top: 1em;}
  .anchor-nav_3 li {width: 100%;}
  .anchor-nav_4 li {width: 100%;}
  .anchor-nav li a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 1em 2em;
    font-size: 3.73vmin;
    text-align: center;
    line-height: 1.57;
  }
  .anchor-nav li a::after {
    width: 0.8064em;
    right: 1.2em;
  }
  .anchor-nav li a small {font-size: 1em;}
  .anchor-nav li a span b {font-size: 1.2857em}
}

/* ------------------------------------------------------
#links-wrapper フッター上共通リンクパーツ
------------------------------------------------------ */
#links-wrapper {
  margin-top: min(5.21vw, 7.5em);
}
#links-wrapper .links-inner {
  width: calc(100% - 2.08333vw);
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
#links-wrapper .links-inner> section+ section {
  margin-top: min(1.39vw, 2rem)
}
/* .contact-wrapper .recruit-wrapper 共通 */
#links-wrapper .contact-wrapper,
#links-wrapper .recruit-wrapper {
  padding: min(5.07vw, 8.0rem) min(4.51vw, 6.5rem);
  border-radius: 1.38889vw;
  color: #fff;
  position: relative;
}
#links-wrapper .contact-inner, #links-wrapper .recruit-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1280px;
  margin: auto;
}
#links-wrapper .contact-inner dt, #links-wrapper .recruit-inner dt {
  width: 23.4375%;
  font-size: min(4.17vw, 6em);
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1;
}
#links-wrapper .contact-inner dd p, #links-wrapper .recruit-inner dd p {
  font-size: min(1.53vw, 2.2em);
  letter-spacing: .05em;
  line-height: 1.8181;
}
/* .contact-wrapper */
#links-wrapper .contact-wrapper {
  background: url("../img/common/contact_bg.webp") no-repeat left top/cover;
}
#links-wrapper .contact-inner dd {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-left: min(2.78vw, 40px);
}
/* .recruit-wrapper */
#links-wrapper .recruit-wrapper {
  background: url("../img/common/recruit_bg.webp") no-repeat left top/cover;
}
#links-wrapper .recruit-inner dd {
  width: 57.1%;
  padding-left: min(2.78vw, 40px);
}
#links-wrapper .recruit-wrapper .figure-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  max-width: 1410px;
  padding: 0 min(4.51vw, 6.5rem);
  text-align: right;
  line-height: 1;
  pointer-events: none;
}
#links-wrapper .recruit-wrapper figure {
  display: inline-block;
  width: 19.53%;
  aspect-ratio: 1/1;
  border-radius: 1.04vw;
  overflow: hidden;
}
#links-wrapper .recruit-wrapper .figure-wrap img {
  width: 100%;
  height: auto;
}
/* .btn */
#links-wrapper .btn-wrap {
  margin-top: min(4.17vw, 60px);
}
#links-wrapper .btn-default {
  font-size: min(1.39vw, 2em);
  text-align: center;
}
@media screen and (max-width: 820px) {
  #links-wrapper {margin-top: 26.67vmin}
  #links-wrapper .links-inner {
    width: calc(100% - 5.33333vmin)
  }
  #links-wrapper .links-inner> section+ section {margin-top: 5.33vmin}
  /* .contact-wrapper .recruit-wrapper 共通 */
  #links-wrapper .contact-wrapper, #links-wrapper .recruit-wrapper {
    padding: 16vmin 8vmin 18.67vmin;
    border-radius: 5.33333vmin;
  }
  #links-wrapper .contact-wrapper {background-image: url("../img/common/contact_bg_sp.webp")}
  #links-wrapper .recruit-wrapper {background-image: url("../img/common/recruit_bg_sp.webp")}
  #links-wrapper .contact-inner, #links-wrapper .recruit-inner {
    display: block;
  }
  #links-wrapper .contact-inner dt, #links-wrapper .recruit-inner dt {
    width: 100%;
    font-size: 13.33vmin;
    text-align: center;
  }
  #links-wrapper .contact-inner dd, #links-wrapper .recruit-inner dd {
    padding-top: 9.6vmin;
    padding-left: 0;
  }
  #links-wrapper .contact-inner dd p, #links-wrapper .recruit-inner dd p {
    font-size: 5.33vmin;
  }
  /* .recruit-wrapper */
  #links-wrapper .recruit-inner dd {width: 100%;}
  #links-wrapper .recruit-wrapper .figure-wrap {
    position: relative;
    left: auto;
    top: auto;
    -webkit-transform: none;
            transform: none;
  }
  #links-wrapper .recruit-wrapper figure {
    position: relative;
    right: auto;
    top: auto;
    -webkit-transform: none;
            transform: none;
    width: 100%;
    aspect-ratio: 59/40;
    border-radius: 4vmin;
    margin-top: 13.33vmin;
  }
  /* #links-wrapper .btn */
  #links-wrapper .btn-wrap {
    margin-top: 10.67vmin;
  }
  #links-wrapper .btn-default {
    font-size: 4.8vmin
  }
}

/* ------------------------------------------------------
その他ページ用　追加
------------------------------------------------------ */
/*リスト*/
ol.list-number li {
  font-size: min(1.11vw, 1.6rem);
}
@media screen and (max-width: 820px) {
  ol.list-number li {
    font-size: 3.73vmin
  }
}
ol.number li h3 {
  font-weight: bold;
  font-size: min(1.41vw, 1.8rem);
  margin: min(1.56vw, 2rem) 0 min(0.55vw, 0.7rem);
  text-indent: -2.4rem;
  padding-left: 2.4rem;
}
ol.number li h3 span {
  margin-right: min(0.78vw, 1rem);
  color: var(--color-blu);
}
ol.number ol {
  padding-left: min(2.11vw, 2.7rem);
}
ol.number li {
  font-size: min(1.11vw, 1.6rem);
}
@media screen and (max-width: 820px) {
  ol.number li h3 {
    font-size: 4.2vmin;
    text-indent: -1em;
    padding-left: 1em;
  }
}
/*テーブル*/
.table--default {
  width: 100%;
}
.table--default thead th {
  color: #fff;
  line-height: 1;
  font-size: min(1.11vw, 1.6rem);
  font-weight: 500;
  border-right: 1px solid #fff;
  background-color: var(--color-blk);
  padding: min(1.04vw, 1.5rem) min(0.35vw, .5rem);
  vertical-align: middle;
}
.table--default thead th:first-child span {
  border-left: none;
}
.table--default thead th:last-child, .privacy--content table thead th:last-child span {
  border-right: none;
}
.table--default tbody td {
  border-right: 1px solid #c0c0c0;
  border-bottom: 1px solid #c0c0c0;
  padding: min(1.11vw, 1.6rem) min(0.69vw, 1rem) min(1.33vw, 1.18rem) min(1.25vw, 1.8rem);
  font-size: min(1.11vw, 1.6rem);
}
.table--default thead th:last-child span, .table--default tbody td:last-child {
  border-right: none;
}
.table--default tbody td:first-child {
  padding-left: 0;
}
.table--default thead th.w17 {
  width: 17%;
}
.table--default thead th.w20 {
  width: 20%;
}
.table--default thead th.w37 {
  width: 37%;
}
@media screen and (max-width: 820px) {
  .table--default thead th, .table--default tbody td {
    font-size: 3.73vmin;
  }
  .table--default thead th.w17 {
    width: 25%;
  }
  .table--default thead th.w20 {
    width: 25%;
  }
  .table--default thead th.w37 {
    width: 50%;
  }
}
/*お問い合わせボックス*/
.contact--box {
  border: 1px solid #e8ecf0;
  background-color: #f6f8fa;
  text-align: center;
  line-height: 1.4;
  padding: min(2.08vw, 3rem) min(0.69vw, 1rem);
  margin: min(2.43vw, 3.5rem) 0;
}
.contact--box p {
  font-size: min(1.11vw, 1.6rem);
  margin-bottom: min(0.69vw, 1rem);
}
.contact--box h4 {
  font-weight: 500;
  font-size: min(1.25vw, 1.8rem);
  margin-bottom: min(0.69vw, 1rem);
}
.contact--box ul {
  font-size: 0;
}
.contact--box ul li {
  display: inline-block;
  padding: 0 min(3.13vw, 4.5rem);
  margin-bottom: min(0.69vw, 1rem);
}
.contact--box ul li:last-child {
  margin-bottom: 0;
}
.contact--box ul li strong {
  font-size: min(1.39vw, 2rem);
  font-weight: 500;
}
.contact--box ul li span {
  display: block;
  font-size: min(0.9vw, 1.3rem);
  margin-top: min(0.21vw, 0.3rem);
}
@media screen and (max-width: 820px) {
  .contact--box p {
    font-size: 3.73vmin;
  }
  .contact--box h4 {
    font-size: 4.2vmin;
  }
  .contact--box ul li strong {
    font-size: 3.73vmin;
  }
  .contact--box ul li span {
    font-size: 3.03vmin;
  }
}
/*BOX 1.4rem*/
.text--small p {
  font-size: min(0.97vw, 1.4rem);
  line-height: 1.6;
  margin-bottom: min(4.17vw, 6rem);
}
@media screen and (max-width: 820px) {
  .text--small p {
    font-size: 3.26vmin;
  }
}
/*dot__list*/
.dot__list {
  margin-bottom: min(1.39vw, 2rem);
}
.dot__list > li {
  border-bottom: 1px solid #e0e2e4;
  padding: 0 0 min(1.39vw, 2rem) min(1.88vw, 2.7rem);
  position: relative;
  margin-bottom: min(1.25vw, 1.8rem);
}
.dot__list > li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--color-blu);
  border-radius: 4px;
  position: absolute;
  left: 0;
  top: 10px;
}
.dot__list li h3 {
  font-weight: 500;
  font-size: min(1.25vw, 1.8rem);
  line-height: 1.5;
  margin-bottom: min(0.49vw, 0.7rem);
}
.dot__list li p {
  font-size: min(1.11vw, 1.6rem);
  line-height: 1.5;
}
.dot__list li .number h3 {
  font-size: min(1.11vw, 1.6rem);
}
.dot__list li .note {
  font-size: min(0.9vw, 1.3rem);
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 820px) {
  .dot__list > li {
    padding: 0 0 4.66vmin 6.29vmin;
  }
  .dot__list li h3 {
    font-size: 4.2vmin;
  }
  .dot__list li p {
    font-size: 3.73vmin;
  }
  .dot__list li .number h3 {
    font-size: 3.73vmin;
  }
  .dot__list li .note {
    font-size: 3.03vmin;
  }
}
/*dl-box*/
.dl--box dt {
  font-weight: 500;
  font-size: min(1.25vw, 1.8rem);
  margin-bottom: min(0.21vw, 0.3rem);
}
.dl--box dd {
  font-size: min(1.11vw, 1.6rem);
}
@media screen and (max-width: 820px) {
  .dl--box dt {
    font-size: 4.2vmin;
  }
}