:root {
  --wp--preset--color--gAiiro: #004c71;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--wp--preset--font-family--sawarabi-gothic);
  color: #3e3a39;
  --sticky--header--height: 60px;
}

a {
  text-decoration: none;
  background: linear-gradient(currentColor 0 0) 0 100% /var(--d, 0) 1px no-repeat;
  transition:0.5s;
}

a:hover {
  /*--d: 100%;*/
}

.wp-block-table th {
  color:#fff;
  background-color: #003b5d;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid;
  border-left: 0;
}

.wp-block-table tr:first-child >th {
  border-radius: 0.5rem 0 0 0;
}

.wp-block-table tr:last-child >th {
  border-radius: 0 0 0 0.5rem;
}

.wp-block-table td {
  border-top: 0;
  border-right: 0;
  border-bottom: 1px dotted;
  border-left: 0;
}

iframe {
  width:100%;
}

header.is-position-sticky {
  height: var(--sticky--header--height);
  background-color: rgb(255,255,255,0.75);
}

:where(.wp-site-blocks) > main{
  margin-block-start: 0;
}

section {
  background-color: inherit;
}

section:nth-child(even){
  background-color: rgb(255,255,255,0.875);
}

section.alignfull.has-global-padding,
article.alignfull.has-global-padding {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: var(--wp--preset--spacing--80);
  padding-right: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--80);
  padding-left: var(--wp--preset--spacing--40);
}

section.access.alignfull.has-global-padding {
  margin-bottom: -0.5rem;
  padding-top: var(--wp--preset--spacing--80);
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

div#area_pagetop {
  width: 3rem;
  height: auto;
  background-color: rgb(255,255,255,0.5);
  padding-top: 0.75rem;
  margin: 0;
  position: fixed;
  z-index: 100;
  bottom: 1rem;
  right: 1rem;
  border-top: 1px solid #555;
}

div#area_pagetop span {
  font-size: 0.65rem;
  display: inline-block;
}

footer {
  background-color: var(--wp--preset--color--gAiiro);
  margin-block-start: 0;
}

/* arrange */
section.wp-block-cover.alignfull.has-parallax.hero {
  min-height: calc(96vh + var(--sticky--header--height)) !important;
  margin-block-start:calc(-1*var(--sticky--header--height) + var(--wp-admin--admin-bar--position-offset, -1*var(--sticky--header--height)));
}

section.wp-block-cover.alignfull.has-parallax.hero .wp-block-cover__inner-container.is-layout-flow.wp-block-cover-is-layout-flow {
  padding-block-start: var(--sticky--header--height);
}
.wp-block-table th,
.wp-block-table td {
  padding: 0.75rem 1rem;
}

section#contact.alignfull.has-global-padding {
  padding: 0;
  margin: 0;
}