/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

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

/**
Use a more readable tab size (opinionated).
*/

html {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/*
Sections
========
*/

/**
Remove the margin in all browsers.
*/

body {
  margin: 0;
}

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/

body {
  font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/

button,
select {
  /* 1 */
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */

/**
 * Removes the default spacing and border for appropriate elements.
 */

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

button {
  background-color: transparent;
  background-image: none;
}

fieldset {
  margin: 0;
  padding: 0;
}

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

/**
 * Tailwind custom reset styles
 */

/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */

html {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 1 */
  line-height: 1.5;
  /* 2 */
}

/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */

body {
  font-family: inherit;
  line-height: inherit;
}

/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: currentColor;
  /* 2 */
}

/*
 * Ensure horizontal rules are visible by default
 */

hr {
  border-top-width: 1px;
}

/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */

img {
  border-style: solid;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button,
[role="button"] {
  cursor: pointer;
}

/**
 * Override legacy focus reset from Normalize with modern Firefox focus styles.
 *
 * This is actually an improvement over the new defaults in Firefox in our testing,
 * as it triggers the better focus styles even for links, which still use a dotted
 * outline in Firefox by default.
 */

:-moz-focusring {
  outline: auto;
}

table {
  border-collapse: collapse;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */

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

/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */

button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}

/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */

pre,
code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/**
 * 1. Make replaced elements `display: block` by default as that's
 *    the behavior you want almost all of the time. Inspired by
 *    CSS Remedy, with `svg` added as well.
 *
 *    https://github.com/mozdevs/cssremedy/issues/14
 * 
 * 2. Add `vertical-align: middle` to align replaced elements more
 *    sensibly by default when overriding `display` by adding a
 *    utility like `inline`.
 *
 *    This can trigger a poorly considered linting error in some
 *    tools but is included by design.
 * 
 *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
 */

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
video {
  max-width: 100%;
  height: auto;
}

/**
 * Ensure the default browser behavior of the `hidden` attribute.
 */

[hidden] {
  display: none;
}

*, ::before, ::after {
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-color: currentColor;
  --tw-blur: var(--tw-empty,/*!*/ /*!*/);
  --tw-brightness: var(--tw-empty,/*!*/ /*!*/);
  --tw-contrast: var(--tw-empty,/*!*/ /*!*/);
  --tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
  --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
  --tw-invert: var(--tw-empty,/*!*/ /*!*/);
  --tw-saturate: var(--tw-empty,/*!*/ /*!*/);
  --tw-sepia: var(--tw-empty,/*!*/ /*!*/);
  --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
  --tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.top-\[17px\] {
  top: 17px;
}

.right-0 {
  right: 0px;
}

.top-\[-85px\] {
  top: -85px;
}

.left-\[-44px\] {
  left: -44px;
}

.left-\[-26px\] {
  left: -26px;
}

.order-2 {
  order: 2;
}

.order-1 {
  order: 1;
}

.order-\[-1\] {
  order: -1;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mx-\[10px\] {
  margin-left: 10px;
  margin-right: 10px;
}

.mr-\[10px\] {
  margin-right: 10px;
}

.ml-\[15px\] {
  margin-left: 15px;
}

.ml-\[16px\] {
  margin-left: 16px;
}

.mt-\[50px\] {
  margin-top: 50px;
}

.mr-\[90px\] {
  margin-right: 90px;
}

.mt-\[80px\] {
  margin-top: 80px;
}

.mt-\[25px\] {
  margin-top: 25px;
}

.ml-auto {
  margin-left: auto;
}

.ml-\[19px\] {
  margin-left: 19px;
}

.mb-\[40px\] {
  margin-bottom: 40px;
}

.mb-\[20px\] {
  margin-bottom: 20px;
}

.mb-\[80px\] {
  margin-bottom: 80px;
}

.mb-\[7px\] {
  margin-bottom: 7px;
}

.mb-\[3px\] {
  margin-bottom: 3px;
}

.mb-\[12px\] {
  margin-bottom: 12px;
}

.ml-\[30px\] {
  margin-left: 30px;
}

.ml-\[10px\] {
  margin-left: 10px;
}

.mt-\[15px\] {
  margin-top: 15px;
}

.ml-\[12px\] {
  margin-left: 12px;
}

.mt-\[214px\] {
  margin-top: 214px;
}

.mb-\[290px\] {
  margin-bottom: 290px;
}

.mb-\[200px\] {
  margin-bottom: 200px;
}

.mb-\[60px\] {
  margin-bottom: 60px;
}

.mb-\[16px\] {
  margin-bottom: 16px;
}

.mb-\[70px\] {
  margin-bottom: 70px;
}

.mt-\[5px\] {
  margin-top: 5px;
}

.mt-\[30px\] {
  margin-top: 30px;
}

.mb-\[10px\] {
  margin-bottom: 10px;
}

.mb-\[5px\] {
  margin-bottom: 5px;
}

.mr-\[40px\] {
  margin-right: 40px;
}

.ml-\[20px\] {
  margin-left: 20px;
}

.mb-\[38px\] {
  margin-bottom: 38px;
}

.mr-\[20px\] {
  margin-right: 20px;
}

.ml-\[50px\] {
  margin-left: 50px;
}

.mb-\[50px\] {
  margin-bottom: 50px;
}

.mr-\[15px\] {
  margin-right: 15px;
}

.mt-\[170px\] {
  margin-top: 170px;
}

.ml-\[5px\] {
  margin-left: 5px;
}

.mb-\[150px\] {
  margin-bottom: 150px;
}

.mt-\[10px\] {
  margin-top: 10px;
}

.mb-\[4px\] {
  margin-bottom: 4px;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mb-\[100px\] {
  margin-bottom: 100px;
}

.mt-\[40px\] {
  margin-top: 40px;
}

.mb-\[30px\] {
  margin-bottom: 30px;
}

.mr-\[50px\] {
  margin-right: 50px;
}

.mt-\[3px\] {
  margin-top: 3px;
}

.mb-\[15px\] {
  margin-bottom: 15px;
}

.mr-\[30px\] {
  margin-right: 30px;
}

.mt-\[70px\] {
  margin-top: 70px;
}

.mb-\[160px\] {
  margin-bottom: 160px;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mb-\[45px\] {
  margin-bottom: 45px;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.flex {
  display: flex;
}

.table {
  display: table;
}

.hidden {
  display: none;
}

.max-h-\[24px\] {
  max-height: 24px;
}

.max-h-\[32px\] {
  max-height: 32px;
}

.min-h-\[130px\] {
  min-height: 130px;
}

.w-\[22px\] {
  width: 22px;
}

.w-\[18px\] {
  width: 18px;
}

.w-\[240px\] {
  width: 240px;
}

.w-\[50\%\] {
  width: 50%;
}

.w-\[76\.58\%\] {
  width: 76.58%;
}

.w-\[30\.834\%\] {
  width: 30.834%;
}

.w-\[18\%\] {
  width: 18%;
}

.w-\[190px\] {
  width: 190px;
}

.w-\[520px\] {
  width: 520px;
}

.w-\[48\.182\%\] {
  width: 48.182%;
}

.w-\[48\.115\%\] {
  width: 48.115%;
}

.w-\[51\.89\%\] {
  width: 51.89%;
}

.w-\[30\%\] {
  width: 30%;
}

.w-\[47\.73\%\] {
  width: 47.73%;
}

.w-\[37\.22\%\] {
  width: 37.22%;
}

.w-\[66\.25\%\] {
  width: 66.25%;
}

.w-\[58\.335\%\] {
  width: 58.335%;
}

.w-full {
  width: 100%;
}

.w-\[200px\] {
  width: 200px;
}

.w-\[30\.91\%\] {
  width: 30.91%;
}

.w-\[136px\] {
  width: 136px;
}

.w-\[212px\] {
  width: 212px;
}

.w-\[120px\] {
  width: 120px;
}

.w-\[48\.75\%\] {
  width: 48.75%;
}

.w-\[31\.625\%\] {
  width: 31.625%;
}

.w-\[380px\] {
  width: 380px;
}

.w-\[22\.728\%\] {
  width: 22.728%;
}

.w-\[22\.223\%\] {
  width: 22.223%;
}

.w-\[71\.112\%\] {
  width: 71.112%;
}

.w-\[23\.64\%\] {
  width: 23.64%;
}

.w-\[76\.36\%\] {
  width: 76.36%;
}

.w-\[80px\] {
  width: 80px;
}

.max-w-\[30px\] {
  max-width: 30px;
}

.max-w-\[100px\] {
  max-width: 100px;
}

.max-w-\[550px\] {
  max-width: 550px;
}

.transform {
  transform: var(--tw-transform);
}

.resize-none {
  resize: none;
}

.flex-col {
  flex-direction: column;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.self-center {
  align-self: center;
}

.rounded-md {
  border-radius: 0.375rem;
}

.rounded-\[5px\] {
  border-radius: 5px;
}

.border {
  border-width: 1px;
}

.border-b {
  border-bottom-width: 1px;
}

.border-t {
  border-top-width: 1px;
}

.border-t-\[1px\] {
  border-top-width: 1px;
}

.border-b-\[1px\] {
  border-bottom-width: 1px;
}

.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgba(107, 114, 128, var(--tw-border-opacity));
}

.border-gray03 {
  --tw-border-opacity: 1;
  border-color: rgba(209, 209, 209, var(--tw-border-opacity));
}

.border-gray04 {
  --tw-border-opacity: 1;
  border-color: rgba(204, 204, 204, var(--tw-border-opacity));
}

.bg-gray01 {
  --tw-bg-opacity: 1;
  background-color: rgba(238, 238, 238, var(--tw-bg-opacity));
}

.bg-green02 {
  --tw-bg-opacity: 1;
  background-color: rgba(150, 154, 139, var(--tw-bg-opacity));
}

.bg-green {
  --tw-bg-opacity: 1;
  background-color: rgba(31, 58, 57, var(--tw-bg-opacity));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.bg-contact-bg {
  background-image: url('../img/common/contact-bg.jpg');
}

.bg-cover {
  background-size: cover;
}

.bg-no-repeat {
  background-repeat: no-repeat;
}

.p-\[30px\] {
  padding: 30px;
}

.p-5 {
  padding: 1.25rem;
}

.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.py-\[11\.5px\] {
  padding-top: 11.5px;
  padding-bottom: 11.5px;
}

.px-\[6\.5\%\] {
  padding-left: 6.5%;
  padding-right: 6.5%;
}

.px-\[20px\] {
  padding-left: 20px;
  padding-right: 20px;
}

.py-\[200px\] {
  padding-top: 200px;
  padding-bottom: 200px;
}

.py-\[16px\] {
  padding-top: 16px;
  padding-bottom: 16px;
}

.py-\[26\.5px\] {
  padding-top: 26.5px;
  padding-bottom: 26.5px;
}

.px-\[10px\] {
  padding-left: 10px;
  padding-right: 10px;
}

.py-\[7px\] {
  padding-top: 7px;
  padding-bottom: 7px;
}

.py-\[5px\] {
  padding-top: 5px;
  padding-bottom: 5px;
}

.py-\[13\.5px\] {
  padding-top: 13.5px;
  padding-bottom: 13.5px;
}

.px-\[5px\] {
  padding-left: 5px;
  padding-right: 5px;
}

.py-\[25px\] {
  padding-top: 25px;
  padding-bottom: 25px;
}

.pt-\[160px\] {
  padding-top: 160px;
}

.pb-\[100px\] {
  padding-bottom: 100px;
}

.pt-\[30px\] {
  padding-top: 30px;
}

.pb-\[20px\] {
  padding-bottom: 20px;
}

.pt-\[2px\] {
  padding-top: 2px;
}

.pr-\[4\.167\%\] {
  padding-right: 4.167%;
}

.pt-\[4px\] {
  padding-top: 4px;
}

.pb-\[60px\] {
  padding-bottom: 60px;
}

.pt-\[80px\] {
  padding-top: 80px;
}

.pb-\[74px\] {
  padding-bottom: 74px;
}

.pt-\[50px\] {
  padding-top: 50px;
}

.pb-\[70px\] {
  padding-bottom: 70px;
}

.pb-\[200px\] {
  padding-bottom: 200px;
}

.pl-\[20px\] {
  padding-left: 20px;
}

.pr-\[20px\] {
  padding-right: 20px;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pr-5 {
  padding-right: 1.25rem;
}

.pb-\[26\.5px\] {
  padding-bottom: 26.5px;
}

.pr-\[10px\] {
  padding-right: 10px;
}

.pt-\[8px\] {
  padding-top: 8px;
}

.pt-\[60px\] {
  padding-top: 60px;
}

.pt-\[15px\] {
  padding-top: 15px;
}

.pl-\[30px\] {
  padding-left: 30px;
}

.pr-\[30px\] {
  padding-right: 30px;
}

.pl-\[3\.114\%\] {
  padding-left: 3.114%;
}

.pr-\[9\.34\%\] {
  padding-right: 9.34%;
}

.pt-\[40px\] {
  padding-top: 40px;
}

.pb-\[50px\] {
  padding-bottom: 50px;
}

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

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-\[12px\] {
  font-size: 12px;
}

.text-\[18px\] {
  font-size: 18px;
}

.text-\[13px\] {
  font-size: 13px;
}

.text-\[15px\] {
  font-size: 15px;
}

.text-\[14px\] {
  font-size: 14px;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-\[30px\] {
  font-size: 30px;
}

.text-\[24px\] {
  font-size: 24px;
}

.text-\[20px\] {
  font-size: 20px;
}

.text-\[22px\] {
  font-size: 22px;
}

.text-\[16px\] {
  font-size: 16px;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.uppercase {
  text-transform: uppercase;
}

.leading-5 {
  line-height: 1.25rem;
}

.leading-7 {
  line-height: 1.75rem;
}

.leading-\[1\.8\] {
  line-height: 1.8;
}

.leading-none {
  line-height: 1;
}

.leading-\[1\.6\] {
  line-height: 1.6;
}

.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

.text-green03 {
  --tw-text-opacity: 1;
  color: rgba(150, 154, 139, var(--tw-text-opacity));
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgba(59, 130, 246, var(--tw-text-opacity));
}

.text-orange {
  --tw-text-opacity: 1;
  color: rgba(243, 163, 50, var(--tw-text-opacity));
}

.text-gray02 {
  --tw-text-opacity: 1;
  color: rgba(189, 189, 189, var(--tw-text-opacity));
}

.text-gray05 {
  --tw-text-opacity: 1;
  color: rgba(133, 133, 133, var(--tw-text-opacity));
}

.text-errorRed {
  --tw-text-opacity: 1;
  color: rgba(210, 25, 25, var(--tw-text-opacity));
}

.underline {
  text-decoration: underline;
}

.filter {
  filter: var(--tw-filter);
}

* {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

*:focus-visible {
  outline: none;
}

body {
  overflow-x: hidden;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  letter-spacing: 0.08em;
  font-size: 13px;
  font-weight: 500;
  color: #1f3a39;
  line-height: 1.8;
  background-color: #eeeeee;
}

body.open {
  overflow-y: hidden;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: transparent url(../img/common/select-arrow-icon.svg) no-repeat right center / 10px 5px;
  letter-spacing: 1px;
  padding-right: 15px;
  outline: none;
}

a {
  transition: 0.2s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

a:hover {
  opacity: 0.6;
}

input,
textarea {
  letter-spacing: 0.1em;
  border-radius: 0;
}

/*==================================
ユーティリティ
===================================*/

/* PC SP 表示・非表示 */

.pc {
  display: block;
}

@media (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}

@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

/* 画面幅いっぱいに広げる */

.negative-margin {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* 3点リーダー*/

.clamp span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/*==================================
共通部分
===================================*/

/*====== inner ======*/

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}

@media (max-width: 767px) {
  .inner {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.top section .inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}

footer#footer .inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (max-width: 767px) {
  footer#footer .inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.article .inner,
.policy .inner,
.contact .inner,
.recruit .inner {
  max-width: 800px;
}

.article #contact .inner,
.policy #contact .inner,
.recruit #contact .inner {
  max-width: 1100px;
}

@media (max-width: 767px) {
  .inner {
    padding-left: 0;
    padding-right: 0;
  }

  .top #instagram .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*====== 見出し ======*/

/* h2　見出し */

.h2_text {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgba(243, 163, 50, var(--tw-text-opacity));
  color: #f3a332;
}

.news .h2_text, .policy .h2_text, .recruit .h2_text {
  font-size: 18px;
}

.top .h2_text {
  font-size: 13px;
}

.policy .h3_text, .recruit .h3_text, .contact .h3_text {
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgba(243, 163, 50, var(--tw-text-opacity));
  color: #f3a332;
}

/*====== ボタン ======*/

/* ボタン */

.btn01 {
  display: flex;
  width: 47.762%;
  align-items: center;
  justify-content: center;
  --tw-bg-opacity: 1;
  background-color: rgba(150, 154, 139, var(--tw-bg-opacity));
  padding-top: 61px;
  padding-bottom: 61px;
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

@media (max-width: 767px) {
  .btn01 {
    flex-direction: column;
  }

  .btn01 {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}

.btn01 {
  color: #ffffff;
  background-color: #969a8b;
}

.btn02 {
  display: flex;
  width: 47.27%;
  align-items: center;
  justify-content: center;
}

@media (max-width: 1023px) {
  .btn02 {
    width: 100%;
  }
}

/* コンタクト　ボタン */

.contact-btn {
  display: flex;
  width: 25%;
  align-items: center;
  justify-content: center;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-border-opacity));
  background-color: rgba(255,255,255,0.2);
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
}

.contact-btn:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgba(31, 58, 57, var(--tw-text-opacity));
}

@media (max-width: 1023px) {
  .contact-btn {
    width: 35%;
  }
}

@media (max-width: 767px) {
  .contact-btn {
    margin-left: auto;
    margin-right: auto;
  }

  .contact-btn {
    width: 74.63%;
  }
}

.contact-btn {
  border-color: #ffffff;
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
}

.contact-btn:hover {
  color: #1f3a39;
  background-color: #ffffff;
}

a.contact-btn:hover {
  opacity: 1;
}

.contact-btn:hover svg.balloon-icon g {
  fill: #1f3a39;
}

.contact-btn:hover svg.icon path {
  stroke: #1f3a39;
}

.contact-btn:hover svg.arrow path {
  fill: #1f3a39;
}

/* view　more　ボタン */

.view-more-btn {
  display: flex;
  justify-content: center;
  align-items: center;
}

#about .view-more-btn,
#instagram .view-more-btn {
  justify-content: flex-end;
}

.view-more-btn .view-more-icons svg,
.contact-btn svg.arrow,
.catalog-banner svg.arrow,
.tocatalog-btn svg.arrow {
  transform: translateX(0);
  transition: all 0.3s ease;
}

.tocatalog-btn:hover svg,
.view-more-btn:hover svg,
.contact-btn:hover svg.arrow,
.catalog-banner:hover svg.arrow {
  transform: translateX(8px);
}

.view-more-btn:active svg,
.contact-btn:active svg.arrow {
  transform: scale(0.9);
}

/* to catalog　ボタン */

.tocatalog-btn {
  justify-content: flex-end;
  display: flex;
  align-items: center;
}

/* shareボタン */

.circle-link-btns {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.circle-link-btns a:hover {
  opacity: 1;
}

.circle-link-btns button:hover svg path,
.circle-link-btns a:hover svg path,
.circle-link-btns a:hover svg circle {
  transition: 0.2s;
  opacity: 1;
}

.circle-link-btns .share-btn:hover svg path {
  fill: #f3a332;
}

.circle-link-btns .twitter-btn:hover svg path {
  fill: #1d9bf0;
}

.circle-link-btns .facebook-btn:hover svg path {
  fill: #1877f2;
}

.circle-link-btns .shopping-btn:hover svg circle {
  fill: #f3a332;
}

/*====== 入力欄　エラー表示 ======*/

.error {
  border-color: #d21919;
}

/*====== ヘッダー  ======*/

.header {
  position: fixed;
  top: 0px;
  z-index: 10;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  padding-top: 39.5px;
  padding-bottom: 39.5px;
}

@media (max-width: 767px) {
  .header {
    align-items: flex-start;
  }

  .header {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .header {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.header {
  transition: left 2s cubic-bezier(0.19, 1, 0.22, 1);
}

.header .logo img {
  width: 157px;
}

@media (max-width: 767px) {
  .header .logo img {
    width: 120px;
  }
}

.header .btn-wrap {
  display: flex;
  width: 165px;
  align-items: center;
  justify-content: space-between;
}

@media (max-width: 767px) {
  .header .btn-wrap {
    justify-content: flex-end;
  }
}

#nav-toggle {
  top: 25px;
  right: 25px;
  height: 21px;
  cursor: pointer;
  z-index: 1000;
}

#nav-toggle > div {
  position: relative;
  width: 30px;
}

#nav-toggle span {
  width: 100%;
  height: 3px;
  width: 32px;
  left: 0;
  display: block;
  background-image: url(../img/common/line.svg);
  position: absolute;
  transition: transform 0.2s ease-in-out, top 0.2s ease;
  transition: transform 0.2s ease-in-out, top 0.2s;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 10px;
}

#nav-toggle span:nth-child(3) {
  top: 20px;
}

.open #nav-toggle span:nth-child(1) {
  top: 10px;
  transform: rotate(45deg);
}

.open #nav-toggle span:nth-child(2) {
  top: 10px;
  width: 0;
  left: 50%;
}

.open #nav-toggle span:nth-child(3) {
  top: 10px;
  transform: rotate(-45deg);
}

@media (max-width: 1023px) {
  .open .header .btns {
    width: 150px;
  }
}

.open .header select {
  background: #e6e2d4 url(../img/common/select-arrow-icon.svg) no-repeat right center / 10px 5px;
  transition: 1s;
}

@media (max-width: 767px) {
  .language select {
    font-size: 12px;
  }

  .language select {
    font-weight: 700;
  }
}

/* ヘッダー　プルダウン*/

.dropdown {
  position: relative;
}

.dropdown .top-dropdown-menu,
.dropdown .dropdown-menu {
  position: absolute;
  background-color: #ffffff;
  top: 20px;
  left: -30px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  border-top: 1px solid #1f3a39;
  border-radius: 0 1px 2px 2px;
  display: none;
  z-index: 9;
  width: 100px;
}

.dropdown .top-dropdown-menu li,
.dropdown .dropdown-menu li {
  padding: 10px;
  cursor: pointer;
}

.dropdown .top-dropdown-menu li:active,
.dropdown .dropdown-menu li:active {
  background-color: #ffffff;
}

.dropdown .top-dropdown-menu li:hover,
.dropdown .dropdown-menu li:hover {
  background-color: #EEEEEE;
}

.dropdown .top-dropdown-menu li img {
  margin: 0 auto;
}

/*====== header モーダル ======*/

/*モーダル本体の指定 + モーダル外側の背景の指定*/

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.2);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  box-sizing: border-box;
  z-index: 8;
}

/*モーダル本体に「active」クラス付与した時のスタイル*/

.modal-container.active {
  opacity: 1;
  visibility: visible;
}

/*モーダル枠の指定*/

.modal-container .modal-body {
  display: block;
  max-width: 480px;
  width: 100%;
  height: 100%;
  margin-left: auto;
}

/*モーダル内のコンテンツの指定*/

.modal-container .modal-content {
  background: #e6e2d4;
  text-align: left;
  padding: 200px 10% 20px;
  height: 100%;
}

.modal-container nav a {
  transition: transform cubic-bezier(0.4, 0, 0.2, 1) 0.5s;
}

.modal-container nav a:hover {
  transform: translateX(10px);
  opacity: 1;
}

.modal-container nav li:nth-child(n + 8) a {
  transform: inherit;
}

.modal-container .nav_text {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgba(243, 163, 50, var(--tw-text-opacity));
  color: #f3a332;
}

.modal-container .policy-menu a,
.modal-container .online-menu a,
.modal-container .instagram-menu a {
  transition: 0.2s;
}

.modal-container .policy-menu a:hover,
.modal-container .online-menu a:hover,
.modal-container .instagram-menu a:hover {
  opacity: 0.6;
}

@media (max-width: 767px) {
  .modal-container .modal-body {
    max-width: inherit;
  }

  .modal-container .modal-content {
    padding: 90px 30px 100px 40px;
    height: auto;
    min-height: 100%;
  }
}

/*====== プルダウン ======*/

.content .dropdown {
  margin-left: auto;
  display: flex;
  width: 200px;
  align-items: center;
  justify-content: space-between;
  border-bottom-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgba(31, 58, 57, var(--tw-border-opacity));
  padding-bottom: 15px;
}

@media (max-width: 767px) {
  .content .dropdown {
    width: 100%;
  }
}

.content .dropdown {
  border-color: #1f3a39;
}

.content .dropdown a {
  display: block;
  width: 100%;
}

.content .dropdown .dropdown-menu {
  top: 31px;
  left: 0px;
  width: 200px;
}

@media (max-width: 767px) {
  .content .dropdown .dropdown-menu {
    width: 100%;
  }
}

/*====== ページのトップへ戻る ======*/

#page-top {
  position: fixed;
  right: 30px;
  z-index: 2;
  cursor: pointer;
}

#page-top a {
  display: inline-block;
  width: 36px;
  transition: all 0.3s;
  position: relative;
  color: #1f3a39;
}

#page-top a:after {
  content: "";
  background: url(../img/common/top_to.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 35px;
  height: 30px;
  position: absolute;
  top: 0px;
  left: 0px;
}

@media (max-width: 767px) {
  #page-top {
    right: 15px;
  }
}

/*　上に上がる動き　*/

#page-top.UpMove {
  -webkit-animation: UpAnime 0.5s forwards;
          animation: UpAnime 0.5s forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

@-webkit-keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove {
  -webkit-animation: DownAnime 0.5s forwards;
          animation: DownAnime 0.5s forwards;
}

@-webkit-keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

/*トップへスクロール　じわっ*/

.ToTopfadeIn {
  -webkit-animation-name: ToTopfadeInAnime;
          animation-name: ToTopfadeInAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes ToTopfadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes ToTopfadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.ToTopfadeOut {
  -webkit-animation-name: ToTopfadeOutAnime;
          animation-name: ToTopfadeOutAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes ToTopfadeOutAnime {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes ToTopfadeOutAnime {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

/*====== NEW サークル ======*/

.new-circle {
  content: "";
  position: absolute;
  display: none;
  background: url(../img/common/new-icon.svg) no-repeat top;
  background-size: cover;
  width: 40px;
  height: 40px;
  top: 10px;
  left: 10px;
  z-index: 1;
}

.new-circle.active {
  display: inline-block;
}

@media (max-width: 767px) {
  .new-circle {
    width: 35px;
    height: 35px;
  }
}

/*====== パララックス　背景画像 ======*/

.parallax-bg {
  background: url(../img/top/contact-parallax-bg.jpg) no-repeat center / cover;
  background-attachment: fixed;
  width: 100%;
  height: 100vh;
  max-height: 350px;
}

/* Safari　対応 */

_::-webkit-full-page-media,
_:future,
:root .parallax-bg {
  background: inherit;
  background-attachment: inherit;
  max-height: 350px;
}

_::-webkit-full-page-media,
_:future,
:root .parallax-bg.show:before {
  background: url(../img/top/contact-parallax-bg.jpg) no-repeat center / cover;
  content: "";
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: -1;
}

@media (max-width: 767px) {
  .parallax-bg {
    background: inherit;
    background-attachment: inherit;
    max-height: 500px;
  }

  .parallax-bg.show:before {
    background: url(../img/top/contact-parallax-bg-sp.jpg) no-repeat center / cover;
    content: "";
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -1;
  }
}

/*====== スクロールダウン ======*/

/*スクロールダウン全体の場所*/

.scrolldown1 {
  position: absolute;
  right: 3.2%;
  z-index: 5;
}

/*Scrollテキストの描写*/

.scrolldown1 span {
  position: absolute;
  content: "";
  background: url(../img/common/scrolldown.svg) no-repeat center;
  width: 18px;
  height: 80px;
  right: 2px;
  bottom: 60px;
}

/* 線の描写 */

.scrolldown1::after {
  content: "";
  position: absolute;
  right: 11px;
  /*線の形状*/
  width: 2px;
  height: 30px;
  background: #1f3a39;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
          animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/

@-webkit-keyframes pathmove {
  0% {
    height: 0;
    top: -55px;
    opacity: 0;
  }

  30% {
    height: 30px;
    opacity: 1;
  }

  100% {
    height: 0;
    top: -5px;
    opacity: 0;
  }
}

@keyframes pathmove {
  0% {
    height: 0;
    top: -55px;
    opacity: 0;
  }

  30% {
    height: 30px;
    opacity: 1;
  }

  100% {
    height: 0;
    top: -5px;
    opacity: 0;
  }
}

.scrolldown1::before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: 3px;
  right: 8px;
  margin: 0;
  padding: 0;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1f3a39;
  border-right: 2px solid #1f3a39;
  transform: rotate(135deg);
}

@media (max-width: 1023px) {
  .scrolldown1 {
    right: 1.8%;
  }
}

/*====== スクロールするとじわっ ======*/

.fadeIn {
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*====== ページネーション ======*/

.pagination > a:hover {
  opacity: 1;
}

.pagination > a.news-all svg > g {
  transition: fill 0.2s;
}

.pagination > a.news-all:hover svg > g {
  fill: #bdbdbd;
}

.pagination a {
  position: relative;
  opacity: 1;
}

.pagination > a.news-all {
  margin-left: 20.91%;
  margin-right: 20.91%;
}

@media (max-width: 767px) {
  .pagination > a.news-all {
    margin-left: 28.36%;
    margin-right: 28.36%;
  }
}

.pagination a.prev, .pagination a.next {
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}

.pagination a.prev.disable, .pagination a.next.disable {
  opacity: 0.4;
  pointer-events: none;
}

.pagination a.prev.disable::before, .pagination a.next.disable::before {
  display: none;
}

@media (max-width: 767px) {
  .pagination a.prev, .pagination a.next {
    padding-left: 0px;
    padding-right: 0px;
  }
}

.pagination a:not(.news-all):before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #1f3a39;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}

.pagination a.prev:hover:before,
.pagination a.next:hover:before {
  transform: scale(1, 1);
}

.pagination a.prev.disabled,
.pagination a.next.disabled {
  opacity: 0.4;
  pointer-events: none;
}

.pagination a.prev.disabled:hover:before,
.pagination a.next.disabled:hover:before {
  display: none;
}

.pagination .pagination-namber {
  margin-left: 20px;
  margin-right: 20px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 20px;
  font-weight: 400;
}

@media (max-width: 767px) {
  .pagination .pagination-namber {
    margin-left: 11.94%;
    margin-right: 11.94%;
  }

  .pagination .pagination-namber {
    font-size: 18px;
  }
}

.pagination .pagination-namber a {
  width: 25px;
  text-align: center;
}

.pagination .pagination-namber a:hover:before {
  transform: scale(1, 1);
}

.pagination .pagination-namber a.active::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #1f3a39;
  transform: inherit;
}

@media (max-width: 767px) {
  .pagination .pagination-namber a {
    width: 1.25rem;
  }
}

/*====== アコーディオン ======*/

.accordion-area {
  list-style: none;
  border-top: 1px solid #1f3a39;
}

.accordion-area li {
  border-bottom: 1px solid #1f3a39;
}

.accordion-area section {
}

.title {
  position: relative;
  cursor: pointer;
  transition: all 0.5s ease;
  text-indent: -25px;
  padding: 12.5px 20px 12.5px 40px;
  font-size: 14px;
  font-weight: bold;
}

.title::before {
  position: absolute;
  content: "";
  background-image: url(../img/common/download_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  width: 12px;
  height: 8px;
  top: 42%;
  right: 15px;
}

.title.close::before {
  top: 42%;
  transform: rotate(180deg);
}

.box {
  display: none;
  border-top: 1px solid #1f3a39;
  padding: 20px 20px 25px 40px;
}

.box p {
  text-indent: -25px;
}

@media (max-width: 767px) {
  .title {
    padding: 11px 25px 11px 35px;
  }

  .box {
    padding: 25px 25px 25px 35px;
  }
}

/*====== Google Maps ======*/

.iframe-wrap {
  position: relative;
  padding-bottom: 40%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  z-index: 2;
}

.iframe-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .iframe-wrap {
    padding-bottom: 80.6%;
  }
}

/*====== タブ　切り替え ======*/

/*タブ実装*/

.tab_box .btn_area {
  display: flex;
}

.tab_box .tab_btn {
  width: 50%;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease 0s;
  padding-bottom: 20px;
  border-bottom: 2px solid #d1d1d1;
  color: #9d9d9d;
  font-size: 14px;
}

.tab_box .tab_btn.active {
  border-bottom: 2px solid;
  font-size: 14px;
  font-weight: bold;
  color: #1f3a39;
  opacity: 1;
}

.tab_box .tab_panel {
  display: none;
}

.tab_box .tab_panel.active {
  display: block;
}

.tab_box .panel_area {
  padding-top: 80px;
}

@media (max-width: 767px) {
  .tab_box .panel_area {
    padding-top: 60px;
  }
}

/*====== チェックボックス ======*/

.form-checkboxes {
  display: flex;
  flex-wrap: wrap;
}

.form-checkboxes .form-checkbox {
  /* コンテンツの流れから切り離す */
  position: absolute;
  /* 誤ったコードに対処するための回避策 */
  white-space: nowrap;
  /* 可能な限り文字サイズを小さくするための処理
   * (スクリーンリーダー中には height と width が 0 のものを無視するため)
   */
  width: 1px;
  height: 1px;
  /* オーバーフローしているコンテンツを隠す */
  overflow: hidden;
  /* 要素サイズを変更しうるプロパティのリセット */
  border: 0;
  padding: 0;
  /* 要素のどの部分が表示されるかを定義するもの */
  /* 古いブラウザでは使用できない */
  clip: rect(0 0 0 0);
  /* 最近のブラウザ用
   * コンテンツを非表示にする設定  */
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  /* 今現在なぜ-1pxがここで設定されるかは分かっていないそうです。
   * それに加えていくつか問題もあるそうです
   * (参考: https://github.com/h5bp/html5-boilerplate/issues/1985)
   */
  margin: -1px;
}

.form-checkboxes .form-item {
  margin-right: 20px;
  margin-bottom: 15px;
}

.form-checkboxes label {
  cursor: pointer;
  padding-left: 28px;
  position: relative;
}

.form-checkboxes label::before,
.form-checkboxes label::after {
  content: "";
  display: block;
  position: absolute;
}

.form-checkboxes label::before {
  background-color: #fff;
  border-radius: 0%;
  border: 1px solid #cccccc;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  top: 50%;
}

.form-checkboxes label::after {
  border-bottom: 2px solid #1f3a39;
  border-left: 2px solid #1f3a39;
  opacity: 0;
  height: 5px;
  width: 10px;
  transform: rotate(-45deg);
  top: 6px;
  left: 4px;
}

.form-checkboxes input:checked + label::after {
  opacity: 1;
}

/*====== カードの中の画像　設定 ======*/

.card-img-wrap,
.product-card-img-wrap {
  position: relative;
  width: 100%;
}

.card-img-wrap::before {
  content: "";
  display: block;
  padding-top: 73.135%;
}

.product-card-img-wrap::before {
  content: "";
  display: block;
  padding-top: 100%;
}

.card-img-wrap img,
.product-card-img-wrap img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.card-img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/*====== カタログページ　へのバナーリンク ======*/

.catalog-banner {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 150px;
  display: block;
  width: 100%;
  max-width: 550px;
  background-image: url('../img/product/catalog_banners.jpg');
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 45px;
  padding-right: 20px;
  padding-bottom: 15px;
  padding-left: 30px;
}

@media (max-width: 767px) {
  .catalog-banner {
    background-image: url('../img/product/catalog_banners-sp.jpg');
  }

  .catalog-banner {
    padding-top: 22px;
  }

  .catalog-banner {
    padding-right: 20px;
  }

  .catalog-banner {
    padding-bottom: 10px;
  }

  .catalog-banner {
    padding-left: 20px;
  }
}

.to-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

/*==================================
　TOP ページ 日本語
===================================*/

.top section {
  padding-left: 20px;
  padding-right: 20px;
}

/*====== MV  ======*/

.top section.mv .mv-text {
  text-shadow: 0 0 2px rgba(238, 238, 238, 1);
}

/*　背景画像設定　*/

@media (max-width: 767px) {
  .mv-slider .slick-list {
    max-height: 400px;
  }
}

.slider-item01 {
  background: url(../img/top/mv1_bath.jpg);
}

.slider-item02 {
  background: url(../img/top/mv2_showroom.jpg);
}

.slider-item03 {
  background: url(../img/top/mv3_fiesta.jpg);
}

.slider-item04 {
  background: url(../img/top/mv4_hagoita.jpg);
}

.slider-item05 {
  background: url(../img/top/mv5__spoon.jpg);
}

.slider-item {
  min-height: inherit;
  background-size: cover;
  padding-top: 20%;
}

@media (max-width: 767px) {
}

/*====== NEWS セクション  ======*/

.top #news .news_list li:nth-child(n + 4) {
  display: none;
}

.top #news .news_list li:nth-child(n + 2) {
  margin-left: 3.75%;
}

@media (max-width: 767px) {
  .top #news .news_list li:nth-child(n + 2) {
    margin-top: 40px;
    margin-left: 0;
  }
}

/*====== PRODUCT セクション  ======*/

.top .product-list li:nth-child(n + 11) {
  display: none;
}

.top .product-list li:not(:nth-child(5n + 5)) {
  margin-right: 2.5%;
}

@media (max-width: 767px) {
  .top .product-list li:nth-child(n + 7) {
    display: none;
  }

  .top .product-list li:not(:nth-child(5n + 5)) {
    margin-right: 0;
  }

  .top .product-list li:not(:nth-child(2n + 2)) {
    margin-right: 4.47%;
  }
}

/*====== カタログポップ　セクション ======*/

.top .catalog-banner {
  margin-bottom: inherit;
}

/*====== instagram　セクション ======*/

.top section#instagram {
  padding-left: 0px;
  padding-right: 0px;
}

.top #instagram .slick-initialized .slick-slide {
  max-width: 250px;
}

.top #instagram .slick-initialized .slick-slide:hover {
  opacity: 0.8;
}

.top #instagram .slick-slider {
  background: #000;
}

.top #instagram .slick-slide img {
  transition-duration: 0.3s;
}

.top #instagram .slick-slide:hover img {
  opacity: 0.6;
  transition-duration: 0.3s;
}

/*==================================
　下層共通
===================================*/

/* .underlayer_bg_mv {
  @apply mt-[120px] h-[370px] bg-cover md:h-[300px] md:mt-[73px];
} */

#page-link a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

#page-link a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #1f3a39;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}

#page-link a:hover {
  opacity: 1;
}

#page-link a:hover::after {
  transform: scale(1, 1);
}

/*==================================
　ABOUT ページ
===================================*/

@media (max-width: 1155px) {
  .about .inner section {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*==================================
　PRODUCT ページ
===================================*/

/*　index.html
===================================*/

.products .product-list li:nth-child(n + 5) {
  margin-top: 60px;
}

.products .product-list li:not(:nth-child(4n + 4)) {
  margin-right: 3%;
}

@media (max-width: 767px) {
  .products .product-list li:nth-child(n + 5) {
    margin-top: 0px;
  }

  .products .product-list li:not(:nth-child(4n + 4)) {
    margin-right: 0px;
  }

  .products .product-list li:not(:nth-child(2n + 2)) {
    margin-right: 4.47%;
  }

  .products .product-list li:nth-child(n + 3) {
    margin-top: 40px;
  }
}

/*Styling Selectbox*/

.selectbox {
  transition: all 0.5s ease;
  position: relative;
  font-size: 16px;
  margin-left: auto;
}

.selectbox .select {
  cursor: pointer;
  display: block;
  padding: 5px 0;
  border-bottom: 1px solid #1f3a39;
}

.selectbox.active {
  border-radius: 2px 2px 0 0;
}

.selectbox .selectbox-menu {
  position: absolute;
  background-color: #eeeeee;
  width: 100%;
  left: 0;
  margin-top: 1px;
  box-shadow: 0 1px 2px rgb(204, 204, 204);
  border-radius: 0 1px 2px 2px;
  overflow: hidden;
  display: none;
  z-index: 9;
}

.selectbox .selectbox-menu li {
  padding: 10px 15px;
  transition: all 0.2s ease-in-out;
  cursor: pointer;
}

.selectbox .selectbox-menu {
  padding: 0;
  list-style: none;
  font-size: 13px;
}

.selectbox .selectbox-menu li:hover,
.selectbox .selectbox-menu li:active {
  background-color: #ffffff;
  font-weight: bold;
}

/*　product.html
===================================*/

.product .side-menu .active {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.product .product-slider img {
  width: 100% !important;
  height: auto;
  vertical-align: bottom;
}

.product .product-slider .slick-list {
  width: 77.92%;
}

.product .product-slider .slick-dots {
  width: 21.818%;
  padding-left: 3.117%;
}

.product .slick-dots li {
  width: 45.84%;
  display: inline-block;
}

.product .slick-dots li:nth-of-type(2n) {
  margin-left: 7.14%;
}

.product .slick-dots li:nth-child(n + 3) {
  margin-top: 6px;
}

.product .slick-dots li.slick-active img {
  outline: 2px solid #f3a332;
  outline-offset: -2px;
}

.product .new-circle {
  background: url(../img/product/product-new-icon.svg) no-repeat top;
  width: 60px;
  height: 60px;
  top: 20px;
  left: 20px;
}

.product .product-list li:nth-child(n + 5) {
  display: none;
}

.product .product-list li:not(:nth-child(4n + 4)) {
  margin-right: 3%;
}

@media (max-width: 767px) {
  .product .product-list li:not(:nth-child(4n + 4)) {
    margin-right: 0px;
  }

  .product .product-list li:not(:nth-child(2n + 2)) {
    margin-right: 4.47%;
  }

  .product .product-list li:nth-child(n + 3) {
    margin-top: 40px;
  }

  .product .product-slider .slick-list {
    width: 100%;
  }

  .product .product-slider .slick-dots {
    width: 100%;
    padding-left: 0;
    margin-top: 10px;
  }

  .product .slick-dots li {
    width: 18.81%;
  }

  .product .slick-dots li:nth-of-type(2n) {
    margin-left: 0;
  }

  .product .slick-dots li:not(:nth-child(5n + 5)) {
    margin-right: 4.5px;
  }

  .product .slick-dots li:nth-child(n + 3) {
    margin-top: 0px;
  }

  .product .new-circle {
    background: url(../img/product/product-new-icon-sp.svg) no-repeat top;
    width: 50px;
    height: 50px;
    top: 10px;
    left: 10px;
  }
}

@media (max-width: 330px) {
  .product .slick-dots li {
    width: 18.575%;
  }
}

/* ツールチップ */

.tooltip_inner:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 43%;
  border: 8px solid transparent;
  border-top: 8px solid #ffffff;
}

/*==================================
　カタログ ページ
===================================*/

.catalog .tab_box .tab_btn {
  width: 33.33333%;
  /* 未対応ブラウザ用フォールバック */
  width: calc(100% / 3);
}

/*==================================
　NEWS ページ
===================================*/

/*　index.html
===================================*/

.news .news-list li:nth-child(n + 4) {
  margin-top: 60px;
}

.news .news-list li:not(:nth-child(3n + 3)) {
  margin-right: 3.63%;
}

@media (max-width: 767px) {
  .news .news-list li:nth-child(n + 4) {
    margin-top: 0px;
  }

  .news .news-list li:not(:nth-child(3n + 3)) {
    margin-right: 0px;
  }

  .news .news-list li:nth-child(n + 2) {
    margin-top: 30px;
  }
}

/*　news_parts.html
===================================*/

/*====== 　リスト ======*/

.article .list li {
  padding-left: 25px;
  position: relative;
}

.article .list li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/*====== 　ナンバーリスト ======*/

.article .list-02 {
  counter-reset: count 0;
}

.article .list-02 li::before {
  content: counter(count) ". ";
  counter-increment: count 1;
}

/*====== 　枠あり　リスト ======*/

.article .list-03 {
  border: 1px solid;
  padding: 30px;
}

@media (max-width: 767px) {
  .article .list-03 {
    padding: 15px;
  }
}

/*====== 　テーブル ======*/

.article .table {
  width: 100%;
}

.article .table th {
  padding: 10px 20px;
}

.article .table td {
  padding: 10px 20px;
}

/* table-01 */

.article .table-01 {
  border: 1px solid;
}

.article .table-01 tr:nth-child(n + 2) {
  border-top: 1px solid;
}

.article .table-01 th {
  width: 37.5%;
  border-right: 1px solid;
}

.article .table-01 td {
  width: 62.5%;
}

/* table-02 */

.article .table-02 tr:nth-child(n + 2) {
  border-top: 1px solid;
}

.article .table-02 tr:nth-of-type(even) {
  background-color: #fff;
}

/* table-03 */

.article .table-03 th {
  color: #fff;
  background-color: #1f3a39;
  width: 25%;
}

.article .table-03 tr:first-of-type {
  border-top: 1px solid #fff;
}

.article .table-03 tr {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 75%;
}

@media (max-width: 767px) {
  /* table-01 */

  .article .table-01 tr {
    display: flex;
    flex-direction: column;
  }

  .article .table-01 th {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid;
  }

  .article .table-01 td {
    width: 100%;
  }

  /* table-03 */

  .article .table-03 tr {
    display: flex;
    flex-direction: column;
  }

  .article .table-03 th {
    width: 100%;
  }

  .article .table-03 tr {
    width: 100%;
  }
}

/*====== 　レスポンシブ画像 ======*/

.article .responsive-img {
  position: relative;
}

.article .responsive-img::before {
  content: "";
  display: block;
  /* 比率を指定  */
  /* 16:9 56.25% */
  /* 3:2 66.66% */
  /* 4:3 75% */
  /* 1:1 100% */
  /* 2:3 150% */
  /* 1:2 200% */
  padding-top: 66.66%;
}

.article .responsive-img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

/*====== 　挿入画像画像 ======*/

.article .inset-img {
  max-width: 500px;
  margin: 0 auto;
}

.article .inset-img-01::before {
  padding-top: 56.25%;
}

.article .inset-img-02::before {
  padding-top: 66.66%;
}

.article .inset-img-03::before {
  padding-top: 75%;
}

.article .inset-img-04::before {
  padding-top: 100%;
}

.article .inset-img-05::before {
  padding-top: 150%;
}

/*==================================
policy ページ
===================================*/

.policy ul.list {
  text-indent: -15px;
  padding-left: 15px;
}

/*==================================
recruit ページ
===================================*/

.recruitment-contact-title {
  position: relative;
}

.recruitment-contact-title:before,
.recruitment-contact-title:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 20%;
  height: 1px;
  background-color: #1f3a39;
}

.recruitment-contact-title:before {
  left: 0;
}

.recruitment-contact-title:after {
  right: 0;
}

@media (max-width: 767px) {
  .recruitment-contact-title:before {
    top: 47px;
    width: 100%;
  }

  .recruitment-contact-title:after {
    display: none;
  }
}

/*==================================
company ページ
===================================*/

.company dl > div {
  display: flex;
}

.company dl dt {
  width: 17.27%;
  border-right: 1px solid #d1d1d1;
  font-weight: bold;
  font-size: 14px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.company dl dd {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 5.45%;
  width: 82.73%;
}

@media (max-width: 1023px) {
  .company dl dt {
    width: 25%;
  }

  .company dl dd {
    width: 75%;
  }
}

@media (max-width: 767px) {
  .company dl > div {
    flex-direction: column;
  }

  .company dl dt {
    width: 100%;
    border-right: none;
    padding-top: inherit;
    padding-bottom: inherit;
  }

  .company dl dd {
    width: 100%;
    padding-left: inherit;
    padding-bottom: 40px;
  }
}

/*==================================
　CONTACT ページ
===================================*/

/*====== 　フォーム ======*/

.contact input[type="submit"] {
  cursor: pointer;
}

.contact input[type="submit"]:hover {
  opacity: 0.6;
}

/*====== 　CONTACT ページのタブ　切り替え ======*/

.tab {
  display: flex;
}

.tab li {
  width: 50%;
}

.tab li a {
  display: block;
  text-align: center;
  padding-bottom: 20px;
  border-bottom: 2px solid #d1d1d1;
  color: #9d9d9d;
  font-size: 14px;
}

.tab li.active a {
  border-bottom: 2px solid #1f3a39;
  font-weight: bold;
  color: #1f3a39;
  opacity: 1;
}

.tab-area {
  display: none;
  opacity: 0;
  padding-top: 80px;
}

.tab-area.is-active {
  display: block;
  -webkit-animation-name: displayAnime;
          animation-name: displayAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .tab-area {
    padding-top: 60px;
  }
}

/*==================================
英語番　共通
===================================*/

/*　h2　見出し 英語　*/

.en .h1:before,
.en .h2:before,
.en .h3:before {
  position: relative;
  bottom: -36px;
  left: 50%;
  display: block;
  width: 50px;
  height: 3px;
  content: "";
  background-color: #f3a332;
  transform: translateX(-50%);
}

.en .h1:before {
  bottom: -55px;
}

.en #catalog .h2:before {
  left: inherit;
  transform: inherit;
}

.en #instagram .h2:before {
  bottom: -8px;
  left: 215px;
  transform: inherit;
}

@media (max-width: 767px) {
  .en #instagram .h2:before {
    bottom: -36px;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* ボタン */

.en .btn01 {
  padding-top: 62px;
  padding-bottom: 62px;
}

@media (max-width: 767px) {
  .en .btn01 {
    width: 100%;
  }

  .en .btn01 {
    padding-top: 40.5px;
    padding-bottom: 40.5px;
  }
}

/*==================================
エラー ページ
===================================*/

.error-page main > section {
  min-height: calc(100vh - 183px);
}

.en.error-page main > section {
  min-height: calc(100vh - 153px);
}

/*==================================
　COMPANY ページ 英語
===================================*/

.company.en dl dt {
  width: 25%;
}

.company.en dl dd {
  width: 75%;
}

@media (max-width: 767px) {
  .company.en dl dd {
    width: 100%;
  }

  .company.en dl dd {
    width: 100%;
  }
}

/*==================================
　LOGIN ページ
===================================*/

.user-login-form {
  text-align: initial;
  max-width: 600px;
  margin: 0 auto;
}

.user-login-form .form-item {
  display: flex;
  flex-wrap: wrap;
}

.user-login-form .form-item:nth-child(n + 2) {
  margin-top: 30px;
}

.user-login-form .form-item label {
  width: 33.335%;
  font-weight: 700;
  font-size: 14px;
}

.user-login-form .form-item input {
  width: 66.668%;
  padding: 7px 10px;
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgba(204, 204, 204, var(--tw-border-opacity));
}

.user-login-form .form-item .description {
  width: 100%;
  text-align: right;
  margin-top: 5px;
}

.user-login-form .form-submit {
  width: 240px;
  display: block;
  margin: 80px auto 0;
  padding: 11.5px 10px;
  --tw-bg-opacity: 1;
  background-color: rgba(31, 58, 57, var(--tw-bg-opacity));
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity));
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width: 767px) {
  .user-login-form .form-item label {
    width: 100%;
    margin-bottom: 10px;
  }

  .user-login-form .form-item input {
    width: 100%;
  }

  .user-login-form .form-item .description {
    text-align: inherit;
  }

  .user-login-form .form-submit {
    width: 100%;
    margin: 60px auto 0;
  }
}

/*==================================
IE対策
===================================*/

/*====== 　heaer メニュー ======*/

_:-ms-input-placeholder,
:root .modal-container .modal-content {
  height: auto;
}

/*====== 　3点リーダー ======*/

_:-ms-input-placeholder,
:root .clamp {
  position: relative;
  line-height: 1.8;
  height: calc(1.8em * 2);
  overflow: hidden;
  background: #eeeeee;
}

_:-ms-input-placeholder,
:root .clamp span {
  margin-right: 1em;
}

_:-ms-input-placeholder,
:root .clamp:before {
  content: "…";
  bottom: 0;
  right: 0;
  position: absolute;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 40%, rgba(238, 238, 238, 1) 45%);
  padding-left: 1rem;
}

_:-ms-input-placeholder,
:root .clamp:after {
  content: "";
  width: 100%;
  height: 100%;
  margin-left: -1em;
  position: absolute;
  background: #eeeeee;
}

/*====== 　色 ======*/

_:-ms-input-placeholder,
:root .text-white {
  color: #ffffff;
}

_:-ms-input-placeholder,
:root .text-black {
  color: #858585;
}

_:-ms-input-placeholder,
:root .text-orange {
  color: #f3a332;
}

_:-ms-input-placeholder,
:root .text-green {
  color: #1f3a39;
}

_:-ms-input-placeholder,
:root .text-green03 {
  color: #969a8b;
}

_:-ms-input-placeholder,
:root .text-gray02 {
  color: #bdbdbd;
}

_:-ms-input-placeholder,
:root .text-gray05 {
  color: #858585;
}

_:-ms-input-placeholder,
:root .text-errorRed {
  color: #d21919;
}

_:-ms-input-placeholder,
:root .bg-white {
  background-color: #ffffff;
}

_:-ms-input-placeholder,
:root .bg-white01 {
  background-color: #ffffff;
}

_:-ms-input-placeholder,
:root .bg-gray01 {
  background-color: #eeeeee;
}

_:-ms-input-placeholder,
:root .bg-green {
  background-color: #1f3a39;
}

_:-ms-input-placeholder,
:root .bg-green02 {
  background-color: #969a8b;
}

_:-ms-input-placeholder,
:root .bg-orange {
  background-color: #f3a332;
}

_:-ms-input-placeholder,
:root .border-green {
  border-color: #1f3a39;
}

_:-ms-input-placeholder,
:root .border-gray03 {
  border-color: #d1d1d1;
}

_:-ms-input-placeholder,
:root .border-gray04 {
  border-color: #cccccc;
}

/* -------------------------------- */

.before\:content-\[\'\30FB\'\]::before {
  content: '・';
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.hover\:font-bold:hover {
  font-weight: 700;
}

.hover\:underline:hover {
  text-decoration: underline;
}

.hover\:opacity-100:hover {
  opacity: 1;
}

@media (max-width: 1023px) {
  .lg\:mr-\[30px\] {
    margin-right: 30px;
  }

  .lg\:mb-\[200px\] {
    margin-bottom: 200px;
  }

  .lg\:mb-\[50px\] {
    margin-bottom: 50px;
  }

  .lg\:mb-\[40px\] {
    margin-bottom: 40px;
  }

  .lg\:mb-\[70px\] {
    margin-bottom: 70px;
  }

  .lg\:mb-\[52px\] {
    margin-bottom: 52px;
  }
}

@media (max-width: 767px) {
  .md\:order-2 {
    order: 2;
  }

  .md\:order-1 {
    order: 1;
  }

  .md\:order-\[-1\] {
    order: -1;
  }

  .md\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .md\:mt-\[30px\] {
    margin-top: 30px;
  }

  .md\:mt-\[40px\] {
    margin-top: 40px;
  }

  .md\:mt-\[50px\] {
    margin-top: 50px;
  }

  .md\:mt-\[20px\] {
    margin-top: 20px;
  }

  .md\:mb-\[35\.5px\] {
    margin-bottom: 35.5px;
  }

  .md\:ml-0 {
    margin-left: 0px;
  }

  .md\:mb-\[25px\] {
    margin-bottom: 25px;
  }

  .md\:ml-\[70px\] {
    margin-left: 70px;
  }

  .md\:mt-\[73px\] {
    margin-top: 73px;
  }

  .md\:mb-\[100px\] {
    margin-bottom: 100px;
  }

  .md\:mb-\[30px\] {
    margin-bottom: 30px;
  }

  .md\:mb-\[60px\] {
    margin-bottom: 60px;
  }

  .md\:mb-0 {
    margin-bottom: 0px;
  }

  .md\:mr-0 {
    margin-right: 0px;
  }

  .md\:mb-\[15px\] {
    margin-bottom: 15px;
  }

  .md\:mb-\[20px\] {
    margin-bottom: 20px;
  }

  .md\:mb-\[16px\] {
    margin-bottom: 16px;
  }

  .md\:mt-\[150px\] {
    margin-top: 150px;
  }

  .md\:mb-\[150px\] {
    margin-bottom: 150px;
  }

  .md\:mb-\[50px\] {
    margin-bottom: 50px;
  }

  .md\:mb-\[10px\] {
    margin-bottom: 10px;
  }

  .md\:mb-\[70px\] {
    margin-bottom: 70px;
  }

  .md\:mt-\[90px\] {
    margin-top: 90px;
  }

  .md\:mb-\[40px\] {
    margin-bottom: 40px;
  }

  .md\:mb-\[80px\] {
    margin-bottom: 80px;
  }

  .md\:mt-0 {
    margin-top: 0px;
  }

  .md\:mb-\[48px\] {
    margin-bottom: 48px;
  }

  .md\:mb-\[36px\] {
    margin-bottom: 36px;
  }

  .md\:block {
    display: block;
  }

  .md\:hidden {
    display: none;
  }

  .md\:w-\[80\%\] {
    width: 80%;
  }

  .md\:w-full {
    width: 100%;
  }

  .md\:w-\[47\.765\%\] {
    width: 47.765%;
  }

  .md\:w-\[145px\] {
    width: 145px;
  }

  .md\:flex-col {
    flex-direction: column;
  }

  .md\:justify-center {
    justify-content: center;
  }

  .md\:self-center {
    align-self: center;
  }

  .md\:bg-contact-bg-sp {
    background-image: url('../img/common/contact-bg-sp.jpg');
  }

  .md\:p-\[15px\] {
    padding: 15px;
  }

  .md\:p-0 {
    padding: 0px;
  }

  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }

  .md\:py-\[100px\] {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .md\:px-\[20px\] {
    padding-left: 20px;
    padding-right: 20px;
  }

  .md\:py-\[21px\] {
    padding-top: 21px;
    padding-bottom: 21px;
  }

  .md\:py-\[15\.5px\] {
    padding-top: 15.5px;
    padding-bottom: 15.5px;
  }

  .md\:py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .md\:pt-\[120px\] {
    padding-top: 120px;
  }

  .md\:pr-0 {
    padding-right: 0px;
  }

  .md\:pb-\[100px\] {
    padding-bottom: 100px;
  }

  .md\:pt-\[50px\] {
    padding-top: 50px;
  }

  .md\:pb-\[50px\] {
    padding-bottom: 50px;
  }

  .md\:pl-0 {
    padding-left: 0px;
  }

  .md\:pb-\[21px\] {
    padding-bottom: 21px;
  }

  .md\:pt-\[20px\] {
    padding-top: 20px;
  }

  .md\:pt-0 {
    padding-top: 0px;
  }

  .md\:pt-\[15px\] {
    padding-top: 15px;
  }

  .md\:pt-\[23px\] {
    padding-top: 23px;
  }

  .md\:pb-\[40px\] {
    padding-bottom: 40px;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:text-center {
    text-align: center;
  }

  .md\:text-\[16px\] {
    font-size: 16px;
  }

  .md\:text-\[11px\] {
    font-size: 11px;
  }

  .md\:text-\[14px\] {
    font-size: 14px;
  }

  .md\:text-\[20px\] {
    font-size: 20px;
  }

  .md\:text-\[18px\] {
    font-size: 18px;
  }

  .md\:leading-\[1\.7\] {
    line-height: 1.7;
  }
}
