/*! Writen  by SCSS */
.mainvisual {
  position: relative; }

.sec01 {
  max-width: 1140px;
  display: flex;
  flex-direction: column;
  row-gap: clamp(20px, 4.167vw, 50px);
  margin-bottom: 120px; }
  @media screen and (max-width: 480px) {
    .sec01 {
      margin-bottom: 100px;
      margin-bottom: 20px; } }
  .sec01 .img {
    display: block;
    transition: opacity 0.3s ease-in-out 0s; }
    @media (hover: hover) {
      .sec01 .img:hover {
        opacity: .7; } }
    .sec01 .img.no_link {
      pointer-events: none; }

.sec_info {
  background: url("../images/top/info_bg.jpg") center center/cover no-repeat;
  padding: 60px 0;
  margin-bottom: clamp(40px, 10vw, 120px);
  position: relative; }
  @media screen and (max-width: 480px) {
    .sec_info {
      background-image: url("../images/top/info_bg_sp.jpg");
      background-position: top left;
      background-size: 520px auto;
      background-repeat: repeat; } }
  .sec_info::after {
    content: '';
    width: 100%;
    height: 1px;
    background: #cabb89;
    position: absolute;
    left: 0;
    top: 0; }
  @media screen and (max-width: 480px) {
    .sec_info {
      padding: 25px 0 20px; } }
  .sec_info a {
    display: block;
    text-align: center; }

.line_img {
  text-align: center;
  line-height: 0;
  margin-top: clamp(20px, 3.334vw, 40px);
  margin-bottom: clamp(20px, 3.334vw, 40px); }

.caption_area {
  background: #009270; }
  .caption_area p {
    color: #fff; }

/*# sourceMappingURL=top.css.map */
