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

:root {
  --wp--preset--color--gAiiro: #004c71;
  --wp--preset--color--primary: var(--wp--preset--color--gAiiro);
}

:root :where(.is-layout-flow) > *,
:root :where(.is-layout-constrained) > * {
    margin-block-start: 0;
    margin-block-end: 0;
}

.has-calligraffitti-font-family {
	color:var(--wp--preset--color--primary);
}

html {
  scroll-behavior: smooth;
}

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

header,footer {
	padding-top: 0;
	padding-right: var(--wp--custom--spacing--small);
	padding-bottom: 0;
	padding-left: var(--wp--custom--spacing--small);
}

main.wp-block-group {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
}

article.wp-block-group,
section.wp-block-group {
	padding-top: var(--wp--custom--spacing--large);
	padding-right: var(--wp--custom--spacing--small);
	padding-bottom: var(--wp--custom--spacing--large);
	padding-left: var(--wp--custom--spacing--small);
}

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;
}

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

footer a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

/* 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;
}

.wp-block-query li > div,
.wp-block-query li > div > div {
	padding-top: 1rem;
	padding-right: 0;
	padding-bottom: 1rem;
	padding-left: 0;
}

/* pagetop */
.pagetop {
	height: 3rem;
	width: 3rem;
	background: var(--wp--preset--color--primary);
	border: solid 2px var(--wp--preset--color--white);
	border-radius: 50%;
	box-shadow: 0 4px 6px rgb(0 0 0 / 30%);
	position: fixed;
	right: 0.5rem;
	bottom: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}

.pagetop:hover {
	border: solid 2px var(--wp--preset--color--luminous-vivid-amber);
	transition: 0.5s;
}

.pagetop a:hover {
	color: var(--wp--preset--color--luminous-vivid-amber);
}

header h1 {
	display: none;
}

header .wp-block-group {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}

body:not(.home) main {
	padding-top: var(--wp--custom--spacing--small);
	padding-right: var(--wp--custom--spacing--small);
	padding-bottom: var(--wp--custom--spacing--small);
	padding-left: var(--wp--custom--spacing--small);
}

.page-info.wp-block-group,
.page-info .wp-block-group {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}