@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;500;700&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, article, main, details, aside, footer, header, nav, section, div, h1, h2, h3, h4, h5, h6, p, ul, li, ol, dl, dt, dd, address, small {
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

nav ul {
  list-style: none; }

a, span {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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

input, select {
  vertical-align: middle; }

* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-overflow-scrolling: touch; }

html {
  scroll-behavior: smooth; }

body {
  background: #fff;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; }

.container {
  width: 100vw;
  margin: auto;
  overflow: hidden;
  background: #EDEDED;
  min-height: 100vh;
  min-height: 100svh; }
  @media screen and (min-width: 765px) {
    .container {
      width: 780px; } }
  .container.is-top {
    background: #1E0E0B; }
  .container img {
    width: 100%; }

.wrap {
  width: 89.74359vw;
  margin: auto;
  position: relative; }
  @media screen and (min-width: 765px) {
    .wrap {
      width: 700px; } }

.ttl {
  line-height: 1;
  padding: 8.97436vw 5.12821vw 8.97436vw 5.12821vw; }
  @media screen and (min-width: 765px) {
    .ttl {
      padding: 70px 40px 70px 40px; } }
  .ttl span {
    display: block; }
  .ttl__en {
    font-size: 8.46154vw;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    margin-bottom: 1.28205vw; }
    @media screen and (min-width: 765px) {
      .ttl__en {
        font-size: 66px; } }
    @media screen and (min-width: 765px) {
      .ttl__en {
        margin-bottom: 10px; } }
  .ttl__jp {
    font-size: 4.35897vw; }
    @media screen and (min-width: 765px) {
      .ttl__jp {
        font-size: 34px; } }

.footer {
  padding: 9.87179vw 0vw 26.92308vw 0vw;
  background: #1E0E0B;
  color: #fff;
  position: relative; }
  @media screen and (min-width: 765px) {
    .footer {
      padding: 77px 0px 210px 0px; } }
  .footer .top-ttl {
    margin-bottom: 5.12821vw; }
    @media screen and (min-width: 765px) {
      .footer .top-ttl {
        margin-bottom: 40px; } }
  .footer__txt, .footer__txt-low {
    font-size: 3.33333vw;
    font-weight: normal;
    line-height: 2.307692308; }
    @media screen and (min-width: 765px) {
      .footer__txt, .footer__txt-low {
        font-size: 26px; } }
  .footer__txt-low {
    margin-bottom: 10.25641vw;
    line-height: 1.923076923; }
    @media screen and (min-width: 765px) {
      .footer__txt-low {
        margin-bottom: 80px; } }
  .footer__mail {
    font-size: 5.12821vw;
    margin-bottom: 6.41026vw;
    line-height: 1.5; }
    @media screen and (min-width: 765px) {
      .footer__mail {
        font-size: 40px; } }
    @media screen and (min-width: 765px) {
      .footer__mail {
        margin-bottom: 50px; } }
  .footer__small {
    font-size: 1.79487vw;
    font-weight: bold;
    font-family: "Poppins", sans-serif;
    line-height: 1; }
    @media screen and (min-width: 765px) {
      .footer__small {
        font-size: 14px; } }

.arrow {
  width: 15vw;
  height: 15vw;
  text-decoration: none;
  display: block;
  border-radius: 999px;
  background: rgba(30, 14, 11, 0.6);
  border: 1px solid #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
  margin: 0vw 1.92308vw 25.64103vw 0vw;
  -webkit-transition: margin 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  -o-transition: margin 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: margin 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985); }
  @media screen and (min-width: 765px) {
    .arrow {
      width: 117px; } }
  @media screen and (min-width: 765px) {
    .arrow {
      height: 117px; } }
  @media screen and (min-width: 765px) {
    .arrow {
      margin: 0px 15px 200px 0px; } }
  .arrow:after {
    content: '';
    width: 1.17949vw;
    height: 1.17949vw;
    border-width: 1px;
    border-color: #fff;
    border-style: none solid solid none;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -0.57692vw auto auto -0.57692vw; }
    @media screen and (min-width: 765px) {
      .arrow:after {
        width: 9.2px; } }
    @media screen and (min-width: 765px) {
      .arrow:after {
        height: 9.2px; } }
    @media screen and (min-width: 765px) {
      .arrow:after {
        margin: -4.5px auto auto -4.5px; } }

body.is-loaded .apply-link {
  -webkit-transition: all 600ms 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  -o-transition: all 600ms 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: all 600ms 1000ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  margin: 0vw 0vw 0vw -35vw; }
  @media screen and (min-width: 765px) {
    body.is-loaded .apply-link {
      margin: 0px 0px 0px -273px; } }

.apply-link {
  font-size: 5.12821vw;
  width: 70vw;
  height: 14.48718vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #5485A6;
  position: fixed;
  bottom: 0;
  left: 50%;
  right: auto;
  z-index: 3;
  margin: 0vw 0vw -19.23077vw -35vw; }
  @media screen and (min-width: 765px) {
    .apply-link {
      font-size: 40px; } }
  @media screen and (min-width: 765px) {
    .apply-link {
      width: 546px; } }
  @media screen and (min-width: 765px) {
    .apply-link {
      height: 113px; } }
  @media screen and (min-width: 765px) {
    .apply-link {
      margin: 0px 0px -150px -273px; } }
  .apply-link:after {
    content: '';
    width: 1.92308vw;
    height: 1.92308vw;
    border-width: 3px;
    border-color: #fff;
    border-style: none solid solid none;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 0;
    margin: -1.02564vw 3.84615vw auto auto; }
    @media screen and (min-width: 765px) {
      .apply-link:after {
        width: 15px; } }
    @media screen and (min-width: 765px) {
      .apply-link:after {
        height: 15px; } }
    @media screen and (min-width: 765px) {
      .apply-link:after {
        margin: -8px 30px auto auto; } }
  .apply-link.is-back:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    right: auto;
    left: 0;
    margin: -1.02564vw auto auto 3.84615vw; }
    @media screen and (min-width: 765px) {
      .apply-link.is-back:after {
        margin: -8px auto auto 30px; } }

.test1,
.test2 {
  position: absolute;
  top: 0;
  width: 100px; }

html:not(.no-js) [data-aos=fade-up] {
  -webkit-transform: translate3d(0, 50px, 0);
  transform: translate3d(0, 50px, 0);
  -webkit-transition-duration: 1.2s;
  -o-transition-duration: 1.2s;
  transition-duration: 1.2s; }

html:not(.no-js) [data-aos=fade-in] {
  -webkit-transition-duration: 1.5s;
  -o-transition-duration: 1.5s;
  transition-duration: 1.5s; }

#search .ttl {
  background: #1E0E0B;
  color: #fff;
  margin-bottom: 8.33333vw; }
  @media screen and (min-width: 765px) {
    #search .ttl {
      margin-bottom: 65px; } }

.search {
  min-height: calc(100vh - 83.07692vw);
  min-height: calc(100svh - 83.07692vw);
  padding-bottom: 19.23077vw; }
  @media screen and (min-width: 765px) {
    .search {
      padding-bottom: 150px; } }
  .search__label {
    font-size: 4.61538vw;
    margin-bottom: 3.07692vw;
    font-weight: 500;
    line-height: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (min-width: 765px) {
      .search__label {
        font-size: 36px; } }
    @media screen and (min-width: 765px) {
      .search__label {
        margin-bottom: 24px; } }
    .search__label span {
      font-size: 0.8em;
      display: inline-block;
      margin-right: 0.25em;
      margin-top: 0.1em; }
  @media screen and (min-width: 765px) {
    .search {
      min-height: calc(100vh - 648px);
      min-height: calc(100svh - 648px); } }

.search-group {
  overflow: hidden;
  margin-bottom: 8.33333vw;
  margin-bottom: 4.48718vw; }
  @media screen and (min-width: 765px) {
    .search-group {
      margin-bottom: 65px; } }
  @media screen and (min-width: 765px) {
    .search-group {
      margin-bottom: 35px; } }

.select {
  position: relative; }
  .select:after {
    content: '';
    position: absolute;
    top: 40%;
    right: 0;
    margin: 0vw 6.41026vw 0vw 0vw;
    width: 2.05128vw;
    height: 2.05128vw;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-width: 1px;
    border-color: #fff;
    border-style: none solid solid none; }
    @media screen and (min-width: 765px) {
      .select:after {
        margin: 0px 50px 0px 0px; } }
    @media screen and (min-width: 765px) {
      .select:after {
        width: 16px; } }
    @media screen and (min-width: 765px) {
      .select:after {
        height: 16px; } }
  .select__select {
    font-size: 4.35897vw;
    font-weight: 500;
    padding-left: 1em;
    margin-bottom: 3.84615vw;
    height: 17.4359vw;
    border-radius: 0 !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border: none;
    background: #1E0E0B;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff; }
    @media screen and (min-width: 765px) {
      .select__select {
        font-size: 34px; } }
    @media screen and (min-width: 765px) {
      .select__select {
        margin-bottom: 30px; } }
    @media screen and (min-width: 765px) {
      .select__select {
        height: 136px; } }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 17.4359vw;
  margin-bottom: 1.28205vw; }
  @media screen and (min-width: 765px) {
    .input-group {
      height: 136px; } }
  @media screen and (min-width: 765px) {
    .input-group {
      margin-bottom: 10px; } }
  .input-group__input {
    font-size: 4.35897vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0 !important;
    width: 66.02564vw;
    line-height: 1;
    padding: 0 1em;
    border: solid 1px #1E0E0B; }
    @media screen and (min-width: 765px) {
      .input-group__input {
        font-size: 34px; } }
    @media screen and (min-width: 765px) {
      .input-group__input {
        width: 515px; } }
    .input-group__input::-webkit-input-placeholder {
      color: #D6D6D6; }
    .input-group__input:-ms-input-placeholder {
      color: #D6D6D6; }
    .input-group__input::-ms-input-placeholder {
      color: #D6D6D6; }
    .input-group__input::placeholder {
      color: #D6D6D6; }
  .input-group__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 19.87179vw;
    line-height: 1;
    padding: 0;
    border: none;
    background: #1C0F0C;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0 !important; }
    @media screen and (min-width: 765px) {
      .input-group__btn {
        width: 155px; } }
    .input-group__btn img {
      display: block;
      width: 5vw; }
      @media screen and (min-width: 765px) {
        .input-group__btn img {
          width: 39px; } }

.input-note {
  font-size: 3.33333vw;
  font-weight: 500;
  margin-bottom: 0.5em; }
  @media screen and (min-width: 765px) {
    .input-note {
      font-size: 26px; } }

.input-err {
  margin-bottom: 0.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 3.33333vw;
  color: #B40000;
  font-weight: 700; }
  @media screen and (min-width: 765px) {
    .input-err {
      font-size: 26px; } }
  .input-err img {
    display: block;
    width: 5.89744vw;
    margin-right: 0.2em; }
    @media screen and (min-width: 765px) {
      .input-err img {
        width: 46px; } }

.result-ttl {
  font-size: 4.61538vw;
  font-weight: 500;
  line-height: 1;
  border-width: 1px;
  border-color: #1E0E0B;
  border-style: solid none;
  padding: 0.8em 0 0.9em 0;
  margin-bottom: 1em; }
  @media screen and (min-width: 765px) {
    .result-ttl {
      font-size: 36px; } }

.results {
  padding: 1.28205vw 0vw 1.28205vw 0vw; }
  @media screen and (min-width: 765px) {
    .results {
      padding: 10px 0px 10px 0px; } }

.result {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: solid 1px #BFBFBF; }
  .result__name {
    font-size: 4.10256vw;
    font-weight: 500;
    line-height: 1.4375;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 765px) {
      .result__name {
        font-size: 32px; } }
  .result__addr {
    font-size: 3.33333vw;
    line-height: 1.46153846; }
    @media screen and (min-width: 765px) {
      .result__addr {
        font-size: 26px; } }

.result-more {
  position: relative;
  width: 70vw;
  margin: auto; }
  @media screen and (min-width: 765px) {
    .result-more {
      width: 546px; } }
  .result-more__btn {
    z-index: 1;
    position: relative;
    font-size: 5.12821vw;
    font-weight: 700;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 70vw;
    height: 14.48718vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    border: 1px #1E0E0B solid;
    color: #1C0F0C !important; }
    @media screen and (min-width: 765px) {
      .result-more__btn {
        font-size: 40px; } }
    @media screen and (min-width: 765px) {
      .result-more__btn {
        width: 546px; } }
    @media screen and (min-width: 765px) {
      .result-more__btn {
        height: 113px; } }
  .result-more:after {
    z-index: 2;
    content: '';
    position: absolute;
    top: 40%;
    right: 0;
    margin: 0vw 3.84615vw 0vw 0vw;
    width: 2.05128vw;
    height: 2.05128vw;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border: 1px;
    border-color: #1C0F0C;
    border-style: none solid solid none; }
    @media screen and (min-width: 765px) {
      .result-more:after {
        margin: 0px 30px 0px 0px; } }
    @media screen and (min-width: 765px) {
      .result-more:after {
        width: 16px; } }
    @media screen and (min-width: 765px) {
      .result-more:after {
        height: 16px; } }

.mv {
  position: relative;
  background: #EDEDED; }
  .mv:before {
    content: '';
    width: 100%;
    height: 29.74359vw;
    background: #1E0E0B;
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    z-index: 1; }
    @media screen and (min-width: 765px) {
      .mv:before {
        height: 232px; } }
  .mv__mv {
    position: relative;
    z-index: 2; }

.top-inner {
  width: 90.12821vw;
  margin: 0vw auto 0vw auto; }
  @media screen and (min-width: 765px) {
    .top-inner {
      width: 703px; } }
  @media screen and (min-width: 765px) {
    .top-inner {
      margin: 0px auto 0px auto; } }

.top-ttl {
  margin-bottom: 3.07692vw;
  color: #fff; }
  @media screen and (min-width: 765px) {
    .top-ttl {
      margin-bottom: 24px; } }
  .top-ttl__en {
    font-size: 8.46154vw;
    font-family: "Poppins", sans-serif;
    font-weight: bold;
    line-height: 1; }
    @media screen and (min-width: 765px) {
      .top-ttl__en {
        font-size: 66px; } }
  .top-ttl__ja {
    font-size: 4.35897vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    font-weight: normal;
    line-height: 1; }
    @media screen and (min-width: 765px) {
      .top-ttl__ja {
        font-size: 34px; } }
  .top-ttl__s {
    font-size: 2.05128vw;
    line-height: 1;
    margin-left: 1em; }
    @media screen and (min-width: 765px) {
      .top-ttl__s {
        font-size: 16px; } }

.ttl-box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 3.84615vw;
  padding: 0 1em 0.3em 1em;
  line-height: 1.2;
  color: #fff;
  font-weight: normal;
  border: 1px solid #fff; }
  @media screen and (min-width: 765px) {
    .ttl-box {
      font-size: 30px; } }

.overview {
  margin-bottom: 8.97436vw;
  width: 100%;
  background: #1E0E0B; }
  @media screen and (min-width: 765px) {
    .overview {
      margin-bottom: 70px; } }
  .overview__wrap {
    margin-bottom: 3.20513vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (min-width: 765px) {
      .overview__wrap {
        margin-bottom: 25px; } }
  .overview__txt {
    font-size: 4.87179vw;
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    width: 58.70462vw;
    line-height: 1;
    padding-top: 1.02564vw; }
    @media screen and (min-width: 765px) {
      .overview__txt {
        font-size: 38px; } }
    @media screen and (min-width: 765px) {
      .overview__txt {
        width: 457.896px; } }
    @media screen and (min-width: 765px) {
      .overview__txt {
        padding-top: 8px; } }
    .overview__txt span {
      font-size: 3.84615vw;
      display: block;
      line-height: 1;
      letter-spacing: 0.1em; }
      @media screen and (min-width: 765px) {
        .overview__txt span {
          font-size: 30px; } }
  .overview__txt-s {
    font-size: 3.33333vw;
    font-weight: normal; }
    @media screen and (min-width: 765px) {
      .overview__txt-s {
        font-size: 26px; } }
    .overview__txt-s span {
      color: #CEBE7F; }
  .overview__wrap-txt {
    width: 60vw;
    color: #fff; }
    @media screen and (min-width: 765px) {
      .overview__wrap-txt {
        width: 468px; } }

.present {
  margin-bottom: 14.74359vw;
  width: 100%; }
  @media screen and (min-width: 765px) {
    .present {
      margin-bottom: 115px; } }
  .present__wrap {
    margin-bottom: 5.76923vw; }
    @media screen and (min-width: 765px) {
      .present__wrap {
        margin-bottom: 45px; } }
  .present__img {
    width: 100%; }

.company {
  padding: 10.25641vw 0vw 8.97436vw 0vw;
  width: 100%;
  background: #EDEDED; }
  @media screen and (min-width: 765px) {
    .company {
      padding: 80px 0px 70px 0px; } }
  .company .top-ttl {
    color: #1C0F0C; }
  .company__wrap {
    width: 100%;
    padding: 7.17949vw 0vw 0vw 0vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background-color: #fff;
    border: 1px solid #1E0E0B; }
    @media screen and (min-width: 765px) {
      .company__wrap {
        padding: 56px 0px 0px 0px; } }
  .company__wrap-s {
    width: 44.74359vw;
    margin-bottom: 7.17949vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (min-width: 765px) {
      .company__wrap-s {
        width: 349px; } }
    @media screen and (min-width: 765px) {
      .company__wrap-s {
        margin-bottom: 56px; } }
  .company img.icon1 {
    width: 15vw; }
    @media screen and (min-width: 765px) {
      .company img.icon1 {
        width: 117px; } }
  .company img.icon2 {
    width: 25vw; }
    @media screen and (min-width: 765px) {
      .company img.icon2 {
        width: 195px; } }
  .company img.icon3 {
    width: 25vw; }
    @media screen and (min-width: 765px) {
      .company img.icon3 {
        width: 195px; } }
  .company img.icon4 {
    width: 25vw; }
    @media screen and (min-width: 765px) {
      .company img.icon4 {
        width: 195px; } }
  .company img.icon5 {
    width: 28.46154vw; }
    @media screen and (min-width: 765px) {
      .company img.icon5 {
        width: 222px; } }
  .company img.icon6 {
    width: 25vw; }
    @media screen and (min-width: 765px) {
      .company img.icon6 {
        width: 195px; } }
  .company img.icon7 {
    width: 35vw; }
    @media screen and (min-width: 765px) {
      .company img.icon7 {
        width: 273px; } }
  .company img.icon8 {
    width: 24.27051vw; }
    @media screen and (min-width: 765px) {
      .company img.icon8 {
        width: 189.31px; } }
  .company img.icon9 {
    width: 35vw; }
    @media screen and (min-width: 765px) {
      .company img.icon9 {
        width: 273px; } }
  .company img.icon10 {
    width: 23.58974vw; }
    @media screen and (min-width: 765px) {
      .company img.icon10 {
        width: 184px; } }
  .company img.icon11 {
    width: 35vw; }
    @media screen and (min-width: 765px) {
      .company img.icon11 {
        width: 273px; } }
  .company img.icon12 {
    width: 21.47949vw; }
    @media screen and (min-width: 765px) {
      .company img.icon12 {
        width: 167.54px; } }
  .company img.icon13 {
    width: 34.90128vw; }
    @media screen and (min-width: 765px) {
      .company img.icon13 {
        width: 272.23px; } }
  .company img.icon14 {
    width: 22.99231vw; }
    @media screen and (min-width: 765px) {
      .company img.icon14 {
        width: 179.34px; } }

.search-top {
  padding: 0vw 0vw 8.97436vw 0vw;
  width: 100%;
  background: #EDEDED; }
  @media screen and (min-width: 765px) {
    .search-top {
      padding: 0px 0px 70px 0px; } }
  .search-top .top-ttl {
    color: #1C0F0C; }

.search-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 4.35897vw;
  height: 17.4359vw;
  margin-bottom: 1.92308vw;
  padding-left: 1em;
  width: 100%;
  font-weight: normal;
  color: #fff;
  text-decoration: none;
  background-color: #1E0E0B;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  @media screen and (min-width: 765px) {
    .search-link {
      font-size: 34px; } }
  @media screen and (min-width: 765px) {
    .search-link {
      height: 136px; } }
  @media screen and (min-width: 765px) {
    .search-link {
      margin-bottom: 15px; } }
  .search-link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    margin: -1.02564vw 6.66667vw 0vw 0vw;
    width: 2.13333vw;
    height: 2.13333vw;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-width: 1px;
    border-color: #fff;
    border-style: none solid solid none; }
    @media screen and (min-width: 765px) {
      .search-link:after {
        margin: -8px 52px 0px 0px; } }
    @media screen and (min-width: 765px) {
      .search-link:after {
        width: 16.63997px; } }
    @media screen and (min-width: 765px) {
      .search-link:after {
        height: 16.63997px; } }

.ec.is-open .ec__list {
  height: auto;
  opacity: 1;
  overflow: auto;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none; }

.ec.is-open .ec__ttl:after {
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  transform: rotate(225deg);
  margin: -0.51282vw 6.66667vw 0vw 0vw; }
  @media screen and (min-width: 765px) {
    .ec.is-open .ec__ttl:after {
      margin: -4px 52px 0px 0px; } }

.ec__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 4.35897vw;
  height: 17.4359vw;
  padding-left: 1em;
  width: 100%;
  font-weight: normal;
  color: #fff;
  text-decoration: none;
  background-color: #1E0E0B;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative; }
  @media screen and (min-width: 765px) {
    .ec__ttl {
      font-size: 34px; } }
  @media screen and (min-width: 765px) {
    .ec__ttl {
      height: 136px; } }
  .ec__ttl:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    margin: -1.02564vw 6.66667vw 0vw 0vw;
    width: 2.13333vw;
    height: 2.13333vw;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border-width: 1px;
    border-color: #fff;
    border-style: none solid solid none;
    -webkit-transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    -o-transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
    transition: all 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985); }
    @media screen and (min-width: 765px) {
      .ec__ttl:after {
        margin: -8px 52px 0px 0px; } }
    @media screen and (min-width: 765px) {
      .ec__ttl:after {
        width: 16.63997px; } }
    @media screen and (min-width: 765px) {
      .ec__ttl:after {
        height: 16.63997px; } }

.ec__list {
  width: 100%;
  margin: 0vw auto 0vw auto;
  background-color: #fff;
  border: 1px solid #1E0E0B;
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0);
  -webkit-transition: opacity 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985), -webkit-transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: opacity 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985), -webkit-transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  -o-transition: opacity 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985), transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: opacity 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985), transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985);
  transition: opacity 600ms cubic-bezier(0.04, 0.51, 0.155, 0.985), transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985), -webkit-transform 1500ms cubic-bezier(0.04, 0.51, 0.155, 0.985); }
  @media screen and (min-width: 765px) {
    .ec__list {
      margin: 0px auto 0px auto; } }

.ec__link {
  height: 64.10256vw;
  width: 80vw;
  margin: 0vw auto 0vw auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-bottom: 1px solid #EDEDED;
  text-decoration: none; }
  @media screen and (min-width: 765px) {
    .ec__link {
      height: 500px; } }
  @media screen and (min-width: 765px) {
    .ec__link {
      width: 624px; } }
  @media screen and (min-width: 765px) {
    .ec__link {
      margin: 0px auto 0px auto; } }

.ec img {
  margin-bottom: 7.69231vw; }
  @media screen and (min-width: 765px) {
    .ec img {
      margin-bottom: 60px; } }

.ec .ec-icon1 {
  width: 24.67436vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon1 {
      width: 192.46px; } }

.ec .ec-icon2 {
  width: 50vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon2 {
      width: 390px; } }

.ec .ec-icon3 {
  width: 50vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon3 {
      width: 390px; } }

.ec .ec-icon4 {
  width: 50.15769vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon4 {
      width: 391.23px; } }

.ec .ec-icon5 {
  width: 56.92308vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon5 {
      width: 444px; } }

.ec .ec-icon6 {
  width: 49.74359vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon6 {
      width: 388px; } }

.ec .ec-icon7 {
  width: 70vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon7 {
      width: 546px; } }

.ec .ec-icon8 {
  width: 49.05385vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon8 {
      width: 382.62px; } }

.ec .ec-icon9 {
  width: 70vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon9 {
      width: 546px; } }

.ec .ec-icon10 {
  width: 42.5641vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon10 {
      width: 332px; } }

.ec .ec-icon11 {
  width: 70vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon11 {
      width: 546px; } }

.ec .ec-icon12 {
  width: 41.57179vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon12 {
      width: 324.26px; } }

.ec .ec-icon13 {
  width: 70vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon13 {
      width: 546px; } }

.ec .ec-icon14 {
  width: 45.99103vw; }
  @media screen and (min-width: 765px) {
    .ec .ec-icon14 {
      width: 358.73px; } }

.ec__btn {
  font-size: 3.58974vw;
  height: 11.66667vw;
  width: 70vw;
  padding-bottom: 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
  background-color: #1E0E0B;
  border-radius: 999px;
  position: relative;
  line-height: 1; }
  @media screen and (min-width: 765px) {
    .ec__btn {
      font-size: 28px; } }
  @media screen and (min-width: 765px) {
    .ec__btn {
      height: 91px; } }
  @media screen and (min-width: 765px) {
    .ec__btn {
      width: 546px; } }
  .ec__btn:after {
    content: '';
    width: 4.37179vw;
    height: 4.37179vw;
    background-image: url("../img/btn-icon.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 0;
    margin: -2.17949vw 5.76923vw auto auto; }
    @media screen and (min-width: 765px) {
      .ec__btn:after {
        width: 34.1px; } }
    @media screen and (min-width: 765px) {
      .ec__btn:after {
        height: 34.1px; } }
    @media screen and (min-width: 765px) {
      .ec__btn:after {
        margin: -17px 45px auto auto; } }

.products {
  padding: 0vw 0vw 12.82051vw 0vw;
  width: 100%;
  background: #EDEDED; }
  @media screen and (min-width: 765px) {
    .products {
      padding: 0px 0px 100px 0px; } }
  .products .top-ttl {
    color: #1C0F0C; }
  .products__wrap {
    width: 100%;
    margin: 0vw auto 0vw auto;
    padding: 1.28205vw 0vw 0vw 0vw;
    background-color: #fff;
    border: 1px solid #1E0E0B; }
    @media screen and (min-width: 765px) {
      .products__wrap {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 765px) {
      .products__wrap {
        padding: 10px 0px 0px 0px; } }
  .products__wrap-s {
    width: 83.33333vw;
    margin: 0vw auto 0vw auto;
    padding: 0vw 0vw 3.84615vw 0vw;
    border-bottom: 1px solid #EDEDED; }
    @media screen and (min-width: 765px) {
      .products__wrap-s {
        width: 650px; } }
    @media screen and (min-width: 765px) {
      .products__wrap-s {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 765px) {
      .products__wrap-s {
        padding: 0px 0px 30px 0px; } }
    .products__wrap-s:nth-child(3) {
      border-bottom: none; }
  .products__ttl {
    font-size: 4.35897vw;
    margin-left: 3.84615vw;
    font-weight: bold;
    line-height: 1.352941176;
    padding: 4.48718vw 0vw 1.28205vw 0vw;
    position: relative; }
    @media screen and (min-width: 765px) {
      .products__ttl {
        font-size: 34px; } }
    @media screen and (min-width: 765px) {
      .products__ttl {
        margin-left: 30px; } }
    @media screen and (min-width: 765px) {
      .products__ttl {
        padding: 35px 0px 10px 0px; } }
    .products__ttl:before {
      content: '';
      width: 1.92308vw;
      height: 1.92308vw;
      background-color: #1E0E0B;
      position: absolute;
      top: 50%;
      left: 0;
      margin: 0.96154vw auto auto -3.84615vw; }
      @media screen and (min-width: 765px) {
        .products__ttl:before {
          width: 15px; } }
      @media screen and (min-width: 765px) {
        .products__ttl:before {
          height: 15px; } }
      @media screen and (min-width: 765px) {
        .products__ttl:before {
          margin: 7.5px auto auto -30px; } }
  .products__txt {
    font-size: 3.33333vw;
    line-height: 1.5;
    font-weight: normal; }
    @media screen and (min-width: 765px) {
      .products__txt {
        font-size: 26px; } }
  .products__wrap-cl {
    padding: 5.12821vw 0vw 1.28205vw 0vw;
    margin: 5.12821vw auto 0vw auto;
    background-color: #CEBE7F; }
    @media screen and (min-width: 765px) {
      .products__wrap-cl {
        padding: 40px 0px 10px 0px; } }
    @media screen and (min-width: 765px) {
      .products__wrap-cl {
        margin: 40px auto 0px auto; } }
    .products__wrap-cl .products__wrap-s {
      border-bottom: none; }
  .products__copy {
    font-size: 3.84615vw;
    margin-bottom: 1.28205vw;
    font-weight: bold; }
    @media screen and (min-width: 765px) {
      .products__copy {
        font-size: 30px; } }
    @media screen and (min-width: 765px) {
      .products__copy {
        margin-bottom: 10px; } }
  .products__txt-s {
    font-size: 2.82051vw;
    font-weight: normal; }
    @media screen and (min-width: 765px) {
      .products__txt-s {
        font-size: 22px; } }

.flow {
  padding: 12.17949vw 0vw 12.82051vw 0vw; }
  @media screen and (min-width: 765px) {
    .flow {
      padding: 95px 0px 100px 0px; } }
  .flow__wrap {
    width: 90vw;
    padding: 9.61538vw 0vw 8.33333vw 0vw;
    margin: 0vw auto 19.23077vw auto;
    border: 1px solid #707070;
    position: relative; }
    @media screen and (min-width: 765px) {
      .flow__wrap {
        width: 702px; } }
    @media screen and (min-width: 765px) {
      .flow__wrap {
        padding: 75px 0px 65px 0px; } }
    @media screen and (min-width: 765px) {
      .flow__wrap {
        margin: 0px auto 150px auto; } }
    .flow__wrap:after {
      content: '';
      width: 4.13077vw;
      height: 4.13077vw;
      border-width: 1px;
      border-color: #fff;
      border-style: none solid solid none;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      bottom: 0;
      left: 50%;
      margin: auto auto -11.53846vw -2.05128vw; }
      @media screen and (min-width: 765px) {
        .flow__wrap:after {
          width: 32.22px; } }
      @media screen and (min-width: 765px) {
        .flow__wrap:after {
          height: 32.22px; } }
      @media screen and (min-width: 765px) {
        .flow__wrap:after {
          margin: auto auto -90px -16px; } }
    .flow__wrap:nth-child(3) {
      padding-top: 23.07692vw; }
      @media screen and (min-width: 765px) {
        .flow__wrap:nth-child(3) {
          padding-top: 180px; } }
    .flow__wrap:nth-child(4) {
      padding-top: 14.74359vw;
      margin-bottom: 0vw; }
      @media screen and (min-width: 765px) {
        .flow__wrap:nth-child(4) {
          padding-top: 115px; } }
      @media screen and (min-width: 765px) {
        .flow__wrap:nth-child(4) {
          margin-bottom: 0px; } }
      .flow__wrap:nth-child(4):after {
        display: none; }
  .flow .flow-icon1 {
    width: 29.09231vw;
    margin: 0vw auto 6.41026vw auto;
    display: block; }
    @media screen and (min-width: 765px) {
      .flow .flow-icon1 {
        width: 226.92px; } }
    @media screen and (min-width: 765px) {
      .flow .flow-icon1 {
        margin: 0px auto 50px auto; } }
  .flow__no {
    font-size: 4.61538vw;
    font-weight: bold;
    line-height: 1.277777778;
    text-align: center;
    color: #fff;
    display: block; }
    @media screen and (min-width: 765px) {
      .flow__no {
        font-size: 36px; } }
  .flow__ja {
    font-size: 4.10256vw;
    margin-bottom: 3.20513vw;
    font-weight: normal;
    line-height: 1.4375;
    color: #fff;
    text-align: center;
    display: block; }
    @media screen and (min-width: 765px) {
      .flow__ja {
        font-size: 32px; } }
    @media screen and (min-width: 765px) {
      .flow__ja {
        margin-bottom: 25px; } }
  .flow__wrap-s {
    width: 80vw;
    padding-bottom: 5.12821vw;
    margin: 0vw auto 0vw auto;
    background-color: #fff; }
    @media screen and (min-width: 765px) {
      .flow__wrap-s {
        width: 624px; } }
    @media screen and (min-width: 765px) {
      .flow__wrap-s {
        padding-bottom: 40px; } }
    @media screen and (min-width: 765px) {
      .flow__wrap-s {
        margin: 0px auto 0px auto; } }
  .flow__note {
    font-size: 3.97436vw;
    margin-bottom: 4.48718vw;
    padding: 0.7em 0;
    background-color: #EDEDED;
    font-weight: normal;
    line-height: 1;
    text-align: center; }
    @media screen and (min-width: 765px) {
      .flow__note {
        font-size: 31px; } }
    @media screen and (min-width: 765px) {
      .flow__note {
        margin-bottom: 35px; } }
  .flow__body {
    font-size: 3.84615vw;
    margin-bottom: 4.48718vw;
    line-height: 1.5;
    text-align: center; }
    @media screen and (min-width: 765px) {
      .flow__body {
        font-size: 30px; } }
    @media screen and (min-width: 765px) {
      .flow__body {
        margin-bottom: 35px; } }
  .flow__color {
    color: #D71A18;
    font-weight: bold; }
  .flow .flow-img {
    width: 71.5859vw;
    margin: 0vw auto 0vw auto;
    display: block; }
    @media screen and (min-width: 765px) {
      .flow .flow-img {
        width: 558.37px; } }
    @media screen and (min-width: 765px) {
      .flow .flow-img {
        margin: 0px auto 0px auto; } }
  .flow__body-s {
    font-size: 3.33333vw;
    width: 70vw;
    margin: 5.12821vw auto 0vw auto;
    line-height: 1.5; }
    @media screen and (min-width: 765px) {
      .flow__body-s {
        font-size: 26px; } }
    @media screen and (min-width: 765px) {
      .flow__body-s {
        width: 546px; } }
    @media screen and (min-width: 765px) {
      .flow__body-s {
        margin: 40px auto 0px auto; } }
  .flow__link {
    font-size: 3.84615vw;
    width: 44.10256vw;
    display: block;
    margin: 0vw auto 10.25641vw auto;
    padding: 0.9em 0.5em;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #5485A6;
    position: relative; }
    @media screen and (min-width: 765px) {
      .flow__link {
        font-size: 30px; } }
    @media screen and (min-width: 765px) {
      .flow__link {
        width: 344px; } }
    @media screen and (min-width: 765px) {
      .flow__link {
        margin: 0px auto 80px auto; } }
    .flow__link:after {
      content: '';
      width: 0.96667vw;
      height: 0.96667vw;
      border-width: 1px;
      border-color: #fff;
      border-style: none solid solid none;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      position: absolute;
      top: 50%;
      right: 0;
      margin: -0.38462vw 3.84615vw auto auto; }
      @media screen and (min-width: 765px) {
        .flow__link:after {
          width: 7.54px; } }
      @media screen and (min-width: 765px) {
        .flow__link:after {
          height: 7.54px; } }
      @media screen and (min-width: 765px) {
        .flow__link:after {
          margin: -3px 30px auto auto; } }
  .flow .flow-check {
    width: 22.05128vw;
    height: 22.05128vw;
    margin: 0vw auto 8.97436vw auto;
    display: block; }
    @media screen and (min-width: 765px) {
      .flow .flow-check {
        width: 172px; } }
    @media screen and (min-width: 765px) {
      .flow .flow-check {
        height: 172px; } }
    @media screen and (min-width: 765px) {
      .flow .flow-check {
        margin: 0px auto 70px auto; } }

.rule {
  padding: 8.33333vw 0vw 10vw 0vw;
  width: 100%;
  background: #EDEDED; }
  @media screen and (min-width: 765px) {
    .rule {
      padding: 65px 0px 78px 0px; } }
  .rule .top-ttl {
    color: #1C0F0C; }
  .rule__wrap {
    height: 103.46154vw;
    width: 100%;
    margin: 0vw auto 0vw auto;
    padding: 4.48718vw 3.84615vw 4.48718vw 3.84615vw;
    background-color: #fff;
    border: 1px solid #1E0E0B;
    overflow: scroll; }
    @media screen and (min-width: 765px) {
      .rule__wrap {
        height: 807px; } }
    @media screen and (min-width: 765px) {
      .rule__wrap {
        margin: 0px auto 0px auto; } }
    @media screen and (min-width: 765px) {
      .rule__wrap {
        padding: 35px 30px 35px 30px; } }
  .rule__body {
    font-size: 3.33333vw;
    white-space: pre-wrap;
    font-weight: normal;
    line-height: 1.769230769; }
    @media screen and (min-width: 765px) {
      .rule__body {
        font-size: 26px; } }
