/*
 Theme Name: recs-lp_development
*/


/* Document
 * ========================================================================== */

/**
 * Add border box sizing in all browsers (opinionated).
 */

*,
::before,
::after {
  box-sizing: border-box;
}

/**
  * 1. Add text decoration inheritance in all browsers (opinionated).
  * 2. Add vertical alignment inheritance in all browsers (opinionated).
  */

::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */
}

/**
  * 1. Use the default cursor in all browsers (opinionated).
  * 2. Change the line height in all browsers (opinionated).
  * 3. Use a 4-space tab width in all browsers (opinionated).
  * 4. Remove the grey highlight on links in iOS (opinionated).
  * 5. Prevent adjustments of font size after orientation changes in
  *    IE on Windows Phone and in iOS.
  * 6. Breaks words to prevent overflow in all browsers (opinionated).
  */

html {
  cursor: default;
  /* 1 */
  line-height: 1.5;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  -webkit-tap-highlight-color: transparent
    /* 4 */
  ;
  -ms-text-size-adjust: 100%;
  /* 5 */
  -webkit-text-size-adjust: 100%;
  /* 5 */
  word-break: break-word;
  /* 6 */
}

/* Sections
  * ========================================================================== */

/**
  * Remove the margin in all browsers (opinionated).
  */

body {
  margin: 0;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Edge, Firefox, and Safari.
  */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
  * ========================================================================== */

/**
  * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
  */

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
  * Remove the margin on nested lists in Edge 18- and IE.
  */

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
  * 1. Add the correct sizing in Firefox.
  * 2. Show the overflow in Edge 18- and IE.
  */

hr {
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
  * Add the correct display in IE.
  */

main {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}

/**
  * Remove the list style on navigation lists in all browsers (opinionated).
  */

nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
  * ========================================================================== */

/**
  * Remove the gray background on active links in IE 10.
  */

a {
  background-color: transparent;
}

/**
  * Add the correct text decoration in Edge 18-, IE, and Safari.
  */

abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */

b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */

small {
  font-size: 80%;
}

/* Embedded content
  * ========================================================================== */

/*
  * Change the alignment on media elements in all browsers (opinionated).
  */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
  * Add the correct display in IE 9-.
  */

audio,
video {
  display: inline-block;
}

/**
  * Add the correct display in iOS 4-7.
  */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
  * Remove the border on iframes in all browsers (opinionated).
  */

iframe {
  border-style: none;
}

/**
  * Remove the border on images within links in IE 10-.
  */

img {
  border-style: none;
}

/**
  * Change the fill color to match the text color in all browsers (opinionated).
  */

svg:not([fill]) {
  fill: currentColor;
}

/**
  * Hide the overflow in IE.
  */

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
  * ========================================================================== */

/**
  * Collapse border spacing in all browsers (opinionated).
  */

table {
  border-collapse: collapse;
}

/* Forms
  * ========================================================================== */

/**
  * Remove the margin on controls in Safari.
  */

button,
input,
select {
  margin: 0;
}

input,
textarea,
select {
  background-color: rgba(0, 0, 0, 0);
  border: solid 1px var(--black-ink-ultrapale);
  -webkit-appearance: none;
  appearance: none;
}

option {
  background-color: var(--body-background-color);
  color: var(--black-ink);
  -webkit-appearance: none;
  appearance: none;
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none;
  border: solid 1px var(--black-ink);
}

/**
  * 1. Show the overflow in IE.
  * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
  */

button {
  overflow: visible;
  /* 1 */
  text-transform: none;
  /* 2 */
}

/**
  * Correct the inability to style buttons in iOS and Safari.
  */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
  * 1. Change the inconsistent appearance in all browsers (opinionated).
  * 2. Correct the padding in Firefox.
  */

fieldset {
  border: 1px solid #a0a0a0;
  /* 1 */
  padding: 0.35em 0.75em 0.625em;
  /* 2 */
}

/**
  * Show the overflow in Edge 18- and IE.
  */

input {
  overflow: visible;
}

/**
  * 1. Correct the text wrapping in Edge 18- and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  */

legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  white-space: normal;
  /* 1 */
}

/**
  * 1. Add the correct display in Edge 18- and IE.
  * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
  */

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
  * Remove the inheritance of text transform in Firefox.
  */

select {
  text-transform: none;
  -webkit-appearance: none;
  /* need for safari */
  position: relative;
}

.wrap_of-select {
  position: relative;
}

.wrap_of-select::after {
  content: "";
  position: absolute;
  right: .75em;
  /* background-image: url("asset/arrow-down.svg");
     background-repeat: no-repeat; */
  background-color: var(--black-ink-pale);
  -webkit-mask-image: url("asset/arrow-down.svg");
  mask-image: url("asset/arrow-down.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  width: .75em;
  height: .375em;
  pointer-events: none;
  top: 50%;
  transform: translate(0, -50%);
}

/**
  * 1. Remove the margin in Firefox and Safari.
  * 2. Remove the default vertical scrollbar in IE.
  * 3. Change the resize direction in all browsers (opinionated).
  */

textarea {
  margin: 0;
  /* 1 */
  overflow: auto;
  /* 2 */
  resize: vertical;
  /* 3 */
}

/**
  * Remove the padding in IE 10-.
  */

[type="checkbox"],
[type="radio"] {
  padding: 0;
}

/**
  * 1. Correct the odd appearance in Chrome, Edge, and Safari.
  * 2. Correct the outline style in Safari.
  */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Safari.
  */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
  * Correct the text style of placeholders in Chrome, Edge, and Safari.
  */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
  * Remove the inner padding in Chrome, Edge, and Safari on macOS.
  */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style upload buttons in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
  * Remove the inner border and padding of focus outlines in Firefox.
  */

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus outline styles unset by the previous rule in Firefox.
  */

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Remove the additional :invalid styles in Firefox.
  */

:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
  * ========================================================================== */

/*
  * Add the correct display in Edge 18- and IE.
  */

details {
  display: block;
}

/*
  * Add the correct styles in Edge 18-, IE, and Safari.
  */

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
  * Add the correct display in all browsers.
  */

summary {
  display: list-item;
}

/* Scripting
  * ========================================================================== */

/**
  * Add the correct display in IE 9-.
  */

canvas {
  display: inline-block;
}

/**
  * Add the correct display in IE.
  */

template {
  display: none;
}

/* User interaction
  * ========================================================================== */

/*
  * 1. Remove the tapping delay in IE 10.
  * 2. Remove the tapping delay on clickable elements
       in all browsers (opinionated).
  */

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  /* 1 */
  touch-action: manipulation;
  /* 2 */
}

/**
  * Add the correct display in IE 10-.
  */

[hidden] {
  display: none;
}

/* Accessibility
  * ========================================================================== */

/**
  * Change the cursor on busy elements in all browsers (opinionated).
  */

[aria-busy="true"] {
  cursor: progress;
}

/*
  * Change the cursor on control elements in all browsers (opinionated).
  */

[aria-controls] {
  cursor: pointer;
}

/*
  * Change the cursor on disabled, not-editable, or otherwise
  * inoperable elements in all browsers (opinionated).
  */

[aria-disabled="true"],
[disabled] {
  cursor: not-allowed;
}

/*
  * Change the display on visually hidden accessible elements
  * in all browsers (opinionated).
  */

[aria-hidden="false"][hidden] {
  display: inline;
  display: initial;
}

[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/**
  * Swiper 4.5.1
  * Most modern mobile touch slider and framework with hardware accelerated transitions
  * http://www.idangero.us/swiper/
  *
  * Copyright 2014-2019 Vladimir Kharlampidi
  *
  * Released under the MIT License
  *
  * Released on: September 13, 2019
  */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
}

.swiper-container-no-flexbox .swiper-slide {
  float: left;
}

.swiper-container-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0);
}

.swiper-container-multirow>.swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.swiper-container-free-mode>.swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto;
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform;
}

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px;
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal>.swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical>.swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x;
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto;
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto;
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E");
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2;
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff;
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0);
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block;
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px;
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform;
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms left, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform;
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform;
}

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-container-vertical>.swiper-pagination-progressbar,
.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff;
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff;
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000;
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000;
}

.swiper-pagination-lock {
  display: none;
}

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container>img,
.swiper-zoom-container>svg,
.swiper-zoom-container>canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite;
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat;
}

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity;
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube {
  overflow: visible;
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0;
}

.swiper-container-flip {
  overflow: visible;
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-container-coverflow .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px;
}

:root {
  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Segoe UI, Hiragino Kaku Gothic ProN, Hiragino Sans, ヒラギノ角ゴ ProN W3, Arial, メイリオ, Meiryo, sans-serif;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, メイリオ, sans-serif;
  font-feature-settings: "palt";
  letter-spacing: .075rem;
  /* text-align: justify; */

  --content-width-min: 320px;
  --content-width-max: 1920px;
  --content-width-max-half: 960px;

  --brand-color: #0177FF;
  --black-ink: #222528;
  --black-ink-pale: #555C66;
  --black-ink-ultrapale: #f9f9f9;

  --header-height: 4.5rem;
  font-size: 81.25%;
  line-height: 1.625
}

@media (min-width: 375px) {

  :root {
    font-size: 87.5%
  }
}

@media (min-width: 375px) {

  :root {
    font-size: 93.75%
  }
}

@media (min-width: 768px) {

  :root {
    font-size: 100%
  }
}

@media (min-width: 992px) {

  :root {
    font-size: 106.25%
  }
}

@media (min-width: 1200px) {

  :root {
    font-size: 112.5%
  }
}

_::-webkit-full-page-media,
_:future,
:root {
  font-feature-settings: "pkna";
}

_::-webkit-full-page-media,
_:future,
:root input[type="search"] {
  -webkit-appearance: none;
}

/*
 _::-webkit-full-page-media, _:future, :root input[type="search"]::-webkit-search-decoration {
   display: none;
 }
 */

button,
/* input, 20200714
 select,
 textarea, */
pre,
textarea,
input,
label,
select {
  font-family: inherit;
  font-size: inherit;
}

/* 20200714 */
input,
select,
textarea {
  font-size: 16px;
}

@media (min-width: 992px) {

  input,
  select,
  textarea {
    font-size: 17px;

  }
}

@media (min-width: 1200px) {

  input,
  select,
  textarea {
    font-size: 18px;

  }
}


h1,
h2,
h3 {
  color: #222528;
  color: var(--black-ink);
}

p,
a,
li,
pre,
th,
td,
label,
input,
textarea,
select,
address,
small,
dt,
dd {
  color: #555C66;
  color: var(--black-ink-pale);
}

.edge {
  padding-left: 1.25rem;
  padding-right: 1.25rem
}

@media(min-width: 576px) {

  .edge {
    padding-left: 1.5rem;
    padding-right: 1.5rem
  }
}

@media(min-width: 768px) {

  .edge {
    padding-left: 1.75rem;
    padding-right: 1.75rem
  }
}

@media(min-width: 992px) {

  .edge {
    padding-left: 2rem;
    padding-right: 2rem
  }
}

.bg-overflow {
  background-size: cover;
  background-position: center
}

@media (min-width: 1920px) {

  .bg-overflow {
    margin-left: calc(-50vw + var(--content-width-max-half));
    margin-right: calc(-50vw + var(--content-width-max-half));
    padding-left: calc(50vw - var(--content-width-max-half));
    padding-right: calc(50vw - var(--content-width-max-half))
  }
}

@media (min-width: 1200px) {
  main .bg-overflow {
    margin-left: calc(-50vw + 600px);
    margin-right: calc(-50vw + 600px);
    padding-left: calc(50vw - 600px);
    padding-right: calc(50vw - 600px)
  }

}

body {
  overflow-x: hidden;
  width: 100%;
  max-width: var(--content-width-max);
  margin: 0 auto;
}


/* デフォルトのボタンデザイン */
button,
a.button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  color: var(--button-color);
  background-color: #0177FF;
  background-color: var(--brand-color);
  padding: 1rem 2rem;
  border: none;
  outline: none;
  cursor: pointer;
  border-radius: 9999px;
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
  text-align: center
}

button:hover,
a.button:hover {
  opacity: 0.75;
}

button:active,
a.button:active {
  box-shadow: none;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

/* デフォルトのimg */
img {
  vertical-align: bottom;
}

/* デフォルトのul */
ul {
  list-style: none;
  padding-left: 0;
}

/* デフォルトのaタグ */
a {
  text-decoration: none;
  -webkit-transition: opacity .25s;
  transition: opacity .25s
}

a:hover {
  opacity: 0.5;
}

/* 任意表示のh1 */
h1.optional {
  font-size: 1.5rem;
}

/* L字型見出し用飾り線 */
.l-shaped {
  display: inline-block;
  border-left: solid 0.5rem #0177FF;
  border-left: solid 0.5rem var(--brand-color);
  border-bottom: solid 1px #0177FF;
  border-bottom: solid 1px var(--brand-color);
  padding: 0 1rem;
  margin-left: 1rem;
}

/* 拍子木型見出し用飾り */
.clapper {
  display: inline-block;
  border-left: solid 0.25rem #0177FF;
  border-left: solid 0.25rem var(--brand-color);
  padding-left: 0.5rem;
}


/* バー型字型見出し用飾り線 */
.rod {
  color: #555C66;
  color: var(--black-ink);
  padding: 1rem 1.25rem;
  text-align: center;
  /* border: 1px lightgrey;
     border-style: none none solid none; */
  position: relative;
  margin-top: 0;
  background-color: #f9f9f9;
  border-bottom: solid 1px var(--black-ink-ultrapale);
  background-color: var(--black-ink-ultimatepale);
  /*
     &::before {
         left: 0;
         top: 0;
         display: block;
         position: absolute;
         content: '';
         width: 100%;
         height: 100%;
         background-color: var(--brand-color);
         opacity: .075;
     } */
}

h1.rod {
  font-size: 1.5rem;
}

/* 2等分 */
.bisect {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center
}

.bisect>div {
  width: 100%;
  min-height: 0%
}

.bisect>div>img {
  width: 100%;
}

@media (min-width: 768px) {
  .bisect {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }

  .bisect>div {
    min-width: 0;
    width: 50%;
  }
}

/* ページネーション */
.page-numbers {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center
}

.page-numbers>li {
  padding: .5rem 1rem
}

.page-numbers>li:not(:last-of-type) {
  border-right: solid 1px var(--black-ink-ultrapale);
}

.page-numbers>li .current {
  color: #0177FF;
  color: var(--brand-color);
}

p.found {
  text-align: center;
  margin: auto;
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}


header {
  --color: inherit;
  --background-color: inherit;

  height: var(--header-height);
  box-sizing: content-box;
  position: relative;
  z-index: 9999;
  color: var(--color);
  background-color: var(--background-color);
  border-top: solid 3px var(--brand-color);
  border-bottom: solid 1px var(--black-ink-ultrapale);
}

header .switch-layout {
  /* padding: 0 2rem 0 1.5rem; */
}

header h1 {
  color: inherit;
  margin: 1rem 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center
}

header h1 a {
  color: inherit;
  display: block;
  max-height: 2.5rem;
  font-size: 1.17rem;
  line-height: 2.2
}

@media (min-width: 576px) {

  header h1 a {
    font-size: 1.4rem;
    line-height: 1.8
  }
}

@media (min-width: 768px) {

  header h1 a {
    font-size: 1.5rem;
    line-height: 1.6
  }
}

header h1 a img {
  display: block;
  max-height: 2.5rem;
  max-width: calc(100vw - var(--header-height) - 1rem);
}

header nav {
  -webkit-transition: top 0.5s, opacity 0.5s;
  transition: top 0.5s, opacity 0.5s;
  background-color: var(--brand-color);
  position: fixed;
  left: 0;
  right: 0;
  top: calc(-100% + var(--header-height));
  opacity: 0
}

header nav.show {
  top: var(--header-height);
  opacity: 1;
}

header nav ul {
  margin: 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: end;
  align-items: flex-end
    /* align-items: center; */
}

header nav ul li {
  padding: 1.5rem
}

header nav ul li a {
  font-size: .9375rem;
  color: white;
}

header .toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: var(--header-height);
  height: var(--header-height);
  text-align: center;
  line-height: 32px;
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center
}

header .toggle::before {
  content: "\e902";
  font-family: icomoon;
  font-size: 2rem;
}

header .toggle.on::before {
  color: white;
  content: "\e900";
}

header .toggle.on {
  background-color: var(--brand-color);
}

header .switch-layout {
  display: -webkit-box;
  display: flex;
  height: var(--header-height);
}

@media (min-width: 768px) {

  header {
    height: auto
  }

  header .switch-layout.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    height: auto;
    max-width: 1200px;
    margin: 0 auto;
  }

  header .switch-layout.column h1 {
    margin-bottom: 0;
  }

  header .switch-layout.row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

@media (min-width: 768px) and (min-width: 768px) {

  header .switch-layout nav {
    display: block
  }

  header .switch-layout nav ul {
    display: -webkit-box;
    display: flex;
    margin: .75rem 0
  }

  header .switch-layout nav ul li {
    padding: 0;
    color: inherit
  }

  header .switch-layout nav ul li:not(:last-of-type) {
    margin-right: 1rem;
  }

  header .switch-layout nav ul li a {
    font-size: .75rem;
    color: inherit;
  }
}

@media (min-width: 768px) {

  header nav {
    position: static;
    display: block;
    opacity: 1;
    background-color: transparent
  }

  header nav ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }

  header nav ul li:not(:last-of-type) {
    margin-right: 1rem;
  }

  header>.toggle {
    display: none;
  }
}

footer {
  --color: var(--black-ink);
  --background-color: white;

  color: var(--color);
  background-color: var(--background-color);
  border-top: solid 1px var(--black-ink-ultrapale);
  padding: 1.5rem 0
}

footer a {
  color: inherit;
  text-decoration: none;
  list-style: none;
}

footer .sns {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  margin-bottom: 2rem
}

footer .sns a {
  margin: 0 1rem;
  width: 2rem;
  font-size: 2rem;
}

@media(min-width: 768px) {

  footer .bisect {
    -webkit-box-align: end;
    align-items: flex-end
  }
}

footer .bisect>* {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}

footer address {
  color: inherit;
  font-style: normal;
  text-align: center;
  font-size: 12px;
}

footer nav>ul {

  display: -webkit-box;

  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  margin-bottom: 2rem
}

footer nav>ul>li {
  color: inherit;
}

@media(min-width: 375px) {

  footer nav>ul {
    margin-left: auto;
    margin-right: auto;
    display: grid;
    display: -ms-inline-grid;
    grid-template-columns: auto auto;
    -ms-grid-columns: auto auto;
    -ms-grid-rows: auto;
  }

  footer nav>ul>li:nth-of-type(odd) {
    margin-right: 2rem;
  }

  footer nav>ul>li:nth-of-type(1) {
    -ms-grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-column-span: 1;
  }

  footer nav>ul>li:nth-of-type(2) {
    -ms-grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-column-span: 1;
  }

  footer nav>ul>li:nth-of-type(3) {
    -ms-grid-column: 1;
    -ms-grid-row: 2;
    -ms-grid-column-span: 1;
  }

  footer nav>ul>li:nth-of-type(4) {
    -ms-grid-column: 2;
    -ms-grid-row: 2;
    -ms-grid-column-span: 1;
  }

  footer nav>ul>li:nth-of-type(5) {
    -ms-grid-column: 1;
    -ms-grid-row: 3;
    -ms-grid-column-span: 1;
  }

  footer nav>ul>li:nth-of-type(6) {
    -ms-grid-column: 2;
    -ms-grid-row: 3;
    -ms-grid-column-span: 1;
  }

  _:-ms-lang(x)::-ms-backdrop,
  footer nav {
    text-align: center;
  }
}

@media(min-width: 375px) and (max-width: 768px) {
  footer nav>ul>li>a {
    font-size: 0.875rem
  }
}

@media(min-width: 768px) {

  footer nav>ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }

  footer nav>ul>li {
    width: auto
  }

  footer nav>ul>li:nth-of-type(odd) {
    margin-right: 0;
  }

  footer nav>ul>li:not(:last-of-type) {
    margin-right: 2rem;
  }
}

footer>#scroll_top {
  text-align: center;
  line-height: 1.825rem;
  border-radius: 3rem;
  width: 3rem;
  height: 3rem;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  background-color: rgba(0, 0, 0, .5);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  z-index: 9999
}

footer>#scroll_top>img {
  width: 1.5rem;
}

footer>#scroll_top.show {
  opacity: 0.75;
  pointer-events: auto;
}



.pr .hero>* {
  width: 100%;
}

@media(min-width: 1200px) {
  .pr .hero._100vw {
    padding-right: calc(50vw - 600px)
  }

  .pr .hero._100vw>* {
    margin-right: calc(600px - 50vw);
    margin-left: calc(600px - 50vw);
    width: 100vw;
  }
}

.pr h1 {
  font-size: 1.25rem;
  font-size: 1rem;
  font-weight: 400;
}

.pr h2.rod {
  margin-top: 0;
  margin-bottom: 5rem;
  font-size: 1.25rem;
  font-weight: normal;
  font-weight: 400;
}

.pr h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

.pr .bisect {

  margin-bottom: 5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  flex-direction: column-reverse
}

@media(min-width: 768px) {
  .pr .bisect {
    margin-left: -1rem;
    margin-right: -1rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row
  }
}

@media (min-width: 768px) {
  .pr .bisect:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse
  }
}

@media (min-width: 768px) {
  .pr .bisect>div {
    margin: 0 1rem
  }
}

.pr .bisect>div:nth-of-type(2) {
  margin-bottom: 1.5rem
}

@media(min-width: 768px) {
  .pr .bisect>div:nth-of-type(2) {
    margin-bottom: 0
  }
}

.joblist a.button {
  max-width: 32rem;
  margin: 0 auto;
}

.joblist a.button.link2archive {
  margin: 2rem auto 5rem auto;
}


.thumbs h2 {
  text-align: center;
  font-size: 1.17rem;
}

.thumbs .swiper-container2 {
  width: 100%;
  overflow: hidden;
}

.thumbs ul {
  display: -webkit-box;
  display: flex;
  margin-bottom: 2rem
}

@media(min-width: 576px) {
  .thumbs ul {
    -webkit-box-pack: center;
    justify-content: center
  }
}

.thumbs ul li:not(:last-of-type) {
  margin-right: 1rem;
}

.thumbs ul li a {
  display: block;
}

.thumbs ul li {
  width: calc(100% / 1.1 - 1rem);
  flex-shrink: 0
}

@media(min-width: 576px) {
  .thumbs ul li {
    width: calc(100% / 3 - 2rem)
  }
}

.thumbs ul li div.crop {
  background-color: var(--black-ink-ultrapale);
  position: relative;
  overflow: hidden;
  padding-top: calc(3 / 4 * 100%)
}

.thumbs ul li div.crop img {
  -o-object-fit: cover;
  object-fit: cover;
  max-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.thumbs ul li p {
  margin-bottom: 0;
}

.thumbs a.button.link2archive {
  max-width: 32rem;
  margin: 0 auto 5rem auto;
}

section.newslist h2 {
  text-align: center;
  font-size: 1.17rem;
}

section.newslist {
  margin-bottom: 5rem
}

section.newslist>div {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center
}

section.newslist>div ul {
  margin: 0
}

section.newslist>div ul li {
  border-bottom: solid 1px var(--black-ink-ultrapale);
  padding-bottom: .25rem;
  margin-bottom: .5rem;

  position: relative
}

section.newslist>div ul li a {
  display: block
}

section.newslist>div ul li a span.date {
  display: block
}

@media(min-width: 768px) {
  section.newslist>div ul li a span.date {
    display: inline;
    margin-right: 3rem
  }
}

section.newslist>div ul li a span.title {
  margin-right: 4rem;
  /* white-space: nowrap; */
}

section.newslist>div ul li a::after {
  position: absolute;
  content: ">";
  right: 0;
  bottom: .25rem;
}

#search {
  margin: 0 1rem 5rem 1rem;
  border: solid 1px var(--black-ink-ultrapale);
  box-sizing: border-box
}

#search>h2 {
  margin-top: 0;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 400;
}

#search h3 {
  font-size: 1rem;
}

#search form {
  padding: 1rem
}

#search form input[type="search"] {
  margin-left: 0.5rem;
  padding: 0.5rem 1rem;
  width: 24rem;
  max-width: 90%;
  border-color: var(--black-ink-ultrapale);
}

#search form .terms {
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;

}

#search form .terms:last-of-type {
  margin-bottom: 3rem;
}

#search form .terms>label:not(:first-child) {
  margin-left: 0.5rem;
}

#search form button {
  width: 100%;
  max-width: 32rem;
  text-align: center;
  margin: 0 auto 1rem auto;
}

.archive-job {
  margin-bottom: 5rem
}

.archive-job ul.jobs {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.archive-job h2.rod {
  margin-top: 0;
  border-top: none;
}



article.job h1 {
  font-size: 1.25rem;
}

article.job div.max {
  max-width: 800px;
  margin: 0 auto;
}

article.job .swiper-container:before {
  content: "";
  display: block;
  padding-top: calc(9 / 16 * 100%);
}

article.job .swiper-container .swiper-button-prev,
article.job .swiper-container .swiper-button-next {
  background-image: none
}

article.job .swiper-container .swiper-button-prev svg .cls-1,
article.job .swiper-container .swiper-button-next svg .cls-1 {
  fill: var(--brand-color);
}

article.job .swiper-container .swiper-wrapper {
  position: absolute;
  top: 0;
  left: 0
}

article.job .swiper-container .swiper-wrapper .swiper-slide {
  background-color: dimgrey;
  text-align: center
}

article.job .swiper-container .swiper-wrapper .swiper-slide>img {
  width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

article.job .swiper-pagination-bullets {
  position: static
}

article.job .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

article.job .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background-color: var(--brand-color);
}

article.job .index {
  margin-bottom: 4rem;
}

.archive-job ul.employment_type,
article.job ul.employment_type {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap
}

.archive-job ul.employment_type li,
article.job ul.employment_type li {
  color: white;
  color: var(--button-color);
  background-color: var(--brand-color);
  white-space: nowrap;
  font-size: .75rem;
  padding: .19rem .38rem
}

.archive-job ul.employment_type li:not(:last-of-type),
article.job ul.employment_type li:not(:last-of-type) {
  margin-right: .75rem;
}

article.job ul.free_taxonomy {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;

  border-bottom: solid 1px var(--black-ink-ultrapale);
  margin-bottom: .75rem
}

article.job ul.free_taxonomy li {

  white-space: nowrap;
  font-size: .75rem;
  padding: .19rem .38rem;
  color: var(--brand-color);
  border: solid 2px var(--brand-color);
  border-radius: 1rem;
  margin-bottom: .75rem
}

article.job ul.free_taxonomy li:not(:last-of-type) {
  margin-right: .75rem;
}

article.job dl.hard_data {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}

article.job dl.hard_data dt {
  margin: 0 auto .5rem 0;
  width: 100%;
  font-weight: bold
}

@media(min-width: 576px) {
  article.job dl.hard_data dt {
    margin: 0;
    width: 7.75rem;
    padding: 1rem 0;
    padding-right: 1rem;
    border-right: solid 1px var(--black-ink-ultrapale);
    /* text-align: right */
  }
}

article.job dl.hard_data dd {
  margin: 0 auto 2rem 0;
  width: 100%
}

article.job dl.hard_data dd:last-of-type {
  margin-bottom: 0;
}

@media(min-width: 576px) {
  article.job dl.hard_data dd {
    margin: 0;
    width: calc(100% - 7.75rem);
    padding: 1rem 0;
    padding-left: 1rem
  }
}

article.job dl.hard_data {

  margin-bottom: 4rem;
}

article.job .google_maps {
  margin-top: 1rem;
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden
}

article.job .google_maps iframe,
article.job .google_maps object,
article.job .google_maps embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

article.job dl.free_items dt {
  font-weight: bold;
  border: 1px var(--black-ink-ultrapale);
  border-style: solid none;
  background-color: var(--black-ink-ultimatepale);
  padding: 1rem;
}

article.job dl.free_items dd {
  margin: 0;
  padding: 1rem 1rem 2rem 1rem
}

article.job dl.free_items dd .ho {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center
    /* justify-content: center;
                     padding: 1rem; */
}

article.job dl.free_items dd .ho>div:first-of-type {
  margin-right: 2rem
}

article.job dl.free_items dd .ho>div:first-of-type img {
  max-height: 6rem;
  max-width: 6rem;
}

article.job dl.free_items dd .ho>div:nth-of-type(2) p {
  margin: 0;
}

article.job dl.free_items {

  margin-bottom: 2rem;
}

article.job .hiring_organization {
  border: solid 1px var(--black-ink-ultrapale);
  margin-bottom: 4rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column
}

@media(min-width: 576px) {
  article.job .hiring_organization {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto
  }
}

article.job .hiring_organization>*:first-of-type {
  padding: 0 1rem;
  white-space: nowrap;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
  background-color: snow;
  border: 1px var(--black-ink-ultrapale);
  border-style: none none solid none
}

@media(min-width: 576px) {
  article.job .hiring_organization>*:first-of-type {
    border-style: none solid none none;
    width: auto
  }
}

article.job .hiring_organization>*:nth-of-type(2) {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 1rem
}

article.job .hiring_organization>*:nth-of-type(2)>div:first-of-type {
  margin-right: 2rem
}

article.job .hiring_organization>*:nth-of-type(2)>div:first-of-type img {
  max-height: 6rem;
  max-width: 6rem;
}

article.job .hiring_organization>*:nth-of-type(2)>div:nth-of-type(2) p {
  margin: 0;
}

article.job form {
  margin-bottom: 5rem;
}

article.job button.entry {
  margin: 0 auto;
  width: 100%;
  max-width: 32rem;
}

#entry_button_fixed_container {
  background-color: rgba(255, 255, 255, .825);
  background-color: var(--popup-layer-color);
  padding: 1rem;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  visibility: hidden;
}

#entry_button_fixed_container.show {
  visibility: visible;
  z-index: 1;
}

#entry_button_fixed {}

#single-entry h2.rod {
  margin-top: 0;
  border-top: none;
}

#single-entry div.edge>p {
  text-align: center;
  margin: 2.5rem 0;
}

#single-entry form {
  margin: 0 auto;
  max-width: 48rem;
  max-width: 35rem;
  margin-bottom: 4rem
}

#single-entry #resume {
  display: -webkit-box;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: left;
  align-items: left;
  margin-bottom: 3rem;
}

#single-entry #resume>div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1.5rem
}

#single-entry #resume>div>p,
#single-entry form>div>div>label,
.tksc-form .resume>div>label {
  vertical-align: bottom;
  margin-bottom: .5rem;
  display: inline-block;
}

#single-entry #resume>div>p.required,
#single-entry #resume>div>label,
.tksc-form .resume>div>label {
  position: relative
}

#single-entry #resume>div>p.required::after,
#single-entry #resume>div>label::after,
.tksc-form .resume>div>label::after {
  content: "任意";
  color: white;
  background-color: #c0c0c0;
  font-size: 0.75rem;
  padding: 0.2rem .25rem .3rem;
  margin: 0.25rem;
  line-height: 2.25;
}

#single-entry #resume>div>p.required::after,
#single-entry #resume>div>label.required::after,
.tksc-form .resume>div>label.required::after {
  content: "必須";
  color: white;
  background-color: #ff6767;
}

#single-entry #resume>div>input,
#single-entry #resume>div select,
.tksc-form .resume>div select {
  padding-left: 0.5rem;
  padding: 8px;
  height: 2.75rem;
  width: 100%;
}

#single-entry #resume>div>textarea {
  padding: 0.5rem;
  padding: 8px;
}

#single-entry #resume>div>div>input+label {
  /* margin-right: 1rem; */
  line-height: 2rem;
}


/* コピペ */
input[type="radio"] {
  display: none;
}

input[type="radio"]+label {
  display: inline-flex;
  position: relative;
  margin: 0;
  padding: 8px 24px 8px 32px;
}

input[type="radio"]+label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  margin: auto;
  width: 20px;
  height: 20px;
  border: 1px solid #ddd;
  border-radius: 50px;
}

input[type="radio"]:checked+label {
  color: #ee5253;
}

input[type="radio"]:checked+label:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 4px;
  bottom: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border: solid 4px #fff;
  background: #ee5253;
  border-radius: 50px;
  box-shadow: 0 0 0 2px #ee5253;
}

input[type=checkbox] {
  /* checkboxを非表示にする */
  opacity: 0;
}

input[type=checkbox]+label {
  position: relative;
  /* ボックスの位置を指定する */
  padding: 0 0 0 1.5em;
  /* ボックス内側の余白を指定する */
  transition: opacity .25s;
  line-height: 1.75em;
}

input[type=checkbox]+label::after,
input[type=checkbox]+label::before {
  position: absolute;
  /* ボックスの位置を指定する */
  content: "";
  /* ボックスのコンテンツ */
  display: block;
  /* ブロックレベル要素化する */
  left: 0;
  top: .25em;
  transition: opacity .25s;
}

input[type=checkbox]+label::after {
  width: 1.25em;
  /* ボックスの横幅を指定する */
  height: 1.25em;
  /* ボックスの高さを指定する */
  border: 1px solid var(--black-ink-ultrapale);
  /* ボックスの境界線を実線で指定する */
  background-color: white;
  background-color: var(--black-ink-ultimatepale);
}

input[type=checkbox]+label::before {
  left: .375em;
  /* 左から配置の基準位置を決める */
  z-index: 1;
  top: .25em;
  width: .5em;
  /* ボックスの横幅を指定する */
  height: 1em;
  /* ボックスの高さを指定する */
  border-right: 2px solid var(--brand-color);
  /* 境界線（右）のスタイルを指定する */
  border-bottom: 2px solid var(--brand-color);
  /* 境界線（下）のスタイルを指定する */
  transform: rotate(45deg);
  /* 要素を回転させる */
  visibility: hidden;
  /* 要素を透過指定する */
}

input[type=checkbox]:checked+label::before {
  visibility: visible;
  /* 要素を表示する */
}

input[type=checkbox]+label:hover::after,
input[type=checkbox]+label:hover::before {
  /* opacity: .5; */
}

/* ここまでコピペ */

input:-ms-input-placeholder {
  color: #bbbbbb;
  /* opacity: .5; */
}

input:-webkit-autofill,
input:-webkit-autofill:focus {
  transition: background-color 600000s 0s, color 600000s 0s;
}

#single-entry #resume>div>*:nth-child(1) {
  -webkit-box-flex: 0;
  flex: 0 0 100%;
}

@media(min-width: 640px) {
  #single-entry #resume>div>*:nth-child(1) {
    flex: 0 0 12rem
  }
}

#single-entry #resume>div>*:nth-child(1).long-label {
  -webkit-box-flex: 0;
  flex: 0 0 100%;
  white-space: normal;
}

#single-entry #resume>div>*:nth-child(2) {
  -webkit-box-flex: 1;
  flex: 1 1 24rem;
}

#privacy_policy {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#privacy_policy a {
  /* color: #0177FF; */
  text-decoration: underline;
}

#privacy_policy input[type=checkbox]+label a {
  margin-left: .25em;
}



#single-entry form>p {
  background-color: #E0E8F0;
  padding: 1rem;
  margin-bottom: 3rem;
  color: var(--black-ink-ultrapale);
  height: 12rem;
  overflow-y: scroll;
}

#single-entry form>button {
  display: block;
  margin: 0 auto;
  margin-top: 2rem;
  background-color: var(--brand-color);
  border-radius: 2rem;
  padding: 0.75rem;
  border: none;
  color: white;
  color: var(--button-color);
  width: 24rem;
  max-width: 100%;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.175);
  transition: opacity .25s, background-color .25s;
}

#single-entry form>button.not_committed {
  background-color: #ccc;
  pointer-events: none;
  box-shadow: none;
}

li.card-job {
  width: 100%;
  border-bottom: solid 1px var(--black-ink-ultrapale);
  padding: 3rem 1rem
}

li.card-job .bisect>div:first-of-type {
  margin-bottom: 1.5rem;
  height: 100%
}

@media(min-width: 768px) {
  li.card-job .bisect>div:first-of-type {
    margin-bottom: 0;
    margin-right: 1.5rem
  }
}

li.card-job .bisect>div:nth-of-type(2)>h3 {
  margin: 0 0 .5rem 0;
}

li.card-job .bisect>div:nth-of-type(2)>dl {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 2.5rem 0
}

li.card-job .bisect>div:nth-of-type(2)>dl>dt {
  font-size: 0.875rem;
  color: var(--black-ink-pale);
  width: 2rem;
  display: -webkit-box;
  display: flex;
  height: calc(0.875rem * 1.625);
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding-right: 1rem;
  /* border-right: solid 1px lightgrey; */
}

li.card-job .bisect>div:nth-of-type(2)>dl>dd {
  font-size: 0.875rem;
  color: var(--black-ink-pale);
  width: calc(100% - 2rem);
  margin: 0
    /* padding-left: .75rem; */
}

li.card-job .bisect>div:nth-of-type(2)>dl>dd>p {
  color: inherit;
  margin: 0;
}

li.card-job .bisect>div:nth-of-type(2)>dl>dd:not(:last-of-type) {
  padding-bottom: 0.5rem;
}

#instagram {
  margin-bottom: 5rem
}

#instagram h2 {
  text-align: center;
  font-size: 1.17rem;
}

#instagram ul {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  opacity: inherit;
  padding-left: .5rem;
  padding-right: .5rem
}

#instagram ul li {
  width: calc(100% / 2 - 1rem);
  margin: .5rem;
  display: none
}

#instagram ul li:nth-of-type(-n + 4) {
  display: block;
}

@media (min-width: 576px) {
  #instagram ul li {
    width: calc(100% / 3 - 1rem)
  }

  #instagram ul li:nth-of-type(-n + 6) {
    display: block;
  }
}

@media (min-width: 768px) {
  #instagram ul li {
    width: calc(100% / 4 - 1rem)
  }

  #instagram ul li:nth-of-type(-n + 8) {
    display: block;
  }
}

@media (min-width: 992px) {
  #instagram ul li {
    width: calc(100% / 5 - 1rem)
  }

  #instagram ul li:nth-of-type(-n + 10) {
    display: block;
  }
}

#instagram ul li img {
  width: 100%;
}

#page-thanks h2.rod {
  margin-top: 0;
  border-top: none;
}

#page-thanks div.edge {
  margin-top: 3rem;
  margin-bottom: 3rem;

  text-align: center
}

#page-thanks div.edge img {
  max-width: 100%;
  margin-bottom: 2rem;

}

#page-thanks div.edge h3 {
  margin-top: 3rem;
}

#page-thanks div.edge dl {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#page-thanks div.edge dl div {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 40rem;
  padding: 1rem;
  margin: 1px 0;
  background-color: #eeeeee;
  background-color: var(--popup-layer-color);
}

#page-thanks div.edge dl div dt {
  width: 100%;
  font-weight: bold;
  text-align: left;
  margin-right: .5rem;
}

#page-thanks div.edge dl div dd {
  width: 100%;
  text-align: left;
  margin-left: 0;
}

@media (min-width: 768px) {
  #page-thanks div.edge dl div {
    flex-direction: row;
  }

  #page-thanks div.edge dl div dt {
    width: 25%;
  }

  #page-thanks div.edge dl div dd {
    width: 75%;
  }
}

#category {
  margin-bottom: 5rem
}

#category h2.rod {
  margin-top: 0;
  border-top: none;
}

#category ul {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 2rem auto;
  -webkit-box-pack: justify;
}

#category li.card {
  width: calc(100% - 1rem);
  margin: 1rem
}

@media(min-width: 576px) {
  #category li.card {
    width: calc(100% / 2 - 2rem)
  }
}

@media(min-width: 992px) {
  #category li.card {
    width: calc(100% / 3 - 3rem)
  }
}

#category li.card a>div {
  opacity: inherit;
}

#category li.card div.crop {
  background-color: var(--black-ink-ultrapale);
  position: relative;
  overflow: hidden;
  padding-top: calc(3 / 4 * 100%)
}

#category li.card div.crop img {
  -o-object-fit: cover;
  object-fit: cover;
  max-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#post-basic h1 {
  margin-bottom: 2rem;
}

#post-basic article {
  max-width: 800px;
  margin: 0 auto 5rem auto
}

#post-basic article div.crop {
  background-color: var(--black-ink-ultrapale);
  position: relative;
  overflow: hidden;
  padding-top: calc(9 / 16 * 100%);
  margin-bottom: 2rem
}

#post-basic article div.crop img {
  -o-object-fit: cover;
  object-fit: cover;
  max-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#post-basic article .content p,
#post-basic article .content a,
#post-basic article .content pre,
#post-basic article .content ul,
#post-basic article .content ol,
#post-basic article .content dl,
#post-basic article .content figure,
#post-basic article .content blockquote {
  margin: 1rem 0 2rem 0;
}

#post-basic article .content ul {
  list-style-type: disc;
  padding-left: 1.25rem;
}

#post-basic article .content .is-style-border-thin {
  padding: 1rem;
  border: 1px solid var(--black-ink-ultrapale);
}

#post-basic article .content {

  & h2,
  h3 {
    /* margin: 1rem 0 1rem 0; */
  }
}

#post-basic article .content a {
  color: inherit;
  text-decoration: underline;
}

#post-basic article .content .is-style-wide {
  text-align: center
}

#post-basic article .content .is-style-wide .wp-block-button__link {
  font-size: 1rem;
  width: 100%;
  max-width: 32rem;
  padding: 1rem 2rem;
}

#post-basic article .content .wp-block-button__link {
  text-decoration: none;
}

#post-basic article .content blockquote {
  border-left: 2px solid var(--black-ink-ultrapale);
}

#post-basic article .content table td,
#post-basic article .content table th {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

#post-basic .post-navigation {
  margin-bottom: 5rem;
}

#post-basic .button.link2archive {
  margin: 0 auto 5rem auto;
  width: 100%;
  max-width: 32rem;
}

.tksc-form .tksc-modal .tksc-dialog {
  background-color: var(--body-background-color);
  border: solid 1px var(--black-ink-ultrapale);
}