@charset "Shift-JIS";
*,
*::after,
*::before {
  box-sizing: border-box; }

body,
button,
input,
select,
textarea {
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

img {
  border: 0;
  height: auto;
  line-height: 1;
  vertical-align: top;
  max-width: 100%; }

a {
  background: transparent;
  cursor: pointer;
  outline: 0 none; }

body {
  color: #000;
  min-height: 100vh;
  line-height: 1.3; }

body {
  font-feature-settings: "palt" 1;
  overflow-x: hidden; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  color: currentColor;
  text-decoration: underline; }
  a img {
    transition: .3s ease opacity; }
  a:hover {
    text-decoration: none; }
    a:hover img {
      opacity: .7; }

.a_alpha {
  transition: .3s ease opacity; }
  .a_alpha:hover {
    opacity: 0.7; }

@media (min-width: 501px), print {
  .pc_hide {
    display: none !important; } }

@media (max-width: 500px) {
  .sp_hide {
    display: none !important; } }

#wrap {
  container-type: inline-size;
  margin: auto;
  max-width: 980px;
  overflow: hidden;
  resize: none; }

header {
  background: #fff;
  padding: 2.4489795918cqw 2.0408163265cqw 4.2857142857cqw; }
  header img {
    display: block; }

.head_logo {
  margin: 0 auto 6.1224489796cqw;
  width: 74.4897959184cqw; }
.head_txt {
  margin: auto;
  width: 63.0612244898cqw; }

.pagetop {
  bottom: 15px;
  right: 15px;
  position: fixed; }
  @media (max-width: 980px) {
    .pagetop {
      bottom: 1.5306122449vw;
      right: 1.5306122449vw; } }
  @media (max-width: 500px) {
    .pagetop {
      bottom: 5px;
      right: 5px; } }
  .pagetop a {
    font-size: 1rem;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 10%;
    color: #fff;
    display: block;
    font-weight: bold;
    height: 80px;
    position: relative;
    text-align: center;
    text-decoration: none;
    padding-top: 40px;
    width: 80px; }
    @media (max-width: 980px) {
      .pagetop a {
        font-size: 1.6326530612vw; } }
    @media (max-width: 980px) {
      .pagetop a {
        height: 8.1632653061vw;
        padding-top: 4.0816326531vw;
        width: 8.1632653061vw; } }
    @media (max-width: 500px) {
      .pagetop a {
        font-size: 0.75rem;
        height: 50px;
        padding-top: 24px;
        width: 50px; } }
    .pagetop a::before {
      border-left: 3px solid #fff;
      border-top: 3px solid #fff;
      content: "";
      height: 20px;
      left: 50%;
      position: absolute;
      transform: translateX(-50%) rotate(45deg);
      top: 24px;
      width: 20px; }
      @media (max-width: 980px) {
        .pagetop a::before {
          border-width: 0.306122449vw;
          height: 2.0408163265vw;
          top: 2.4489795918vw;
          width: 2.0408163265vw; } }
      @media (max-width: 500px) {
        .pagetop a::before {
          border-width: 1px;
          height: 10px;
          top: 14px;
          width: 10px; } }

.main {
  background: url("../images/main-bg.webp") center top/100% no-repeat;
  height: 168.5714285714cqw;
  padding-top: 94.693877551cqw; }
  .main_img01 {
    margin: 0 auto 2.9591836735cqw;
    width: 90cqw; }
  .main_img02 {
    margin: 0 auto 2.0408163265cqw;
    width: 90cqw; }
  .main_txt {
    font-size: 2.5510204082cqw;
    line-height: 1.44;
    text-align: center; }
    @media (max-width: 500px) {
      .main_txt {
        font-size: 3.4666666667vw; } }

.link {
  margin: 9.693877551cqw auto;
  width: 90.1020408163cqw; }
  .link_list {
    display: grid;
    gap: 2.0408163265cqw;
    grid-template-columns: repeat(6, 1fr); }
    .link_list li {
      grid-column: span 2; }
      .link_list li.col6 {
        grid-column: span 6; }
      .link_list li.col3 {
        grid-column: span 3; }

.cont01 {
  background: url("../images/cont01-bg.webp") center top/cover no-repeat;
  padding: 3.2653061224cqw 0 5.9183673469cqw; }
  .cont01_ttl {
    margin: 0 auto;
    width: 96.1224489796cqw; }
  .cont01_list {
    display: grid;
    gap: 3.0612244898cqw 1.2244897959cqw;
    grid-template-columns: repeat(2, 1fr);
    margin: auto;
    width: 89.7959183673cqw; }

.car {
  background: #dc1f59;
  padding: 5.612244898cqw 5cqw 13.2653061224cqw; }
  .car_list {
    background: #fff;
    display: grid;
    grid-template-columns: repeat(2, 1fr); }
    .car_list li:nth-of-type(n+3) {
      background: url("../images/line.svg") center top/42.6530612245cqw auto no-repeat;
      padding-top: 0.7142857143cqw; }
  .car_box01 {
    margin-bottom: 7.1428571429cqw; }
  .car_box02 {
    margin-top: 5.1020408163cqw; }

.sub01 {
  margin: 4.2857142857cqw auto 3.5714285714cqw;
  width: 91.6326530612cqw; }
  .sub01_txt {
    font-size: 2.0408163265cqw;
    color: #e30012;
    font-weight: bold;
    line-height: 1.4;
    margin: 3.0612244898cqw auto 0;
    width: 84.693877551cqw; }
    @media (max-width: 500px) {
      .sub01_txt {
        font-size: 3.2vw; } }

.sub02 {
  margin: 0 auto 10.2040816327cqw;
  width: 89.7959183673cqw; }
  .sub02_txt01 {
    font-size: 1.4285714286cqw;
    line-height: 1.4;
    margin-bottom: 2.0408163265cqw; }
    @media (max-width: 500px) {
      .sub02_txt01 {
        font-size: 2.6666666667vw; } }
  .sub02_txt02 {
    border: 1px solid #000;
    padding: 0.306122449cqw; }
    .sub02_txt02 img {
      display: block;
      margin: auto;
      width: 41.1224489796cqw; }
      @media (max-width: 500px) {
        .sub02_txt02 img {
          padding: 0.8vw;
          width: 80%; } }
