@charset "UTF-8";
/*!
global > font
------------------------------
*/
:root {
  --font-family-base: "Noto Sans JP", sans-serif;
}

/*!
global > z-index
------------------------------
*/
:root {
  --z-index-hamburger: 50;
  --z-index-drawer: 40;
  --z-index-header: 30;
  --z-index-default: 1;
  --z-index-negative: -1;
}

/*!
foundation > reset
------------------------------
*/
html {
  color: #000;
  background: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: 100%;
  border-radius: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: inherit;
}

input,
textarea,
select {
  font-size: 16px;
}

textarea {
  resize: vertical;
  display: block;
}

button {
  padding: 0;
  cursor: pointer;
}

legend {
  color: #000;
}

tbody {
  -webkit-text-size-adjust: 100%;
}

main {
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

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

svg {
  display: block;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

*::before,
*::after {
  box-sizing: border-box;
}

/*!
foundation > base
------------------------------
*/
html {
  font-size: calc(100vw / 375);
}

@media (min-width: 768px) {
  html {
    font-size: calc(100vw / 1440);
  }
}

body {
  line-height: calc(24 / 16);
  font-size: 16rem;
  color: #4B5563;
  font-family: var(--font-family-base);
}

/*!
utility > utility
------------------------------
*/
.u-visually-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  margin: -1px !important;
}

.u-d-block {
  display: block !important;
}

.u-d-inline-block {
  display: inline-block !important;
}

.u-py-80 {
  padding-block: 80rem !important;
}

.u-text-center {
  text-align: center !important;
}

/*!
component > button
------------------------------
*/
.c-button {
  display: inline-block;
  padding: 16rem;
  text-align: center;
  border-radius: 8rem;
  background-color: rgba(27, 49, 94, 1);
  color: #fff;
  transition: all 0.3s;
}

@media (min-width: 768px) {
  .c-button {
    padding: 16rem 32rem;
  }
}

@media (any-hover: hover) {
  .c-button:hover,
  .c-button:focus {
    background-color: rgba(27, 49, 94, 0.9);
  }
}

.c-button--width-full {
  width: 100%;
}

.c-button--primary {
  padding: 16rem 32rem;
}

.c-button--more {
  padding: 12rem 0;
}

.c-button--ghost {
  border: 2rem solid #1B315E;
  background-color: transparent;
  color: #1B315E;
}

@media (any-hover: hover) {
  .c-button--ghost:hover,
  .c-button--ghost:focus {
    background-color: #1B315E;
    color: #fff;
  }
}

/*!
component > title
------------------------------
*/
.c-title-level2 {
  font-size: 36rem;
  line-height: calc(40 / 36);
  color: #111827;
  text-align: center;
}

.c-title-level2--text-left {
  text-align: left;
}

/*!
component > lead
------------------------------
*/
.c-lead {
  font-size: 20rem;
  line-height: calc(28 / 20);
  text-align: center;
}

.c-lead--text-left {
  text-align: left;
}

/*!
layout > container
------------------------------
*/
.l-container {
  padding-inline: 16rem;
}

@media (min-width: 768px) {
  .l-container {
    padding-inline: 112rem;
  }
}

/*!
layout > header
------------------------------
*/
.l-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8rem;
  padding-inline: 16rem;
  min-height: 64rem;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.05);
}

@media (min-width: 768px) {
  .l-header {
    padding-inline: 112rem;
  }
}

.l-header__logo {
  display: flex;
  align-items: center;
  gap: 16rem;
  width: 202rem;
  transition: all 0.3s;
}

@media (min-width: 768px) {
  .l-header__logo {
    width: 220rem;
  }
}

@media (any-hover: hover) {
  .l-header__logo:hover,
  .l-header__logo:focus {
    opacity: 0.7;
  }
}

.l-header__logo-img {
  width: 42rem;
}

.l-header__logo-text {
  font-size: 18rem;
  line-height: calc(28 / 18);
  color: #111827;
}

.l-header__nav {
  display: none;
}

@media (min-width: 768px) {
  .l-header__nav {
    display: block;
  }

  .l-header__nav-list {
    display: flex;
    align-items: center;
    gap: 32rem;
  }
  
  .l-header__nav-link {
    color: #374151;
    transition: all 0.3s;
  }
}

@media (any-hover: hover) {
  .l-header__nav-link:hover,
  .l-header__nav-link:focus {
    color: #1B315E;
  }
}

.l-header__area {
  display: flex;
  align-items: center;
  gap: 20rem;
  position: relative;
  flex-grow: 1;
}

@media (min-width: 768px) {
  .l-header__area {
    flex-grow: 0;
    min-width: 134rem;
  }
}

.l-header__search-wrap {
  display: flex;
  align-items: center;
}

.l-header__search-button {
  background-image: url('../img/icon_search.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
	width: 20rem;
	height: 24rem;
	cursor: pointer;
}

.l-header__search-form-wrap {
  position: absolute;
	top: 120rem;
  right: 20rem;
	z-index: var(--z-index-negative);
	opacity: 0;
  visibility: hidden;
	width: 0;
	transition: all 0.4s;
	border-radius: 5rem;
}

.l-header__search-form-wrap.is-active {
	opacity: 1;
  visibility: visible;
	z-index: var(--z-index-drawer);
	width: 280rem;
	top: 60rem;
  right: 0;
	background-color: #fff;
}

.l-header__search-input {
	outline: none;
	cursor: pointer;
	color: #666;
  width: 100%;
	border: none;
	border-bottom: 2rem solid #ccc;
	transition: all 0.5s;
	letter-spacing: 0.05em;
  height: 46rem;
	padding: 10rem 28rem 10rem 10rem;
}

.l-header__search-input:focus {
  background-color: #eee;
}

.l-header__search-submit {
	outline: none;
	cursor: pointer;
	color: #666;
  position: absolute;
  top: 50%;
  right: 2rem;
  translate: 0 -50%;
  background-image: url('../img/icon_search.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 20rem;
  height: 24rem;
}

.l-header__language {
  font-size: 14rem;
  line-height: 1;
  color: #374151;
}

/*!
layout > footer
------------------------------
*/
.l-footer {
  padding: 64rem 16rem;
  background-color: #1B315E;
  color: #D1D5DB;
}

@media (min-width: 768px) {
  .l-footer {
    padding: 64rem 112rem;
  }
}

.l-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28rem;
}

@media (min-width: 768px) {
  .l-footer__inner {
    grid-template-columns: 280rem 1fr;
    gap: 32rem;
  }
}

.l-footer__logo {
  width: 42rem;
}

.l-footer__info-text {
  margin-top: 10rem;
}

.l-footer__sns-list {
  margin-top: 24rem;
  display: flex;
  align-items: center;
  gap: 16rem;
}

.l-footer__sns-item {
  width: 24rem;
}

.l-footer__sns-link {
  display: block;
}

.l-footer__sns-icon {
  transition: all 0.3s;
  fill: #D1D5DB;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media (any-hover: hover) {
  .l-footer__sns-link:hover .l-footer__sns-icon,
  .l-footer__sns-link:focus .l-footer__sns-icon {
    fill: #fff;
  }
}

.l-footer__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32rem;
}

@media (min-width: 768px) {
  .l-footer__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.l-footer__item-title {
  font-size: 18rem;
  line-height: calc(28 / 18);
  color: #FFFFFF;
}

.l-footer__child-list {
  margin-top: 16rem;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

.l-footer__child-link {
  display: block;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .l-footer__child-link:hover,
  .l-footer__child-link:focus {
    color: #fff;
  }
}

.l-footer__contact-list {
  margin-top: 16rem;
  display: flex;
  flex-direction: column;
  gap: 12rem;
}

.l-footer__contact-item {
  display: flex;
  gap: 13.67rem;
}

.l-footer__contact-item::before {
  content: '';
  display: inline-block;
  width: 16.67rem;
  height: 16rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 5rem;
}

.l-footer__contact-item--tel::before {
  background-image: url('../img/icon_tel.svg');
}

.l-footer__contact-item--mail::before {
  background-image: url('../img/icon_mail.svg');
}

.l-footer__contact-item--address::before {
  background-image: url('../img/icon_map_pin02.svg');
}

.l-footer__newsletter-text {
  margin-top: 16rem;
}

.l-footer__newsletter-form {
  margin-top: 17rem;
  display: flex;
  justify-content: space-between;
}

@media (min-width: 768px) {
  .l-footer__newsletter-form {
    margin-right: -55rem;
  }
}

.l-footer__newsletter-input {
  width: 255rem;
  padding: 11rem 16rem 12rem;
  border-radius: 8rem;
  background-color: #fff;
  font-size: 16rem;
  line-height: calc(19 / 16);
  color: #4B5563;
}

@media (min-width: 768px) {
  .l-footer__newsletter-input {
    width: 247rem;
  }
}

.l-footer__newsletter-input:focus-visible {
  outline: 1rem solid #1B315E;
}

.l-footer__newsletter-input::placeholder {
  font-size: 16rem;
  line-height: calc(19 / 16);
  color: #9CA3AF;
}

.l-footer__newsletter-submit {
  width: 80rem;
  padding: 8rem 24rem;
  border-radius: 8rem;
  background-color: rgba(214, 77, 77, 1);
  color: #FFFFFF;
  transition: all 0.3s;
  font-size: 16rem;
}

@media (any-hover: hover) {
  .l-footer__newsletter-submit:hover,
  .l-footer__newsletter-submit:focus {
    background-color: rgba(214, 77, 77, 0.9);
  }
}

.l-footer__legal {
  margin-top: 48rem;
  padding-top: 32rem;
  border-top: 1rem solid #4B5563;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}

@media (min-width: 768px) {
  .l-footer__legal {
    flex-direction: row;
    justify-content: space-between;
  }
}

.l-footer__copyright {
  display: block;
  font-size: 16rem;
  white-space: nowrap;
}

.l-footer__legal-list {
  display: flex;
  gap: 24rem;
}

.l-footer__legal-link {
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .l-footer__legal-link:hover,
  .l-footer__legal-link:focus {
    color: #fff;
  }
}

/*!
page > top > top-kv
------------------------------
*/
.top-kv {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0) 100%), url(../img/bg_top_kv.jpg);
  background-size: cover;
  background-position: left;
  min-height: 750rem;
  display: grid;
  place-items: center;
  padding-inline: 16rem;
}

@media (min-width: 768px) {
  .top-kv {
    background-position: center;
    min-height: 900rem;
    justify-items: start;
    padding-inline: 112rem;
  }
}

.top-kv__copy {
  font-size: 48rem;
  line-height: calc(60 / 48);
  color: #111827;
}

@media (min-width: 768px) {
  .top-kv__copy {
    font-size: 60rem;
    line-height: 1;
  }
}

.top-kv__text {
  margin-top: 24rem;
  font-size: 20rem;
  line-height: calc(32.5 / 20);
  color: #374151;
}

.top-kv__button-wrap {
  margin-top: 32rem;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}

@media (min-width: 768px) {
  .top-kv__button-wrap {
    flex-direction: row;
  }
}

/*!
page > top > top-feature
------------------------------
*/
.top-feature {
  background-color: #fff;
}

.top-feature__lead {
  margin-top: 16rem;
}

.top-feature__body {
  margin-top: 64rem;
}

.top-feature__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32rem;
}

@media (min-width: 768px) {
  .top-feature__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.top-feature__link {
  display: block;
}

.top-feature__item-img-wrap {
  overflow: hidden;
  border-radius: 20rem;
  position: relative;
  transition: all 0.3s;
}

@media (min-width: 768px) {
  .top-feature__item-img-wrap {
    object-fit: cover;
    aspect-ratio: 384 / 256;
  }
}

.top-feature__item-img-wrap::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  opacity: 0;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .top-feature__link:hover .top-feature__item-img-wrap::after,
  .top-feature__link:focus .top-feature__item-img-wrap::after {
    opacity: 1;
  }
}

@media (min-width: 768px) {
  .top-feature__item-img {
    object-fit: cover;
    transition: all 0.3s;
  }
}

@media (any-hover: hover) {
  .top-feature__link:hover .top-feature__item-img,
  .top-feature__link:focus .top-feature__item-img {
    transform: scale(1.1);
  }
}

.top-feature__item-title {
  margin-top: 24rem;
  font-size: 24rem;
  line-height: calc(32 / 24);
  color: #111827;
}

.top-feature__item-text {
  margin-top: 12rem;
}

.top-feature__item-text02-wrap {
  margin-top: 16rem;
}

.top-feature__item-text02 {
  display: inline-flex;
  align-items: center;
  gap: 8rem;
  color: #1B315E;
}

.top-feature__item-text02::after {
  content: '';
  display: inline-block;
  width: 16.67rem;
  height: 16rem;
  background-image: url('../img/icon_arrow.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/*!
page > top > top-gallery
------------------------------
*/
.top-gallery {
  background-image: 
    linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(-45deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
  background-color: #F9FAFB;
}

.top-gallery__lead {
  margin-top: 16rem;
}

.top-gallery__body {
  margin-top: 64rem;
}

.top-gallery__tab-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 16rem;
}

.top-gallery__tab-menu-item {
  border-radius: 8rem;
  background-color: #fff;
  text-align: center;
  padding: 8rem 24rem;
  color: #374151;
  cursor: pointer;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .top-gallery__tab-menu-item:hover,
  .top-gallery__tab-menu-item:focus {
    background-color: #FFF7ED;
  }
}

.top-gallery__tab-menu-item.is-active {
  background-color: #1B315E;
  color: #fff;
}

.top-gallery__tab-content {
  margin-top: 32rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24rem;
}

@media (min-width: 768px) {
  .top-gallery__tab-content {
    grid-template-columns: repeat(4, 1fr);
  }
}

.top-gallery__item {
  display: none;
}

.top-gallery__item.is-show {
  display: block;
}

.top-gallery__link {
  display: block;
  overflow: hidden;
  border-radius: 20rem;
  background-color: #fff;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.05);
}

.top-gallery__item-img-wrap {
  overflow: hidden;
  position: relative;
  aspect-ratio: 343 / 192;
  transition: all 0.3s;
}

@media (min-width: 768px) {
  .top-gallery__item-img-wrap {
    aspect-ratio: initial;
  }
}

@media (any-hover: hover) {
  .top-gallery__link:hover .top-gallery__item-img-wrap,
  .top-gallery__link:focus .top-gallery__item-img-wrap {
    scale: 1.06;
  }
}

.top-gallery__item-img-wrap--icon::before {
  content: '';
  position: absolute;
  top: 16rem;
  right: 16rem;
  display: inline-block;
  width: 32rem;
  height: 32rem;
  border-radius: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  background-image: url('../img/icon_circle.svg');
  background-size: 16rem;
  background-repeat: no-repeat;
  background-position: center;
}

.top-gallery__item-content {
  padding: 16rem;
}

.top-gallery__item-title {
  color: #111827;
}

.top-gallery__item-type {
  margin-top: 8rem;
  font-size: 13.78rem;
  line-height: calc(20 / 13.78);
}

.top-gallery__item-price {
  margin-top: 8rem;
  font-size: 18rem;
  line-height: calc(28 / 18);
  color: #1B315E;
}

.top-gallery__button-wrap {
  margin-top: 48rem;
}

/*!
page > top > top-craftsman
------------------------------
*/
.top-craftsman {
  background-color: #fff;
}

.top-craftsman__lead {
  margin-top: 16rem;
}

.top-craftsman__body {
  margin-top: 64rem;
}

.top-craftsman__list {
  display: flex;
  flex-wrap: wrap;
  gap: 24rem;
}

.top-craftsman__item {
  width: 320rem;
  padding: 24rem;
  border-radius: 20rem;
  background-color: #F9FAFB;
}

.top-craftsman__item:nth-child(n + 2) {
  display: none;
}

@media (min-width: 768px) {
  .top-craftsman__item:nth-child(n + 2) {
    display: block;
  }
}

.top-craftsman__item-info {
  display: grid;
  grid-template-columns: 64rem 1fr;
  align-items: center;
  column-gap: 16rem;
}

.top-craftsman__item-img-wrap {
  grid-row: 1 / 4;
}

.top-craftsman__item-img {
  border-radius: 100vh;
}

.top-craftsman__item-name {
  font-size: 20rem;
  line-height: calc(28 / 20);
  color: #111827;
}

.top-craftsman__item-address {
  font-size: 14rem;
  line-height: calc(20 / 14);
  color: #6B7280;
}

.top-craftsman__item-text {
  margin-top: 16rem;
  color: #374151;
}

.top-craftsman__item-works {
  margin-top: 16rem;
  display: flex;
  flex-wrap: wrap;
  gap: 8rem;
}

.top-craftsman__item-works-item {
  width: 48rem;
  border-radius: 8rem;
  overflow: hidden;
}

.top-craftsman__item-button-wrap {
  margin-top: 16rem;
}

.top-craftsman__button-wrap {
  margin-top: 64rem;
}

/*!
page > top > top-event
------------------------------
*/
.top-event {
  background-color: #F9FAFB;
}

.top-event__lead {
  margin-top: 16rem;
}

.top-event__body {
  margin-top: 64rem;
}

.top-event__switch-menu {
  display: flex;
  justify-content: center;
  border-radius: 100vh;
  background-color: #fff;
  padding: 4rem;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}

.slide-indicator {
  position: absolute;
  display: inline-block;
  top: 4rem;
  left: 4rem;
  width: 51.25%;
  height: calc(100% - 8rem);
  background-color: #1B315E;
  border-radius: 100vh;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
}

.top-event__switch-menu-item {
  border-radius: 100vh;
  padding: 8rem 24rem;
  color: #374151;
  position: relative;
  z-index: 2;
  cursor: pointer;
  transition: all 0.3s;
}

@media (any-hover: hover) {
  .top-event__switch-menu-item:not(.is-active):hover,
  .top-event__switch-menu-item:not(.is-active):focus {
    background-color: #FFF7ED;
  }
}

.top-event__switch-menu-item.is-active {
  color: #fff;
}

.top-event__switch-content {
  margin-top: 32rem;
}

.top-event__switch-content-item {
  display: none;
}

.top-event__switch-content-item.is-active {
  display: block;
}

.top-event-timeline__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24rem;
}

.top-event-timeline__item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24rem;
  padding: 24rem;
  border-radius: 20rem;
  background-color: #fff;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.05);
}

@media (min-width: 768px) {
  .top-event-timeline__item {
    grid-template-columns: 280rem 1fr 280rem;
    align-items: start;
  }
}

.top-event-timeline__item-date {
  padding: 16rem;
  border-radius: 16rem;
  background-color: #1B315E;
  color: #fff;
}

.top-event-timeline__item:nth-child(even) .top-event-timeline__item-date {
  background-color: #D64D4D;
}

.top-event-timeline__item-date-time {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.top-event-timeline__item-month {
  font-size: 24rem;
  line-height: calc(32 / 24);
}

.top-event-timeline__item-day {
  font-size: 30rem;
  line-height: calc(36 / 30);
}

.top-event-timeline__item-year {
  font-size: 14rem;
  line-height: calc(20 / 14);
}

.top-event-timeline__item-info-title {
  font-size: 24rem;
  line-height: calc(32 / 24);
  color: #111827;
}

.top-event-timeline__item-info-text {
  margin-top: 12rem;
}

.top-event-timeline__item-info-list {
  margin-top: 16rem;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

.top-event-timeline__item-item {
  display: flex;
  align-items: center;
  gap: 8.7rem;
  font-size: 14rem;
  line-height: calc(20 / 14);
  color: #6B7280;
}

.top-event-timeline__item-item::before {
  content: '';
  display: inline-block;
  width: 14.6rem;
  height: 14.01rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-event-timeline__item--place::before {
  background-image: url('../img/icon_map_pin.svg');
}

.top-event-timeline__item--time::before {
  background-image: url('../img/icon_clock.svg');
}

.top-event-timeline__item-group {
  display: flex;
  flex-direction: column;
  gap: 16rem;
}

.top-event-timeline__item-img-wrap {
  overflow: hidden;
  border-radius: 16rem;
}

@media (min-width: 768px) {
  .top-event-timeline__item-img {
    aspect-ratio: 280 / 128;
    object-fit: cover;
  }
}

.top-event-timeline__item-button {
  padding: 8rem;
}

.top-event-timeline__item:nth-child(even) .top-event-timeline__item-button {
  background-color: #D64D4D;
}

.top-event-timeline__button-wrap {
  margin-top: 48rem;
}

/*!
page > top > top-support
------------------------------
*/
.top-support {
  background-color: #fff;
}

.top-support__group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48rem;
}

@media (min-width: 768px) {
  .top-support__group {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
}

.top-support__lead {
  margin-top: 24rem;
  font-size: 24rem;
  line-height: calc(32 / 24);
  color: #1F2937;
}

.top-support__text {
  margin-top: 16rem;
  font-size: 18rem;
  line-height: calc(28 / 18);
}

.top-support__list {
  margin-top: 24rem;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}

.top-support__item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16.42rem;
}

.top-support__item::before {
  content: '';
  display: inline-block;
  width: 20.85rem;
  height: 20rem;
  background-image: url('../img/icon_check.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  grid-row: 1 / 3;
  margin-top: 8rem;
}

.top-support__item-title {
  color: #111827;
}

.top-support__item-text {
  margin-top: 4rem;
  line-break: strict;
}

.top-support__button-wrap {
  margin-top: 32rem;
}

.top-support__img-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16rem;
}

.top-support__img-item {
  border-radius: 16rem;
  overflow: hidden;
}
