/* ============================================================
   delion-original.css
   Generated by scripts/extract-css.mjs
   Source: https://delion.jp/
   
   Contents:
   1. WordPress Global Styles (CSS custom properties, dj-* colors)
   2. Theme CSS (delion-official-two/style.css)
   3. Inline styles (back-to-top, floating buttons)
   ============================================================ */

/* --- 1. WordPress Global Styles (inline) --- */
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dj-basic: #ffffff;--wp--preset--color--dj-base: #efe8dc;--wp--preset--color--dj-primary: #33a474;--wp--preset--color--dj-primary-sub: #4298b4;--wp--preset--color--dj-secondary: #3c4556;--wp--preset--color--dj-accent: #d8a537;--wp--preset--color--dj-accent-sub: #88619a;--wp--preset--color--dj-highlight: #cd4f53;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}

/* --- 2. Theme CSS (delion-official-two/style.css) --- */
/*!
Theme Name: Delion Official Two
Theme URI: 
Author: the Delion team
Author URI: https://delion.jp/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: delionofficialtwo
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Delion Official Two is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

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

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

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

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

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

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 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;
  font-size: 1em;
}

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

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  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;
  font-size: 1em;
}

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

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* 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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  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.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-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;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-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;
  font: inherit;
}

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

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; */
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
  line-height: 2;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 0;
}

ul {
  list-style: none;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation,
.dj-page-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul,
.dj-page-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul,
.dj-page-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul,
.dj-page-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul,
.dj-page-navigation ul ul li:hover > ul,
.dj-page-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a,
.dj-page-navigation ul ul a {
  width: 180px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul,
.dj-page-navigation ul li:hover > ul,
.dj-page-navigation ul li.focus > ul {
  left: auto;
}

.main-navigation li,
.dj-page-navigation li {
  position: relative;
}

.main-navigation a,
.dj-page-navigation a {
  display: block;
  text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul,
.dj-page-navigation.toggled ul {
  display: block;
}
.menu-toggle {
  float: right;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul,
  .dj-page-navigation ul {
    display: flex;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* ここから追加　delion official two 
---------------------------------------------*/

/* delion official two theme fonts 
---------------------------------------------*/
body,
h1,
h2,
h3,
h4,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif !important;
  color: #3c4556;
}
h1,
h5 {
  font-weight: 800;
}
h3 {
  font-weight: 500;
}
@media screen and (max-width: 576px) {
  body,
  button,
  input,
  select,
  optgroup,
  textarea {
    font-size: 0.8rem;
  }
}

/* delion official two blockeditor color setting
---------------------------------------------*/
.has-dj-basic-color {
  color: #ffffff;
}
.has-dj-basic-background-color {
  background-color: #ffffff;
}
.has-dj-basic-border-color {
  border-color: #ffffff;
}
.has-dj-base-color {
  color: #efe8dc;
}
.has-dj-base-background-color {
  background-color: #efe8dc;
}
.has-dj-base-border-color {
  border-color: #efe8dc;
}
.has-dj-primary-color {
  color: #33a474;
}
.has-dj-primary-background-color {
  background-color: #33a474;
}
.has-dj-primary-border-color {
  border-color: #33a474;
}
.has-dj-primary-sub-color {
  color: #4298b4;
}
.has-dj-primary-sub-background-color {
  background-color: #4298b4;
}
.has-dj-primary-sub-border-color {
  border-color: #4298b4;
}
.has-dj-secondary-color {
  color: #3c4556;
}
.has-dj-secondary-background-color {
  background-color: #3c4556;
}
.has-dj-secondary-border-color {
  border-color: #3c4556;
}
.has-dj-accent-color {
  color: #d8a537;
}
.has-dj-accent-background-color {
  background-color: #d8a537;
}
.has-dj-accent-border-color {
  border-color: #d8a537;
}
.has-dj-accent-sub-color {
  color: #88619a;
}
.has-dj-accent-sub-background-color {
  background-color: #88619a;
}
.has-dj-accent-sub-border-color {
  border-color: #88619a;
}
.has-dj-highlight-color {
  color: #cd4f53;
}
.has-dj-highlight-background-color {
  background-color: #cd4f53;
}
.has-dj-highlight-border-color {
  border-color: #cd4f53;
}

/* delion official two theme color 
---------------------------------------------*/
.dj-basic {
  background: #ffffff;
}
.dj-base {
  background: #efe8dc;
}
.dj-primary {
  background: #33a474;
}
.dj-primary-sub {
  background: #4298b4;
}
.dj-secondary {
  background: #3c4556;
}
.dj-accent {
  background: #d8a537;
}
.dj-accent-sub {
  background: #88619a;
}
.dj-highlight {
  color: #cd4f53;
}
.dj-basic-text {
  color: #ffffff;
}
.dj-base-text {
  color: #efe8dc;
}
.dj-primary-text {
  color: #33a474;
}
.dj-primary-sub-text {
  color: #4298b4;
}
.dj-secondary-text {
  color: #3c4556;
}
.dj-accent-text {
  color: #d8a537;
}
.dj-highlight-text {
  color: #cd4f53;
}

/* 背景、ヘッダー、フッター　色 */
body.custom-background {
  background-color: #efe8dc;
}
.main-navigation ul li a {
  color: #ffffff;
}
.main-navigation ul li a:hover {
  color: #fbc34a;
}
footer.site-footer a,
footer.site-footer .site-info {
  color: #ffffff;
}

/* Links */
a,
a:visited {
  color: #4298b4;
  text-decoration: none;
}

a:hover,
a:focus,
a:active {
  color: #3c4556;
  text-decoration: none;
}

a:focus {
  outline: none;
}

a:hover,
a:active {
  outline: 0;
}

/* btn color
---------------------------------------------*/
.btn-dj-accent,
.btn-dj-highlight {
  color: #fff;
}

.btn-dj-accent:visited,
.btn-dj-highlight:visited {
  color: #fff;
}
.btn-dj-accent:hover,
.btn-dj-highlight:hover {
  background: #fff;
}
.btn-dj-highlight {
  background: #cd4f53;
}
.btn-dj-highlight:hover {
  border: solid 1px #cd4f53;
  color: #cd4f53;
}
.btn-dj-accent {
  background: #d8a537;
}
.btn-dj-accent:hover {
  border: solid 1px #d8a537;
  color: #d8a537;
}

/* マージン調整
---------------------------------------------*/
.dj-top-m {
  margin-top: 4rem;
}
@media screen and (max-width: 576px) {
  .dj-top-m {
    margin-top: 1.5rem;
  }
}
/* container padding
---------------------------------------------*/
@media screen and (max-width: 576px) {
  .container {
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}

/* container 幅
---------------------------------------------*/
.dj-container-m {
  margin-right: auto;
  margin-left: auto;
  max-width: 960px;
}

/* anchorズレ調整
---------------------------------------------*/
html {
  scroll-padding-top: 270px;
}

/* site blanding
---------------------------------------------*/
.site-branding p.site-title {
  margin-bottom: 0px;
}
h1.site-title {
  font-size: 1em;
}
h1.site-title,
p.site-title {
  text-align: right;
}
@media screen and (max-width: 576px) {
  .site-branding img.custom-logo {
    width: 50%;
  }
  h1.site-title,
  p.site-title {
    text-align: left;
  }
}
/* menu のアンダーライン
---------------------------------------------*/
ul.dj-gnavi {
  text-align: center;
}
.dj-gnavi li a {
  /*線の基点とするためrelativeを指定*/
  position: relative;
}
.dj-gnavi li a {
  color: #fff;
}
.dj-gnavi li.current a,
.dj-gnavi li a:hover {
  color: #ffffff;
}

.dj-gnavi li a::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 0;
  left: 10%;
  /*線の形状*/
  width: 80%;
  height: 2px;
  background: #ffffff;
  /*アニメーションの指定*/
  transition: all 0.3s;
  transform: scale(0, 1); /*X方向0、Y方向1*/
  transform-origin: center top; /*上部左基点*/
}

/*現在地とhoverの設定*/
.dj-gnavi li.current a::after,
.dj-gnavi li a:hover::after {
  transform: scale(1, 1); /*X方向にスケール拡大*/
}
@media screen and (max-width: 768px) {
  .dj-gnavi li a::after {
    left: 0%;
  }
}

/* top menu 
---------------------------------------------*/
.dj-top-menu ul li {
  font-size: 0.9rem;
}
.dj-top-menu ul li a {
  color: #3c4556;
}
.dj-top-menu ul li a:hover {
  color: #1cb39e;
}
@media screen and (max-width: 768px) {
  .dj-top-menu ul li {
    font-size: 0.7rem;
  }
}

/* page menu 
---------------------------------------------*/
.dj-bg-primary-subtl {
  background-color: #72c9a6;
}
.dj-page-menu ul {
  display: flex;
  justify-content: center;
}
.dj-page-menu ul li a {
  color: #ffffff;
}
.dj-page-menu ul li a:hover {
  color: #3c4556;
}

/* page menu sub 
---------------------------------------------*/
.dj-page-menu button {
  border: none;
  width: 100%;
  background-color: inherit;
  color: #3c4556;
  /* padding: 15px 0 15px 20px; */
  font-size: 1em;
}
.dj-page-menu ul ul.sub-menu {
  display: block;
  background: #ffffff;
}
.dj-page-menu ul ul.sub-menu li a {
  padding: 8px 0 8px 8px;
  color: #3c4556;
}
.dj-page-menu ul ul.sub-menu li a:hover {
  color: #1cb39e;
}
.dj-page-menu ul.sub-menu li {
  border-bottom: solid 1px #ccc;
}

/* page menu sub アコーディオン max-with 768
---------------------------------------------*/
@media screen and (max-width: 768px) {
  .dj-gnavi li a::after {
    width: 100%;
  }
  .dj-page-menu ul ul.sub-menu {
    background: unset;
    position: unset;
    box-shadow: none;
  }
  .dj-page-menu ul.sub-menu li {
    border-bottom: none;
  }
  /* .dj-page-menu ul:nth-of-type(1) li.active li:last-child {
    border-bottom: 1px dotted #ffffff;
  } */
  .dj-page-menu ul {
    padding: 0;
    float: left;
    width: 100%;
  }
  /* .dj-page-menu ul li {
    list-style: none;
    margin-bottom: 1.5rem;
    border-bottom: solid 1px #1cb39e;
  } */
  .include-accordion ul {
    height: 0;
    padding: 0;
    overflow: hidden;
    transition: 0.5s;
    /* border-top: 1px solid #1cb39e; */
    margin: 0;
  }
  .include-accordion li li {
    border-bottom: 1px dotted #ffffff;
    padding: 0 0 10px 10px;
    margin-left: 15px;
  }
  .dj-page-menu button {
    position: relative;
    border: none;
    width: 100%;
    background-color: inherit;
    /* color: #fff; */
    cursor: pointer;
    text-align: left;
    padding: 15px 0 15px 20px;
    font-size: 1em;
  }
  .dj-page-menu button::before,
  .dj-page-menu button::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1.5px;
    height: 8px;
    background-color: #fff;
    transition: 0.5s;
  }
  .dj-page-menu button::before {
    transform: translateY(-50%) rotate(-45deg);
    right: 35px;
  }
  .dj-page-menu button::after {
    transform: translateY(-50%) rotate(45deg) !important;
    right: 30px;
  }
  .dj-page-menu ul li.active button::before {
    transform: translateY(-50%) rotate(-135deg);
    transition: 0.5s;
  }
  .dj-page-menu ul li.active button::after {
    transform: translateY(-50%) rotate(135deg) !important;
    transition: 0.5s;
  }
  .dj-page-menu ul:nth-of-type(2) {
    background-color: #357d87;
  }
  .dj-page-menu ul:nth-of-type(2) ul {
    background-color: #519fa5;
    border-top: 1px solid #5d9fa8;
  }
  .dj-page-menu ul:nth-of-type(2) button:hover {
    background-color: #1c4b56;
  }
  .dj-page-menu ul:nth-of-type(2) li li {
    border-bottom: 1px dotted #73bebf;
  }
  .dj-page-menu ul:nth-of-type(2) li.active li:last-child {
    border-bottom: 1px solid #5d9fa8;
  }
  .dj-page-menu ul.active {
    overflow-y: auto;
  }
}


/* footer sub menu
---------------------------------------------*/
#footer-menu{
  font-size: 0.8rem;
}

/* パンくずリスト
---------------------------------------------*/
.breadcrumb {
  font-size: 0.9rem;
  margin-bottom: 0.5rem !important;
}
/* パンくずリスト 上のマージン
---------------------------------------------*/
.dj-breadcrumb {
  margin-top: calc(var(--header-height, 150px) + 10px);
}
.home .dj-breadcrumb {
  margin-top: calc(var(--header-height, 150px) + 10px);
}
@media screen and (max-width: 768px) {
  .dj-breadcrumb {
    margin-top: calc(var(--header-height, 100px) + 10px);
  }
  .home .dj-breadcrumb {
    margin-top: calc(var(--header-height, 100px) + 10px);
  }
}

/* delion official two theme footer 
---------------------------------------------*/
footer.site-footer {
  padding-top: 40px;
  padding-bottom: 10px;
}

/* コラム数
---------------------------------------------*/
@media screen and (min-width: 577px) {
  .multi-column {
    column-count: 4 !important;
  }
}

/* title style 
---------------------------------------------*/
/* 固定ページ シングルページ　H1 アーカイブページ　H1
---------------------------------------------*/
h1.entry-title,
h1.page-title {
  font-size: 2.5rem;
  border-left: 10px double #33a474;
  padding-left: 0.5rem;
}
@media screen and (max-width: 576px) {
  h1.entry-title,
  h1.page-title {
    font-size: 1.6rem;
  }
}

/* アーカイブページ　H2 entry-title a 
---------------------------------------------*/
h2.entry-title a {
  display: inline-block;
  position: relative;
  color: #3c4556;
  text-decoration: none;
}
h2.entry-title a,
h2.entry-title a:visited {
  color: #3c4556;
}
h2.entry-title a:hover {
  color: #1cb39e;
}

h2.entry-title a:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: #33a474;
  transform: scale(0, 1);
  transition: 0.4s;
}
h2.entry-title a:hover:before {
  transform: scale(1);
}

/* 各ページ内　heading-title H2
---------------------------------------------*/
h2.heading-title {
  font-size: 2.5rem;
  font-weight: 500;
  /* position: relative;
  margin-bottom: 3rem;
  border-left: 20px solid #cfe2ff;
  border-bottom: solid 2px #cfe2ff; */
}
/* h2.heading-title span {
  z-index: 1;
  position: relative;
}
h2.section-title {
  font-size: 3.3rem;
  border-left: 20px double #33a474;
  border-bottom: unset;
} */
@media screen and (max-width: 576px) {
  h2.heading-title {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}
/* 各ページ内　heading-title H3
---------------------------------------------*/
h3.heading-title {
  font-size: 2.2rem;
}

/* faq-title
---------------------------------------------*/
.faq-title,
.faq-content {
  position: relative;
  padding-left: 40px;
}
.faq-title::before,
.faq-content::before {
  position: absolute;
  display: block;
  content: "";
  z-index: 999;
  width: 37px;
  height: 37px;
  left: 0;
}
.faq-title::before {
  background: url(assets/image/circle-q-duotone.svg) no-repeat center/contain;
}
.faq-content::before {
  background: url(assets/image/circle-a-duotone_2.svg) no-repeat center/contain;
}

/* right line title 
---------------------------------------------*/
.dj-line-title {
  position: relative;
  margin-bottom: 3rem;
  margin-top: 3rem;
  padding-left: 0;
  font-size: 1.5rem;
}
.dj-line-title::after {
  content: "";
  width: 100%;
  height: 1px;
  background: rgb(102 102 102 / 43%);
  position: absolute;
  top: 1em;
  right: 0;
}
.dj-line-title span {
  background: #ffffff;
  padding-right: 1em;
  /* padding-left: 1em; */
  position: relative;
  display: inline-block;
  z-index: 1;
}
@media screen and (max-width: 576px) {
  .dj-line-title {
    font-size: 1.1rem;
    margin-bottom: 2rem;
    margin-top: 1.5rem;
  }
}


/* square title  
---------------------------------------------*/
.fee-title {
  position: relative;
  padding-left: 33px;
  margin-top: 2rem;
}
.fee-title::before {
  position: absolute;
  display: block;
  content: "";
  z-index: 999;
  width: 33px;
  height: 33px;
  left: 0;
  /* bottom: -5px; */
  background: url(assets/image/square-small-duotone.svg) no-repeat
    center/contain;
}
/* line title station
  ---------------------------------------------*/
.dj-heading-line {
  overflow: hidden;
}
.dj-heading-line span {
  display: inline-block;
  position: relative;
}
.dj-heading-line span::before {
  right: 100%;
  margin-right: calc(5px + 0.3em);
}
.dj-heading-line span::after {
  content: "";
  position: absolute;
  top: calc(50% - (calc(0.2px + 0.05em) / 2));
  width: 2000px;
  border-bottom: calc(0.2px + 0.05em) dotted #4298b4;
}

/* animation title========= 流れるテキスト ===============
  ---------------------------------------------*/

/*全共通*/

.slide-in {
  overflow: hidden;
  display: inline-block;
}
.slide-in_inner {
  display: inline-block;
}
/*左右のアニメーション*/
.leftAnime {
  opacity: 0; /*事前に透過0にして消しておく*/
}
.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
  width: 100%;
}
@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}
h3.slide-heading {
  font-size: 1.6rem;
}
@media screen and (max-width: 576px) {
  h3.slide-heading {
    font-size: 1.1rem;
  }
}
/* both line title 
  ---------------------------------------------*/
.dj-both-line-title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  text-align: center;
}

.dj-both-line-title::before,
.dj-both-line-title::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #474747;
}

.dj-both-line-title::before {
  margin-right: 20px;
}
.dj-both-line-title::after {
  margin-left: 20px;
}
@media screen and (max-width: 576px) {
  .dj-both-line-title::before,
  .dj-both-line-title::after {
    width: 20px;
  }
}

/* slash title H3
  ---------------------------------------------*/
.dj-slash-title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  text-align: center;
  margin: 30px 0;
}
.dj-slash-title::before,
.dj-slash-title::after {
  content: "";
  width: 3px;
  height: 40px;
  background-color: #cd4f53;
}
.dj-slash-title::before {
  margin-right: 30px;
  transform: rotate(-35deg);
}
.dj-slash-title::after {
  margin-left: 30px;
  transform: rotate(35deg);
}

/* square border title
    ---------------------------------------------*/
.dj-square-border {
  position: relative;
  padding: 0.25em 1em;
  border-top: solid 2px black;
  border-bottom: solid 2px black;
}
.dj-square-border:before,
.dj-square-border:after {
  content: "";
  position: absolute;
  top: -7px;
  width: 2px;
  height: -webkit-calc(100% + 14px);
  height: calc(100% + 14px);
  background-color: black;
}
.dj-square-border:before {
  left: 7px;
}
.dj-square-border:after {
  right: 7px;
}
/* item title H5 cases page 吹き出し1
---------------------------------------------*/
.dj-item-title {
  position: relative;
  padding: 10px;
  border: 2px solid #333;
  background-color: #ffffff;
  color: #333;
  margin-bottom: 1.5rem;
}
.dj-item-title::before {
  position: absolute;
  top: 100%;
  left: 50px;
  transform: skew(-25deg);
  height: 15px;
  width: 15px;
  border-right: 2px solid #333;
  background-color: white;
  content: "";
}
/* card overlay item title 吹き出し2
---------------------------------------------*/
.dj-overlay-title {
  position: relative;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  border-bottom: 2px solid #4298b4;
  background-color: rgb(255 255 255 / 50%);
  font-weight: bold;
  font-size: 1.25rem;
  text-align: center;
}
.dj-overlay-title::before {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) skew(-25deg);
  height: 20px;
  width: 10px;
  border-right: 2px solid #4298b4;
  background-color: rgb(255 255 255 / 50%);
  content: "";
}

/* divider line
---------------------------------------------*/
.dj-divider-line {
  border-top: dotted 5px #3c4556;
  padding-top: 2rem;
}
/* under line マーカー
---------------------------------------------*/
.dj-under-line {
  background: linear-gradient(transparent 60%, #ffff6e 60%);
}
.dj-text-shadow {
  text-shadow: 1px 1px 1px #fff;
}
/* 動的　under line 黄色マーカー
---------------------------------------------*/
.dj-text-highlight {
  background: -webkit-linear-gradient(
    left,
    rgb(255, 250, 153) 50%,
    transparent 50%
  );
  background: -moz-linear-gradient(
    left,
    rgb(255, 250, 153) 50%,
    transparent 50%
  );
  background: linear-gradient(left, rgb(255, 250, 153) 50%, transparent 50%);
  background-repeat: no-repeat;
  background-size: 200% 0.8em;
  background-position: 100% 0.5em;
  transition: 2s;
}
.dj-text-highlight.is-active {
  background-position: 0% 0.5em;
}

/* 動的　under line 
    ---------------------------------------------*/
.dj-animation-underline {
  position: relative;
  z-index: 1;
}
.dj-animation-underline:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 2px;
  background: #cd4f53;
  z-index: -1;
  transition: all 0.8s;
}
.dj-animation-underline.isActive:after {
  width: 100%;
}

/*縦書き見出し
---------------------------------------------*/
.dj-vertical-text {
  writing-mode: vertical-lr;
}
.dj-vertical-line {
  border-right: solid 18px #ccc;
}
.dj-vertical-line-center {
  position: relative; /* 疑似要素の基準点となる */
  font-size: 2em;
  z-index: 0;
}
.dj-vertical-line-center::after {
  content: ""; /* 疑似要素にはcontentが必須 */
  position: absolute;
  top: 0;
  left: 50%; /* 要素の中央に配置 */
  height: 80%; /* 要素の高さいっぱい */
  border-left: 17px solid #cdc8c0; /* 縦のボーダーを描画 */
  transform: translateX(-50%); /* 線の中心を要素の中心に合わせる */
  margin-top: 60px;
  z-index: -1; /* 疑似要素を親要素の下に配置 */
}
@media screen and (max-width: 576px) {
  .dj-vertical-text {
    writing-mode: unset;
  }
  .dj-vertical-line {
    border-bottom: solid 10px #ccc;
    border-right: unset;
  }
}

/* button btn-dj-accent
---------------------------------------------*/
/*== ボタン共通設定 */
/* .dj-btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #d8a537;
  color: #fff;
  padding: 10px 30px;
  text-align: center;
  outline: none;
  border-radius: 30px;
  transition: ease 0.2s;
} */
/*ボタン内spanの形状*/
/* .dj-btn span {
  position: relative;
  z-index: 3; 
  color: #fff;
}
.dj-btn:hover span {
  color: #fff;
} */
/*== 背景が流れる（斜め） */
/* .btn-dj-accent::before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  background: #d8a537;
  width: 120%;
  height: 99%;
  transform: skewX(-25deg);
}
 */

/* button btn-dj-circle 丸がボタンに変形する
---------------------------------------------*/
button.btn-dj-circle {
  border: none;
  border-color: none;
  border-radius: none;
  background: none;
}
a.btn-dj-circle {
  color: #3c4556;
}
.btn-dj-circle {
  /*丸の基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  display: inline-block;
  z-index: 1;
  padding: 0 0 0 15px;
  line-height: 50px;
  /* color: #d8a537; */
  text-decoration: none;
  outline: none;
}

/* 丸が動く */
.btn-dj-circle::before {
  content: "";
  /*絶対配置で丸の位置を決める*/
  position: absolute;
  left: 0;
  z-index: -1;
  /*丸の形状*/
  width: 50px;
  height: 50px;
  background: #d8a537;
  border-radius: 25px;
  /*アニメーションの指定*/
  transition: 0.3s ease-out;
}

/*hoverした際の形状*/
.btn-dj-circle:hover::before {
  width: 120%;
}

/* 矢印の形状 */
.btn-dj-circle::after {
  position: absolute;
  content: "";
  top: 24px;
  right: -15px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #3c4556;
  border-right: 2px solid #3c4556;
  transform: rotate(45deg);
}

/*hoverした時のアニメーション*/
.btn-dj-accent:hover::before {
  animation: skewanime 0.5s forwards; /*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left: -10%; /*画面の見えていない左から右へ移動する終了地点*/
  }
}

/* pagenation 
---------------------------------------------*/
/* 真ん中に設置 */
.pagination {
  text-align: center;
  display: block;
  margin-top: 30px;
}

/* 横並びにする */
.nav-links .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

/* ページタブの共通スタイル */
.nav-links a.page-numbers,
.nav-links .current,
.nav-links a.prev,
.nav-links a.next,
.nav-links .dots {
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  /* background: #fff; */
  color: #88619a;
  /* border-radius: 50%; */
  margin-right: 25px;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #88619a;
}

@media screen and (max-width: 576px) {
  .nav-links .page-numbers {
    gap: 1rem 0;
  }
  .nav-links a.page-numbers,
  .nav-links .current,
  .nav-links a.prev,
  .nav-links a.next,
  .nav-links .dots {
    width: 25px;
    height: 25px;
    line-height: 25px;
    margin-right: 18px;
    font-size: 10px;
  }
}

/* マウスが乗った時の、ボタンの背景の色と文字の色 */
.nav-links a.page-numbers:hover {
  color: #fff;
  background-color: #999;
  border-color: #999;
  /* border-radius: 50%; */
}

/* 現在のページのタブ  */
.nav-links .current {
  background: #88619a;
  color: #ffffff;
  padding: 0;
}

/* 前への「＜」、次への「＞」 */
.nav-links a.prev,
.nav-links a.next {
  border: 1px solid #3c4556;
  color: #3c4556;
  position: relative;
}

/* 縦線の共通CSS */
.nav-links .next::before,
.nav-links .prev::after {
  content: "";
  display: inline-block;
  width: 0.5px;
  height: 40px;
  background-color: rgb(224, 215, 215);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/* 「次へ」の前の縦線位置 */
.nav-links .next::before {
  left: -15px;
}

/* 「前へ」の後の縦線位置 */
.nav-links .prev::after {
  right: -15px;
}

/* 数字省略の「・・・」 */
.nav-links .dots {
  background: transparent;
  border: none;
}

/* image overlay color
  ---------------------------------------------*/
.dj-image-overlaycolor::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgb(99 121 231 / 45%);
  top: 0px;
  z-index: 0;
  position: absolute;
  mix-blend-mode: luminosity; /* 重ね方を指定 */
}
/* card radius 削除
  ---------------------------------------------*/
.card {
  border-radius: 0px;
}
.card-img,
.card-img-top {
  border-radius: 0px;
}
/* card border 削除
    ---------------------------------------------*/
.no-border {
  border: none;
}

/*　イメージアニメーション １　scroll_up ｜下から上へ出現
---------------------------------------------*/
@media screen and (min-width: 577px) {
  .scroll-in {
    transition: 0.8s ease;
    transform: translateY(30px);
    opacity: 0;
    transition-delay: 0;
  }
  .scroll-in.displayed {
    transform: translateY(0);
    opacity: 1;
  }
}

/*　イメージアニメーション　２モノクロからカラーへ
---------------------------------------------*/
.grayscale img {
  filter: grayscale(100%); /*モノクロ具合を変更したい場合はこの数値を変更*/
  transition: 0.3s ease-in-out; /*移り変わる速さを変更したい場合はこの数値を変更*/
}

.grayscale a:hover img {
  /*hoverした時の変化*/
  filter: grayscale(0);
}

/*　トップページのお知らせエリア
    ---------------------------------------------*/
.top-infoarea p {
  margin-bottom: 0px !important;
}
.top-infoarea .btn {
  padding: 0.25rem 0.5rem 0.25rem 0.5rem !important;
  font-size: 0.75rem !important;
}

.dj-block-style {
  position: relative;
}
.dj-block-style::before {
  position: absolute;
  top: 16px;
  left: 12px;
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 100%;
  z-index: 1;
}
.dj-block-primary::before {
  background: #33a474;
}
.dj-block-primary-sub::before {
  background: #4298b4;
}
.dj-block-accent::before {
  background: #d8a537;
}
.dj-block-accent-sub::before {
  background: #88619a;
}


/* --- 3. Back-to-top button (inline) --- */

/* Back-to-top button */
.back-to-top {
    position: fixed;
    bottom: 100px;
    right: 100px;
    background-color: #33a474;
    color: #ffffff;
    padding: 22px 29px;
    cursor: pointer;
    display: none;
    z-index: 1100;
    border: solid 2px #33a474;
}

@media screen and (max-width: 576px) {
    .back-to-top {
        bottom: 65px;
        right: 0;
        padding: 14px;
        background-color: #33a474;
        color: #ffffff;
    }
}

/* --- 4. Floating CTA buttons (inline) --- */

/* Floating CTA buttons */
.floating-button-container {
    display: flex;
    justify-content: space-between;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
}

.floating-button {
    background-color: hsl(24deg 100% 50% / 62%);
    color: white;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2);
    font-weight: bold;
    font-size: 1.2rem;
    border: none;
    cursor: pointer;
    outline: none;
    position: fixed;
    top: 300px;
    right: 50px;
}

@media (max-width: 767px) {
    .floating-button {
        top: auto;
        bottom: 0;
        right: auto;
        left: auto;
        width: 50%;
        height: 50px;
        border-radius: 0;
        font-size: 13px;
        position: relative;
        justify-content: center;
        align-items: center;
    }

    .contact-button {
        background-color: hsl(24deg 100% 50% / 62%);
    }

    .call-button {
        background-color: #28a745;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
    }

    .floating-button-container {
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 50px;
        display: flex;
        justify-content: space-between;
    }
}

@media (min-width: 768px) {
    .call-button {
        display: none;
    }
}
