@charset 'UTF-8';
:root {
	--font-base: 'Roboto', 'Noto Sans JP', sans-serif;
	--base-font-size: 16px;
	--color-black: #000;
	--color-white: #fff;
	--color-gray: #d6d6d6;
	--color-gray2: #666;
	--color-gray-dark: #9c9c9c;
	--color-gray-dark2: #373737;
	--color-gray-light: #f0f0f0;
	--color-red: #ce0e2d;
}

/* =====================================================
* Base
* ================================================== */

/*
 * 参考
 * https://github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/

/* Box sizing rules */

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

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

/* Set core root defaults */

html:focus-within {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	min-height: 100vh;
	line-height: 1.5;
	text-rendering: optimizeSpeed;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  display: block;
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */

html {
  position: relative;
}

html.is-no-scroll {
  overflow: hidden;
}

body {
  color: var(--color-black);
  font-family: var(--font-base);
  font-size: var(--wp--preset--font-size--medium, calc(14 / 16 * 1rem));
  font-weight: 400;
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}

* {
  min-inline-size: 0;
}

a {
  color: var(--color-red);
  text-decoration: underline;
  transition: color 0.3s ease;
}

a.no-click {
  pointer-events: none;
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

h2 {
  padding: 16px 20px;
  border-left: 4px solid var(--wp--preset--color--main, var(--color-red));
  background-color: var(--wp--preset--color--gray-light, var(--color-gray-light));
}

h3 {
  display: grid;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-bottom: 24px !important;
  padding: 0 0 0 20px;
  border-left: 4px solid var(--wp--preset--color--main, var(--color-red));
  grid-template-columns: max-content minmax(0, 1fr);
  -moz-column-gap: 16px;
  column-gap: 16px;
}

h3.wp-block-heading {
  display: grid;
}

h3::after {
  content: '';
  align-self: center;
  width: 100%;
  min-width: 0;
  height: 1px;
  background-color: #000;
  grid-column: 2;
  grid-row: 1;
}

button,
.wp-block-button__link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 8px 16px;
  border: 1px solid var(--color-red);
  border-radius: 100vmax;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
  gap: 16px;
}

button::after,
.wp-block-button__link::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23CE0E2D\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.3s ease, background-image 0.3s ease;
}

.wp-block-button__link[target=_blank]::after {
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'17\' fill=\'none\'%3E%3Cg stroke=\'%23CE0E2D\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' clip-path=\'url(%23a)\'%3E%3Cpath d=\'M6.703 1H1v15h15v-5.703M16 6.625V1h-5.625M6.325 10.684 16 1\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'a\'%3E%3Cpath fill=\'%23fff\' d=\'M0 0h17v17H0z\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

a[target=_blank]:not(.wp-block-button__link):not(.p-events-more)::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 4px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'17\' fill=\'none\'%3E%3Cg stroke=\'%23CE0E2D\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' clip-path=\'url(%23a)\'%3E%3Cpath d=\'M6.703 1H1v15h15v-5.703M16 6.625V1h-5.625M6.325 10.684 16 1\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'a\'%3E%3Cpath fill=\'%23fff\' d=\'M0 0h17v17H0z\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: -0.12em;
  transition: background-image 0.3s ease;
}

address {
  font-style: normal;
}

summary {
  cursor: pointer;
  list-style: none;
}

summary::-webkit-details-marker {
  display: none;
}

em {
  font-weight: 700;
  font-style: normal;
}

figure {
  margin: 0;
}

sup {
  font-size: 50%;
}

ol.wp-block-list {
  padding-left: 0.875rem;
}

ol.wp-block-list li {
  padding-left: 8px;
}

::-moz-placeholder {
  color: #999;
}

::placeholder {
  color: #999;
}

._flexgrow9999 {
  flex-grow: 9999;
}

._flexshrink0 {
  flex-shrink: 0;
}

._maxwidth100 {
  max-width: 100%;
}

._order2 {
  order: 2;
}

ul.wp-block-list {
  list-style: none;
  padding-left: 0;
}

ul.wp-block-list li {
  display: flex;
  gap: 8px;
}

ul.wp-block-list li::before {
  content: '';
  display: inline-block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-gray2);
  transform: translateY(90%);
}

.wp-block-table table {
  border-collapse: collapse;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  border: none;
}

.wp-block-table thead {
  border: none;
}

.wp-block-table th,
.wp-block-table td {
  padding: 16px;
  border: none;
  border-bottom: 1px solid var(--color-gray-dark);
  text-align: left;
}

.wp-block-table th {
  font-weight: 700;
}

/* =====================================================
 * Library
 * ================================================== */

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	top: 0;
	left: 0;
}

.leaflet-container {
	overflow: hidden;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */

.leaflet-tile::-moz-selection {
	background: transparent;
}

.leaflet-tile::selection {
	background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */

.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */

.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */

/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */

.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	width: auto;
	max-width: none !important;
	max-height: none !important;
	padding: 0;
}

.leaflet-container img.leaflet-tile {
  /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
  visibility: hidden;
  filter: inherit;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  z-index: 800;
  box-sizing: border-box;
  width: 0;
  height: 0;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */

.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  display: inline-block;
  position: absolute;
  behavior: url(#default#VML);
}

/* control positioning */

.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
	pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
}

.leaflet-top {
	top: 0;
}

.leaflet-right {
	right: 0;
}

.leaflet-bottom {
	bottom: 0;
}

.leaflet-left {
	left: 0;
}

.leaflet-control {
	float: left;
	clear: both;
}

.leaflet-right .leaflet-control {
	float: right;
}

.leaflet-top .leaflet-control {
	margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
	margin-left: 10px;
}

.leaflet-right .leaflet-control {
	margin-right: 10px;
}

/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
}

.leaflet-zoom-animated {
	transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
}

/* cursors */

.leaflet-interactive {
	cursor: pointer;
}

.leaflet-grab {
	cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: grabbing;
}

/* marker & overlays interactivity */

.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

/* visual tweaks */

.leaflet-container {
  outline-offset: 1px;
  background: #ddd;
}

.leaflet-container a {
  color: #0078a8;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */

.leaflet-container {
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* general toolbar styles */

.leaflet-bar {
  border-radius: 4px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
}

.leaflet-bar a {
  display: block;
  width: 26px;
  height: 26px;
  border-bottom: 1px solid #ccc;
  background-color: #fff;
  color: black;
  line-height: 26px;
  text-align: center;
  text-decoration: none;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  display: block;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom: none;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

/* layers control */

.leaflet-control-layers {
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
}

.leaflet-control-layers-toggle {
  width: 36px;
  height: 36px;
  background-image: url(images/layers.png);
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(images/layers-2x.png);
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  background: #fff;
  color: #333;
}

.leaflet-control-layers-scrollbar {
  overflow-x: hidden;
  overflow-y: scroll;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  position: relative;
  top: 1px;
  margin-top: 2px;
}

.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}

.leaflet-control-layers-separator {
  height: 0;
  margin: 5px -10px 5px -6px;
  border-top: 1px solid #ddd;
}

/* Default icon URLs */

.leaflet-default-icon-path {
  /* used only in path-guessing heuristic, see L.Icon.Default */
  background-image: url(images/marker-icon.png);
}

/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
  margin: 0;
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  display: inline !important;
  width: 1em;
  height: 0.6669em;
  vertical-align: baseline !important;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  box-sizing: border-box;
  padding: 2px 5px 1px;
  border: 2px solid #777;
  border-top: none;
  background: rgba(255, 255, 255, 0.8);
  line-height: 1.1;
  white-space: nowrap;
  text-shadow: 1px 1px #fff;
}

.leaflet-control-scale-line:not(:first-child) {
  margin-top: -2px;
  border-top: 2px solid #777;
  border-bottom: none;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */

.leaflet-popup {
  position: absolute;
  margin-bottom: 20px;
  text-align: center;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  border-radius: 12px;
  text-align: left;
}

.leaflet-popup-content {
  min-height: 1px;
  margin: 13px 24px 13px 20px;
  font-size: 13px;
  font-size: 1.08333em;
  line-height: 1.3;
}

.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  position: absolute;
  left: 50%;
  overflow: hidden;
  width: 40px;
  height: 20px;
  margin-top: -1px;
  margin-left: -20px;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  margin: -10px auto 0;
  padding: 1px;
  transform: rotate(45deg);
  pointer-events: auto;
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
  color: #333;
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: #757575;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  text-align: center;
  text-decoration: none;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)';
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */

.leaflet-div-icon {
  border: 1px solid #666;
  background: #fff;
}

/* Tooltip */

/* Base styles for the element that has a tooltip */

.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  border: 1px solid #fff;
  border-radius: 3px;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  content: '';
  position: absolute;
  border: 6px solid transparent;
  background: transparent;
  pointer-events: none;
}

/* Directions */

.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

/* Printing */

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  z-index: 0;
  margin: 0 !important;
  opacity: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  z-index: 1;
  opacity: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  position: relative;
  box-sizing: border-box;
}

.splide__list {
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  backface-visibility: hidden;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  line-height: 1;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  visibility: hidden;
  position: relative;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  position: relative;
  list-style-type: none !important;
  flex-shrink: 0;
  box-sizing: border-box;
  margin: 0;
  backface-visibility: hidden;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  animation: splide-loading 1s linear infinite;
  contain: strict;
}

.splide__sr {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  position: relative;
  z-index: 0;
  overflow: hidden;
}

[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: flex-start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  max-width: inherit;
  height: inherit;
  max-height: inherit;
}

.simplebar-mask {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  width: auto !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  direction: inherit;
}

.simplebar-offset {
  resize: none !important;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  box-sizing: inherit !important;
  margin: 0;
  padding: 0;
  direction: inherit !important;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  display: block;
  position: relative;
  overflow: auto;
  box-sizing: border-box !important;
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  direction: inherit;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.simplebar-content:after,
.simplebar-content:before {
  content: ' ';
  display: table;
}

.simplebar-placeholder {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  position: relative;
  z-index: -1;
  float: left;
  overflow: hidden;
  flex-grow: inherit;
  flex-shrink: 0;
  flex-basis: 0;
  box-sizing: inherit !important;
  width: 100%;
  max-width: 1px;
  height: 100%;
  max-height: 1px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.simplebar-height-auto-observer {
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  overflow: hidden;
  box-sizing: inherit;
  width: 1000%;
  min-width: 1px;
  height: 1000%;
  min-height: 1px;
  opacity: 0;
  pointer-events: none;
}

.simplebar-track {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-simplebar].simplebar-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
  -webkit-touch-callout: none;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: none;
  -webkit-touch-callout: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  right: 0;
  left: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  content: '';
  position: absolute;
  right: 2px;
  left: 2px;
  border-radius: 7px;
  background: #000;
  opacity: 0;
  transition: opacity 0.2s 0.5s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition-delay: 0s;
  transition-duration: 0s;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-scrollbar:before {
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: auto;
  min-width: 10px;
  min-height: 0;
}

[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.simplebar-dummy-scrollbar-size {
  visibility: hidden;
  position: fixed;
  overflow-x: scroll;
  overflow-y: hidden;
  width: 500px;
  height: 500px;
  opacity: 0;
  direction: rtl;
  -ms-overflow-style: scrollbar !important;
}

.simplebar-dummy-scrollbar-size > div {
  width: 200%;
  height: 200%;
  margin: 10px 0;
}

.simplebar-hide-scrollbar {
  visibility: hidden;
  position: fixed;
  left: 0;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* =====================================================
 * Layout
 * ================================================== */

.l-footer {
  border-top: 1px solid var(--color-red);
}

.l-footer .inner {
  display: flex;
  flex-direction: column;
  width: min(100%, 1320px);
  padding: 20px;
  gap: 20px;
  margin-inline: auto;
}

.l-footer .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(155px, 39.7435897436vw, 206px);
  font-size: 100%;
  line-height: 1;
  transition: opacity 0.3s ease;
}

.l-footer .logo a {
  display: block;
  line-height: 1;
}

.l-footer .logo img {
  width: 100%;
}

.l-footer .text {
  line-height: 1.2;
}

.l-footer .link {
  display: flex;
  align-items: center;
  margin-top: 20px;
  gap: 16px;
}

.l-footer .link a {
  color: var(--color-black);
}

.l-footer .copyright {
  margin-top: 20px;
}

.l-header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--color-white);
}

.l-header a {
  color: initial;
  text-decoration: none;
}

.l-header ul,
.l-header ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.l-header button {
  cursor: pointer;
  padding: 0;
  border: none;
  border-radius: initial;
  background-color: transparent;
  color: inherit;
}

.l-header button::after {
  display: none;
}

.l-header .inner {
  display: flex;
  align-items: center;
  min-height: 100px;
}

.l-header .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: clamp(155px, 39.7435897436vw, 206px);
  margin-right: auto;
  margin-left: clamp(20px, 2vw, 80px);
  font-size: 100%;
  line-height: 1;
  transition: opacity 0.3s ease;
}

.l-header .logo a {
  display: block;
  line-height: 1;
}

.l-header .logo img {
  width: 100%;
}

.l-header .nav-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  order: 3;
  width: 60px;
  height: 60px;
  background-color: var(--color-black);
}

.l-header .nav-btn .line {
  position: relative;
  width: 20px;
  height: 2px;
  border-radius: 100vmax;
  background-color: var(--color-white);
  transition: background-color 0.3s ease;
}

.l-header .nav-btn .line::before,
.l-header .nav-btn .line::after {
  content: '';
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  border-radius: 100vmax;
  background-color: var(--color-white);
  transition: transform 0.3s ease, top 0.3s ease;
}

.l-header .nav-btn .line::before {
  top: -7px;
}

.l-header .nav-btn .line::after {
  top: 7px;
}

.l-header .nav-btn .line.is-active {
  background-color: transparent;
}

.l-header .nav-btn .line.is-active::before {
  top: 0;
  transform: rotate(45deg);
}

.l-header .nav-btn .line.is-active::after {
  top: 0;
  transform: rotate(-45deg);
}

.l-header .nav-menu {
  margin-inline: auto;
}

.l-header .nav-menu .main-list {
  display: flex;
  position: relative;
  align-items: center;
  gap: 32px;
}

.l-header .nav-menu .main-list > li a {
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  transition: color 0.3s ease;
}

.l-header .nav-menu .main-list .sub-list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  overflow: visible;
  align-items: start;
  width: -moz-max-content;
  width: max-content;
  padding: 0 40px 40px;
  background-color: rgba(255, 255, 255, 0.8);
  pointer-events: none;
  grid-template-columns: auto;
  -moz-column-gap: 24px;
  column-gap: 24px;
}

.l-header .nav-menu .main-list .sub-list.is-open {
  display: grid;
  pointer-events: auto;
}

.l-header .nav-menu .main-list .sub-list.sub-list-simple {
  flex-direction: column;
  gap: 8px;
}

.l-header .nav-menu .main-list .sub-list.sub-list-simple > li {
  white-space: nowrap;
}

.l-header .nav-menu .main-list .sub-list.is-line-up-open {
  grid-template-columns: auto auto;
}

.l-header .nav-menu .main-list .sub-list.is-line-up-open .sub-list-secondary {
  display: block;
}

.l-header .nav-menu .main-list .sub-list.is-line-up-open.is-product-open {
  grid-template-columns: auto auto max-content;
}

.l-header .nav-menu .main-list .sub-list.is-line-up-open.is-product-open .sub-list-tertiary.is-active {
  display: block;
}

.l-header .nav-menu .main-list .sub-list-primary,
.l-header .nav-menu .main-list .sub-list-secondary,
.l-header .nav-menu .main-list .sub-list-tertiary {
  list-style: none;
  margin: 0;
  padding: 0;
}

.l-header .nav-menu .main-list .sub-list-primary {
  grid-column: 1;
}

.l-header .nav-menu .main-list .sub-list-primary > ul {
  display: flex;
  list-style: none;
  flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 8px;
}

.l-header .nav-menu .main-list .sub-list-primary .line-up > a {
  display: flex;
  position: relative;
  align-items: center;
  gap: 8px;
}

.l-header .nav-menu .main-list .sub-list-primary .line-up > a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  width: 24px;
  height: 100%;
}

.l-header .nav-menu .main-list .sub-list-secondary {
  display: none;
  position: relative;
  width: -moz-max-content;
  width: max-content;
  margin-left: -24px;
  padding-left: 24px;
  grid-column: 2;
}

.l-header .nav-menu .main-list .sub-list-tertiary {
  display: none;
  position: relative;
  align-self: start;
  width: -moz-max-content;
  width: max-content;
  margin-left: -24px;
  padding-left: 24px;
  grid-column: 3;
}

.l-header .nav-menu .main-list .sub-list .line-up-list {
  display: grid;
  list-style: none;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 0;
  gap: 8px;
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li {
  position: relative;
  width: 100%;
  white-space: nowrap;
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li.is-active > a {
  color: var(--color-red);
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li > a {
  display: flex;
  position: relative;
  align-items: center;
  text-transform: none;
  gap: 8px;
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li.has-product-list > a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  width: 24px;
  height: 100%;
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li.has-product-list > a::after {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  background-color: var(--color-black);
  transition: background-color 0.3s ease;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.l-header .nav-menu .main-list .sub-list .line-up-list > li.is-active.has-product-list > a::after {
  background-color: var(--color-red);
}

.l-header .nav-menu .main-list .product-list {
  display: none;
  list-style: none;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 0;
  grid-auto-rows: max-content;
  row-gap: 7px;
}

.l-header .nav-menu .main-list .sub-list-tertiary .product-list {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0 40px 24px;
}

.l-header .nav-menu .pc-hide {
  margin-top: 32px;
}

.l-header .nav-menu .menu-contact-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
  gap: 16px;
}

.l-header .nav-menu .menu-contact-btn::after {
  content: '';
  display: block;
  width: 16px;
  height: 8px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.707L13.672.147a.5.5 0 1 0-.708.707l2.829 2.828-2.829 2.829a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.3s ease;
}

.l-header .pc-btn {
  display: flex;
  height: 100px;
}

.l-header .pc-btn .btn-group {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 24px;
  background-color: var(--color-gray-light);
  gap: 16px;
}

.l-header .pc-btn .btn-group .translation-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 35px;
  min-height: 35px;
  text-transform: uppercase;
}

.l-header .contact-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 24px;
  background-color: var(--color-red);
  color: var(--color-white);
  font-weight: 500;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
  gap: 16px;
}

.l-header .contact-btn::after {
  content: '';
  display: block;
  width: 16px;
  height: 8px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.707L13.672.147a.5.5 0 1 0-.708.707l2.829 2.828-2.829 2.829a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.3s ease;
}

.l-header .bogo-language-switcher .bogoflags {
  display: none;
}

.l-header .search-form {
  display: flex;
  align-items: center;
  margin-top: 32px;
  gap: 8px;
}

.l-header .search-input {
  border: none;
  border-bottom: 1px solid var(--color-gray-dark);
  background-color: transparent;
}

.l-header .search-input:focus {
  outline: none;
}

.l-section-inner {
  width: min(100%, 1320px);
  margin-inline: auto;
  padding-inline: 20px;
}

/* =====================================================
 * Module
 * ================================================== */
	.c-cta-btn a.wp-block-button__link {
  width: 176px;
	padding: 16px;
	border: none;
	border-radius: 0;
	background-color: var(--color-red);
	color: var(--color-white);
}

.c-cta-btn a.wp-block-button__link::after {
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.035a.5.5 0 0 0 0-.707L13.672.146a.5.5 0 1 0-.708.707l2.829 2.829-2.829 2.828a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.c-list {
	display: grid;
	gap: 8px;
}

.c-list > div {
	display: flex;
	margin: 0;
	gap: 10px;
}

.c-list > div::before {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-gray2);
	transform: translateY(70%);
}

.c-list .row p:first-child {
	flex-shrink: 0;
}

.c-pagination {
	display: flex;
	margin-top: 40px;
	font-weight: 500;
	gap: 24px;
	padding-inline: 20px;
}

.c-pagination > span {
	color: var(--color-gray-dark);
}

.c-pagination a {
	text-decoration: none;
}

.c-pagination a span.icon {
	transition: transform 0.3s ease;
}

.c-pagination > * {
	display: flex;
	gap: 16px;
}

.c-table {
	width: 1280px;
}

.c-table-wrap {
	overflow-x: auto;
}

.c-table .row {
	align-items: center;
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--color-gray-dark);
}

.c-table .row.head {
	padding: 0 0 16px;
}

.c-table-small {
	width: 100%;
}

.c-table-small .row {
	align-items: center;
	margin: 0;
	padding: 16px 0 16px 16px;
	border-bottom: 1px solid var(--color-gray-dark);
}

.c-table-small .row .cell:first-child {
	min-width: 160px;
}

.p-accordion.no-child {
	pointer-events: none;
}

.p-accordion.no-child .title::before {
	transform: rotate(-90deg);
}

.p-accordion .title {
	cursor: pointer;
	display: grid;
	align-items: center;
	grid-template-columns: 8px auto 1fr;
	gap: 8px;
}

.p-accordion .title::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--color-gray-dark2);
	transition: background-color 0.3s ease, transform 0.3s ease;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.p-accordion .title::after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray-dark2);
}

.p-accordion .title:hover::before {
	background-color: var(--color-red);
}

.p-accordion > .inner {
	display: grid;
	transition: grid-template-rows 0.3s ease;
	grid-template-rows: 0fr;
}

.p-accordion > .inner > div {
	overflow: hidden;
	width: 100%;
}

.p-accordion .p-accordion .title::before {
	margin-top: -2px;
}

.p-accordion ul {
	list-style: none;
	padding-left: 0;
}

.p-accordion ul li {
	display: flex;
	gap: 8px;
}

.p-accordion ul li::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--color-gray2);
	transform: translateY(90%);
}

.p-accordion.open > .title::before {
	background-color: var(--color-red);
	transform: rotate(-180deg);
}

.p-accordion.open > .inner {
	grid-template-rows: 1fr;
}

.p-bottom-nav {
	list-style: none;
	margin: 60px 0 0;
	padding: 0;
	border-bottom: 1px solid var(--color-gray-dark);
}

.p-bottom-nav li a {
	display: flex;
	align-items: center;
	height: 80px;
	padding: 28px 40px;
	border-top: 1px solid var(--color-gray-dark);
	background-color: var(--color-gray-light);
	color: initial;
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	gap: 16px;
}

.p-bottom-nav li a::after {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23373737\' d=\'M16.854 4.036a.5.5 0 0 0 0-.707L13.672.147a.5.5 0 1 0-.708.707l2.829 2.828-2.829 2.829a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.p-breadcrumb {
	width: min(100%, 1320px);
	margin: 0 auto 60px;
	padding: 12px 20px;
	font-size: 14px;
	text-transform: uppercase;
}

.p-breadcrumb a {
	color: initial;
	text-decoration: none;
}

.p-breadcrumb #breadcrumbs > span {
	display: flex;
	gap: 8px;
}

.p-breadcrumb .aioseo-breadcrumb-separator {
	font-size: 0;
}

.p-breadcrumb .aioseo-breadcrumb-separator::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 9px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'7\' height=\'10\' fill=\'none\'%3E%3Cpath stroke=\'%23373737\' stroke-linecap=\'round\' stroke-linejoin=\'round\' d=\'m.5.5 6 4.5-6 4.5\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	margin-inline: 8px;
}

.p-concept {
	align-items: flex-start;
	gap: 14px 32px;
}

.p-contact {
	padding: 20px;
}

.p-contact > * {
	max-width: 960px;
	margin-inline: auto;
}

.p-contact form p {
	margin-top: 8px;
}

.p-contact label {
	display: block;
}

.p-contact label > span:first-child {
	display: block;
}

.p-contact label > span .label {
	display: inline-block;
	font-weight: 700;
}

.p-contact label > span .required {
	display: inline-block;
	transform: translateY(-6px);
}

.p-contact label .select {
	display: inline-block;
	position: relative;
	width: 100%;
}

.p-contact label .wpcf7-form-control-wrap {
	display: block;
}

.p-contact label .wpcf7-form-control-wrap input,
.p-contact label .wpcf7-form-control-wrap select,
.p-contact label .wpcf7-form-control-wrap textarea {
	width: 100%;
	padding: 5px 8px;
	border: none;
	border-radius: 4px;
	color: var(--color-gray-dark2);
}

.p-contact label .wpcf7-form-control-wrap select {
	cursor: pointer;
	padding-right: 8px;
	background-color: var(--color-white);
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'8\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23373737\' d=\'M8 0 4 8 0 0\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 8px;
	color: var(--color-gray-dark2);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.p-contact .btn-wrap {
	width: -moz-fit-content;
	width: fit-content;
	margin: 28px auto 0;
}

.p-contact .btn-wrap > p {
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
}

.p-contact .btn-wrap > p::before {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 113px;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.035a.5.5 0 0 0 0-.707L13.672.146a.5.5 0 1 0-.708.707l2.829 2.829-2.829 2.828a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
	transform: translateY(-50%);
}

.p-contact .btn-wrap > p input[type=submit] {
	cursor: pointer;
	width: 310px;
	height: 48px;
	padding-right: 32px;
	border: none;
	background-color: var(--color-red);
	color: var(--color-white);
	font-weight: 500;
	line-height: 1;
	text-transform: uppercase;
	transition: background-color 0.3s ease;
}

.p-contact .btn-wrap .wpcf7-spinner {
	display: none;
}

.p-contact-col {
	align-items: flex-start;
}

.p-contact-col > div {
	width: 100%;
}

.p-cookie {
	display: none;
	position: fixed;
	z-index: 999;
	right: 20px;
	bottom: 20px;
	width: 400px;
	padding: 20px;
	border: 1px solid var(--color-red);
	border-radius: 20px;
	background-color: var(--color-white);
	gap: 10px;
}

.p-cookie.is-visible {
	display: grid;
}

.p-cookie a {
	color: var(--color-black);
}

.p-cookie button {
	cursor: pointer;
	background-color: transparent;
	color: var(--color-red);
	font-weight: 500;
	text-transform: uppercase;
}

.p-cookie button::after {
	display: none;
}

.p-events {
	margin-bottom: 60px;
}

.p-events-section + .p-events-section {
	margin-top: 40px;
}

.p-events-year {
	margin-bottom: 0;
	text-transform: uppercase;
}

.p-events-list {
	margin-top: 40px;
}

.p-events-head {
	display: none;
}

.p-events-item {
	margin-top: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--color-gray-dark);
}

.p-events-details {
	margin: 0;
}

.p-events-more {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 143px;
	padding: 8px 16px;
	border: 1px solid var(--color-red);
	border-radius: 100vmax;
	color: var(--color-red);
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
	gap: 16px;
}

.p-events-more::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23CE0E2D\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease, background-image 0.3s ease;
}

.p-events-fig {
	width: 100%;
	margin-top: 40px;
}

.p-events-fig img {
	width: 100%;
}

.p-header {
	padding: 40px 20px;
	background: url(../img/common/fig_header.webp) no-repeat center right/cover;
	color: var(--color-white);
}

.p-header h1 {
	width: min(100%, 1280px);
	color: var(--color-white);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	margin-inline: auto;
}

.p-history {
	position: relative;
}

.p-history-wrap {
	align-items: stretch;
}

.p-history-wrap figure {
	height: 100%;
}

.p-history-wrap figure img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-history::before {
	content: '';
	position: absolute;
	top: 34px;
	left: 23px;
	width: 1px;
	height: calc(100% - 68px);
	background-color: var(--color-gray-dark);
}

.p-history > div {
	display: grid;
	grid-template-columns: 90px 1fr;
}

.p-history .year {
	display: grid;
	position: relative;
	font-size: 1rem;
	grid-template-columns: 24px 1fr;
	gap: 8px;
}

.p-history .year::before {
	content: '';
	display: inline-block;
	flex-shrink: 0;
	width: 24px;
	height: 1px;
	border-radius: 100vmax;
	background-color: var(--color-red);
	transform: translateY(9px);
}

.p-history .year::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--color-red);
}

.p-history .text {
	margin: 0;
}

.p-kv {
	position: relative;
}

.p-kv-fig {
	width: 100%;
	max-height: 800px;
	aspect-ratio: 390/680;
}

.p-kv-fig figure,
.p-kv-fig img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.p-kv-inner {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	padding: 20px;
}

.p-link-card {
	transition: background-color 0.3s ease;
}

.p-link-card .title {
	display: flex;
	align-items: center;
	gap: 24px;
}

.p-link-card .title::before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23CE0E2D\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.p-link-card .title h2 {
	margin: 0 !important;
	padding: 0;
	border-bottom: 1px solid var(--color-red);
	border-left: none;
	background-color: transparent;
	line-height: 1.5;
}

.p-science {
	align-items: stretch;
}

.p-science-box > div {
	display: grid;
	align-items: center;
	grid-template-columns: 90px auto;
	gap: 8px;
}

.p-science-box .title {
	display: grid;
	align-items: center;
	width: 100%;
	grid-template-columns: max-content auto;
	gap: 8px;
}

.p-science-box .title::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background-color: var(--color-black);
}

.p-science-box .title > * {
	width: -moz-fit-content;
	width: fit-content;
}

.p-science-box .text {
	margin: 0;
}

.p-search {
	padding-block: 100px;
}

.p-search ul,
.p-search ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-search h1 {
	margin-bottom: 40px;
	padding: 16px 0;
	font-size: 1.5rem;
}

.p-search-list {
	display: grid;
	gap: 20px;
}

.p-search-item a {
	display: block;
	padding: 24px;
	background-color: var(--color-gray-light);
	color: initial;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.p-search-item h2 {
	display: flex;
	align-items: center;
	padding: 0;
	border-left: none;
	background-color: transparent;
	font-size: 24px;
	gap: 24px;
}

.p-search-item h2::before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23CE0E2D\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.p-search-item h2 span {
	border-bottom: 1px solid var(--color-red);
}

.p-search-item p {
	margin-top: 16px;
}

.p-technical-info-fig {
	width: 100%;
	margin-bottom: 60px;
}

.p-technical-info-fig img {
	width: 100%;
}

.p-technical-info-list {
	display: grid;
	list-style: none;
	padding: 0;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px 40px;
}

.p-technical-info-list li {
	display: grid;
	padding-left: 24px;
	border-left: 4px solid var(--color-red);
	gap: 8px;
}

.p-technical-info-list li h2 {
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
	font-size: 1rem;
	font-weight: 700;
}

.p-technical-info-more {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 143px;
	padding: 8px 16px;
	border: 1px solid var(--color-red);
	border-radius: 100vmax;
	color: var(--color-red);
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
	gap: 16px;
}

.p-technical-info-more::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23CE0E2D\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease, background-image 0.3s ease;
}

.p-technical-info-single {
	padding-inline: 0;
}

.p-top-banner {
	display: grid;
	gap: 20px;
}

.p-top-banner-slide {
	margin: 0 !important;
}

.p-top-banner .splide__track {
	width: -moz-fit-content;
	width: fit-content;
}

.p-top-banner .splide__arrow {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background-color: #000;
	opacity: 0.6 !important;
}

.p-top-banner .splide__arrow::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M.146 7.646a.5.5 0 0 0 0 .708l3.182 3.182a.5.5 0 1 0 .708-.708L1.207 8l2.829-2.828a.5.5 0 1 0-.708-.708L.146 7.646ZM16.5 8.5a.5.5 0 0 0 0-1v1ZM.5 8v.5h16v-1H.5V8Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translate(-50%, -50%);
}

.p-top-banner .splide__arrow.splide__arrow--prev {
	left: 0;
	transform: translate(-50%, -50%);
}

.p-top-banner .splide__arrow.splide__arrow--next {
	right: 0;
	transform: translate(50%, -50%);
}

.p-top-banner .splide__arrow.splide__arrow--next::before {
	transform: translate(-50%, -50%) scaleX(-1);
}

.p-top-banner .splide__arrow::after {
	display: none;
}

.p-top-banner .splide__arrow svg {
	display: none;
}

.p-top-banner .banner {
	position: relative;
	width: 100%;
	max-width: 350px;
	margin: 0 !important;
}

.p-top-banner .banner a {
	display: block;
}

.p-top-banner .banner a::after {
	display: none !important;
}

.p-top-banner .image {
	overflow: hidden;
	width: 350px;
	aspect-ratio: 350/140;
}

.p-top-banner .image figure,
.p-top-banner .image img {
	width: 100%;
	height: 140px;
}

.p-top-banner .title {
	display: flex;
	position: absolute;
	bottom: 0;
	left: 0;
	align-items: center;
	width: 100%;
	padding: 8px 16px !important;
	background-color: rgba(0, 0, 0, 0.6);
	color: var(--color-white);
	font-size: 1rem;
	pointer-events: none;
	gap: 8px;
}

.p-top-banner .title.-cl-red {
	width: 100%;
	background-color: var(--color-red);
}

.p-top-banner .title::after {
	content: '';
	display: block;
	width: 16px;
	height: 8px;
	background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.707L13.672.147a.5.5 0 1 0-.708.707l2.829 2.828-2.829 2.829a.5.5 0 1 0 .708.707l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: transform 0.3s ease;
}

.p-top-banner .title p {
	margin: 0 !important;
}

.u-color-white {
	color: var(--color-white);
}

.u-color-black {
	color: var(--color-black);
}

.u-color-gray {
	color: var(--color-gray);
}

.u-color-red {
	color: var(--color-red);
}

.u-color-blue {
	color: var(--color-blue);
}

.u-color-green {
	color: var(--color-green);
}

.u-color-yellow {
	color: var(--color-yellow);
}

.u-color-orange {
	color: var(--color-orange);
}

.u-color-purple {
	color: var(--color-purple);
}

.u-color-pink {
	color: var(--color-pink);
}

.u-show-br-sp {
	display: none;
}

.u-show-br-pc {
	display: none;
}

.u-hide {
	display: none !important;
}

/* font-family
---------------------------------------- */

/* text-align
---------------------------------------- */

.u-al-left {
	text-align: left !important;
}

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

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

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

.u-al-right {
	text-align: right !important;
}

.u-al-right.sp-left {
	text-align: left !important;
}

/* letter spacing
---------------------------------------- */

/* writing-mode
---------------------------------------- */

.u-wm-rl {
	writing-mode: vertical-rl !important;
}

/* font-weight
---------------------------------------- */

.u-fw-regular {
	font-weight: 400 !important;
}

.u-fw-medium {
	font-weight: 500 !important;
}

.u-fw-semib {
	font-weight: 600 !important;
}

.u-fw-bold {
	font-weight: 700 !important;
}

/* text margin
---------------------------------------- */

.u-no-margin {
	margin: 0;
}

.u-link {
	color: var(--color-blue);
	text-decoration: underline;
}

@media screen and (min-width: 768px) {
	ol.wp-block-list {
		padding-left: 1rem;
	}

	._pcorder2 {
		order: 2;
	}

	.l-footer .inner {
		flex-direction: row;
		align-items: flex-start;
		padding: 40px 20px;
		gap: 48px;
	}

	.l-footer .logo {
		width: 206px;
	}

	.l-header .logo {
		width: 206px;
	}

	.l-header .nav-menu .main-list > li a.is-active {
		color: var(--color-red);
	}

	.c-cta-btn a.wp-block-button__link {
		width: 280px;
	}

	.c-list > div::before {
		transform: translateY(90%);
	}

	.p-bottom-nav {
		display: flex;
		align-items: stretch;
	}

	.p-bottom-nav li {
		width: 25%;
	}

	.p-bottom-nav li a {
		height: 160px;
		border-right: 1px solid var(--color-gray-dark);
		font-size: 1.125rem;
	}

	.p-breadcrumb {
		margin: 0 auto 100px;
	}

	.p-contact {
		padding: 80px 40px;
	}

	.p-contact form p {
		margin-top: 16px;
	}

	.p-contact label {
		display: grid;
		grid-template-columns: 160px 1fr;
	}

	.p-contact label > span:first-child {
		width: 160px;
	}

	.p-contact label > span .label {
		transform: translateY(12px);
	}

	.p-contact label .wpcf7-form-control-wrap input,
  .p-contact label .wpcf7-form-control-wrap select,
  .p-contact label .wpcf7-form-control-wrap textarea {
		padding: 12px 16px;
	}

	.p-contact .btn-wrap {
		margin: 36px auto 0;
	}

	.p-contact .btn-wrap > p::before {
		right: 84px;
	}

	.p-contact .btn-wrap > p input[type=submit] {
		width: 280px;
		height: 51px;
	}

	.p-contact-col > div {
		width: 620px;
	}

	.p-events {
		margin-bottom: 100px;
	}

	.p-events-section + .p-events-section {
		margin-top: 60px;
	}

	.p-events-scroll {
		overflow-x: auto;
	}

	.p-events-list {
		min-width: 1280px;
		margin-top: 80px;
	}

	.p-events-head {
		display: grid;
		border-bottom: 1px solid var(--color-gray-dark);
		font-weight: 700;
		grid-template-columns: 232px 152px 214px 154px 316px;
		gap: 40px;
	}

	.p-events-head > div {
		padding: 16px 0;
	}

	.p-events-item {
		display: grid;
		align-items: center;
		margin-top: 0;
		padding-bottom: 0;
		grid-template-columns: 232px 152px 214px 154px 316px;
		gap: 39px;
	}

	.p-events-details {
		display: contents;
	}

	.p-events-detail {
		padding: 21px 0;
	}

	.p-events-detail dt {
		display: none;
	}

	.p-events-more {
		width: 153px;
	}

	.p-events-fig {
		margin-top: 80px;
	}

	.p-header {
		padding: 58px 20px;
	}

	.p-header h1 {
		font-size: 48px;
	}

	.p-history::before {
		top: 54px;
		left: 43px;
		height: calc(100% - 108px);
	}

	.p-history > div {
		grid-template-columns: 110px 1fr;
		gap: 16px;
	}

	.p-history .year {
		font-size: 1.125rem;
		grid-template-columns: 40px 1fr;
	}

	.p-history .year::before {
		width: 40px;
	}

	.p-kv-fig {
		height: 640px;
		max-height: none;
		aspect-ratio: 1440/640;
	}

	.p-kv-inner {
		width: min(100%, 550px);
		padding: 40px 80px 40px 40px;
	}

	.p-kv-inner h3 {
		grid-template-columns: initial !important;
	}

	.p-kv-inner h3::after {
		display: none !important;
	}

	.p-link-card .title {
		min-width: 280px;
	}

	.p-science-box > div {
		grid-template-columns: 200px auto;
		gap: 16px;
	}

	.p-search h1 {
		margin-bottom: 80px;
		font-size: 2rem;
	}

	.p-search-list {
		gap: 40px;
	}

	.p-search-item h2 {
		font-size: 32px;
	}

	.p-search-item p {
		margin-top: 20px;
	}

	.p-technical-info-fig {
		margin-bottom: 100px;
	}

	.p-technical-info-list li h2 {
		font-size: 1.125rem;
	}

	.p-technical-info-more {
		width: 153px;
	}

	.p-top-banner {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 40px;
	}

	.p-top-banner-slide {
		max-width: 920px;
		gap: 0;
	}

	.p-top-banner .banner {
		max-width: 300px;
	}

	.p-top-banner .banner.-wide {
		flex-shrink: 0;
		max-width: 320px;
	}

	.p-top-banner .banner.-wide .image {
		width: 320px;
		aspect-ratio: 320/160;
	}

	.p-top-banner .image {
		width: 300px;
		aspect-ratio: 300/160;
	}

	.p-top-banner .image figure,
  .p-top-banner .image img {
		height: 160px;
	}

	.p-top-banner .title {
		font-size: 1.125rem;
	}

	.u-hide-pc {
		display: none !important;
	}

	.u-show-pc {
		display: block !important;
	}

	.u-show-br-pc {
		display: inline-block !important;
	}

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

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

	.u-al-right.sp-left {
		text-align: right !important;
	}
}

@media screen and (min-width: 768px) and (min-width: 768px) {
	.p-bottom-nav li:last-child a {
		border-right: none;
	}

	.p-events-head > div {
		font-size: 1.125rem;
	}
}

@media (min-width: 768px) {
	.p-kv-fig.-sp-image {
		display: none;
	}
}

@media (min-width: 1081px) {
	.p-kv-fig.-tab-image {
		display: none;
	}
}

@media (min-width: 1101px) {
	.l-header .logo {
		margin-right: 0;
	}

	.l-header .nav-btn {
		display: none;
	}

	.l-header .nav-menu .main-list > li {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100px;
	}

	.l-header .nav-menu .main-list > li:nth-child(1),
  .l-header .nav-menu .main-list > li.has-sub-list {
		position: relative;
	}

	.l-header .nav-menu .pc-hide {
		display: none;
	}

	.l-header.is-search-open .pc-btn .btn-group .search-form .search-input {
		visibility: visible;
		width: auto;
		min-width: 200px;
		max-width: 200px;
		border-bottom-color: var(--color-gray-dark);
		opacity: 1;
		transition: opacity 0.3s ease, visibility 0s linear 0s, max-width 0.3s ease, min-width 0.3s ease, width 0.3s ease, border-color 0.3s ease;
		pointer-events: auto;
	}

	.l-header .pc-btn .btn-group .search-form .search-input {
		visibility: hidden;
		width: 0;
		min-width: 0;
		max-width: 0;
		border-bottom-color: transparent;
		opacity: 0;
		transition: opacity 0.3s ease, visibility 0s linear 0.3s, max-width 0.3s ease, min-width 0.3s ease, width 0.3s ease, border-color 0.3s ease;
		pointer-events: none;
	}

	.l-header .bogo-language-switcher {
		overflow: hidden;
		height: 50%;
		transition: height 0.3s ease;
	}

	.l-header .bogo-language-switcher li {
		color: var(--color-gray-dark2);
	}

	.l-header .bogo-language-switcher li.ja {
		margin-top: 8px;
		padding-top: 8px;
		border-top: 1px solid var(--color-gray-dark);
	}

	.l-header .search-form {
		margin-top: 0;
	}

	body.is-home .l-header {
		top: 40px;
		left: 50%;
		width: min(100%, 1360px);
		border-radius: 100vmax;
		background-color: rgba(255, 255, 255, 0.8);
		transform: translateX(-50%);
	}

	body.is-home .l-header .inner {
		min-height: 72px;
	}

	body.is-home .l-header .logo {
		margin-left: clamp(20px, 2vw, 40px);
	}

	body.is-home .l-header .nav-menu .main-list > li {
		height: 72px;
	}

	body.is-home .l-header .pc-btn {
		height: 72px;
	}

	body.is-home .l-header .pc-btn .btn-group {
		padding: 2px 24px;
	}

	body.is-home .l-header .contact-btn {
		border-top-right-radius: 100vmax;
		border-bottom-right-radius: 100vmax;
	}
}

@media (min-width: 1101px) and (any-hover: hover) {
	.l-header .bogo-language-switcher:hover {
		height: calc(100% + 16px);
	}
}

@media screen and (min-width: 1101px) and (min-width: 1440px) {
	body.is-home .l-header .logo {
		margin-left: 40px;
	}
}

@media (min-width: 1101px) and (min-width: 1101px) {
	body.is-home .l-header .bogo-language-switcher {
		height: calc(50% - 8px);
	}
}

@media (min-width: 1101px) and (min-width: 1101px) and (any-hover: hover) {
	body.is-home .l-header .bogo-language-switcher:hover {
		height: 100%;
	}
}

@media screen and (min-width: 1440px) {
	.l-header .logo {
		margin-left: 80px;
	}
}

@media (max-width: 1100px) {
	.l-header .inner {
		min-height: 60px;
	}

	.l-header .nav-menu {
		visibility: hidden;
		position: absolute;
		top: 60px;
		left: 0;
		overflow-y: auto;
		width: 100%;
		max-height: calc(100vh - 60px);
		max-height: calc(100dvh - 60px);
		padding: 24px 40px 40px;
		background-color: var(--color-gray-light);
		opacity: 0;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.l-header .nav-menu.is-active {
		visibility: visible;
		opacity: 1;
	}

	.l-header .nav-menu .main-list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.l-header .nav-menu .main-list > li {
		width: 100%;
	}

	.l-header .nav-menu .main-list > li a {
		display: flex;
		align-items: center;
		border-bottom: 1px solid var(--color-gray-dark);
		gap: 12px;
		padding-block: 16px;
	}

	.l-header .nav-menu .main-list > li a::after {
		content: '';
		display: block;
		width: 16px;
		height: 16px;
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23373737\' d=\'M16.854 8.354a.5.5 0 0 0 0-.708l-3.182-3.182a.5.5 0 1 0-.708.708L15.793 8l-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 7.5a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16V8Z\'/%3E%3C/svg%3E');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		transition: transform 0.3s ease;
	}

	.l-header .nav-menu .main-list .sub-list {
		display: none !important;
	}

	.l-header .pc-btn {
		display: contents;
	}

	.l-header .pc-btn .btn-group {
		display: none;
	}

	.l-header .contact-btn {
		width: 60px;
		height: 60px;
		padding: 0;
	}

	.l-header .contact-btn::before {
		content: '';
		display: block;
		width: 20px;
		height: 16px;
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'20\' height=\'16\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M18 0H2C.9 0 .01.9.01 2L0 14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2Zm-1 14H3c-.55 0-1-.45-1-1V4l6.94 4.34c.65.41 1.47.41 2.12 0L18 4v9c0 .55-.45 1-1 1Zm-7-7L2 2h16l-8 5Z\'/%3E%3C/svg%3E');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.l-header .contact-btn span {
		display: none;
	}

	.l-header .contact-btn::after {
		display: none;
	}

	.l-header .bogo-language-switcher {
		display: flex;
		margin-top: 32px;
	}

	.l-header .bogo-language-switcher li:not(.current) .bogo-language-name {
		background-color: var(--color-gray-dark);
		color: var(--color-white);
	}

	.l-header .bogo-language-switcher li:not(.current) a {
		color: var(--color-white);
	}

	.l-header .bogo-language-switcher li .bogo-language-name {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 36px;
		height: 36px;
		font-size: 1rem;
	}

	.l-header .search-input {
		width: calc(100% - 24px - 8px);
		min-width: 200px;
	}
}

@media (max-width: 1080px) {
	.p-kv-fig.-pc-image {
		display: none;
	}

	.p-technical-info-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	h3 {
		grid-template-columns: initial !important;
	}

	h3::after {
		display: none;
	}

	._spsize100 {
		width: 100% !important;
	}

	._spsize100 img {
		width: 100% !important;
	}

	._spcolumn {
		flex-direction: column;
		align-items: flex-start;
	}

	._spcolumncenter {
		flex-direction: column;
		align-items: center;
	}

	.c-list .row {
		flex-direction: column;
		align-items: flex-start;
	}

	.c-list .row p:first-child {
		flex-basis: initial;
	}

	.p-contact label .wpcf7-form-control-wrap {
		margin-top: 4px;
	}

	.p-events-scroll {
		display: contents;
	}

	.p-events-detail {
		display: grid;
		grid-template-columns: 90px 1fr;
	}

	.p-events-detail dt {
		font-weight: 700;
	}

	.p-events-detail dd {
		margin: 0;
	}

	.p-events-action {
		display: flex;
		padding-block: 16px;
	}

	.p-kv-inner {
		background-color: rgba(255, 255, 255, 0.4);
	}

	.p-link-card {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px !important;
	}

	.p-science-box .title::after {
		display: none;
	}

	.p-technical-info-list {
		grid-template-columns: repeat(1, 1fr);
		gap: 28px;
	}

	.p-top-banner .splide__list {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}

	.p-top-banner .banner.-wide {
		margin-inline: auto !important;
	}

	.u-hide-sp {
		display: none !important;
	}

	.u-show-sp {
		display: block !important;
	}

	.u-show-br-sp {
		display: inline-block !important;
	}

	.u-ls-narrow-sp {
		letter-spacing: -0.05em;
	}
}

@media (max-width: 767px) {
	.p-kv-fig.-tab-image {
		display: none;
	}
}

@media (max-width: 500px) {
	.p-cookie {
		right: 0;
		bottom: 0;
		width: 100%;
		border-radius: 0;
		gap: 14px;
	}
}

@media (max-width: 1300px) and (min-width: 1101px) {
	.l-header.is-search-open .nav-menu .main-list {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*,
  *::before,
  *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

@media (any-hover: hover) {
	a:hover {
		color: var(--color-gray-dark);
	}

	button:hover,
  .wp-block-button__link:hover {
		border-color: var(--color-gray);
		background-color: var(--color-gray);
		color: var(--color-white);
	}

	button:hover::after,
  .wp-block-button__link:hover::after {
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.708L13.672.146a.5.5 0 1 0-.708.708l2.829 2.828-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		transform: translateX(8px);
	}

	.wp-block-button__link[target=_blank]:hover::after {
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'17\' fill=\'none\'%3E%3Cg stroke=\'%23fff\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' clip-path=\'url(%23a)\'%3E%3Cpath d=\'M6.766 1H1v15h15v-5.766M16 6.625V1h-5.625M6.325 10.684 16 1\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'a\'%3E%3Cpath fill=\'%23fff\' d=\'M0 0h17v17H0z\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		transform: translateX(0);
	}

	a[target=_blank]:not(.wp-block-button__link):not(.p-events-more):hover::after {
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'17\' fill=\'none\'%3E%3Cg stroke=\'%23373737\' stroke-linecap=\'round\' stroke-miterlimit=\'10\' stroke-width=\'2\' clip-path=\'url(%23a)\'%3E%3Cpath d=\'M6.766 1H1v15h15v-5.766M16 6.625V1h-5.625M6.325 10.684 16 1\'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id=\'a\'%3E%3Cpath fill=\'%23fff\' d=\'M0 0h17v17H0z\'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}

	.l-footer .logo:hover {
		opacity: 0.7;
	}

	.l-footer .link a:hover {
		color: var(--color-gray);
	}

	.l-header .logo:hover {
		opacity: 0.7;
	}

	.l-header .nav-menu .main-list > li.has-sub-list:hover > .sub-list-simple {
		display: flex;
		pointer-events: auto;
	}

	.l-header .nav-menu .main-list > li a:hover {
		color: var(--color-red);
	}

	.l-header .nav-menu .main-list > li > a:hover {
		color: var(--color-red);
	}

	.l-header .nav-menu .main-list > li > a:hover::after {
		transform: translateX(8px);
	}

	.l-header .nav-menu .menu-contact-btn:hover {
		background-color: var(--color-gray-dark);
	}

	.l-header .nav-menu .menu-contact-btn:hover::after {
		transform: translateX(8px);
	}

	.l-header .contact-btn:hover {
		background-color: var(--color-gray-dark);
	}

	.l-header .contact-btn:hover::after {
		transform: translateX(8px);
	}

	.l-header .search-btn:hover {
		background-color: transparent;
	}

	.c-cta-btn:hover a {
		background-color: var(--color-gray-dark);
	}

	.c-pagination a:hover {
		color: var(--color-red);
	}

	.c-pagination a:hover:first-child span.icon {
		transform: translateX(-8px);
	}

	.c-pagination a:hover:last-child span.icon {
		transform: translateX(8px);
	}

	.p-bottom-nav li a:hover {
		color: var(--color-black);
	}

	.p-bottom-nav li a:hover::after {
		transform: translateX(8px);
	}

	.p-contact .btn-wrap:hover > p::before {
		transform: translate(8px, -50%);
	}

	.p-contact .btn-wrap:hover > p input[type=submit] {
		background-color: var(--color-gray-dark);
	}

	.p-cookie a:hover {
		color: var(--color-gray);
	}

	.p-events-more:hover {
		border-color: var(--color-gray);
		background-color: var(--color-gray);
		color: var(--color-white);
	}

	.p-events-more:hover::after {
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.708L13.672.146a.5.5 0 1 0-.708.708l2.829 2.828-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
		transform: translateX(8px);
	}

	.p-link-card:hover {
		background-color: var(--color-gray) !important;
	}

	.p-link-card:hover .title::before {
		transform: translateX(8px);
	}

	.p-search-item:hover a {
		background-color: var(--color-gray) !important;
		color: var(--color-black);
	}

	.p-search-item:hover h2::before {
		transform: translateX(8px);
	}

	.p-technical-info-more:hover {
		border-color: var(--color-gray);
		background-color: var(--color-gray);
		color: var(--color-white);
	}

	.p-technical-info-more:hover::after {
		background-image: url('data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'17\' height=\'8\' fill=\'none\'%3E%3Cpath fill=\'%23fff\' d=\'M16.854 4.036a.5.5 0 0 0 0-.708L13.672.146a.5.5 0 1 0-.708.708l2.829 2.828-2.829 2.828a.5.5 0 1 0 .708.708l3.182-3.182ZM.5 3.182a.5.5 0 0 0 0 1v-1Zm16 .5v-.5H.5v1h16v-.5Z\'/%3E%3C/svg%3E');
		transform: translateX(8px);
	}

	.p-top-banner .banner:hover .title::after {
		transform: translateX(8px);
	}

	.u-link:hover {
		text-decoration: none;
	}
}

@media print {
  /* Prevent printers from removing background-images of controls. */

	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}