@charset "UTF-8";
@font-face {
  font-family: 'Futura Std';
  src: url("../fonts/FuturaStd-Bold.woff2") format("woff2"), url("../fonts/FuturaStd-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

html {
  font-size: 10px;
}

body {
  overflow-wrap: break-word;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
  text-decoration: none;
  color: #000;
}

a:hover {
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -ms-filter: 'alpha(opacity=80)';
  opacity: 0.8;
}

a {
  color: #000;
  -webkit-transition: opacity 0.3s ease-out;
  -moz-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  width: auto;
  height: auto;
}

ul,
ol,
li {
  list-style: none;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
nav,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

ul,
ol,
li {
  list-style: none;
}

body,
td,
th,
input,
textarea {
  color: #324441;
  font-family: "Noto Sans JP", serif;
  font-size: 1.4rem;
  line-height: 1.42857;
  font-weight: 500;
}

* {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

figure,
picture {
  line-height: 0;
}

picture {
  display: block;
}

html,
body {
  width: 100%;
  height: 100%;
}

.container {
  overflow: hidden;
}

@media screen and (min-width: 769px), print {
  a[href^='tel'] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .row {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
  .container {
    overflow: hidden;
    min-width: 1100px;
  }
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .header {
    -moz-background-size: contain;
         background-size: contain;
    min-width: 1100px;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 19px 45px;
  }
  .header__logo {
    line-height: 0;
  }
  .header__logo a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 0;
    width: 100%;
    height: 100%;
  }
  .header__logo a img {
    width: 93px;
    height: auto;
  }
  .footer {
    width: 100%;
    overflow: hidden;
    padding: 30px 0 18px;
  }
  .footer__nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__nav li a {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .footer__nav li + li a {
    position: relative;
  }
  .footer__nav li + li a:before {
    content: '｜';
    display: inline-block;
  }
  .footer__copy {
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #949494;
    margin-top: 18px;
  }
  .top .mv {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: url("../img/mvBg.png") 0 0 no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    line-height: 0;
    text-align: center;
    padding: 32px 0 62px;
  }
  /*.top .mv::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 162.5px;
    background: url("../img/mvHouse.webp") 0 0 repeat-x;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    left: 0;
    bottom: 0;
    z-index: 2;
  }
  .top .mv__logo {
    position: absolute;
    width: 182.5px;
    line-height: 0;
    display: inline-block;
    top: 28px;
    left: 32px;
  }
  .top .mv__logo a {
    display: block;
    line-height: 0;
    width: 100%;
  }
  .top .mv__logo a img {
    width: 100%;
    height: auto;
  }*/
  .top .mv picture {
    width: 100%;
  }
  .top .mv picture img {
    max-width: 974.5px;
    width: 100%;
    height: auto;
  }
  .top .rank {
    padding: 50px 0 80px;
  }
  .top .rank__tt {
    text-align: center;
    margin-bottom: 36px;
  }
  .top .rank__tt span {
    position: relative;
  }
  .top .rank__tt span:before {
    content: '';
    width: 32px;
    height: 64px;
    background: url("../img/ic_line.svg") center/contain no-repeat;
    position: absolute;
    top: -30px;
    left: -45px;
  }
  .top .rank__tt span:after {
    content: '';
    width: 32px;
    height: 64px;
    background: url("../img/ic_line02.svg") center/contain no-repeat;
    position: absolute;
    top: -30px;
    right: -35px;
  }
  .top .rank__tt small {
    font-size: 3rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    margin-right: 9px;
  }
  .top .rank__tt small:before {
    content: attr(data-sub);
    font-size: 2rem;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #b7c2c0;
    font-family: "Futura Std";
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .rank__tt em {
    font-style: normal;
    font-family: "Futura Std";
    color: #de9f20;
    font-size: 7rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    top: 3px;
  }
  .top .rank__wrap {
    max-width: 1200px;
    margin: 0 auto;
    -moz-border-radius: 160px;
         border-radius: 160px;
    background: #f5f5f5;
  }
  .top .rank .row {
    padding-top: 75px;
    padding-bottom: 60px;
    max-width: 890px;
  }
  .top .rank .table .thead {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
    gap: 9.6px;
    padding-left: 135px;
    margin-bottom: 9px;
    position: relative;
    z-index: 1;
  }
  .top .rank .table .thead .th {
    text-align: center;
    -webkit-filter: drop-shadow(0 0 1.66px #eaeaea);
            filter: drop-shadow(0 0 1.66px #eaeaea);
  }
  .top .rank .table .thead .crown {
    margin-bottom: 9px;
  }
  .top .rank .table .thead .logo {
    background: #fff;
    padding: 14px 7px;
    -moz-border-radius: 8px;
         border-radius: 8px;
  }
  .top .rank .table .thead .logo img {
    padding: 0 8px;
  }
  .top .rank .table .thead .logo figcaption {
    font-size: 1.5rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-top: 4px;
    white-space: nowrap;
  }
  .top .rank .table .tbody {
    -webkit-filter: drop-shadow(0 0 1.66px #eaeaea);
            filter: drop-shadow(0 0 1.66px #eaeaea);
  }
  .top .rank .table .tbody .tr {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 9.6px;
  }
  .top .rank .table .tbody .tr:first-child .th {
    -moz-border-radius: 8px 8px 0 0;
         border-radius: 8px 8px 0 0;
  }
  .top .rank .table .tbody .tr:first-child .td {
    -moz-border-radius: 8px 8px 0 0;
         border-radius: 8px 8px 0 0;
  }
  .top .rank .table .tbody .tr:last-child .th {
    -moz-border-radius: 0 0 8px 8px;
         border-radius: 0 0 8px 8px;
    border-bottom: none;
  }
  .top .rank .table .tbody .tr .th {
    width: 125px;
    background: #1C4E67;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #fff;
    font-weight: bold;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 78px;
    border-bottom: 1px solid #deeae8;
  }
  .top .rank .table .tbody .tr .th--custom {
    position: relative;
  }
  .top .rank .table .tbody .tr .th--custom:after {
    content: '※';
    position: absolute;
    top: 6px;
    right: 6px;
    font-size: 1.3rem;
    line-height: 1;
  }
  .top .rank .table .tbody .tr .td {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-bottom: 1px solid #bbcbc9;
    font-size: 1.9rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .top .rank .table .tbody .tr .td img {
    width: 32px;
  }
  .top .rank .table .tbody .tr .td span {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-top: 5px;
    font-weight: 500;
  }
  .top .rank .table .tbody .tr .td small {
    font-size: 1rem;
    line-height: 1.3;
    margin-top: 5px;
    font-weight: 500;
  }
  .top .rank .table .tbody .tr .td .wrapStar {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .rank .table .tbody .tr .td .wrapStar::after {
    content: attr(data-num);
    font-size: 19.2px;
    line-height: 1;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #DE9F20;
    display: inline-block;
    margin-top: 3px;
  }
  .top .rank .table .tbody .tr .td .wrapStar[data-num="5"]::after {
    font-size: 23px;
    line-height: 1;
  }
  .top .rank .table .tbody .tr .td .star {
    width: 102px;
    height: 18px;
    background-position: center;
    -moz-background-size: contain;
         background-size: contain;
    background-repeat: no-repeat;
    margin: 0 !important;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    background: url("../img/starBrown.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    line-height: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .rank .table .tbody .tr .td .star_inner {
    display: inline-block;
    height: 100%;
    background: url("../img/star5.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    margin-top: 0;
  }
  .top .rank .table .tbody .tr .td .star5 {
    background-image: url("../img/star5.webp");
  }
  .top .rank .table .tbody .tr .td .star45 {
    background-image: url("../img/star45.webp");
  }
  .top .rank .table .tbody .tr .td .star42 {
    background-image: url("../img/star42.webp");
  }
  .top .rank .table .tbody .tr .td .star35 {
    background-image: url("../img/star35.webp");
  }
  .top .rank .table .tbody .tr .td .star3 {
    width: 117px;
    background-image: url("../img/star3.webp");
  }
  .top .rank .table .tfoot {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
    gap: 9.6px;
    padding-left: 135px;
    position: relative;
  }
  .top .rank .table .tfoot .td {
    text-align: center;
    min-height: 78px;
    background: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -moz-border-radius: 0 0 8px 8px;
         border-radius: 0 0 8px 8px;
  }
  .top .rank .table .tfoot .td a {
    background: -webkit-gradient(linear, left top, left bottom, from(#ffb567), to(#f95d3f));
    background: -webkit-linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: -moz- oldlinear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    -moz-box-shadow: 0 2px 0 #ca3b1f;
         box-shadow: 0 2px 0 #ca3b1f;
    width: 124px;
    height: 45px;
    -moz-border-radius: 5px;
         border-radius: 5px;
    font-size: 1.3rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
  }
  .top .rank .table .tfoot .td a:after {
    content: '';
    width: 6px;
    height: 9px;
    background: url("../img/ic_arr.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto;
  }
  .top .rank .note {
    text-align: right;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.05em;
    color: #949494;
    margin-top: 15px;
  }
  .top .know {
    background: #1C4E67;
    padding: 67px 0 48px;
  }
  .top .know__tt {
    text-align: center;
    color: #fff;
    font-size: 4rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 24px;
    position: relative;
  }
  .top .know__tt:before {
    content: '';
    width: 194px;
    height: 148px;
    background: url("../img/know_bg01.webp") center/contain no-repeat;
    position: absolute;
    top: -17px;
    left: 40px;
  }
  .top .know__tt:after {
    content: '';
    width: 237px;
    height: 166px;
    background: url("../img/know_bg02.webp") center/contain no-repeat;
    position: absolute;
    top: -28px;
    right: 16px;
  }
  .top .know__tt span {
    color: #fce300;
  }
  .top .know-chart__tt {
    text-align: center;
    margin-bottom: -28px;
    position: relative;
  }
  .top .know-chart__tt span {
    display: inline-block;
    -moz-border-radius: 50px;
         border-radius: 50px;
    font-size: 3rem;
    line-height: 1.4;
    color: #1C4E67;
    font-weight: bold;
    padding: 4px 60px;
    border: 5px solid #1C4E67;
    background: #fff;
    min-width: 431px;
  }
  .top .know-chart figure {
    -moz-box-shadow: 0 4px 14px rgba(10, 68, 59, 0.3);
         box-shadow: 0 4px 14px rgba(10, 68, 59, 0.3);
    -moz-border-radius: 82px;
         border-radius: 82px;
    overflow: hidden;
  }
  .top .know__bot {
    max-width: 790px;
    margin: 21px auto 0;
  }
  .top .know h4 {
    text-align: center;
    font-size: 4rem;
    line-height: 1.4;
    font-weight: bold;
    color: #fff;
  }
  .top .know h4 span {
    color: #fce300;
  }
  .top .know h4 em {
    font-style: normal;
    font-size: 5rem;
    line-height: 1.4;
  }
  .top .know h4 sup {
    font-size: 1.4rem;
    line-height: 1;
    color: #fff;
    position: relative;
    top: -24px;
  }
  .top .know p.note {
    text-align: right;
    font-size: 1rem;
    line-height: 1.4;
    color: #cfe0dd;
    margin-top: 16px;
  }
  .top .step {
    background: #f7fff8;
    padding: 77px 0 151px;
    position: relative;
  }
  .top .step:after {
    content: '';
    width: 100%;
    height: 141px;
    background: url("../img/step_bg.webp") 0 0 repeat-x;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .top .step__tt {
    text-align: center;
    font-size: 5rem;
    line-height: 1.3;
    font-weight: 900;
    margin-bottom: 71px;
  }
  .top .step__tt span {
    font-size: 7.6rem;
    line-height: 1;
    color: #eb557a;
  }
  .top .step__tt em {
    font-style: normal;
    position: relative;
  }
  .top .step__tt em:before {
    content: '';
    width: 210px;
    height: 8px;
    background: url("../img/ic_dot.webp") center/contain no-repeat;
    position: absolute;
    top: 0;
    left: 22px;
  }
  .top .step-box {
    margin-top: 131px;
    background: #fff;
    -moz-border-radius: 50px;
         border-radius: 50px;
    padding: 34px 42px 39px 44px;
    -moz-box-shadow: 0 4px 14px rgba(28, 103, 90, 0.2);
         box-shadow: 0 4px 14px rgba(28, 103, 90, 0.2);
    position: relative;
  }
  .top .step-box:before {
    content: '';
    width: 180px;
    height: 103px;
    background: url("../img/ic_arr.webp") center/contain no-repeat;
    position: absolute;
    bottom: -webkit-calc(100% - -28px);
    bottom: -moz-calc(100% - -28px);
    bottom: calc(100% - -28px);
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .step-box:after {
    content: '';
    width: 299px;
    height: 137px;
    background: url("../img/step_bg02.webp") center/contain no-repeat;
    position: absolute;
    top: -46px;
    right: 40px;
  }
  .top .step-box .top {
    font-size: 3.5rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .top .step-box .top span {
    color: #f95d3f;
  }
  .top .step-box .middle {
    font-size: 3.5rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-top: 21px;
  }
  .top .step-box .middle span {
    margin-right: 9px;
    background: #1C4E67;
    -moz-border-radius: 13px;
         border-radius: 13px;
    color: #fff;
    padding: 0px 12px 5px;
    display: inline-block;
  }
  .top .step-box .bot {
    margin-top: 22px;
  }
  .top .step-box .bot span {
    display: inline-block;
    font-size: 2.6rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: #efff3d;
    padding: 0 5px;
  }
  .top .flow {
    padding: 78px 0 100px;
  }
  .top .flow__tt {
    text-align: center;
    font-size: 4rem;
    line-height: 1.3;
    font-weight: 800;
    margin-bottom: 42px;
  }
  .top .flow__tt span {
    color: #f95d3f;
  }
  .top .flow-box {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    /*-webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;*/
    /*margin-bottom: 78px;*/
  }
  .top .flow-box .flow-box--left {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-right: 34px;
    padding-top: 36px;
  }
  .top .flow-box .flow-box--left p {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .flow-box .flow-box--left dl {

  }
  .top .flow-box .flow-box--left dl dt {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .flow-box .flow-box--left dl dd ul li {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
    list-style-type: disc;
    list-style-position: inside;
  }
  .top .flow-box figure {
    width: 348px;
    text-align: center;
  }
  .top .flow-box figure img {
    -moz-box-shadow: 0 0 20px rgba(28, 103, 90, 0.24);
         box-shadow: 0 0 20px rgba(28, 103, 90, 0.24);
    -moz-border-radius: 90px;
         border-radius: 90px;
  }
  .top .flow-box figure figcaption {
    font-size: 1.2rem;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-top: 15px;
  }
  .top .flow__tt02 {
    text-align: center;
    margin-bottom: 60px;
  }
  .top .flow__tt02 small {
    display: block;
    font-size: 3.2rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 13px;
  }
  .top .flow__tt02 span {
    background: #f95d3f;
    display: inline-block;
    color: #fff;
    font-size: 5.1rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 13px 19px;
    -moz-border-radius: 15px;
         border-radius: 15px;
  }
  .top .flow .box-list figure {
    -moz-border-radius: 0;
         border-radius: 0;
    min-height: 283px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .flow .box-list__tt {
    margin-bottom: 15px;
  }
  .top .contractor {
    background: #eaf7f5;
    padding: 80px 0 170px;
    position: relative;
  }
  .top .contractor:after {
    content: '';
    width: 100%;
    height: 141px;
    background: url("../img/contractor_bg.webp") bottom repeat-x;
    background-size: auto 100%;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .top .contractor__tt {
    text-align: center;
    background: -webkit-linear-gradient(95deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    background: -moz- oldlinear-gradient(95deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    background: linear-gradient(-5deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    font-size: 4rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #fff;
    -moz-border-radius: 60px;
         border-radius: 60px;
    padding: 38px;
    position: relative;
    margin-bottom: 40px;
  }
  .top .contractor__tt:after {
    content: '';
    width: 142px;
    height: 142px;
    background: url("../img/ic_search.svg") center/contain repeat-x;
    position: absolute;
    top: 30px;
    right: 88px;
  }
  .top .contractor__tt span {
    color: #fcdc56;
  }
  .top .contractor-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    counter-reset: number;
  }
  .top .contractor-item {
    width: 485px;
    background: #fff;
    -moz-border-radius: 90px;
         border-radius: 90px;
    border: 10px solid #e5f1e9;
    padding: 40px 28px 46px;
  }
  .top .contractor-item__tt {
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 41px;
  }
  .top .contractor-item__tt small {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #1C4E67;
    position: relative;
  }
  .top .contractor-item__tt small:before {
    content: '';
    width: 14px;
    height: 25px;
    background: url("../img/ic_line.webp") center/contain no-repeat;
    position: absolute;
    left: -24px;
    top: 5px;
  }
  .top .contractor-item__tt small:after {
    content: '';
    width: 14px;
    height: 25px;
    background: url("../img/ic_line.webp") center/contain no-repeat;
    position: absolute;
    right: -17px;
    top: 5px;
    -webkit-transform: scaleX(-1);
       -moz-transform: scaleX(-1);
        -ms-transform: scaleX(-1);
            transform: scaleX(-1);
  }
  .top .contractor-item__tt span {
    font-size: 3.2rem;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 800;
    color: #1C4E67;
    text-decoration: underline;
    -webkit-text-decoration-color: #fcdc56;
       -moz-text-decoration-color: #fcdc56;
            text-decoration-color: #fcdc56;
    text-decoration-thickness: 5px;
    text-underline-offset: 9px;
  }
  .top .contractor-item__img {
    margin-bottom: 21px;
    text-align: center;
  }
  .top .contractor-item__img img {
    width: auto;
    height: 245px;
  }
  .top .contractor-item p {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .contractor-item p span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .contractor-item p span.custom {
    color: #eb557a;
    background: none;
  }
  .top .contractor-item:first-child {
    width: 100%;
    margin-bottom: 30px;
    padding: 40px 40px 42px;
  }
  .top .contractor-item:first-child p {
    line-height: 1.7;
  }
  .top .contractor-item:nth-child(2) .contractor-item__tt {
    margin-bottom: 25px;
  }
  .top .contractor-item:nth-child(3) .contractor-item__tt {
    margin-bottom: 48px;
  }
  .top .contractor-item:nth-child(3) .contractor-item__img img {
    height: 271px;
  }
  .top .contractor-list02 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    counter-reset: number02;
    margin-bottom: 20px;
  }
  .top .contractor-list02__item {
    -moz-border-radius: 50px;
         border-radius: 50px;
    background: #fff;
    -moz-box-shadow: 0 0 10px rgba(28, 103, 90, 0.15);
         box-shadow: 0 0 10px rgba(28, 103, 90, 0.15);
    padding: 15px 0 18px;
  }
  .top .contractor-list02__item span {
    display: block;
    text-align: center;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    position: relative;
  }
  .top .contractor-list02__item span:before {
    counter-increment: number02;
    content: counter(number02);
    width: 41px;
    height: 41px;
    background: #499386;
    color: #fff;
    -moz-border-radius: 50%;
         border-radius: 50%;
    margin-bottom: 8px;
    font-family: "Futura Std";
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 8px;
  }
  .top .contractor-list02__item figure {
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 119px;
    margin-top: 22px;
  }
  .top .contractor-list02__item figure img {
    width: auto;
    height: 114px;
  }
  .top .contractor-dl {
    margin-top: 39px;
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: 1px dashed #a9c8c2;
  }
  .top .contractor-dl + .contractor-dl {
    margin-top: 0;
  }
  .top .contractor-dl dt {
    display: block;
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    position: relative;
  }
  .top .contractor-dl dt:before {
    counter-increment: number;
    content: counter(number);
    width: 27px;
    height: 27px;
    background: #499386;
    color: #fff;
    -moz-border-radius: 50%;
         border-radius: 50%;
    margin-bottom: 8px;
    font-family: "Futura Std";
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 8px;
    font-size: 1.8rem;
    line-height: 1;
    padding-top: 1.5px;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  .top .contractor-dl dd {
    font-size: 1.6rem;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .contractor-dl dd span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .contractor-dl dd span.custom {
    color: #eb557a;
    background: none;
  }
  .top .contractor__stt {
    text-align: center;
    font-size: 3.2rem;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .top .contractor__stt span {
    color: #f95d3f;
    font-size: 4.2rem;
    line-height: 1.3;
    font-weight: 900;
    display: inline-block;
    border-bottom: 2px solid #f95d3f;
    position: relative;
    top: 2px;
  }
  .top .company {
    padding: 0 0 80px;
  }
  .top .company__tt {
    text-align: center;
    margin-bottom: 73px;
  }
  .top .company__tt small {
    display: block;
    font-size: 3rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 14px;
  }
  .top .company__tt small em {
    font-style: normal;
    -moz-border-radius: 9px;
         border-radius: 9px;
    background: #f95d3f;
    font-size: 2.6rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    padding: 0px 10px 3px;
    display: inline-block;
    margin-right: 5px;
  }
  .top .company__tt span {
    display: block;
    font-size: 4.6rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.05em;
  }
  .top .company__tt span em {
    font-style: normal;
    color: #de9f20;
    font-family: "Futura Std";
    font-size: 5.6rem;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    top: 5px;
  }
  .top .company-search__form {
    -moz-box-shadow: 0 0 14px rgba(28, 103, 90, 0.2);
         box-shadow: 0 0 14px rgba(28, 103, 90, 0.2);
    -moz-border-radius: 0 0 70px 70px;
         border-radius: 0 0 70px 70px;
    padding-bottom: 27px;
    margin-bottom: 74px;
  }
  .top .company-search__tt {
    -moz-border-radius: 70px;
         border-radius: 70px;
    background: #1C4E67;
    font-size: 2.8rem;
    line-height: 1.6;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 9px 10px;
    position: relative;
    top: -30px;
    margin-bottom: -30px;
  }
  .top .company-search__table {
    margin: 25px 29px 23px;
    border: 1px solid #dedede;
    -moz-border-radius: 20px;
         border-radius: 20px;
    overflow: hidden;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .company-search__col {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    border-right: 1px solid #dedede;
  }
  .top .company-search__col:last-child {
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 0 330px;
            flex: 0 0 330px;
    border-right: none;
  }
  .top .company-search__th {
    background: #ededed;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 10px 10px;
    border-bottom: 1px solid #dedede;
  }
  .top .company-search__td {
    padding: 14px 21px;
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
    height: 100%;
  }
  .top .company-search .radio {
    display: block;
  }
  .top .company-search .radio.custom {
    text-align: center;
  }
  .top .company-search .radio + .radio {
    margin-top: 10px;
  }
  .top .company-search .radio input {
    display: none;
  }
  .top .company-search .radio input:checked + span:before {
    background: #324441;
    outline-color: #324441;
  }
  .top .company-search .radio span {
    position: relative;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .company-search .radio span:before {
    content: '';
    width: 7px;
    height: 7px;
    -moz-border-radius: 50%;
         border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    background: #ededed;
    border: 5px solid #fff;
    outline: 1px solid #ededed;
  }
  .top .company-search .checkbox {
    display: block;
  }
  .top .company-search .checkbox.custom {
    text-align: center;
  }
  .top .company-search .checkbox input {
    display: none;
  }
  .top .company-search .checkbox input:checked + span:before {
    background: #324441;
    outline-color: #324441;
  }
  .top .company-search .checkbox span {
    position: relative;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .top .company-search .checkbox span:before {
    content: '';
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 7px;
    height: 7px;
    -moz-border-radius: 4px;
         border-radius: 4px;
    display: inline-block;
    margin-right: 8px;
    background: transparent;
    border: 5px solid #fff;
    outline: 1px solid #ededed;
    vertical-align: middle;
    position: relative;
    top: 3px;
  }
  .top .company-search .checkbox-gr {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 10.5px 20px;
  }
  .top .company-search__group {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .company-search__group .reset {
    width: 273px;
    height: 53px;
    margin-right: 10px;
    border: 3px solid #1C4E67;
    -moz-border-radius: 70px;
         border-radius: 70px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #fff;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .top .company-search__group .reset:hover {
    opacity: 0.7;
  }
  .top .company-search__group .submit {
    width: 348px;
    height: 53px;
    -moz-border-radius: 70px;
         border-radius: 70px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #f95d3f;
    color: #fff;
    border: none;
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    position: relative;
  }
  .top .company-search__group .submit:after {
    content: '';
    width: 19px;
    height: 19px;
    background: url("../img/ic_search02.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 31px;
    margin: auto;
  }
  .top .company-search__group .submit:hover {
    opacity: 0.7;
  }
  .top .company-search__content .date {
    text-align: right;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #9f9f9f;
    margin-bottom: 13px;
  }
  .top .company-search .block {
    -moz-border-radius: 82px;
         border-radius: 82px;
    -moz-box-shadow: 0 4px 14px rgba(10, 68, 59, 0.3);
         box-shadow: 0 4px 14px rgba(10, 68, 59, 0.3);
    padding: 34px 42px 50px;
  }
  .top .company-search .block + .block {
    margin-top: 60px;
  }
  .top .company-search .block__tt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 39px;
    padding: 0 11px 0 13px;
    position: relative;
  }
  .top .company-search .block__tt figure {
    margin-right: 15px;
    position: relative;
    top: -7px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .top .company-search .block__tt figure img {
    width: 80px;
  }
  .top .company-search .block__tt p {
    font-size: 4.5rem;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #c39c1c;
  }
  .top .company-search .block__tt .wrapStar {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: auto;
  }
  .top .company-search .block__tt .wrapStar::after {
    content: attr(data-num);
    font-size: 32.84px;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #DE9F20;
    display: inline-block;
    margin-top: 3px;
  }
  .top .company-search .block__tt .star {
    width: 145px;
    height: 25px;
    background-position: center;
    -moz-background-size: contain;
         background-size: contain;
    background-repeat: no-repeat;
    margin: 0 !important;
    background: url("../img/starBrown.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
  }
  .top .company-search .block__tt .star_inner {
    display: inline-block;
    height: 100%;
    background: url("../img/star5.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    margin-top: 0;
  }
  .top .company-search .block__tt .star5 {
    width: 170px;
    height: 38px;
    background-image: url("../img/star5.webp");
  }
  .top .company-search .block__tt .star45 {
    width: 192px;
    height: 32px;
    background-image: url("../img/star45.webp");
  }
  .top .company-search .block__tt .star42 {
    background-image: url("../img/star42.webp");
  }
  .top .company-search .block__tt .star35 {
    background-image: url("../img/star35.webp");
  }
  .top .company-search .block__tt .star3 {
    width: 165px;
    background-image: url("../img/star3.webp");
  }
  .top .company-search .block__top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 32px;
  }
  .top .company-search .block__img {
    width: 510px;
  }
  .top .company-search .block-list {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 13px;
  }
  .top .company-search .block-list__item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background: #f4f4f4;
    -moz-border-radius: 9px;
         border-radius: 9px;
    overflow: hidden;
    height: 94px;
  }
  .top .company-search .block-list__item + .block-list__item {
    margin-top: 12px;
  }
  .top .company-search .block-list__item span {
    width: 220px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: #1C4E67;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 1.6rem;
    line-height: 1.3;
    -moz-border-radius: 9px;
         border-radius: 9px;
  }
  .top .company-search .block-list__item figure {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .company-search .block-list__item figure img {
    width: 58px;
  }
  .top .company-search .block .txt {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  .top .company-search .block .txt span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .company-search .block .txt span.custom {
    color: #eb557a;
    background: none;
  }
  .top .company-search .block .note {
    font-size: 1.2rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #949494;
    margin-top: 22px;
  }
  .top .company-search .block .note + .note {
    margin-top: 0;
  }
  .top .company-search .block-bl {
    margin-top: 41px;
  }
  .top .company-search .block-bl__ttl {
    -moz-border-radius: 70px;
         border-radius: 70px;
    background: #1C4E67;
    font-size: 2.8rem;
    line-height: 1.6;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 9px 10px;
    margin-bottom: 20px;
  }
  .top .company-search .block-bl__group {
    display: -ms-grid;
    display: grid;
    padding: 0 25px 0 27px;
    -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
    gap: 22px 27px;
    margin-top: 39px;
    margin-bottom: 19px;
  }
  .top .company-search .block-bl__group + .note {
    margin-top: 19px;
  }
  .top .company-search .block-bl__logo a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .company-search .block-bl__logo.custom img {
    width: 138px;
  }
  .top .company-search .block-box {
    background: #f6f6f6;
    -moz-border-radius: 40px;
         border-radius: 40px;
    padding: 21px 25px 22px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .company-search .block-box + .block-box {
    margin-top: 20px;
  }
  .top .company-search .block-box__img {
    width: 250px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .top .company-search .block-box__img img {
    -moz-border-radius: 20px;
         border-radius: 20px;
    overflow: hidden;
    height: 193px;
    object-fit: cover;
  }
  .top .company-search .block-box__img figcaption {
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #727272;
    text-align: center;
    margin-top: 12px;
  }
  .top .company-search .block-box__ct {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 29px;
  }
  .top .company-search .block-box__tt {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    margin-bottom: 13px;
  }
  .top .company-search .block-box__info {
    margin-bottom: 18px;
  }
  .top .company-search .block-box__info li {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .company-search .block-box__info li span {
    margin-right: 8px;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 800;
    color: #fff;
    background: #de9f20;
    -moz-border-radius: 5px;
         border-radius: 5px;
    letter-spacing: 0.05em;
    padding: 4px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 69px;
    height: 24px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    position: relative;
    top: 3px;
  }
  .top .company-search .block-box__txt {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .company-search .block .btn {
    text-align: center;
    margin-top: 41px;
  }
  .top .company-search .block .btn a {
    background: -webkit-gradient(linear, left top, left bottom, from(#ffb567), to(#f95d3f));
    background: -webkit-linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: -moz- oldlinear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    -moz-box-shadow: 0 4px 0 #ca3b1f;
         box-shadow: 0 4px 0 #ca3b1f;
    width: 528px;
    height: 78px;
    -moz-border-radius: 20px;
         border-radius: 20px;
    font-size: 2.4rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: auto;
  }
  .top .company-search .block .btn a:after {
    content: '';
    width: 21px;
    height: 21px;
    background: url("../img/ic_arr.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 25px;
    margin: auto;
  }
  .top .company-search .block .btn .note {
    margin-top: 15px;
  }
  .top .company-search .block:nth-of-type(2) .block__tt p {
    color: #888888;
  }
  .top .company-search .block:nth-of-type(3) .block__tt p {
    color: #8c6c42;
  }
  .top .company-search .block:nth-of-type(4) .block__tt p, .top .company-search .block:nth-of-type(5) .block__tt p {
    color: #595757;
  }
  .top .menu {
    background: #1C4E67;
    padding: 58px 0 72px;
  }
  .top .menu__tt {
    text-align: center;
    color: #fff;
    font-weight: 800;
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 40px;
  }
  .top .menu-list {
    text-align: center;
  }
  .top .menu-list li + li {
    margin-top: 20px;
  }
  .top .menu-list li a {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 4px;
    position: relative;
  }
  .top .menu-list li a:after {
    content: '';
    width: 19px;
    height: 15px;
    background: url("../img/ic_arr02.webp") center/contain no-repeat;
    position: absolute;
    top: 6px;
    bottom: 0;
    right: -33px;
    margin: auto;
  }
  .top .box-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 71px 48px;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .top .box-list__item {
    background: #fff;
    -moz-border-radius: 45px;
         border-radius: 45px;
    padding: 0 20px 39px;
    position: relative;
    -moz-box-shadow: 0 4px 14px rgba(28, 103, 90, 0.2);
         box-shadow: 0 4px 14px rgba(28, 103, 90, 0.2);
  }
  .top .box-list .num {
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #f95d3f;
    font-weight: bold;
    position: absolute;
    bottom: -webkit-calc(100% + 4px);
    bottom: -moz-calc(100% + 4px);
    bottom: calc(100% + 4px);
    left: 0;
    right: 0;
    margin: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  .top .box-list .num:after {
    content: '';
    width: 100%;
    height: 8px;
    background: -webkit-gradient(linear, left top, left bottom, from(top), color-stop(50%, #f95d3f), color-stop(50%, #f3fefc));
    background: -webkit-linear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    background: -moz- oldlinear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    background: linear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    position: absolute;
    left: 0;
    top: 100%;
  }
  .top .box-list__tt {
    background: #1C4E67;
    -moz-border-radius: 45px;
         border-radius: 45px;
    font-size: 2.4rem;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    min-height: 90px;
    color: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 14px;
    margin: 0 -20px 20px;
  }
  .top .box-list__q {
    -moz-border-radius: 10px;
         border-radius: 10px;
    font-size: 2rem;
    line-height: 1.3;
    color: #1C4E67;
    font-weight: bold;
    padding: 6px 60px;
    border: 3px solid #1C4E67;
    background: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
  }
  .top .box-list__q:after {
    content: '';
    width: 20px;
    height: 20px;
    background: url("../img/ic_plus.svg") center/20px auto no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
  }
  .top .box-list__q.open:after {
    background-image: url("../img/ic_minus.svg");
  }
  .top .box-list__a {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.3s ease;
    -moz-transition: max-height 0.3s ease;
    transition: max-height 0.3s ease;
  }
  .top .box-list__wrapper {
    background: #fff;
    padding: 20px 9px 0;
    font-size: 1.6rem;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
  .top .box-list__wrapper span {
    color: #f95d3f;
  }
  .top .box-list figure {
    -moz-border-radius: 20px;
         border-radius: 20px;
    overflow: hidden;
    height: 176px;
    margin-bottom: 20px;
  }
  .top .box-list figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;;
  }
  .page .main {
    padding-top: 110px;
  }
  .page .main__inner {
    font-family: "Noto Sans JP", serif;
    min-height: -webkit-calc(100vh - 696px);
    min-height: -moz-calc(100vh - 696px);
    min-height: calc(100vh - 696px);
    padding-bottom: 60px;
  }
  .page .main__inner .row {
    max-width: 900px;
  }
  .page .main__inner .btn {
    text-align: center;
    margin-top: 60px;
  }
  .page .main__inner .btn a {
    background: -webkit-gradient(linear, left top, left bottom, from(#31907f), to(#1C4E67));
    background: -webkit-linear-gradient(top, #31907f 0%, #1C4E67 100%);
    background: -moz- oldlinear-gradient(top, #31907f 0%, #1C4E67 100%);
    background: linear-gradient(top, #31907f 0%, #1C4E67 100%);
    -moz-box-shadow: 0 4px 0 #324441;
         box-shadow: 0 4px 0 #324441;
    width: 528px;
    height: 78px;
    -moz-border-radius: 20px;
         border-radius: 20px;
    font-size: 2.4rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: auto;
  }
  .page .pmv {
    text-align: center;
    margin-bottom: 44px;
  }
  .page .pmv__tt {
    font-size: 4rem;
    line-height: 1.25;
    font-weight: bold;
    color: #1C4E67;
    letter-spacing: 0.05em;
    margin-bottom: 32px;
  }
  .page--list dl + dl {
    margin-top: 50px;
  }
  .page--list dl dt {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    color: #1C4E67;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
  }
  .page--list dl dt span {
    background: #f0ffbd;
  }
  .page--list dl dd {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--list ul {
    padding-left: 28px;
  }
  .page--list ul li {
    list-style: disc;
  }
  .page--list ol {
    padding-left: 28px;
  }
  .page--list ol li {
    list-style: decimal;
  }
  .page--list p {
    font-size: 1.4rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--list p + p {
    margin-top: 22px;
  }
  .page--company .main__inner .row {
    max-width: 547px;
  }
  .page--company dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .page--company dl + dl {
    margin-top: 20px;
  }
  .page--company dl dt {
    width: 154px;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #1C4E67;
  }
  .page--company dl dd {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 49px;
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .page--policy p {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--policy p + p {
    margin-top: 22px;
  }
  .page--policy dl {
    margin-top: 40px;
  }
  .page--policy dl:first-child {
    margin-top: 0;
  }
  .page--policy dl:last-child {
    margin-bottom: 0;
  }
  .page--policy dl dt {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
  }
  .page--policy dl dt span {
    background: #f0ffbd;
  }
  .page--policy dl dd {
    font-size: 1.6rem;
    line-height: 1.8;
    font-weight: 400;
  }
}

@media screen and (max-width: 768px) {
  body,
  td,
  th,
  input,
  textarea {
    font-size: 3.86473vw;
    line-height: 1.75;
  }
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
  }
  .show_pc {
    display: none !important;
  }
  .row {
    padding-left: 3.62319vw;
    padding-right: 3.62319vw;
  }
  .header {
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 3.86473vw 3.38164vw;
  }
  .header__logo {
    line-height: 0;
  }
  .header__logo a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 0;
    width: 100%;
    height: 100%;
  }
  .header__logo a img {
    width: 23.18841vw;
    height: auto;
  }
  .footer {
    width: 100%;
    overflow: hidden;
    padding: 6.03865vw 0;
  }
  .footer__nav {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__nav li a {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .footer__nav li + li a {
    position: relative;
  }
  .footer__nav li + li a:before {
    content: '｜';
    display: inline-block;
  }
  .footer__copy {
    text-align: center;
    font-size: 3.38164vw;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #949494;
    margin-top: 4.34783vw;
  }
  .top .mv {
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background: url('../img/mvBg.png') 0 0 no-repeat;
    background-size: cover;
    padding: 14.7343vw 3.38164vw;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .mv__logo {
    position: absolute;
    width: 39.7343vw;
    line-height: 0;
    display: inline-block;
    top: 5.07246vw;
    left: 3.62319vw;
  }
  .top .mv__logo a {
    display: block;
    line-height: 0;
    width: 100%;
  }
  .top .mv__logo a img {
    width: 100%;
    height: auto;
  }
  .top .rank {
    padding: 14.7343vw 0;
  }
  .top .rank__tt {
    text-align: center;
    margin-bottom: 7.72947vw;
  }
  .top .rank__tt span {
    position: relative;
    display: inline-block;
  }
  .top .rank__tt span:before {
    content: '';
    width: 69.56522vw;
    height: 21.73913vw;
    background: url("../img/ic_line_sp.webp") center/contain no-repeat;
    position: absolute;
    top: -2.17391vw;
    /*left: -35.02415vw;*/
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  .top .rank__tt small {
    font-size: 5.07246vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    display: block;
  }
  .top .rank__tt small:before {
    content: attr(data-sub);
    font-size: 3.38164vw;
    line-height: 1;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #b7c2c0;
    font-family: "Futura Std";
    position: absolute;
    top: -4.34783vw;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .rank__tt em {
    font-style: normal;
    font-family: "Futura Std";
    color: #de9f20;
    font-size: 14.49275vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    top: 0.72464vw;
  }
  .top .rank__wrap {
    max-width: 92.75362vw;
    margin: 0 auto;
    -moz-border-radius: 16.90821vw;
         border-radius: 16.90821vw;
    background: #f5f5f5;
  }
  .top .rank .row {
    padding-top: 8.21256vw;
    padding-bottom: 16.90821vw;
    padding-left: 3.86473vw;
    padding-right: 3.38164vw;
  }
  .top .rank .table {
    overflow-x: auto;
  }
  .top .rank .table__wrap {
    width: 177.77778vw;
  }
  .top .rank .table .thead {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
    gap: 1.93237vw;
    padding-left: 27.05314vw;
    margin-bottom: 1.93237vw;
    position: relative;
    z-index: 1;
  }
  .top .rank .table .thead .th {
    text-align: center;
    -webkit-filter: drop-shadow(0 0 0.40097vw #eaeaea);
            filter: drop-shadow(0 0 0.40097vw #eaeaea);
  }
  .top .rank .table .thead .crown {
    margin-bottom: 1.93237vw;
  }
  .top .rank .table .thead .crown img {
    width: auto;
    height: 13.28502vw;
  }
  .top .rank .table .thead .logo {
    background: #fff;
    padding: 3.38164vw 1.69082vw;
    -moz-border-radius: 1.93237vw;
         border-radius: 1.93237vw;
  }
  .top .rank .table .thead .logo img {
    padding: 0 1.93237vw;
    width: 22.46377vw;
    height: auto;
  }
  .top .rank .table .thead .logo figcaption {
    font-size: 3.1401vw;
    line-height: 1.3;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-top: 0.96618vw;
    white-space: nowrap;
  }
  .top .rank .table .tbody {
    -webkit-filter: drop-shadow(0 0 0.40097vw #eaeaea);
            filter: drop-shadow(0 0 0.40097vw #eaeaea);
  }
  .top .rank .table .tbody .tr {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0 1.93237vw;
  }
  .top .rank .table .tbody .tr:first-child .th {
    -moz-border-radius: 1.69082vw 1.69082vw 0 0;
         border-radius: 1.69082vw 1.69082vw 0 0;
  }
  .top .rank .table .tbody .tr:first-child .td {
    -moz-border-radius: 1.69082vw 1.69082vw 0 0;
         border-radius: 1.69082vw 1.69082vw 0 0;
  }
  .top .rank .table .tbody .tr:last-child .th {
    -moz-border-radius: 0 0 1.69082vw 1.69082vw;
         border-radius: 0 0 1.69082vw 1.69082vw;
    border-bottom: none;
  }
  .top .rank .table .tbody .tr .th {
    width: 25.12077vw;
    background: #1C4E67;
    font-size: 2.89855vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: #fff;
    font-weight: bold;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 15.45894vw;
    border-bottom: 1px solid #deeae8;
  }
  .top .rank .table .tbody .tr .th--custom {
    position: relative;
  }
  .top .rank .table .tbody .tr .th--custom:after {
    content: '※';
    position: absolute;
    top: 0.96618vw;
    right: 0.96618vw;
    font-size: 2.657vw;
    line-height: 1;
  }
  .top .rank .table .tbody .tr .td {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    background: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-bottom: 1px solid #bbcbc9;
    font-size: 3.86473vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .top .rank .table .tbody .tr .td img {
    width: 6.52174vw;
  }
  .top .rank .table .tbody .tr .td span {
    font-size: 2.17391vw;
    line-height: 1.3;
    margin-top: 1.20773vw;
    font-weight: 500;
  }
  .top .rank .table .tbody .tr .td small {
    font-size: 1.93237vw;
    line-height: 1.3;
    margin-top: 1.20773vw;
    font-weight: 500;
  }
  .top .rank .table .tbody .tr .td .wrapStar {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .rank .table .tbody .tr .td .wrapStar::after {
    content: attr(data-num);
    font-size: 3.84058vw;
    line-height: 1;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #DE9F20;
    display: inline-block;
    margin-top: 0.72464vw;
  }
  .top .rank .table .tbody .tr .td .wrapStar[data-num="5"]::after {
    font-size: 4.5942vw;
    line-height: 1;
  }
  .top .rank .table .tbody .tr .td .star {
    width: 20.28986vw;
    height: 3.38164vw;
    background-position: center;
    -moz-background-size: contain;
         background-size: contain;
    background-repeat: no-repeat;
    margin: 0 !important;
    background: url("../img/starBrown.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    line-height: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .rank .table .tbody .tr .td .star_inner {
    display: inline-block;
    height: 100%;
    background: url("../img/star5.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    margin-top: 0;
  }
  .top .rank .table .tbody .tr .td .star5 {
    width: 23.91304vw;
    height: 4.58937vw;
    background-image: url("../img/star5.webp");
  }
  .top .rank .table .tbody .tr .td .star45 {
    background-image: url("../img/star45.webp");
  }
  .top .rank .table .tbody .tr .td .star42 {
    background-image: url("../img/star42.webp");
  }
  .top .rank .table .tbody .tr .td .star35 {
    background-image: url("../img/star35.webp");
  }
  .top .rank .table .tbody .tr .td .star3 {
    width: 23.42995vw;
    background-image: url("../img/star3.webp");
  }
  .top .rank .table .tfoot {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
    gap: 1.93237vw;
    padding-left: 27.05314vw;
    position: relative;
  }
  .top .rank .table .tfoot .td {
    text-align: center;
    min-height: 15.45894vw;
    background: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -moz-border-radius: 0 0 1.93237vw 1.93237vw;
         border-radius: 0 0 1.93237vw 1.93237vw;
  }
  .top .rank .table .tfoot .td a {
    background: -webkit-gradient(linear, left top, left bottom, from(top), color-stop(0%, #ffb567), to(#f95d3f));
    background: -webkit-linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: -moz- oldlinear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    -moz-box-shadow: 0 0.48309vw 0 #ca3b1f;
         box-shadow: 0 0.48309vw 0 #ca3b1f;
    width: 24.63768vw;
    height: 8.9372vw;
    -moz-border-radius: 0.96618vw;
         border-radius: 0.96618vw;
    font-size: 2.657vw;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
  }
  .top .rank .table .tfoot .td a:after {
    content: '';
    width: 1.44928vw;
    height: 2.17391vw;
    background: url("../img/ic_arr.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2.89855vw;
    margin: auto;
  }
  .top .rank .note {
    text-align: right;
    font-size: 2.657vw;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.01em;
    color: #949494;
    margin-top: 2.41546vw;
  }
  .top .know {
    background: #1C4E67;
    padding: 11.83575vw 0 14.49275vw;
  }
  .top .know__tt {
    text-align: center;
    color: #fff;
    font-size: 7.72947vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 6.28019vw;
    position: relative;
  }
  .top .know__tt:before {
    content: '';
    width: 17.3913vw;
    height: 13.28502vw;
    background: url("../img/know_bg01.webp") center/contain no-repeat;
    position: absolute;
    top: -6.03865vw;
    left: -0.96618vw;
  }
  .top .know__tt:after {
    content: '';
    width: 17.8744vw;
    height: 12.56039vw;
    background: url("../img/know_bg02.webp") center/contain no-repeat;
    position: absolute;
    top: -3.62319vw;
    right: -1.44928vw;
  }
  .top .know__tt span {
    color: #fce300;
  }
  .top .know-chart__tt {
    text-align: center;
    margin-bottom: -5.55556vw;
    position: relative;
    z-index: 1;
  }
  .top .know-chart__tt span {
    display: inline-block;
    -moz-border-radius: 12.07729vw;
         border-radius: 12.07729vw;
    font-size: 4.83092vw;
    line-height: 1.4;
    color: #1C4E67;
    font-weight: bold;
    padding: 1.44928vw 4.83092vw;
    border: 0.72464vw solid #1C4E67;
    background: #fff;
    width: 62.31884vw;
  }
  .top .know-chart__ct {
    position: relative;
  }
  .top .know-chart__ct .chart {
    overflow-x: auto;
    position: absolute;
    top: 20.77295vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 81.88406vw;
    height: 87.92271vw;
  }
  .top .know-chart__ct .chart figure {
    width: 221.01449vw;
  }
  .top .know-chart > figure {
    -moz-box-shadow: 0 0.96618vw 3.38164vw rgba(10, 68, 59, 0.3);
         box-shadow: 0 0.96618vw 3.38164vw rgba(10, 68, 59, 0.3);
    -moz-border-radius: 9.66184vw;
         border-radius: 9.66184vw;
    overflow: hidden;
    overflow-x: auto;
  }
  .top .know__bot {
    margin: 8.9372vw auto 0;
  }
  .top .know h4 {
    text-align: center;
    font-size: 7.72947vw;
    line-height: 1.4;
    font-weight: bold;
    color: #fff;
  }
  .top .know h4 span {
    color: #fce300;
  }
  .top .know h4 em {
    font-style: normal;
    font-size: 9.66184vw;
    line-height: 1.4;
  }
  .top .know h4 sup {
    font-size: 2.89855vw;
    line-height: 1;
    color: #fff;
    position: relative;
    top: -4.83092vw;
    left: -1.44928vw;
  }
  .top .know p.note {
    font-size: 2.41546vw;
    line-height: 1.4;
    color: #cfe0dd;
    margin-top: 5.7971vw;
  }
  .top .step {
    background: #f7fff8;
    padding: 13.04348vw 0 24.39614vw;
    position: relative;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .top .step:after {
    content: '';
    width: 100%;
    height: 25.12077vw;
    background: url("../img/step_bg_sp.webp") bottom/contain repeat-x;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
  .top .step__tt {
    text-align: center;
    font-size: 7.72947vw;
    line-height: 1.3;
    font-weight: 900;
    margin-bottom: 13.52657vw;
  }
  .top .step__tt span {
    font-size: 11.35266vw;
    line-height: 1;
    color: #eb557a;
  }
  .top .step__tt em {
    font-style: normal;
    position: relative;
  }
  .top .step__tt em:before {
    content: '';
    width: 32.6087vw;
    height: 1.20773vw;
    background: url("../img/ic_dot_sp.webp") center/contain no-repeat;
    position: absolute;
    top: -0.48309vw;
    left: 2.41546vw;
  }
  .top .step-box {
    margin-top: 24.15459vw;
    background: #fff;
    -moz-border-radius: 12.07729vw;
         border-radius: 12.07729vw;
    padding: 9.90338vw 5.7971vw 11.11111vw;
    -moz-box-shadow: 0 0.96618vw 3.38164vw rgba(28, 103, 90, 0.2);
         box-shadow: 0 0.96618vw 3.38164vw rgba(28, 103, 90, 0.2);
    position: relative;
  }
  .top .step-box:before {
    content: '';
    width: 33.57488vw;
    height: 19.32367vw;
    background: url("../img/ic_arr.webp") center/contain no-repeat;
    position: absolute;
    bottom: -webkit-calc(100% + 4.83092vw);
    bottom: -moz-calc(100% + 4.83092vw);
    bottom: calc(100% + 4.83092vw);
    left: 0;
    right: 0;
    margin: auto;
  }
  .top .step-box:after {
    content: '';
    width: 47.343vw;
    height: 21.73913vw;
    background: url("../img/step_bg02.webp") center/contain no-repeat;
    position: absolute;
    top: 12.31884vw;
    right: 0;
  }
  .top .step-box .top {
    font-size: 5.7971vw;
    line-height: 1.5;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding-right: 43.47826vw;
  }
  .top .step-box .top span {
    color: #f95d3f;
  }
  .top .step-box .middle {
    font-size: 8.45411vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: inline-block;
    margin-top: 3.86473vw;
    text-align: center;
  }
  .top .step-box .middle span {
    background: #1C4E67;
    -moz-border-radius: 2.657vw;
         border-radius: 2.657vw;
    color: #fff;
    padding: 0vw 2.17391vw 1.20773vw;
    display: inline-block;
    font-size: 7.24638vw;
  }
  .top .step-box .middle span + span {
    margin-left: 1.69082vw;
  }
  .top .step-box .bot {
    margin-top: 5.31401vw;
    text-align: center;
  }
  .top .step-box .bot span {
    font-size: 4.34783vw;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: #efff3d;
    padding: 0 1.20773vw;
  }
  .top .flow {
    padding: 14.97585vw 0;
  }
  .top .flow__tt {
    text-align: center;
    font-size: 7.72947vw;
    line-height: 1.3;
    font-weight: 800;
    margin-bottom: 7.24638vw;
  }
  .top .flow__tt span {
    color: #f95d3f;
  }
  .top .flow-box {
    margin-bottom: 16.42512vw;
  }
  .top .flow-box .flow-box--left {
    font-size: 3.86473vw;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding-bottom: 7.48792vw;
  }
  .top .flow-box .flow-box--left ul li {
    list-style-type: disc;
    list-style-position: inside;
  }
  .top .flow-box figure {
    text-align: center;
  }
  .top .flow-box figure img {
    -moz-box-shadow: 0 0 4.83092vw rgba(28, 103, 90, 0.24);
         box-shadow: 0 0 4.83092vw rgba(28, 103, 90, 0.24);
    -moz-border-radius: 21.73913vw;
         border-radius: 21.73913vw;
  }
  .top .flow-box figure figcaption {
    font-size: 2.89855vw;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-top: 3.62319vw;
  }
  .top .flow__tt02 {
    text-align: center;
    margin-bottom: 14.49275vw;
  }
  .top .flow__tt02 small {
    display: block;
    font-size: 7.72947vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 3.1401vw;
  }
  .top .flow__tt02 span {
    background: #f95d3f;
    display: inline-block;
    color: #fff;
    font-size: 10.14493vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 1.69082vw 3.38164vw;
    -moz-border-radius: 3.62319vw;
         border-radius: 3.62319vw;
  }
  .top .flow .box-list figure {
    -moz-border-radius: 0;
         border-radius: 0;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: auto;
  }
  .top .flow .box-list__tt {
    margin-bottom: 7.24638vw;
  }
  .top .contractor {
    background: #eaf7f5;
    padding: 12.07729vw 0 31.88406vw;
    position: relative;
  }
  .top .contractor:after {
    content: '';
    width: 100%;
    height: 27.05314vw;
    background: url("../img/contractor_bg_sp.webp") bottom/contain repeat-x;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .top .contractor__tt {
    text-align: center;
    background: -webkit-linear-gradient(95deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    background: -moz- oldlinear-gradient(95deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    background: linear-gradient(-5deg, #1C4E67 0%, #1C4E67 50%, #157968 50%);
    font-size: 7.72947vw;
    line-height: 1.4;
    letter-spacing: 0.05em;
    font-weight: bold;
    color: #fff;
    -moz-border-radius: 9.66184vw;
         border-radius: 9.66184vw;
    padding: 7.24638vw 3.86473vw;
    position: relative;
    margin-bottom: 7.00483vw;
  }
  .top .contractor__tt:after {
    content: '';
    width: 9.90338vw;
    height: 9.90338vw;
    background: url("../img/ic_search.svg") center/contain repeat-x;
    position: absolute;
    top: 8.69565vw;
    right: 2.657vw;
  }
  .top .contractor__tt span {
    color: #fcdc56;
  }
  .top .contractor-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    counter-reset: number;
  }
  .top .contractor-item {
    width: 100%;
    background: #fff;
    -moz-border-radius: 9.66184vw;
         border-radius: 9.66184vw;
    border: 1.20773vw solid #e5f1e9;
    padding: 10.38647vw 3.1401vw 11.11111vw;
  }
  .top .contractor-item__tt {
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 6.52174vw;
  }
  .top .contractor-item__tt small {
    font-size: 5.7971vw;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #1C4E67;
    position: relative;
  }
  .top .contractor-item__tt small:before {
    content: '';
    width: 3.38164vw;
    height: 6.03865vw;
    background: url("../img/ic_line.webp") center/contain no-repeat;
    position: absolute;
    left: -5.7971vw;
    top: 1.20773vw;
  }
  .top .contractor-item__tt small:after {
    content: '';
    width: 3.38164vw;
    height: 6.03865vw;
    background: url("../img/ic_line.webp") center/contain no-repeat;
    position: absolute;
    right: -4.10628vw;
    top: 1.20773vw;
    -webkit-transform: scaleX(-1);
       -moz-transform: scaleX(-1);
        -ms-transform: scaleX(-1);
            transform: scaleX(-1);
  }
  .top .contractor-item__tt span {
    font-size: 6.76329vw;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-weight: 900;
    color: #1C4E67;
    text-decoration: underline;
    -webkit-text-decoration-color: #fcdc56;
       -moz-text-decoration-color: #fcdc56;
            text-decoration-color: #fcdc56;
    text-decoration-thickness: 0.72464vw;
    text-underline-offset: 0.96618vw;
  }
  .top .contractor-item__img {
    margin-bottom: 7.00483vw;
    text-align: center;
  }
  .top .contractor-item__img img {
    width: auto;
    height: 59.17874vw;
  }
  .top .contractor-item p {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .contractor-item p span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .contractor-item p span.custom {
    color: #eb557a;
    background: none;
  }
  .top .contractor-item:first-child p {
    line-height: 1.7;
  }
  .top .contractor-item:nth-child(2) .contractor-item__tt {
    margin-bottom: 6.03865vw;
  }
  .top .contractor-item:nth-child(2) p {
    padding: 0 1.69082vw;
  }
  .top .contractor-item:nth-child(3) .contractor-item__tt {
    margin-bottom: 9.42029vw;
  }
  .top .contractor-item:nth-child(3) .contractor-item__img {
    margin-bottom: 5.07246vw;
  }
  .top .contractor-item:nth-child(3) .contractor-item__img img {
    height: 65.45894vw;
  }
  .top .contractor-item:nth-child(3) p {
    padding: 0 1.69082vw;
  }
  .top .contractor-item + .contractor-item {
    margin-top: 7.24638vw;
  }
  .top .contractor-list02 {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 2.89855vw;
    counter-reset: number02;
    margin-bottom: 7.24638vw;
  }
  .top .contractor-list02__item {
    -moz-border-radius: 9.66184vw;
         border-radius: 9.66184vw;
    background: #fff;
    -moz-box-shadow: 0 0 2.41546vw rgba(28, 103, 90, 0.15);
         box-shadow: 0 0 2.41546vw rgba(28, 103, 90, 0.15);
    padding: 3.62319vw 0 5.31401vw;
  }
  .top .contractor-list02__item span {
    display: block;
    text-align: center;
    font-size: 4.34783vw;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    position: relative;
  }
  .top .contractor-list02__item span:before {
    counter-increment: number02;
    content: counter(number02);
    width: 9.90338vw;
    height: 9.90338vw;
    background: #499386;
    color: #fff;
    -moz-border-radius: 50%;
         border-radius: 50%;
    margin-bottom: 1.93237vw;
    font-family: "Futura Std";
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 1.93237vw;
  }
  .top .contractor-list02__item figure {
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 28.74396vw;
    margin-top: 5.31401vw;
  }
  .top .contractor-list02__item figure img {
    width: auto;
    height: 27.53623vw;
  }
  .top .contractor-dl {
    margin-top: 7.00483vw;
    padding-bottom: 6.03865vw;
    margin-bottom: 5.7971vw;
    padding-left: 1.93237vw;
    border-bottom: 1px dashed #a9c8c2;
  }
  .top .contractor-dl + .contractor-dl {
    margin-top: 0;
  }
  .top .contractor-dl dt {
    display: block;
    font-size: 4.83092vw;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    position: relative;
    margin-bottom: 0.96618vw;
  }
  .top .contractor-dl dt:before {
    counter-increment: number;
    content: counter(number);
    width: 6.52174vw;
    height: 6.52174vw;
    background: #499386;
    color: #fff;
    -moz-border-radius: 50%;
         border-radius: 50%;
    margin-bottom: 1.93237vw;
    font-family: "Futura Std";
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 1.93237vw;
    font-size: 4.34783vw;
    line-height: 1;
    padding-top: 0.36232vw;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
  }
  .top .contractor-dl dd {
    font-size: 3.86473vw;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .contractor-dl dd span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .contractor-dl dd span.custom {
    color: #eb557a;
    background: none;
  }
  .top .contractor__stt {
    text-align: center;
    font-size: 5.7971vw;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .top .contractor__stt span {
    color: #f95d3f;
    font-size: 7.72947vw;
    line-height: .6;
    font-weight: 900;
    display: inline-block;
    text-decoration: underline;
    -webkit-text-decoration-color: #f95d3f;
       -moz-text-decoration-color: #f95d3f;
            text-decoration-color: #f95d3f;
    text-decoration-thickness: 0.72464vw;
    text-underline-offset: 0.96618vw;
    position: relative;
    top: 0.48309vw;
  }
  .top .company {
    padding: 14.97585vw 0 12.07729vw;
  }
  .top .company__tt {
    text-align: center;
    margin-bottom: 18.84058vw;
  }
  .top .company__tt small {
    display: block;
    font-size: 5.55556vw;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 4.83092vw;
  }
  .top .company__tt small em {
    font-style: normal;
    -moz-border-radius: 2.17391vw;
         border-radius: 2.17391vw;
    background: #f95d3f;
    font-size: 5.7971vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    padding: 0vw 3.1401vw 0.72464vw;
    display: inline-block;
    margin-right: 1.20773vw;
  }
  .top .company__tt span {
    display: block;
    font-size: 10.14493vw;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.05em;
  }
  .top .company__tt span em {
    font-style: normal;
    color: #de9f20;
    font-family: "Futura Std";
    font-size: 17.8744vw;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
    top: 1.20773vw;
  }
  .top .company-search__form {
    -moz-box-shadow: 0 0 3.38164vw rgba(28, 103, 90, 0.2);
         box-shadow: 0 0 3.38164vw rgba(28, 103, 90, 0.2);
    -moz-border-radius: 0 0 12.07729vw 12.07729vw;
         border-radius: 0 0 12.07729vw 12.07729vw;
    padding-bottom: 11.83575vw;
    margin-bottom: 14.7343vw;
  }
  .top .company-search__tt {
    -moz-border-radius: 12.07729vw;
         border-radius: 12.07729vw;
    background: #1C4E67;
    font-size: 6.76329vw;
    line-height: 1.6;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 2.17391vw 2.41546vw;
    position: relative;
    top: -7.24638vw;
    margin-bottom: -7.24638vw;
  }
  .top .company-search__table {
    margin: 4.83092vw 3.86473vw 7.24638vw;
    border: 1px solid #dedede;
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
    overflow: hidden;
  }
  .top .company-search__th {
    background: #ededed;
    font-size: 3.62319vw;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 2.41546vw 2.41546vw;
  }
  .top .company-search__td {
    padding: 4.58937vw 7.97101vw 4.83092vw;
    font-size: 3.62319vw;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 0.05em;
    height: 100%;
    text-align: center;
  }
  .top .company-search .radio.custom {
    text-align: center;
  }
  .top .company-search .radio + .radio {
    margin-left: 9.66184vw;
  }
  .top .company-search .radio input {
    display: none;
  }
  .top .company-search .radio input:checked + span:before {
    background: #324441;
    outline-color: #324441;
  }
  .top .company-search .radio span {
    position: relative;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .company-search .radio span:before {
    content: '';
    width: 1.69082vw;
    height: 1.69082vw;
    -moz-border-radius: 50%;
         border-radius: 50%;
    display: inline-block;
    margin-right: 1.93237vw;
    background: #ededed;
    border: 1.20773vw solid #fff;
    outline: 0.24155vw solid #ededed;
  }
  .top .company-search .checkbox {
    display: block;
  }
  .top .company-search .checkbox.custom {
    text-align: center;
  }
  .top .company-search .checkbox input {
    display: none;
  }
  .top .company-search .checkbox input:checked + span:before {
    background: #324441;
    outline-color: #324441;
  }
  .top .company-search .checkbox span {
    position: relative;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  .top .company-search .checkbox span:before {
    content: '';
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 1.69082vw;
    height: 1.69082vw;
    -moz-border-radius: 0.96618vw;
         border-radius: 0.96618vw;
    display: inline-block;
    margin-right: 1.93237vw;
    background: transparent;
    border: 1.20773vw solid #fff;
    outline: 0.24155vw solid #ededed;
    vertical-align: middle;
    position: relative;
    top: 0.72464vw;
  }
  .top .company-search .checkbox-gr {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    gap: 2.657vw 3.86473vw;
    text-align: left;
  }
  .top .company-search__group {
    padding: 0 3.86473vw;
  }
  .top .company-search__group .reset {
    width: 100%;
    height: 12.80193vw;
    margin-bottom: 2.41546vw;
    border: 0.72464vw solid #1C4E67;
    -moz-border-radius: 16.90821vw;
         border-radius: 16.90821vw;
    font-size: 3.62319vw;
    line-height: 1;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #fff;
  }
  .top .company-search__group .submit {
    width: 84.05797vw;
    height: 12.80193vw;
    -moz-border-radius: 16.90821vw;
         border-radius: 16.90821vw;
    font-size: 3.62319vw;
    line-height: 1;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #f95d3f;
    color: #fff;
    border: none;
    position: relative;
  }
  .top .company-search__group .submit:after {
    content: '';
    width: 4.58937vw;
    height: 4.58937vw;
    background: url("../img/ic_search02.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6.03865vw;
    margin: auto;
  }
  .top .company-search__content .date {
    text-align: right;
    font-size: 3.86473vw;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #9f9f9f;
    margin-bottom: 3.1401vw;
  }
  .top .company-search .block {
    -moz-border-radius: 12.07729vw;
         border-radius: 12.07729vw;
    -moz-box-shadow: 0 0.96618vw 3.38164vw rgba(10, 68, 59, 0.3);
         box-shadow: 0 0.96618vw 3.38164vw rgba(10, 68, 59, 0.3);
    padding: 7.24638vw 3.86473vw;
  }
  .top .company-search .block + .block {
    margin-top: 12.07729vw;
  }
  .top .company-search .block__tt {
    margin-bottom: 4.10628vw;
    padding: 0 2.657vw 0 23.91304vw;
    position: relative;
  }
  .top .company-search .block__tt figure {
    position: absolute;
    top: -1.69082vw;
    left: 0;
  }
  .top .company-search .block__tt figure img {
    width: 20.77295vw;
  }
  .top .company-search .block__tt p {
    font-size: 6.76329vw;
    line-height: 1.4;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #c39c1c;
  }
  .top .company-search .block__tt .wrapStar {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .top .company-search .block__tt .wrapStar::after {
    content: attr(data-num);
    font-size: 5.03865vw;
    line-height: 1;
    letter-spacing: 0.05em;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #DE9F20;
    display: inline-block;
    margin-top: 3px;
  }
  .top .company-search .block__tt .star {
    width: 26.57005vw;
    height: 4.58937vw;
    background-position: center;
    -moz-background-size: contain;
         background-size: contain;
    background-repeat: no-repeat;
    margin: 0 !important;
    display: block;
    background: url("../img/starBrown.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    line-height: 0;
  }
  .top .company-search .block__tt .star_inner {
    display: inline-block;
    height: 100%;
    background: url("../img/star5.webp") 0 0 no-repeat;
    -moz-background-size: auto 100%;
         background-size: auto 100%;
    margin-top: 0;
  }
  .top .company-search .block__tt .star5 {
    width: 30.91787vw;
    height: 7.00483vw;
    background-image: url("../img/star5.webp");
  }
  .top .company-search .block__tt .star45 {
    background-image: url("../img/star45.webp");
  }
  .top .company-search .block__tt .star42 {
    background-image: url("../img/star42.webp");
  }
  .top .company-search .block__tt .star35 {
    background-image: url("../img/star35.webp");
  }
  .top .company-search .block__tt .star3 {
    width: 29.95169vw;
    background-image: url("../img/star3.webp");
  }
  .top .company-search .block__top {
    margin-bottom: 5.07246vw;
  }
  .top .company-search .block__img {
    width: 100%;
    margin-bottom: 4.83092vw;
  }
  .top .company-search .block-list__item {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background: #f4f4f4;
    -moz-border-radius: 2.17391vw;
         border-radius: 2.17391vw;
    overflow: hidden;
    height: 16.66667vw;
  }
  .top .company-search .block-list__item + .block-list__item {
    margin-top: 1.93237vw;
  }
  .top .company-search .block-list__item span {
    width: 47.58454vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    background: #1C4E67;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 3.86473vw;
    line-height: 1.3;
    -moz-border-radius: 2.17391vw;
         border-radius: 2.17391vw;
  }
  .top .company-search .block-list__item figure {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .company-search .block-list__item figure img {
    width: 10.86957vw;
  }
  .top .company-search .block .txt {
    font-size: 3.38164vw;
    line-height: 1.79;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  .top .company-search .block .txt span {
    background: #efff3d;
    font-weight: bold;
  }
  .top .company-search .block .txt span.custom {
    color: #eb557a;
    background: none;
  }
  .top .company-search .block .note {
    font-size: 2.41546vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #949494;
    margin-top: 2.17391vw;
  }
  .top .company-search .block .note + .note {
    margin-top: 0;
  }
  .top .company-search .block-bl {
    margin-top: 7.24638vw;
  }
  .top .company-search .block-bl + .block-bl {
    margin-top: 9.90338vw;
  }
  .top .company-search .block-bl__ttl {
    -moz-border-radius: 16.90821vw;
         border-radius: 16.90821vw;
    background: #1C4E67;
    font-size: 5.7971vw;
    line-height: 1.6;
    font-weight: 800;
    color: #fff;
    text-align: center;
    padding: 0.96618vw 2.41546vw;
    margin-bottom: 4.83092vw;
  }
  .top .company-search .block-bl__group {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    gap: 3.38164vw;
    margin-top: 5.07246vw;
    margin-bottom: 4.58937vw;
  }
  .top .company-search .block-bl__group + .note {
    margin-top: 4.58937vw;
  }
  .top .company-search .block-bl__logo a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .top .company-search .block-bl__logo.custom img {
    width: 17.8744vw;
  }
  .top .company-search .block-box {
    background: #f6f6f6;
    -moz-border-radius: 9.66184vw;
         border-radius: 9.66184vw;
    padding: 4.83092vw 3.62319vw 6.76329vw 4.83092vw;
  }
  .top .company-search .block-box + .block-box {
    margin-top: 4.83092vw;
  }
  .top .company-search .block-box__img {
    width: 100%;
    margin-bottom: 4.83092vw;
  }
  .top .company-search .block-box__img img {
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
    overflow: hidden;
    object-fit: cover;
    width: 100%;
    height: 46.61836vw;
  }
  .top .company-search .block-box__img figcaption {
    font-size: 3.38164vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #727272;
    margin-top: 2.89855vw;
  }
  .top .company-search .block-box__tt {
    font-size: 4.83092vw;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: #1C4E67;
    margin-bottom: 2.17391vw;
  }
  .top .company-search .block-box__info {
    margin-bottom: 4.58937vw;
  }
  .top .company-search .block-box__info li {
    font-size: 3.38164vw;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top .company-search .block-box__info li span {
    margin-right: 1.93237vw;
    font-size: 2.89855vw;
    line-height: 1.4;
    font-weight: 800;
    color: #fff;
    background: #de9f20;
    -moz-border-radius: 1.20773vw;
         border-radius: 1.20773vw;
    letter-spacing: 0.05em;
    padding: 0.96618vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 16.66667vw;
    height: 4.83092vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    position: relative;
    top: 0.72464vw;
  }
  .top .company-search .block-box__txt {
    font-size: 3.38164vw;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .top .company-search .block .btn {
    text-align: center;
    margin-top: 7.00483vw;
  }
  .top .company-search .block .btn a {
    background: -webkit-gradient(linear, left top, left bottom, from(#ffb567), to(#f95d3f));
    background: -webkit-linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: -moz- oldlinear-gradient(top, #ffb567 0%, #f95d3f 100%);
    background: linear-gradient(top, #ffb567 0%, #f95d3f 100%);
    -moz-box-shadow: 0 0.96618vw 0 #ca3b1f;
         box-shadow: 0 0.96618vw 0 #ca3b1f;
    width: 100%;
    height: 18.84058vw;
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
    font-size: 5.7971vw;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: auto;
  }
  .top .company-search .block .btn a:after {
    content: '';
    width: 5.07246vw;
    height: 5.07246vw;
    background: url("../img/ic_arr.svg") center/contain no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.38164vw;
    margin: auto;
  }
  .top .company-search .block .btn .note {
    margin-top: 3.62319vw;
  }
  .top .company-search .block:nth-of-type(2) .block__tt p {
    color: #888888;
  }
  .top .company-search .block:nth-of-type(3) .block__tt p {
    color: #8c6c42;
  }
  .top .company-search .block:nth-of-type(4) .block__tt p, .top .company-search .block:nth-of-type(5) .block__tt p {
    color: #595757;
  }
  .top .menu {
    background: #1C4E67;
    padding: 11.83575vw 0 13.52657vw;
  }
  .top .menu__tt {
    text-align: center;
    color: #fff;
    font-weight: 800;
    font-size: 6.76329vw;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 6.52174vw;
  }
  .top .menu-list {
    text-align: center;
  }
  .top .menu-list li + li {
    margin-top: 3.1401vw;
  }
  .top .menu-list li a {
    font-size: 3.86473vw;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 0.72464vw;
    position: relative;
  }
  .top .menu-list li a:after {
    content: '';
    width: 4.58937vw;
    height: 3.62319vw;
    background: url("../img/ic_arr02.webp") center/contain no-repeat;
    position: absolute;
    top: 0.72464vw;
    bottom: 0;
    right: -7.00483vw;
    margin: auto;
  }
  .top .box-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1, 1fr);
    gap: 14.97585vw 11.5942vw;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .top .box-list__item {
    background: #fff;
    -moz-border-radius: 10.86957vw;
         border-radius: 10.86957vw;
    padding: 0 4.34783vw 9.42029vw 4.58937vw;
    position: relative;
    -moz-box-shadow: 0 0.96618vw 3.38164vw rgba(28, 103, 90, 0.2);
         box-shadow: 0 0.96618vw 3.38164vw rgba(28, 103, 90, 0.2);
  }
  .top .box-list .num {
    font-size: 5.7971vw;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #f95d3f;
    font-weight: bold;
    position: absolute;
    bottom: -webkit-calc(100% + 0.96618vw);
    bottom: -moz-calc(100% + 0.96618vw);
    bottom: calc(100% + 0.96618vw);
    left: 0;
    right: 0;
    margin: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  .top .box-list .num:after {
    content: '';
    width: 100%;
    height: 1.93237vw;
    background: -webkit-gradient(linear, left top, left bottom, from(top), color-stop(50%, #f95d3f), color-stop(50%, #f3fefc));
    background: -webkit-linear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    background: -moz- oldlinear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    background: linear-gradient(top, #f95d3f 50%, #f3fefc 50%);
    position: absolute;
    left: 0;
    top: 100%;
  }
  .top .box-list__tt {
    background: #1C4E67;
    -moz-border-radius: 10.86957vw;
         border-radius: 10.86957vw;
    font-size: 5.7971vw;
    line-height: 1.3;
    font-weight: bold;
    letter-spacing: 0.05em;
    min-height: 21.73913vw;
    color: #fff;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 3.38164vw;
    margin: 0 -4.58937vw 4.83092vw;
  }
  .top .box-list figure {
    width: 100%;
    height: 42.51208vw;
    overflow: hidden;
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
  }
  .top .box-list figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .top .box-list__q {
    -moz-border-radius: 2.41546vw;
         border-radius: 2.41546vw;
    font-size: 4.34783vw;
    line-height: 1.3;
    color: #1C4E67;
    font-weight: bold;
    padding: 1.44928vw 14.49275vw;
    border: 2px solid #1C4E67;
    background: #fff;
    text-align: center;
    cursor: pointer;
    position: relative;
  }
  .top .box-list__q:after {
    content: '';
    width: 4.83092vw;
    height: 4.83092vw;
    background: url("../img/ic_plus.svg") center/4.83092vw auto no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.86473vw;
    margin: auto;
  }
  .top .box-list__q.open:after {
    background-image: url("../img/ic_minus.svg");
  }
  .top .box-list__a {
    overflow: hidden;
    max-height: 0;
    -webkit-transition: max-height 0.3s ease;
    -moz-transition: max-height 0.3s ease;
    transition: max-height 0.3s ease;
  }
  .top .box-list__wrapper {
    background: #fff;
    padding: 3.38164vw 0 4.83092vw;
    font-size: 3.86473vw;
    line-height: 1.7;
    letter-spacing: 0.05em;
  }
  .top .box-list__wrapper span {
    color: #f95d3f;
  }
  .top .box-list figure {
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
    overflow: hidden;
    margin-bottom: 4.83092vw;
  }
  .page .main {
    padding-top: 14.49275vw;
  }
  .page .main__inner {
    font-family: "Noto Sans JP", serif;
    min-height: -webkit-calc(100vh - 168.11594vw);
    min-height: -moz-calc(100vh - 168.11594vw);
    min-height: calc(100vh - 168.11594vw);
    padding-bottom: 4.83092vw;
  }
  .page .main__inner .btn {
    text-align: center;
    margin-top: 14.49275vw;
  }
  .page .main__inner .btn a {
    background: -webkit-gradient(linear, left top, left bottom, from(#31907f), to(#1C4E67));
    background: -webkit-linear-gradient(top, #31907f 0%, #1C4E67 100%);
    background: -moz- oldlinear-gradient(top, #31907f 0%, #1C4E67 100%);
    background: linear-gradient(top, #31907f 0%, #1C4E67 100%);
    -moz-box-shadow: 0 0.96618vw 0 #324441;
         box-shadow: 0 0.96618vw 0 #324441;
    width: 100%;
    height: 18.84058vw;
    -moz-border-radius: 4.83092vw;
         border-radius: 4.83092vw;
    font-size: 5.7971vw;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: auto;
  }
  .page .pmv {
    text-align: center;
    margin-bottom: 10.62802vw;
  }
  .page .pmv__tt {
    font-size: 7.72947vw;
    line-height: 1.5;
    font-weight: bold;
    color: #1C4E67;
    letter-spacing: 0.05em;
    margin-bottom: 7.72947vw;
  }
  .page--list dl + dl {
    margin-top: 12.07729vw;
  }
  .page--list dl dt {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: bold;
    color: #1C4E67;
    letter-spacing: 0.05em;
    margin-bottom: 2.41546vw;
  }
  .page--list dl dt span {
    background: #f0ffbd;
  }
  .page--list dl dd {
    font-size: 3.38164vw;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--list ul {
    padding-left: 6.76329vw;
  }
  .page--list ul li {
    list-style: disc;
  }
  .page--list ol {
    padding-left: 6.76329vw;
  }
  .page--list ol li {
    list-style: decimal;
  }
  .page--list p {
    font-size: 3.38164vw;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--list p + p {
    margin-top: 5.31401vw;
  }
  .page--company dl + dl {
    margin-top: 7.24638vw;
  }
  .page--company dl dt {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #1C4E67;
    margin-bottom: 2.41546vw;
  }
  .page--company dl dd {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
  }
  .page--policy p {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: 400;
  }
  .page--policy p + p {
    margin-top: 5.31401vw;
  }
  .page--policy dl {
    margin-top: 9.66184vw;
  }
  .page--policy dl:first-child {
    margin-top: 0;
  }
  .page--policy dl:last-child {
    margin-bottom: 0;
  }
  .page--policy dl dt {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 2.41546vw;
  }
  .page--policy dl dt span {
    background: #f0ffbd;
  }
  .page--policy dl dd {
    font-size: 3.86473vw;
    line-height: 1.8;
    font-weight: 400;
  }
}

.error {
  color: #ff0000;
}

.contact__form .formContact .privacy .error {
  text-align: center;
}

@-webkit-keyframes bound-anim {
  0%,
  to {
    top: -1em;
  }
  30% {
    top: -1.5em;
  }
}

@-moz-keyframes bound-anim {
  0%,
  to {
    top: -1em;
  }
  30% {
    top: -1.5em;
  }
}

@keyframes bound-anim {
  0%,
  to {
    top: -1em;
  }
  30% {
    top: -1.5em;
  }
}

.page--list .footer__nav li {
  list-style: none;
}

.page--list .footer__nav {
  padding-left: 0;
}
